9
0
mirror of https://github.com/LeavesMC/Leaves.git synced 2026-01-04 15:41:31 +00:00

Update 1.18.2

This commit is contained in:
violetc
2022-03-05 13:09:53 +08:00
parent 4b0c53ad3d
commit 36c527e841
9 changed files with 57 additions and 247 deletions

View File

@@ -5,56 +5,18 @@ Subject: [PATCH] Add fakeplayer support
diff --git a/src/main/java/net/minecraft/server/PlayerAdvancements.java b/src/main/java/net/minecraft/server/PlayerAdvancements.java
index f7959fe8d5247504dd79a18010470d98781c7cfe..a77dc509dd65d4e49315b16902063d08feadcb28 100644
index b16287a47870978706734b928b87f2357e91e3a1..407c71621769f91955f0b3d2d87b4014f816737e 100644
--- a/src/main/java/net/minecraft/server/PlayerAdvancements.java
+++ b/src/main/java/net/minecraft/server/PlayerAdvancements.java
@@ -15,21 +15,6 @@ import com.google.gson.stream.JsonReader;
import com.mojang.datafixers.DataFixer;
import com.mojang.serialization.Dynamic;
import com.mojang.serialization.JsonOps;
-import java.io.File;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.OutputStreamWriter;
-import java.io.StringReader;
-import java.nio.charset.StandardCharsets;
-import java.util.Comparator;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Map.Entry;
-import java.util.Set;
-import java.util.stream.Collectors;
-import java.util.stream.Stream;
-import javax.annotation.Nullable;
import net.minecraft.SharedConstants;
import net.minecraft.Util;
import net.minecraft.advancements.Advancement;
@@ -51,6 +36,23 @@ import net.minecraft.util.datafix.DataFixTypes;
@@ -51,6 +51,7 @@ import net.minecraft.server.players.PlayerList;
import net.minecraft.util.datafix.DataFixTypes;
import net.minecraft.world.level.GameRules;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.slf4j.Logger;
+import top.leavesmc.leaves.bot.Bot;
+
+import javax.annotation.Nullable;
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.OutputStreamWriter;
+import java.io.StringReader;
+import java.nio.charset.StandardCharsets;
+import java.util.Comparator;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.Map.Entry;
+import java.util.Set;
+import java.util.stream.Collectors;
+import java.util.stream.Stream;
public class PlayerAdvancements {
@@ -275,6 +277,11 @@ public class PlayerAdvancements {
@@ -275,6 +276,11 @@ public class PlayerAdvancements {
}
public boolean award(Advancement advancement, String criterionName) {
@@ -67,118 +29,23 @@ index f7959fe8d5247504dd79a18010470d98781c7cfe..a77dc509dd65d4e49315b16902063d08
AdvancementProgress advancementprogress = this.getOrStartProgress(advancement);
boolean flag1 = advancementprogress.isDone();
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
index 7a0c1ba40156df69bbbf36d96bed0950130d2351..8285d83edeb70c4a368ead68dadd0b4861a7f6a3 100644
index 02dc93c394d37c9a84aa4a58d80615c403c54fb9..d93311c3a60e54378b97286bbe7dc73ee6d5f119 100644
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
@@ -1,6 +1,7 @@
package net.minecraft.server.players;
import co.aikar.timings.MinecraftTimings;
+import com.google.common.base.Predicate;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import com.google.common.collect.Sets;
@@ -9,20 +10,6 @@ import com.mojang.serialization.DataResult;
import com.mojang.serialization.Dynamic;
import io.netty.buffer.Unpooled;
import io.papermc.paper.adventure.PaperAdventure;
-import java.io.File;
-import java.net.SocketAddress;
-import java.nio.file.Path;
-import java.text.SimpleDateFormat;
-import java.util.Collection;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Objects;
-import java.util.Optional;
-import java.util.Set;
-import java.util.UUID;
-import java.util.function.Function;
-import javax.annotation.Nullable;
import net.minecraft.ChatFormatting;
import net.minecraft.FileUtil;
import net.minecraft.Util;
@@ -37,7 +24,6 @@ import net.minecraft.network.chat.Component;
import net.minecraft.network.chat.TranslatableComponent;
import net.minecraft.network.protocol.Packet;
import net.minecraft.network.protocol.game.ClientboundChangeDifficultyPacket;
-import net.minecraft.network.protocol.game.ClientboundChatPacket;
import net.minecraft.network.protocol.game.ClientboundCustomPayloadPacket;
import net.minecraft.network.protocol.game.ClientboundDisconnectPacket;
import net.minecraft.network.protocol.game.ClientboundEntityEventPacket;
@@ -68,6 +54,15 @@ import net.minecraft.resources.ResourceKey;
import net.minecraft.server.MinecraftServer;
import net.minecraft.server.PlayerAdvancements;
import net.minecraft.server.ServerScoreboard;
+import net.minecraft.server.dedicated.DedicatedServer;
+import net.minecraft.server.level.ServerLevel;
+import net.minecraft.server.level.ServerPlayer;
+import net.minecraft.server.network.ServerGamePacketListenerImpl;
+import net.minecraft.server.network.ServerLoginPacketListenerImpl;
+import net.minecraft.sounds.SoundEvents;
+import net.minecraft.sounds.SoundSource;
+import net.minecraft.stats.ServerStatsCounter;
+import net.minecraft.stats.Stats;
import net.minecraft.tags.BlockTags;
import net.minecraft.tags.Tag;
import net.minecraft.util.Mth;
@@ -93,31 +88,34 @@ import net.minecraft.world.scores.Scoreboard; // Paper
@@ -92,6 +92,7 @@ import net.minecraft.world.scores.Objective;
import net.minecraft.world.scores.PlayerTeam;
import net.minecraft.world.scores.Scoreboard; // Paper
import net.minecraft.world.scores.Team;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
-
-// CraftBukkit start
-import io.papermc.paper.adventure.PaperAdventure; // Paper
-import com.google.common.base.Predicate;
-import java.util.stream.Collectors;
-import net.minecraft.server.dedicated.DedicatedServer;
-import net.minecraft.server.level.ServerLevel;
-import net.minecraft.server.level.ServerPlayer;
-import net.minecraft.server.network.ServerGamePacketListenerImpl;
-import net.minecraft.server.network.ServerLoginPacketListenerImpl;
-import net.minecraft.sounds.SoundEvents;
-import net.minecraft.sounds.SoundSource;
-import net.minecraft.stats.ServerStatsCounter;
-import net.minecraft.stats.Stats;
import org.bukkit.Location;
import org.bukkit.craftbukkit.CraftServer;
import org.bukkit.craftbukkit.CraftWorld;
import org.bukkit.craftbukkit.entity.CraftPlayer;
-import org.bukkit.craftbukkit.util.CraftChatMessage;
import org.bukkit.entity.Player;
import org.bukkit.event.player.PlayerChangedWorldEvent;
import org.bukkit.event.player.PlayerJoinEvent;
import org.bukkit.event.player.PlayerLoginEvent;
import org.bukkit.event.player.PlayerQuitEvent;
import org.bukkit.event.player.PlayerRespawnEvent;
+import top.leavesmc.leaves.LeavesConfig;
+import top.leavesmc.leaves.bot.Bot;
+
+import javax.annotation.Nullable;
+import java.io.File;
+import java.net.SocketAddress;
+import java.nio.file.Path;
+import java.text.SimpleDateFormat;
+import java.util.Collection;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
+import java.util.Optional;
+import java.util.Set;
+import java.util.UUID;
+import java.util.function.Function;
+import java.util.stream.Collectors;
// CraftBukkit end
import org.slf4j.Logger;
public abstract class PlayerList {
@@ -366,6 +364,17 @@ public abstract class PlayerList {
// CraftBukkit start
@@ -366,6 +367,17 @@ public abstract class PlayerList {
return;
}
+ // Leaves start - bot support
+ if (LeavesConfig.fakeplayerSupport) {
+ if (top.leavesmc.leaves.LeavesConfig.fakeplayerSupport) {
+ Bot bot = Bot.getBot(player.getName().getString());
+ if (bot != null) {
+ bot.kill(); // Leaves - remove bot with the same name
@@ -232,7 +99,7 @@ index a73c79e57f51a6ab0f0d0b37fa6c87ff9bd69325..4b8d05838bd70a2932a36a5919436861
MinecraftServer.getServer().server.getCommandMap().register(entry.getKey(), "Leaves", entry.getValue());
diff --git a/src/main/java/top/leavesmc/leaves/bot/Bot.java b/src/main/java/top/leavesmc/leaves/bot/Bot.java
new file mode 100644
index 0000000000000000000000000000000000000000..18bd3b869a9ebd7cdef8da8c46d4da749b6fa3da
index 0000000000000000000000000000000000000000..ff7c96e48e266813598e0bd06fe9fc50587aa181
--- /dev/null
+++ b/src/main/java/top/leavesmc/leaves/bot/Bot.java
@@ -0,0 +1,471 @@
@@ -435,7 +302,7 @@ index 0000000000000000000000000000000000000000..18bd3b869a9ebd7cdef8da8c46d4da74
+ for (int i = chunkPosition().x - 1; i <= chunkPosition().x + 1; i++) {
+ for (int j = chunkPosition().z - 1; j <= chunkPosition().z + 1; j++) {
+ ChunkPos chunk = world.getChunk(i, j).getPos();
+ world.chunkSource.chunkMap.distanceManager.addTicketAtLevel(TicketType.PLAYER, chunk, 31, chunk);
+ world.chunkSource.chunkMap.distanceManager.addTicket(TicketType.PLAYER, chunk, 31, chunk);
+ }
+ }
+ }