9
0
mirror of https://github.com/LeavesMC/Leaves.git synced 2025-12-19 14:59:32 +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

@@ -1,7 +1,7 @@
group = top.leavesmc.leaves
version = 1.18.1-R0.1-SNAPSHOT
version = 1.18.2-R0.1-SNAPSHOT
mcVersion = 1.18.1
packageVersion = 1_18_R1
mcVersion = 1.18.2
packageVersion = 1_18_R2
org.gradle.jvmargs=-Xmx2G
paperRef=7f65b0b589cf3d3da81925e4dd09d967ba6b0b6c
paperRef=42a9c3789d6f71b9641b7de5812656ef9281ba52

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Build changes
diff --git a/build.gradle.kts b/build.gradle.kts
index 4662952bd0a389fe77e00ede9ab4a57f33522794..db83976d235386882ee9d8e024302e8a254ee0e2 100644
index 4beb35d1e5b013395f5df101e843f41c2ce174ad..19e73e560e9aedcb1b5cd62a45d8477cb49e5f57 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -18,8 +18,12 @@ repositories {
@@ -71,10 +71,10 @@ index 218f5bafeed8551b55b91c7fccaf6935c8b631ca..6105f3bdc6e698b07181b10aec588225
metrics.addCustomChart(new Metrics.DrilldownPie("java_version", () -> {
Map<String, Map<String, Integer>> map = new HashMap<>();
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index c847a2b935130a293d9ac4c196c9cff27470649b..09263e49f520a9a8984ba941fe50e70190d1242a 100644
index 07c382f30ed3736ed15b5b71f48dc4a1de958242..164ed3eeae7c074cbf906cd693734e8f4edc8be4 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1719,7 +1719,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1683,7 +1683,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@DontObfuscate
public String getServerModName() {
@@ -84,10 +84,10 @@ index c847a2b935130a293d9ac4c196c9cff27470649b..09263e49f520a9a8984ba941fe50e701
public SystemReport fillSystemReport(SystemReport details) {
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 51f67a2944034552d57b939ef29e0249e74383b9..db4e750ecff0626a52bac2d68fe26f180af29da9 100644
index 7343bd96a4a15f4abc081e565175db8df930a470..25b9d4ccedb9df8b5134a15aa81ccf391db6b8da 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -251,7 +251,7 @@ import javax.annotation.Nullable; // Paper
@@ -248,7 +248,7 @@ import javax.annotation.Nullable; // Paper
import javax.annotation.Nonnull; // Paper
public final class CraftServer implements Server {
@@ -97,7 +97,7 @@ index 51f67a2944034552d57b939ef29e0249e74383b9..db4e750ecff0626a52bac2d68fe26f18
private final String bukkitVersion = Versioning.getBukkitVersion();
private final Logger logger = Logger.getLogger("Minecraft");
diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java
index f810bebfca3932c80e20646eb0680f7718506707..840bd9cbbd57ad6c76e5cc8cf27318f543ceffaa 100644
index afcc80d1f79d1743b0940c69858eacec88fec889..34c2ca3571438d84c13fd5a4562ee49ecceb95cb 100644
--- a/src/main/java/org/bukkit/craftbukkit/Main.java
+++ b/src/main/java/org/bukkit/craftbukkit/Main.java
@@ -269,7 +269,7 @@ public class Main {

View File

@@ -19,10 +19,10 @@ index 1cb0aae3e0c619a715766e0fa604dfd9a8caefcc..1191db3a568333de4d2d2fbe40ca5183
new TimingsExport(listeners, parent, history).start();
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 09263e49f520a9a8984ba941fe50e70190d1242a..06ea812d4329b8af75a335f15ea51ee4f3ad83c9 100644
index 164ed3eeae7c074cbf906cd693734e8f4edc8be4..cbf3bd5084749a9e325d06028973f6db593ca028 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1225,7 +1225,8 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1170,7 +1170,8 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
String doneTime = String.format(java.util.Locale.ROOT, "%.3fs", (double) (Util.getNanos() - serverStartTime) / 1.0E9D);
LOGGER.info("Done ({})! For help, type \"help\"", doneTime);
// Paper end
@@ -33,10 +33,10 @@ index 09263e49f520a9a8984ba941fe50e70190d1242a..06ea812d4329b8af75a335f15ea51ee4
org.spigotmc.WatchdogThread.hasStarted = true; // Paper
Arrays.fill( recentTps, 20 );
diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
index 38a0fb9a7c4ade9cacfd30dffabfea7e6b773981..eda9ce9953943996ca000d762e15b7e6d5f45825 100644
index e28e09aae1d95d9bed50a137e999e6d457e62478..e92b98177189df1b162b648c0e259035c7ec2263 100644
--- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
+++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
@@ -232,6 +232,8 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
@@ -235,6 +235,8 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
io.papermc.paper.util.ObfHelper.INSTANCE.getClass(); // load mappings for stacktrace deobf and etc.
io.papermc.paper.brigadier.PaperBrigadierProviderImpl.INSTANCE.getClass(); // init PaperBrigadierProvider
// Paper end
@@ -46,10 +46,10 @@ index 38a0fb9a7c4ade9cacfd30dffabfea7e6b773981..eda9ce9953943996ca000d762e15b7e6
this.setPvpAllowed(dedicatedserverproperties.pvp);
this.setFlightAllowed(dedicatedserverproperties.allowFlight);
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
index 11e146241a01ab9ec206b9d3f39aebf5c201a16e..4f1ef148a8b98c373571eef3ea09902f7c76bb09 100644
index 160c0f37aa3aaf7598f852acf9bd444f79444c97..53409a2c7cf2143e085c724a6e96e8eae98ec613 100644
--- a/src/main/java/net/minecraft/world/level/Level.java
+++ b/src/main/java/net/minecraft/world/level/Level.java
@@ -165,6 +165,8 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
@@ -163,6 +163,8 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
public final com.destroystokyo.paper.PaperWorldConfig paperConfig; // Paper
public final com.destroystokyo.paper.antixray.ChunkPacketBlockController chunkPacketBlockController; // Paper - Anti-Xray
@@ -58,8 +58,8 @@ index 11e146241a01ab9ec206b9d3f39aebf5c201a16e..4f1ef148a8b98c373571eef3ea09902f
public final co.aikar.timings.WorldTimingsHandler timings; // Paper
public static BlockPos lastPhysicsProblem; // Spigot
@@ -308,6 +310,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
protected Level(WritableLevelData worlddatamutable, ResourceKey<Level> resourcekey, final DimensionType dimensionmanager, Supplier<ProfilerFiller> supplier, boolean flag, boolean flag1, long i, org.bukkit.generator.ChunkGenerator gen, org.bukkit.generator.BiomeProvider biomeProvider, org.bukkit.World.Environment env, java.util.concurrent.Executor executor) { // Paper - Async-Anti-Xray - Pass executor
@@ -264,6 +266,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
protected Level(WritableLevelData worlddatamutable, ResourceKey<Level> resourcekey, Holder<DimensionType> holder, Supplier<ProfilerFiller> supplier, boolean flag, boolean flag1, long i, org.bukkit.generator.ChunkGenerator gen, org.bukkit.generator.BiomeProvider biomeProvider, org.bukkit.World.Environment env, java.util.concurrent.Executor executor) { // Paper - Async-Anti-Xray - Pass executor
this.spigotConfig = new org.spigotmc.SpigotWorldConfig(((net.minecraft.world.level.storage.PrimaryLevelData) worlddatamutable).getLevelName()); // Spigot
this.paperConfig = new com.destroystokyo.paper.PaperWorldConfig(((net.minecraft.world.level.storage.PrimaryLevelData) worlddatamutable).getLevelName(), this.spigotConfig); // Paper
+ this.leavesConfig = new top.leavesmc.leaves.LeavesConfig.WorldConfig(((net.minecraft.world.level.storage.PrimaryLevelData)worlddatamutable).getLevelName()); // Leaves - World Config
@@ -67,10 +67,10 @@ index 11e146241a01ab9ec206b9d3f39aebf5c201a16e..4f1ef148a8b98c373571eef3ea09902f
this.world = new CraftWorld((ServerLevel) this, gen, biomeProvider, env);
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index db4e750ecff0626a52bac2d68fe26f180af29da9..97d2bf70991629725ffa565efab4a37b4cc4cca7 100644
index 25b9d4ccedb9df8b5134a15aa81ccf391db6b8da..85aec3b017e11ab94cc0846be019fb5d632127f9 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -958,6 +958,7 @@ public final class CraftServer implements Server {
@@ -955,6 +955,7 @@ public final class CraftServer implements Server {
org.spigotmc.SpigotConfig.init((File) console.options.valueOf("spigot-settings")); // Spigot
com.destroystokyo.paper.PaperConfig.init((File) console.options.valueOf("paper-settings")); // Paper
@@ -78,7 +78,7 @@ index db4e750ecff0626a52bac2d68fe26f180af29da9..97d2bf70991629725ffa565efab4a37b
for (ServerLevel world : this.console.getAllLevels()) {
// world.serverLevelData.setDifficulty(config.difficulty); // Paper - per level difficulty
world.setSpawnSettings(world.serverLevelData.getDifficulty() != Difficulty.PEACEFUL && config.spawnMonsters, config.spawnAnimals); // Paper - per level difficulty (from MinecraftServer#setDifficulty(ServerLevel, Difficulty, boolean))
@@ -974,6 +975,7 @@ public final class CraftServer implements Server {
@@ -971,6 +972,7 @@ public final class CraftServer implements Server {
}
world.spigotConfig.init(); // Spigot
world.paperConfig.init(); // Paper
@@ -86,7 +86,7 @@ index db4e750ecff0626a52bac2d68fe26f180af29da9..97d2bf70991629725ffa565efab4a37b
}
Plugin[] pluginClone = pluginManager.getPlugins().clone(); // Paper
@@ -2697,6 +2699,14 @@ public final class CraftServer implements Server {
@@ -2673,6 +2675,14 @@ public final class CraftServer implements Server {
{
return com.destroystokyo.paper.PaperConfig.config;
}
@@ -102,7 +102,7 @@ index db4e750ecff0626a52bac2d68fe26f180af29da9..97d2bf70991629725ffa565efab4a37b
@Override
public void restart() {
diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java
index 840bd9cbbd57ad6c76e5cc8cf27318f543ceffaa..b44d7651df9eb87d2a82c41e78195e2c4c60eba7 100644
index 34c2ca3571438d84c13fd5a4562ee49ecceb95cb..909f0e1ff837bac4d3213214adee01a11098f77c 100644
--- a/src/main/java/org/bukkit/craftbukkit/Main.java
+++ b/src/main/java/org/bukkit/craftbukkit/Main.java
@@ -145,6 +145,14 @@ public class Main {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Fix gravity block duper
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 4584dcec835f97e94dcf12788b66703075dafe45..a5d2f07881761bb7a00a05d5767abf177ea2837d 100644
index 84fce7dccf9232209f939a32acfc3131e62eb27c..cbe48b0add7134100c3da87c07ecee36cef8c69d 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -395,36 +395,8 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
@@ -398,36 +398,8 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
return chunkMap.playerEntityTrackerTrackMaps[type.ordinal()].getObjectsInRange(MCUtil.getCoordinateKey(this));
}
// Paper end - optimise entity tracking
@@ -46,7 +46,7 @@ index 4584dcec835f97e94dcf12788b66703075dafe45..a5d2f07881761bb7a00a05d5767abf17
// Paper start
/**
@@ -2767,7 +2739,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
@@ -2801,7 +2773,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
}
this.processPortalCooldown();
@@ -56,10 +56,10 @@ index 4584dcec835f97e94dcf12788b66703075dafe45..a5d2f07881761bb7a00a05d5767abf17
}
diff --git a/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java b/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java
index 0c94b4cb6ee0c3dffe0b67a2291d0160ae0ef96f..ef147a7dc3d233e33435d94e238619e749f9704d 100644
index c267bc75a5a2a410d941accbe8c41e3422a634a5..dd03e377d03d82dff4719da23dacc3878b8b94ea 100644
--- a/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java
+++ b/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java
@@ -110,11 +110,7 @@ public class FallingBlockEntity extends Entity {
@@ -119,11 +119,7 @@ public class FallingBlockEntity extends Entity {
@Override
public void tick() {
@@ -71,8 +71,8 @@ index 0c94b4cb6ee0c3dffe0b67a2291d0160ae0ef96f..ef147a7dc3d233e33435d94e238619e7
+ // Leaves - fix gravity block duper
if (this.blockState.isAir()) {
this.discard();
} else if (this.level.isClientSide && this.removeAtMillis > 0L) {
@@ -152,11 +148,7 @@ public class FallingBlockEntity extends Entity {
} else {
@@ -136,11 +132,7 @@ public class FallingBlockEntity extends Entity {
this.move(MoverType.SELF, this.getDeltaMovement());

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Fix trading with the void
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
index 768017ba650f1bd96e3db0aad8fda939e2ea7add..d3df136a3dc9ae93d0b38d90c00d4cbacb270127 100644
index b5b56d4549e97abbbe9e91d881b9bca8428f1eec..272130e7bf2f72e1f68123f01e307263665dd328 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -2480,11 +2480,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -2494,11 +2494,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
// Spigot end
// Spigot Start
if (entity.getBukkitEntity() instanceof org.bukkit.inventory.InventoryHolder && (!(entity instanceof ServerPlayer) || entity.getRemovalReason() != Entity.RemovalReason.KILLED)) { // SPIGOT-6876: closeInventory clears death message

View File

@@ -5,67 +5,10 @@ Subject: [PATCH] Add Leaves Command
diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
index eda9ce9953943996ca000d762e15b7e6d5f45825..24a2a229bee621fe421553647198e21dad0ba072 100644
index e92b98177189df1b162b648c0e259035c7ec2263..4f0d97c51db4313a73e46878546ca4c192b483d0 100644
--- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
+++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
@@ -1,26 +1,11 @@
package net.minecraft.server.dedicated;
+import co.aikar.timings.MinecraftTimings;
import com.google.common.base.Strings;
-import com.google.common.collect.Lists;
import com.mojang.authlib.GameProfile;
import com.mojang.authlib.GameProfileRepository;
import com.mojang.authlib.minecraft.MinecraftSessionService;
import com.mojang.datafixers.DataFixer;
-import java.io.BufferedReader;
-import java.io.BufferedWriter;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.net.InetAddress;
-import java.net.Proxy;
-import java.nio.charset.StandardCharsets;
-import java.nio.file.Files;
-import java.nio.file.Path;
-import java.util.Collections;
-import java.util.List;
-import java.util.Locale;
-import java.util.function.BooleanSupplier;
-import java.util.regex.Pattern;
-import javax.annotation.Nullable;
import net.minecraft.DefaultUncaughtExceptionHandler;
import net.minecraft.DefaultUncaughtExceptionHandlerWithName;
import net.minecraft.SharedConstants;
@@ -58,15 +43,25 @@ import net.minecraft.world.level.GameType;
import net.minecraft.world.level.block.entity.SkullBlockEntity;
import net.minecraft.world.level.storage.LevelStorageSource;
import net.minecraft.world.level.storage.WorldData;
+import org.apache.logging.log4j.Level;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
-import org.apache.logging.log4j.Level;
import org.apache.logging.log4j.io.IoBuilder;
import org.bukkit.command.CommandSender;
-import co.aikar.timings.MinecraftTimings; // Paper
-import org.bukkit.event.server.ServerCommandEvent;
import org.bukkit.craftbukkit.util.Waitable;
import org.bukkit.event.server.RemoteServerCommandEvent;
+import org.bukkit.event.server.ServerCommandEvent;
+
+import javax.annotation.Nullable;
+import java.io.BufferedWriter;
+import java.io.IOException;
+import java.net.InetAddress;
+import java.net.Proxy;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.util.Locale;
+import java.util.function.BooleanSupplier;
+import java.util.regex.Pattern;
// CraftBukkit end
public class DedicatedServer extends MinecraftServer implements ServerInterface {
@@ -234,6 +229,7 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
@@ -237,6 +237,7 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
// Paper end
top.leavesmc.leaves.LeavesConfig.init((java.io.File) options.valueOf("leaves-settings")); // Leaves - Server Config
@@ -74,10 +17,10 @@ index eda9ce9953943996ca000d762e15b7e6d5f45825..24a2a229bee621fe421553647198e21d
this.setPvpAllowed(dedicatedserverproperties.pvp);
this.setFlightAllowed(dedicatedserverproperties.allowFlight);
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 97d2bf70991629725ffa565efab4a37b4cc4cca7..42d2a7f04a09ce4aaac4bdca091841f724a07520 100644
index 85aec3b017e11ab94cc0846be019fb5d632127f9..d71577feb77a67d8a1e048b1fdd6d8ac276a6473 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -991,6 +991,7 @@ public final class CraftServer implements Server {
@@ -988,6 +988,7 @@ public final class CraftServer implements Server {
this.reloadData();
org.spigotmc.SpigotConfig.registerCommands(); // Spigot
com.destroystokyo.paper.PaperConfig.registerCommands(); // Paper

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);
+ }
+ }
+ }

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Add fakeplayer action support
diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java
index d85da02be7f1d494af8f2cc840c49073774f5f9c..7a3f18d3efcf6c1ec665ecdde0019a15adf7da25 100644
index 9c767096ca950d55d6002282c7a3fe2884bcd630..dcae420f13a03c6ec0f8d8cb414dc283bb3d1e88 100644
--- a/src/main/java/net/minecraft/world/entity/player/Player.java
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java
@@ -1231,7 +1231,7 @@ public abstract class Player extends LivingEntity {
@@ -1244,7 +1244,7 @@ public abstract class Player extends LivingEntity {
boolean flag3 = false;
double d0 = (double) (this.walkDist - this.walkDistO);
@@ -30,7 +30,7 @@ index 4b8d05838bd70a2932a36a5919436861b8e41c0b..def8ab8bf0537e648751b200de016071
}
diff --git a/src/main/java/top/leavesmc/leaves/bot/Bot.java b/src/main/java/top/leavesmc/leaves/bot/Bot.java
index 18bd3b869a9ebd7cdef8da8c46d4da749b6fa3da..71619f750819ab213b1cae23873eb60f0acb37d7 100644
index ff7c96e48e266813598e0bd06fe9fc50587aa181..13d3a24fc43e7f00d2c6cb0252a3ab955eb62202 100644
--- a/src/main/java/top/leavesmc/leaves/bot/Bot.java
+++ b/src/main/java/top/leavesmc/leaves/bot/Bot.java
@@ -1,9 +1,12 @@

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Make shears in dispenser can unlimited use
diff --git a/src/main/java/net/minecraft/core/dispenser/ShearsDispenseItemBehavior.java b/src/main/java/net/minecraft/core/dispenser/ShearsDispenseItemBehavior.java
index c861505325efecfb53069ce44c14bc20fb851c59..ce97355a14defbe6457f00f5d99fecebe8306396 100644
index 2366d411bf64f88c7296e888cd3bf584825ae4a9..f8bc12bf746b1e32735081cb330b31d0c36d4c1d 100644
--- a/src/main/java/net/minecraft/core/dispenser/ShearsDispenseItemBehavior.java
+++ b/src/main/java/net/minecraft/core/dispenser/ShearsDispenseItemBehavior.java
@@ -1,7 +1,5 @@
@@ -16,7 +16,7 @@ index c861505325efecfb53069ce44c14bc20fb851c59..ce97355a14defbe6457f00f5d99feceb
import net.minecraft.core.BlockPos;
import net.minecraft.core.BlockSource;
import net.minecraft.core.Direction;
@@ -23,10 +21,12 @@ import net.minecraft.world.level.block.entity.BeehiveBlockEntity;
@@ -22,10 +20,12 @@ import net.minecraft.world.level.block.entity.BeehiveBlockEntity;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.level.gameevent.GameEvent;
import net.minecraft.world.phys.AABB;
@@ -30,7 +30,7 @@ index c861505325efecfb53069ce44c14bc20fb851c59..ce97355a14defbe6457f00f5d99feceb
// CraftBukkit end
public class ShearsDispenseItemBehavior extends OptionalDispenseItemBehavior {
@@ -64,7 +64,7 @@ public class ShearsDispenseItemBehavior extends OptionalDispenseItemBehavior {
@@ -63,7 +63,7 @@ public class ShearsDispenseItemBehavior extends OptionalDispenseItemBehavior {
BlockPos blockposition = pointer.getPos().relative((Direction) pointer.getBlockState().getValue(DispenserBlock.FACING));
this.setSuccess(ShearsDispenseItemBehavior.tryShearBeehive((ServerLevel) worldserver, blockposition) || ShearsDispenseItemBehavior.tryShearLivingEntity((ServerLevel) worldserver, blockposition, bukkitBlock, craftItem)); // CraftBukkit