diff --git a/gradle.properties b/gradle.properties index bed418c3..0a13228b 100644 --- a/gradle.properties +++ b/gradle.properties @@ -4,5 +4,5 @@ version=1.20.1-R0.1-SNAPSHOT mcVersion=1.20.1 packageVersion=1_20_R1 org.gradle.jvmargs=-Xmx2G -paperRef=f402f89a67bfdbcbe302733a0e62b064888b0f6f +paperRef=d6d2b6f4e51b24867b609cf747ac6d8c6345c449 preVersion=false diff --git a/patches/api/0001-Leaves-Server-Config.patch b/patches/api/0001-Leaves-Server-Config.patch index 58a5abcb..15505740 100644 --- a/patches/api/0001-Leaves-Server-Config.patch +++ b/patches/api/0001-Leaves-Server-Config.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Leaves Server Config diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index 6b72eccdcb6f75534a4267a1dd0a4cc2f39e917b..3c4915b8dd1b6e802a5942658b15d3a9db472364 100644 +index 68206cf0178c26c0f528a1e14a5fb4e9ad410369..9d4c99ed38f3dc35ba1cf744ef12c9b2c28c6116 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -2029,6 +2029,14 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -2080,6 +2080,14 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi throw new UnsupportedOperationException("Not supported yet."); } // Paper end diff --git a/patches/api/0003-Add-fakeplayer-api.patch b/patches/api/0003-Add-fakeplayer-api.patch index baa918f5..dcda8251 100644 --- a/patches/api/0003-Add-fakeplayer-api.patch +++ b/patches/api/0003-Add-fakeplayer-api.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add fakeplayer api diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index b243db56756c67cd2c41d7768898d01539f9260a..99a096e52775a58a38540dfd736b0f57236fd488 100644 +index f380a518bc444bfdfbbedf38805c7684e53a5629..7203c39190772d4d8159e62367322fe4e3cae8a9 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java @@ -57,6 +57,7 @@ import org.jetbrains.annotations.Contract; @@ -16,7 +16,7 @@ index b243db56756c67cd2c41d7768898d01539f9260a..99a096e52775a58a38540dfd736b0f57 /** * Represents the Bukkit core, for version and Server singleton handling -@@ -2658,6 +2659,17 @@ public final class Bukkit { +@@ -2710,6 +2711,17 @@ public final class Bukkit { } // Paper end - Folia region threading API @@ -35,7 +35,7 @@ index b243db56756c67cd2c41d7768898d01539f9260a..99a096e52775a58a38540dfd736b0f57 public static Server.Spigot spigot() { return server.spigot(); diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index 3c4915b8dd1b6e802a5942658b15d3a9db472364..0bfe5628c8327e9cd5728cea7ae6c2ce1ec9541d 100644 +index 9d4c99ed38f3dc35ba1cf744ef12c9b2c28c6116..c952eea7533aeec1c789dbe58673625761b704f6 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java @@ -57,6 +57,7 @@ import org.bukkit.util.CachedServerIcon; @@ -46,7 +46,7 @@ index 3c4915b8dd1b6e802a5942658b15d3a9db472364..0bfe5628c8327e9cd5728cea7ae6c2ce /** * Represents a server implementation. -@@ -2321,4 +2322,13 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -2372,4 +2373,13 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi */ boolean isOwnedByCurrentRegion(@NotNull Entity entity); // Paper end - Folia region threading API diff --git a/patches/server/0001-Build-changes.patch b/patches/server/0001-Build-changes.patch index 4a8bdbdc..ea211178 100644 --- a/patches/server/0001-Build-changes.patch +++ b/patches/server/0001-Build-changes.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Build changes diff --git a/build.gradle.kts b/build.gradle.kts -index ee49dd4f80ebdfc65cbf860e62d3c80796c8af2c..e4fca5f18722d38f0f0715c27b77908a2c4063d4 100644 +index fb98936bb8a5488db75d676c5bcb4060597fbbf8..955362ab4155718807859978d840d9f4d68a8ef4 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -13,8 +13,12 @@ configurations.named(log4jPlugins.compileClasspathConfigurationName) { @@ -184,10 +184,10 @@ index 9f422cbeaa52b3e6a0a27af4f8ad4ddb7808483f..09344819e270716d17a59669be288725 this.setFlightAllowed(dedicatedserverproperties.allowFlight); this.setMotd(dedicatedserverproperties.motd); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index a05c1bc8874ef5e380544a6a344c848e37da49c4..22402d237f036be3dcbaea3a63718e615766981c 100644 +index 54f27d91f941235a99e341ed84531ad7f0840728..e573f7b596cbb6bd288e8027e1797c0b7318b635 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -264,7 +264,7 @@ import javax.annotation.Nullable; // Paper +@@ -265,7 +265,7 @@ import javax.annotation.Nullable; // Paper import javax.annotation.Nonnull; // Paper public final class CraftServer implements Server { @@ -197,7 +197,7 @@ index a05c1bc8874ef5e380544a6a344c848e37da49c4..22402d237f036be3dcbaea3a63718e61 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 daed278d1bcf84ee42749f24e311b22b70015d79..c9263cf970b82a2ee24d10202c21ac30bfd925dc 100644 +index 776b7fc26fe96b69be260bbd36efae147d988640..e1c99d941c7bb954bf3ac83d5002dbf58fd833b0 100644 --- a/src/main/java/org/bukkit/craftbukkit/Main.java +++ b/src/main/java/org/bukkit/craftbukkit/Main.java @@ -292,7 +292,7 @@ public class Main { diff --git a/patches/server/0004-Leaves-Server-Config-And-Command.patch b/patches/server/0004-Leaves-Server-Config-And-Command.patch index 5915b024..b1e573ee 100644 --- a/patches/server/0004-Leaves-Server-Config-And-Command.patch +++ b/patches/server/0004-Leaves-Server-Config-And-Command.patch @@ -65,10 +65,10 @@ index f39ab10c5b0b8d86b579a5b683491204c51db70b..0462f03a5aaa47522451aa7732691597 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 22402d237f036be3dcbaea3a63718e615766981c..a394fcb1afe37efda30893e06352941f1a049319 100644 +index e573f7b596cbb6bd288e8027e1797c0b7318b635..89636e312a1a94d9f2551c248bb2bba8573ed539 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -1056,6 +1056,7 @@ public final class CraftServer implements Server { +@@ -1057,6 +1057,7 @@ public final class CraftServer implements Server { org.spigotmc.SpigotConfig.init((File) console.options.valueOf("spigot-settings")); // Spigot this.console.paperConfigurations.reloadConfigs(this.console); @@ -76,7 +76,7 @@ index 22402d237f036be3dcbaea3a63718e615766981c..a394fcb1afe37efda30893e06352941f 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)) -@@ -1071,6 +1072,7 @@ public final class CraftServer implements Server { +@@ -1072,6 +1073,7 @@ public final class CraftServer implements Server { } } world.spigotConfig.init(); // Spigot @@ -84,7 +84,7 @@ index 22402d237f036be3dcbaea3a63718e615766981c..a394fcb1afe37efda30893e06352941f } Plugin[] pluginClone = pluginManager.getPlugins().clone(); // Paper -@@ -1086,6 +1088,7 @@ public final class CraftServer implements Server { +@@ -1087,6 +1089,7 @@ public final class CraftServer implements Server { this.reloadData(); org.spigotmc.SpigotConfig.registerCommands(); // Spigot io.papermc.paper.command.PaperCommands.registerCommands(this.console); // Paper @@ -92,7 +92,7 @@ index 22402d237f036be3dcbaea3a63718e615766981c..a394fcb1afe37efda30893e06352941f this.overrideAllCommandBlockCommands = this.commandsConfiguration.getStringList("command-block-overrides").contains("*"); this.ignoreVanillaPermissions = this.commandsConfiguration.getBoolean("ignore-vanilla-permissions"); -@@ -2863,6 +2866,14 @@ public final class CraftServer implements Server { +@@ -2901,6 +2904,14 @@ public final class CraftServer implements Server { { return CraftServer.this.console.paperConfigurations.createLegacyObject(CraftServer.this.console); } @@ -108,7 +108,7 @@ index 22402d237f036be3dcbaea3a63718e615766981c..a394fcb1afe37efda30893e06352941f @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 c9263cf970b82a2ee24d10202c21ac30bfd925dc..c20debb13d8496ad7c0ef1eaf5eae1c42c09eb51 100644 +index e1c99d941c7bb954bf3ac83d5002dbf58fd833b0..4760b943da08771a42fcb22eba4d586df414e388 100644 --- a/src/main/java/org/bukkit/craftbukkit/Main.java +++ b/src/main/java/org/bukkit/craftbukkit/Main.java @@ -165,6 +165,14 @@ public class Main { diff --git a/patches/server/0008-Fakeplayer-support.patch b/patches/server/0008-Fakeplayer-support.patch index 95d5aaa2..92d40424 100644 --- a/patches/server/0008-Fakeplayer-support.patch +++ b/patches/server/0008-Fakeplayer-support.patch @@ -58,7 +58,7 @@ index acc49f66bf34e2507d0ee6fec0a56b11bfc68f46..7fc87841fd72fc9b5bca4fbdffd378c7 AdvancementProgress advancementprogress = this.getOrStartProgress(advancement); boolean flag1 = advancementprogress.isDone(); diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 9d46536f80b5b3e6641fd377c02166a431edfd77..47e50976647c52f38380122912b7f72bcce59cec 100644 +index dc5fda83a66afbfeb7897fc20b4742899d8aca08..9af7a0e1c5eaac6480824ed1d59a6e649b2a03cd 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -185,6 +185,7 @@ import org.bukkit.event.player.PlayerTeleportEvent; @@ -130,7 +130,7 @@ index 9d46536f80b5b3e6641fd377c02166a431edfd77..47e50976647c52f38380122912b7f72b PlayerChangedWorldEvent changeEvent = new PlayerChangedWorldEvent(this.getBukkitEntity(), worldserver1.getWorld()); this.level().getCraftServer().getPluginManager().callEvent(changeEvent); diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index fff7ad7a45f310783ac96b44575ad3db13d537fa..c09c25b6594d4f6a937c6bbb80a75977940865dc 100644 +index 640e9bd618dc8286933318744c2064ede1fd9b5f..d0ddf67d544ff7f1f9dfaab88412cfbce91716b9 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -81,6 +81,7 @@ import net.minecraft.server.ServerScoreboard; @@ -187,7 +187,7 @@ index fff7ad7a45f310783ac96b44575ad3db13d537fa..c09c25b6594d4f6a937c6bbb80a75977 return astring; } -@@ -1555,4 +1575,16 @@ public abstract class PlayerList { +@@ -1570,4 +1590,16 @@ public abstract class PlayerList { public boolean isAllowCheatsForAllPlayers() { return this.allowCheatsForAllPlayers; } @@ -205,7 +205,7 @@ index fff7ad7a45f310783ac96b44575ad3db13d537fa..c09c25b6594d4f6a937c6bbb80a75977 + // Leaves end - fakeplayer support } diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 1d76aae6657bb45b540644f7967f04cef24c9992..9ef072985e103cb07545c92e8dd22d6e07325f72 100644 +index f3bbe69d35615e74d96ab4befdbf3161f762c131..ed528ba9041b982af638aed910b2fdd82e80511b 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -1415,7 +1415,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { @@ -268,10 +268,10 @@ index 706b354ac9a1a6a4a1e61b2a109180d1dd22bbbd..f13f21dbd50f63a71276837abbcf82e0 FeatureFlagSet featureflagset = player.level().enabledFeatures(); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index a394fcb1afe37efda30893e06352941f1a049319..1be2fbe522fcf54ef4a9a0dd03aebf57ced5880c 100644 +index 89636e312a1a94d9f2551c248bb2bba8573ed539..162c494792cd2e794693e4ded4872bcccc592679 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -259,6 +259,7 @@ import org.yaml.snakeyaml.constructor.SafeConstructor; +@@ -260,6 +260,7 @@ import org.yaml.snakeyaml.constructor.SafeConstructor; import org.yaml.snakeyaml.error.MarkedYAMLException; import net.md_5.bungee.api.chat.BaseComponent; // Spigot @@ -279,7 +279,7 @@ index a394fcb1afe37efda30893e06352941f1a049319..1be2fbe522fcf54ef4a9a0dd03aebf57 import javax.annotation.Nullable; // Paper import javax.annotation.Nonnull; // Paper -@@ -304,6 +305,7 @@ public final class CraftServer implements Server { +@@ -305,6 +306,7 @@ public final class CraftServer implements Server { public static Exception excessiveVelEx; // Paper - Velocity warnings private final io.papermc.paper.logging.SysoutCatcher sysoutCatcher = new io.papermc.paper.logging.SysoutCatcher(); // Paper private final CraftPotionBrewer potionBrewer = new CraftPotionBrewer(); // Paper @@ -287,7 +287,7 @@ index a394fcb1afe37efda30893e06352941f1a049319..1be2fbe522fcf54ef4a9a0dd03aebf57 // Paper start - Folia region threading API private final io.papermc.paper.threadedregions.scheduler.FallbackRegionScheduler regionizedScheduler = new io.papermc.paper.threadedregions.scheduler.FallbackRegionScheduler(); -@@ -3088,4 +3090,11 @@ public final class CraftServer implements Server { +@@ -3126,4 +3128,11 @@ public final class CraftServer implements Server { } // Paper end @@ -327,7 +327,7 @@ index fc0dc8e607cc24020106ea1af92b4421a5f9393d..81670f76c4d7ccec6f9e95465687c83b } // Water Animals diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java -index 6373811568735b38d8812b29112b91c57f4d53ea..dbb9068125a1d4e63da49999104fdcfd4722e70d 100644 +index 1486bf1c37cbacb6643379cbd555f8a9e8bc54ba..5b8ef14e023059466f95b7ee7c2420bababdd0e2 100644 --- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java +++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java @@ -8,6 +8,9 @@ import org.bukkit.command.Command; diff --git a/patches/server/0016-No-chat-sign.patch b/patches/server/0016-No-chat-sign.patch index e44fa2f9..6d7f758a 100644 --- a/patches/server/0016-No-chat-sign.patch +++ b/patches/server/0016-No-chat-sign.patch @@ -123,10 +123,10 @@ index 27638ebb110f46f7e3d0255e3078ebb586863a30..9abc92d8c98c1075ebc74e9dc4290b88 protected boolean convertOldUsers() { diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 316740b2ba4c85828f544249c8cdd6fa1b525d3f..3dc5b2f10702ca675fa947b96c341ebb20097118 100644 +index 75bd92e1d40588d3bc40fa7837943eec9f2062a6..bfa209eceee3da7fd2ada1e1b1e5e11076c80576 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2145,10 +2145,27 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2147,10 +2147,27 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic @Override public void send(Packet packet) { @@ -155,7 +155,7 @@ index 316740b2ba4c85828f544249c8cdd6fa1b525d3f..3dc5b2f10702ca675fa947b96c341ebb if (packet == null || this.processedDisconnect) { // Spigot return; diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index c09c25b6594d4f6a937c6bbb80a75977940865dc..3088709b9dc3f46ec34f3ad16a43883feb89af16 100644 +index d0ddf67d544ff7f1f9dfaab88412cfbce91716b9..672b60264acfa2b9eea1c5a80731ece535f22940 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -1451,7 +1451,7 @@ public abstract class PlayerList { diff --git a/patches/server/0043-PCA-sync-protocol.patch b/patches/server/0043-PCA-sync-protocol.patch index ef346075..ffbeb92d 100644 --- a/patches/server/0043-PCA-sync-protocol.patch +++ b/patches/server/0043-PCA-sync-protocol.patch @@ -6,10 +6,10 @@ Subject: [PATCH] PCA sync protocol This patch is Powered by plusls-carpet-addition(https://github.com/plusls/plusls-carpet-addition) diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 3dc5b2f10702ca675fa947b96c341ebb20097118..90d4c8fa4c9715b317410201e21ba57cff901f7b 100644 +index bfa209eceee3da7fd2ada1e1b1e5e11076c80576..8df2ca4bc3718d127be9a2adccb47a36bba13570 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -245,6 +245,7 @@ import org.bukkit.inventory.CraftingInventory; +@@ -247,6 +247,7 @@ import org.bukkit.inventory.CraftingInventory; import org.bukkit.inventory.EquipmentSlot; import org.bukkit.inventory.InventoryView; import org.bukkit.inventory.SmithingInventory; @@ -17,7 +17,7 @@ index 3dc5b2f10702ca675fa947b96c341ebb20097118..90d4c8fa4c9715b317410201e21ba57c // CraftBukkit end public class ServerGamePacketListenerImpl implements ServerPlayerConnection, TickablePacketListener, ServerGamePacketListener { -@@ -3555,6 +3556,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -3581,6 +3582,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic this.disconnect("Invalid payload UNREGISTER!", org.bukkit.event.player.PlayerKickEvent.Cause.INVALID_PAYLOAD); // Paper - kick event cause } } else { @@ -35,7 +35,7 @@ index 3dc5b2f10702ca675fa947b96c341ebb20097118..90d4c8fa4c9715b317410201e21ba57c byte[] data = new byte[packet.data.readableBytes()]; packet.data.readBytes(data); diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 3088709b9dc3f46ec34f3ad16a43883feb89af16..160b58c31ab420ebd7bdc57b87e4dbb1d28e0ef3 100644 +index 672b60264acfa2b9eea1c5a80731ece535f22940..9559bb5fb3ce8758686b337a13d9ccff4b7dfc35 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -356,6 +356,7 @@ public abstract class PlayerList { @@ -289,7 +289,7 @@ index 881379681c39230a00b3a1f11cd87498984396c7..e01eb2025458cf311348c58a15308540 protected Component getDefaultName() { return Component.translatable("container.dispenser"); diff --git a/src/main/java/net/minecraft/world/level/block/entity/HopperBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/HopperBlockEntity.java -index a8a26a0a37a08b6bbeb5a1fde417d6f448d3c79f..3eff0f2bd38b7b2a88183d5da51c6086b8aea340 100644 +index b11f51762ca289d99eaa49e66e31e58595bcea4e..24d2b8a28bad8f33d5b27197fd80f7bb75926545 100644 --- a/src/main/java/net/minecraft/world/level/block/entity/HopperBlockEntity.java +++ b/src/main/java/net/minecraft/world/level/block/entity/HopperBlockEntity.java @@ -129,6 +129,16 @@ public class HopperBlockEntity extends RandomizableContainerBlockEntity implemen @@ -343,10 +343,10 @@ index b7686fd63b7c5d88c3a12ec4ee9bc01a17f997e0..25a9c38c60d183bb65b14f4d7550ab98 public int[] getSlotsForFace(Direction side) { return ShulkerBoxBlockEntity.SLOTS; diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 1be2fbe522fcf54ef4a9a0dd03aebf57ced5880c..c1f0e7fe9eb7247fef6bb088c64ca49cce17a14e 100644 +index 162c494792cd2e794693e4ded4872bcccc592679..f0beb8925cc7d5e1f8bd776735a36707ac06703a 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -467,6 +467,7 @@ public final class CraftServer implements Server { +@@ -468,6 +468,7 @@ public final class CraftServer implements Server { MapPalette.setMapColorCache(new CraftMapColorCache(this.logger)); } datapackManager = new io.papermc.paper.datapack.PaperDatapackManager(console.getPackRepository()); // Paper @@ -354,7 +354,7 @@ index 1be2fbe522fcf54ef4a9a0dd03aebf57ced5880c..c1f0e7fe9eb7247fef6bb088c64ca49c } public boolean getCommandBlockOverride(String command) { -@@ -1059,6 +1060,13 @@ public final class CraftServer implements Server { +@@ -1060,6 +1061,13 @@ public final class CraftServer implements Server { org.spigotmc.SpigotConfig.init((File) console.options.valueOf("spigot-settings")); // Spigot this.console.paperConfigurations.reloadConfigs(this.console); top.leavesmc.leaves.LeavesConfig.init((File) console.options.valueOf("leaves-settings")); // Leaves - Server Config diff --git a/patches/server/0044-BBOR-Protocol.patch b/patches/server/0044-BBOR-Protocol.patch index 41ae7546..844d017e 100644 --- a/patches/server/0044-BBOR-Protocol.patch +++ b/patches/server/0044-BBOR-Protocol.patch @@ -18,10 +18,10 @@ index a93018a2797bc1a1c134f810eaa067d0a0b4bb8a..41fcf8abe96be28cdc79eba6eebe753d for (int i = 0; i < this.tickables.size(); ++i) { ((Runnable) this.tickables.get(i)).run(); diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 90d4c8fa4c9715b317410201e21ba57cff901f7b..74f74d5f898875a50ee66c279854a0d263f6eccf 100644 +index 8df2ca4bc3718d127be9a2adccb47a36bba13570..502902730fc62e2eb6bb4f0e6a225dd6808614d0 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -3561,6 +3561,9 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -3587,6 +3587,9 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic if (top.leavesmc.leaves.LeavesConfig.pcaSyncProtocol && ProtocolUtils.isNamespacePacket(packet, top.leavesmc.leaves.protocol.PcaSyncProtocol.PROTOCOL_ID)) { top.leavesmc.leaves.protocol.PcaSyncProtocol.handlePacket(server, player, packet); } @@ -32,7 +32,7 @@ index 90d4c8fa4c9715b317410201e21ba57cff901f7b..74f74d5f898875a50ee66c279854a0d2 ServerGamePacketListenerImpl.LOGGER.error("Couldn\'t dispatch custom payload", ex); this.disconnect("Invalid custom payload!", org.bukkit.event.player.PlayerKickEvent.Cause.INVALID_PAYLOAD); diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 160b58c31ab420ebd7bdc57b87e4dbb1d28e0ef3..666d7e33a26bc973fa87561503f032ec7f61bd0b 100644 +index 9559bb5fb3ce8758686b337a13d9ccff4b7dfc35..1bd1f5f712ab65829d07f7136041b1b01cd94b4a 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -357,6 +357,7 @@ public abstract class PlayerList { @@ -51,7 +51,7 @@ index 160b58c31ab420ebd7bdc57b87e4dbb1d28e0ef3..666d7e33a26bc973fa87561503f032ec // Paper end ServerLevel worldserver = entityplayer.serverLevel(); -@@ -1570,7 +1572,7 @@ public abstract class PlayerList { +@@ -1585,7 +1587,7 @@ public abstract class PlayerList { entityplayer.connection.send(packetplayoutrecipeupdate); entityplayer.getRecipeBook().sendInitialRecipeBook(entityplayer); } @@ -77,10 +77,10 @@ index cc224af0139a6e3adefd22cbfa0cd519735b7191..2c3ca05644bc97d505e8ca92e7a5f486 public Level getLevel() { diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index c1f0e7fe9eb7247fef6bb088c64ca49cce17a14e..19b68c4a1807342cbe08420380877680a2519054 100644 +index f0beb8925cc7d5e1f8bd776735a36707ac06703a..89896848635f245ca62f583c924ddbb1a3e2cf84 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -1067,6 +1067,13 @@ public final class CraftServer implements Server { +@@ -1068,6 +1068,13 @@ public final class CraftServer implements Server { top.leavesmc.leaves.protocol.PcaSyncProtocol.disablePcaSyncProtocolGlobal(); } // Leaves end - pca diff --git a/patches/server/0047-Jade-Protocol.patch b/patches/server/0047-Jade-Protocol.patch index d2e6e76b..b52a1e72 100644 --- a/patches/server/0047-Jade-Protocol.patch +++ b/patches/server/0047-Jade-Protocol.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Jade Protocol This patch is Powered by Jade(https://github.com/Snownee/Jade) diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 74f74d5f898875a50ee66c279854a0d263f6eccf..066a044e721b82d908d22528141cdc504343e6b5 100644 +index 502902730fc62e2eb6bb4f0e6a225dd6808614d0..92fcb5d707bb17672e2941ec59d5548fb23044c0 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -3564,6 +3564,9 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -3590,6 +3590,9 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic if (top.leavesmc.leaves.LeavesConfig.bborProtocol && packet.identifier.equals(top.leavesmc.leaves.protocol.BBORProtocol.SUBSCRIBE)) { top.leavesmc.leaves.protocol.BBORProtocol.onPlayerSubscribed(player); } @@ -20,7 +20,7 @@ index 74f74d5f898875a50ee66c279854a0d263f6eccf..066a044e721b82d908d22528141cdc50 ServerGamePacketListenerImpl.LOGGER.error("Couldn\'t dispatch custom payload", ex); this.disconnect("Invalid custom payload!", org.bukkit.event.player.PlayerKickEvent.Cause.INVALID_PAYLOAD); diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 666d7e33a26bc973fa87561503f032ec7f61bd0b..52b7d704f1a13e215da586a45da9c554f40f3d86 100644 +index 1bd1f5f712ab65829d07f7136041b1b01cd94b4a..be4adfe5450612692bfb56b8b80e40e181cf9175 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -358,6 +358,7 @@ public abstract class PlayerList { @@ -45,10 +45,10 @@ index 4aeab90e778629c355189dfe79c39c4b21f5f5ac..fe8c9b7e7956837829b4fe3eb449b2c0 } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 19b68c4a1807342cbe08420380877680a2519054..9fba7105b7e70ad05c243ee6cec27a8ebe875d83 100644 +index 89896848635f245ca62f583c924ddbb1a3e2cf84..0869a0e65c778f185a7a3512438172b1088ff678 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -468,6 +468,7 @@ public final class CraftServer implements Server { +@@ -469,6 +469,7 @@ public final class CraftServer implements Server { } datapackManager = new io.papermc.paper.datapack.PaperDatapackManager(console.getPackRepository()); // Paper top.leavesmc.leaves.protocol.PcaSyncProtocol.init(); // Leaves - pca @@ -56,7 +56,7 @@ index 19b68c4a1807342cbe08420380877680a2519054..9fba7105b7e70ad05c243ee6cec27a8e } public boolean getCommandBlockOverride(String command) { -@@ -1074,6 +1075,11 @@ public final class CraftServer implements Server { +@@ -1075,6 +1076,11 @@ public final class CraftServer implements Server { top.leavesmc.leaves.protocol.BBORProtocol.loggedOutAllPlayer(); } // Leaves end - bbor diff --git a/patches/server/0055-Appleskin-Protocol.patch b/patches/server/0055-Appleskin-Protocol.patch index 88e613cb..e3c63104 100644 --- a/patches/server/0055-Appleskin-Protocol.patch +++ b/patches/server/0055-Appleskin-Protocol.patch @@ -17,7 +17,7 @@ index 41fcf8abe96be28cdc79eba6eebe753deb38de2f..46eacd000b622b9dba746fe38e4bf2a0 MinecraftTimings.tickablesTimer.startTiming(); // Spigot // Paper for (int i = 0; i < this.tickables.size(); ++i) { diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 3994583f24bd558e7b0f7649e27fcea79da32026..dc1c9c106593aed9ede4ea4a09dc085c89758cde 100644 +index ab71c708e694b0a56f6345dd109106288058e4c5..2d2d45a2cd3e966226b40aebb1def5070f6ac935 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -363,6 +363,7 @@ public abstract class PlayerList { @@ -37,10 +37,10 @@ index 3994583f24bd558e7b0f7649e27fcea79da32026..dc1c9c106593aed9ede4ea4a09dc085c ServerLevel worldserver = entityplayer.serverLevel(); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 9fba7105b7e70ad05c243ee6cec27a8ebe875d83..75c4b20c1637f4b2e1a77450d30a21b4d2db5af0 100644 +index 0869a0e65c778f185a7a3512438172b1088ff678..947f6f4b8daeff972aef5f22e633f398b46402bf 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -1080,6 +1080,13 @@ public final class CraftServer implements Server { +@@ -1081,6 +1081,13 @@ public final class CraftServer implements Server { top.leavesmc.leaves.protocol.JadeProtocol.enableAllPlayer(); } // Leaves end - Jade diff --git a/patches/server/0061-Syncmatica-Protocol.patch b/patches/server/0061-Syncmatica-Protocol.patch index 6f0f9845..70c323a4 100644 --- a/patches/server/0061-Syncmatica-Protocol.patch +++ b/patches/server/0061-Syncmatica-Protocol.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Syncmatica Protocol This patch is Powered by Syncmatica(https://github.com/End-Tech/syncmatica) diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 066a044e721b82d908d22528141cdc504343e6b5..97d8c056bbb77d01b3d87f29fefd5fc11051a6e0 100644 +index 92fcb5d707bb17672e2941ec59d5548fb23044c0..9a572268cc17fc1179dc447e20c4bab38f24b773 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -322,6 +322,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -324,6 +324,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic this.chatMessageChain = new FutureChain(server.chatExecutor); // CraftBukkit - async chat // CraftBukkit start - add fields and methods this.cserver = server.server; @@ -22,7 +22,7 @@ index 066a044e721b82d908d22528141cdc504343e6b5..97d8c056bbb77d01b3d87f29fefd5fc1 } private final org.bukkit.craftbukkit.CraftServer cserver; -@@ -346,6 +352,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -348,6 +354,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic } // CraftBukkit end @@ -31,7 +31,7 @@ index 066a044e721b82d908d22528141cdc504343e6b5..97d8c056bbb77d01b3d87f29fefd5fc1 @Override public void tick() { if (this.ackBlockChangesUpTo > -1) { -@@ -2111,6 +2119,11 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2113,6 +2121,11 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic this.processedDisconnect = true; } // CraftBukkit end @@ -43,7 +43,7 @@ index 066a044e721b82d908d22528141cdc504343e6b5..97d8c056bbb77d01b3d87f29fefd5fc1 this.chatMessageChain.close(); ServerGamePacketListenerImpl.LOGGER.info("{} lost connection: {}", this.player.getName().getString(), reason.getString()); // CraftBukkit start - Replace vanilla quit message handling with our own. -@@ -3567,6 +3580,9 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -3593,6 +3606,9 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic if (top.leavesmc.leaves.LeavesConfig.jadeProtocol && ProtocolUtils.isNamespacePacket(packet, top.leavesmc.leaves.protocol.JadeProtocol.PROTOCOL_ID)) { top.leavesmc.leaves.protocol.JadeProtocol.handlePacket(server, player, packet); } @@ -54,7 +54,7 @@ index 066a044e721b82d908d22528141cdc504343e6b5..97d8c056bbb77d01b3d87f29fefd5fc1 ServerGamePacketListenerImpl.LOGGER.error("Couldn\'t dispatch custom payload", ex); this.disconnect("Invalid custom payload!", org.bukkit.event.player.PlayerKickEvent.Cause.INVALID_PAYLOAD); diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java -index 7e5785cccb9089c5b51a8cfbf03573df5f765d7e..39a858ebeed7192e0b6e8a48779c5257715f8864 100644 +index 31e8d18a1d7745a9d77baff5bfe8f9adf8f6c584..f306ce81dd0116efc9783655c69de4ba66645ef7 100644 --- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java +++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java @@ -14,6 +14,7 @@ import top.leavesmc.leaves.command.LeavesCommand; diff --git a/patches/server/0063-Disable-distance-check-for-UseItemOnPacket.patch b/patches/server/0063-Disable-distance-check-for-UseItemOnPacket.patch index 2ebca50c..e1fb08b5 100644 --- a/patches/server/0063-Disable-distance-check-for-UseItemOnPacket.patch +++ b/patches/server/0063-Disable-distance-check-for-UseItemOnPacket.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Disable distance check for UseItemOnPacket diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 35c04ddb8cacf54ff9d7a2181d44084e0df42ae7..0cc4bd960383759abeabe20c52e9af84228527a1 100644 +index 9a572268cc17fc1179dc447e20c4bab38f24b773..ab8d7d42a4c86a58d1e37f90d1c3c08321d14525 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -1957,7 +1957,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -1959,7 +1959,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic Vec3 vec3d2 = vec3d.subtract(vec3d1); double d0 = 1.0000001D; diff --git a/patches/server/0068-Disable-check-out-of-order-command.patch b/patches/server/0068-Disable-check-out-of-order-command.patch index aac0db77..6b6effce 100644 --- a/patches/server/0068-Disable-check-out-of-order-command.patch +++ b/patches/server/0068-Disable-check-out-of-order-command.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Disable check out-of-order command diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 4e9ff7a4f2c2283b1f299ad4c23323725ca9a800..9ad3dbb4b376b04ddc9729bf46185d9aafa45891 100644 +index ab8d7d42a4c86a58d1e37f90d1c3c08321d14525..33b807b3d00f3143948852cf7d29320285694e6e 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2361,7 +2361,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2363,7 +2363,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic } private Optional tryHandleChat(String message, Instant timestamp, LastSeenMessages.Update acknowledgment) { diff --git a/patches/server/0070-Leaves-carpet-support.patch b/patches/server/0070-Leaves-carpet-support.patch index 57c8880d..288d05cb 100644 --- a/patches/server/0070-Leaves-carpet-support.patch +++ b/patches/server/0070-Leaves-carpet-support.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Leaves carpet support diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index e30b9fec7a9e405433889eb4439056a9f4847791..4f9b13c8c3add6ce08deed2bc6788ec00b0112ea 100644 +index 33b807b3d00f3143948852cf7d29320285694e6e..55b620c3dfea942f1d8d9ba4eddd54934c1ae443 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -3583,6 +3583,9 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -3609,6 +3609,9 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic if (top.leavesmc.leaves.LeavesConfig.syncmaticaProtocol && ProtocolUtils.isNamespacePacket(packet, top.leavesmc.leaves.protocol.syncmatica.SyncmaticaProtocol.PROTOCOL_ID)) { top.leavesmc.leaves.protocol.syncmatica.SyncmaticaProtocol.getCommunicationManager().onPacketGet(packet, this); } @@ -19,7 +19,7 @@ index e30b9fec7a9e405433889eb4439056a9f4847791..4f9b13c8c3add6ce08deed2bc6788ec0 ServerGamePacketListenerImpl.LOGGER.error("Couldn\'t dispatch custom payload", ex); this.disconnect("Invalid custom payload!", org.bukkit.event.player.PlayerKickEvent.Cause.INVALID_PAYLOAD); diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 6c19d9b64830efe4b9d6f17d8ca92f88ad3475d5..fb6810289ac855e622d3970101f27b2133bd67d2 100644 +index a5ca7132bfbdc6bdf57262707fdf93de993b7c61..e50305b51a3759f53a9425ba6487db30c5d5d788 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -364,6 +364,7 @@ public abstract class PlayerList { @@ -31,7 +31,7 @@ index 6c19d9b64830efe4b9d6f17d8ca92f88ad3475d5..fb6810289ac855e622d3970101f27b21 final net.kyori.adventure.text.Component jm = playerJoinEvent.joinMessage(); diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java -index 4e5eb9df7f4b1379ea61491a9a8a48fd506daeb2..bdf4e0fc8c8efd61a44e31042b6117420f9b656f 100644 +index f306ce81dd0116efc9783655c69de4ba66645ef7..efb79ce035e739c5b108e11864ace21e15974454 100644 --- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java +++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java @@ -16,6 +16,8 @@ import top.leavesmc.leaves.bot.agent.Actions; diff --git a/patches/server/0072-Optimized-dragon-respawn.patch b/patches/server/0072-Optimized-dragon-respawn.patch index a358f825..9cd0cdf8 100644 --- a/patches/server/0072-Optimized-dragon-respawn.patch +++ b/patches/server/0072-Optimized-dragon-respawn.patch @@ -18,10 +18,10 @@ index d0a047fd8849e9210dc9424325561f5a1b9998df..b665410788aa7c889dc214c2a97a9c29 for(int j = 0; j < this.height; ++j) { for(int k = 0; k < this.depth; ++k) { diff --git a/src/main/java/net/minecraft/world/level/dimension/end/EndDragonFight.java b/src/main/java/net/minecraft/world/level/dimension/end/EndDragonFight.java -index e2cd77d9de9709aa50f4b6febabe21bfcf94dc5d..d6f2e8875464a0fbf53546424ed65f5e8d73b0e4 100644 +index 02d5a5b799bfe90993bc6868369d31f43d5b7fd6..78429c3847cb17686aac2258d5ace57f09cd8dab 100644 --- a/src/main/java/net/minecraft/world/level/dimension/end/EndDragonFight.java +++ b/src/main/java/net/minecraft/world/level/dimension/end/EndDragonFight.java -@@ -43,6 +43,7 @@ import net.minecraft.world.entity.boss.enderdragon.phases.EnderDragonPhase; +@@ -45,6 +45,7 @@ import net.minecraft.world.entity.boss.enderdragon.phases.EnderDragonPhase; import net.minecraft.world.level.ChunkPos; import net.minecraft.world.level.block.Blocks; import net.minecraft.world.level.block.entity.BlockEntity; @@ -29,7 +29,7 @@ index e2cd77d9de9709aa50f4b6febabe21bfcf94dc5d..d6f2e8875464a0fbf53546424ed65f5e import net.minecraft.world.level.block.entity.TheEndPortalBlockEntity; import net.minecraft.world.level.block.state.pattern.BlockInWorld; import net.minecraft.world.level.block.state.pattern.BlockPattern; -@@ -258,8 +259,67 @@ public class EndDragonFight { +@@ -289,8 +290,67 @@ public class EndDragonFight { return false; } @@ -94,21 +94,21 @@ index e2cd77d9de9709aa50f4b6febabe21bfcf94dc5d..d6f2e8875464a0fbf53546424ed65f5e + return null; + } + // Leaves end - optimizedDragonRespawn - ChunkPos chunkPos = new ChunkPos(this.origin); + ChunkPos chunkcoordintpair = new ChunkPos(this.origin); - for(int i = -8 + chunkPos.x; i <= 8 + chunkPos.x; ++i) { -@@ -513,6 +573,11 @@ public class EndDragonFight { + int i; +@@ -574,6 +634,11 @@ public class EndDragonFight { } - private void respawnDragon(List crystals) { + public boolean respawnDragon(List list) { // PAIL private -> public // CraftBukkit - return boolean + // Leaves - start optimizedDragonRespawn + cachePortalChunkIteratorX = -8; + cachePortalChunkIteratorZ = -8; + cachePortalOriginIteratorY = -1; + // Leaves - end optimizedDragonRespawn if (this.dragonKilled && this.respawnStage == null) { - for(BlockPattern.BlockPatternMatch blockPatternMatch = this.findExitPortal(); blockPatternMatch != null; blockPatternMatch = this.findExitPortal()) { - for(int i = 0; i < this.exitPortalPattern.getWidth(); ++i) { + for (BlockPattern.BlockPatternMatch shapedetector_shapedetectorcollection = this.findExitPortal(); shapedetector_shapedetectorcollection != null; shapedetector_shapedetectorcollection = this.findExitPortal()) { + for (int i = 0; i < this.exitPortalPattern.getWidth(); ++i) { diff --git a/src/main/java/top/leavesmc/leaves/util/BlockPatternHelper.java b/src/main/java/top/leavesmc/leaves/util/BlockPatternHelper.java new file mode 100644 index 0000000000000000000000000000000000000000..cbe424356db5237c261320f0ad5ef5bcf2c70ed4 diff --git a/patches/server/0076-Elytra-aeronautics-no-chunk-load.patch b/patches/server/0076-Elytra-aeronautics-no-chunk-load.patch index 18b1d2b8..ae2f1de4 100644 --- a/patches/server/0076-Elytra-aeronautics-no-chunk-load.patch +++ b/patches/server/0076-Elytra-aeronautics-no-chunk-load.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Elytra aeronautics no chunk load diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java -index 47d6cd04b179061280e3f78ed543af6bef7ccee4..445582a852826f177f220e3bcd96db3030134f64 100644 +index 2b0314d57354995f9756841b4b31cb38a841e9ab..09b79deb76e9766c3cf960a8d1295d762c589e11 100644 --- a/src/main/java/net/minecraft/server/level/ChunkMap.java +++ b/src/main/java/net/minecraft/server/level/ChunkMap.java @@ -195,7 +195,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider @@ -45,10 +45,10 @@ index 47d6cd04b179061280e3f78ed543af6bef7ccee4..445582a852826f177f220e3bcd96db30 int j = SectionPos.blockToSectionCoord(player.getBlockZ()); SectionPos sectionposition = player.getLastSectionPos(); diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 4f9b13c8c3add6ce08deed2bc6788ec00b0112ea..f4e49ff40afa4f15b574867e8f607109ddc4e972 100644 +index 55b620c3dfea942f1d8d9ba4eddd54934c1ae443..93613d0aef1a05fa77e079478e464d46379e52af 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -653,7 +653,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -655,7 +655,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic speed *= 2f; // TODO: Get the speed of the vehicle instead of the player // Paper start - Prevent moving into unloaded chunks @@ -58,7 +58,7 @@ index 4f9b13c8c3add6ce08deed2bc6788ec00b0112ea..f4e49ff40afa4f15b574867e8f607109 !worldserver.areChunksLoadedForMove(entity.getBoundingBox().expandTowards(new Vec3(toX, toY, toZ).subtract(entity.position()))) )) { diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index a65f2d6262af6b34e1e3fbd2f195a788b6c10993..990c1304dd8eb4d7330acb343e00c28b5a3c99a1 100644 +index 1531c7efc148d427cb8ede12e5070769c299ce3d..1739b609b497d56531ccc74039ecf005ea52abd0 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -1088,7 +1088,13 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { diff --git a/patches/server/0078-Bladeren-mspt-sync-protocol.patch b/patches/server/0078-Bladeren-mspt-sync-protocol.patch index e7932afc..15119977 100644 --- a/patches/server/0078-Bladeren-mspt-sync-protocol.patch +++ b/patches/server/0078-Bladeren-mspt-sync-protocol.patch @@ -17,10 +17,10 @@ index 16fd5af5f0f5018f87bf143926b6ec6b4bfc1a76..87bb9de0403339d3f14fa9065d0a0515 MinecraftTimings.tickablesTimer.startTiming(); // Spigot // Paper for (int i = 0; i < this.tickables.size(); ++i) { diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index f4e49ff40afa4f15b574867e8f607109ddc4e972..77f20c1e37ce6c271a7f060bab04324d6b748136 100644 +index 93613d0aef1a05fa77e079478e464d46379e52af..172eaa332d1bb89b98c9518275909c5c494bf84a 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -3586,6 +3586,9 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -3612,6 +3612,9 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic if (top.leavesmc.leaves.LeavesConfig.leavesCarpetSupport && ProtocolUtils.isNamespacePacket(packet, top.leavesmc.leaves.protocol.CarpetServerProtocol.PROTOCOL_ID)) { top.leavesmc.leaves.protocol.CarpetServerProtocol.handlePacket(player, packet); } @@ -31,7 +31,7 @@ index f4e49ff40afa4f15b574867e8f607109ddc4e972..77f20c1e37ce6c271a7f060bab04324d ServerGamePacketListenerImpl.LOGGER.error("Couldn\'t dispatch custom payload", ex); this.disconnect("Invalid custom payload!", org.bukkit.event.player.PlayerKickEvent.Cause.INVALID_PAYLOAD); diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index fb6810289ac855e622d3970101f27b2133bd67d2..5b03b63653c6b5586fb8d6ac7766beadb8ce04a9 100644 +index e50305b51a3759f53a9425ba6487db30c5d5d788..b00a84a73b7682d1579a8b6350a11f320a5c0682 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -365,6 +365,7 @@ public abstract class PlayerList { diff --git a/patches/server/0083-No-block-update-command.patch b/patches/server/0083-No-block-update-command.patch index 31c59638..76e11d16 100644 --- a/patches/server/0083-No-block-update-command.patch +++ b/patches/server/0083-No-block-update-command.patch @@ -5,10 +5,10 @@ Subject: [PATCH] No block update command diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java -index 86304357ca687036cf2448f8cd7c639bdc309e25..c865979ecce94e02d16f2f4d4d6be16fd5815b6c 100644 +index 879cc823d56625867eb73bb621db6a13f40ad81c..fac8de87a096e2f3ba71fc4043acf66491c5b62b 100644 --- a/src/main/java/net/minecraft/world/item/ItemStack.java +++ b/src/main/java/net/minecraft/world/item/ItemStack.java -@@ -449,7 +449,7 @@ public final class ItemStack { +@@ -453,7 +453,7 @@ public final class ItemStack { net.minecraft.world.level.block.state.BlockState block = world.getBlockState(newblockposition); if (!(block.getBlock() instanceof BaseEntityBlock)) { // Containers get placed automatically @@ -67,7 +67,7 @@ index 2708251ebc1995e71fb0e5dca9e158a3005f8a8a..e28351b379677fec356b6efec2d882ee } } diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java -index 4396849cfc3f75c320dfaea95843e75495dc3337..92f86949338b78def78e2c755827d7f044c30192 100644 +index e28d4eb4de7c6714b7f446eea78e7fd41273e3ba..c87a096d950768d5ceb28e4f198b69e8c082cd50 100644 --- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java +++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java @@ -13,6 +13,7 @@ import org.bukkit.configuration.file.YamlConfiguration; diff --git a/patches/server/0085-Container-open-passthrough.patch b/patches/server/0085-Container-open-passthrough.patch index 5dbd7270..8d8a3a58 100644 --- a/patches/server/0085-Container-open-passthrough.patch +++ b/patches/server/0085-Container-open-passthrough.patch @@ -5,18 +5,18 @@ Subject: [PATCH] Container open passthrough diff --git a/src/main/java/net/minecraft/world/level/block/SignBlock.java b/src/main/java/net/minecraft/world/level/block/SignBlock.java -index e20c24c86db023ad269f15fe04963608e3fb3fe5..d2455f798a00580ebbb45e85ad2a6dcd7671207e 100644 +index 1122090792e9ee98bf8498e8907c5abbbcbcd6d6..50900e6bc73424d6163fd832de9b755f3ac03111 100644 --- a/src/main/java/net/minecraft/world/level/block/SignBlock.java +++ b/src/main/java/net/minecraft/world/level/block/SignBlock.java -@@ -96,6 +96,22 @@ public abstract class SignBlock extends BaseEntityBlock implements SimpleWaterlo +@@ -114,6 +114,22 @@ public abstract class SignBlock extends BaseEntityBlock implements SimpleWaterlo return InteractionResult.SUCCESS; - } else if (bl3) { + } else if (flag2) { return InteractionResult.SUCCESS; + // Leaves start - signContainerPassthrough + } else if (top.leavesmc.leaves.LeavesConfig.containerPassthrough) { + if (item == net.minecraft.world.item.Items.AIR && player.isShiftKeyDown()) { -+ if (!this.otherPlayerIsEditingSign(player, signBlockEntity) && player.mayBuild() && this.hasEditableText(player, signBlockEntity, bl2)) { -+ this.openTextEdit(player, signBlockEntity, bl2); ++ if (!this.otherPlayerIsEditingSign(player, tileentitysign) && player.mayBuild() && this.hasEditableText(player, tileentitysign, flag1)) { ++ this.openTextEdit(player, tileentitysign, flag1); + return InteractionResult.SUCCESS; + } + } @@ -28,6 +28,6 @@ index e20c24c86db023ad269f15fe04963608e3fb3fe5..d2455f798a00580ebbb45e85ad2a6dcd + } + return InteractionResult.PASS; + // Leaves end - signContainerPassthrough - } else if (!this.otherPlayerIsEditingSign(player, signBlockEntity) && player.mayBuild() && this.hasEditableText(player, signBlockEntity, bl2)) { - this.openTextEdit(player, signBlockEntity, bl2, io.papermc.paper.event.player.PlayerOpenSignEvent.Cause.INTERACT); // Paper + } else if (!this.otherPlayerIsEditingSign(player, tileentitysign) && player.mayBuild() && this.hasEditableText(player, tileentitysign, flag1)) { + this.openTextEdit(player, tileentitysign, flag1, io.papermc.paper.event.player.PlayerOpenSignEvent.Cause.INTERACT); // Paper return InteractionResult.SUCCESS; diff --git a/patches/server/0099-Reduce-array-allocations.patch b/patches/server/0099-Reduce-array-allocations.patch index 6ef718b7..a52ec4fb 100644 --- a/patches/server/0099-Reduce-array-allocations.patch +++ b/patches/server/0099-Reduce-array-allocations.patch @@ -223,7 +223,7 @@ index cf20f0983fc25b26cf92b9d3a28746b1909fc56b..c8d62a76bfa1a54b6ecb23f0d53ba2db } // Paper start diff --git a/src/main/java/net/minecraft/server/level/ServerEntity.java b/src/main/java/net/minecraft/server/level/ServerEntity.java -index 691158e71b06c66ae576c6e9b53caf23d1747330..b840dbdd83eb985615f7de02439ae474dd1afe01 100644 +index 99aa4e9363d5b00c397e3cddc21c341f35812ba4..67105a6bbe39a38805dcf5ee026ec1269069c53a 100644 --- a/src/main/java/net/minecraft/server/level/ServerEntity.java +++ b/src/main/java/net/minecraft/server/level/ServerEntity.java @@ -351,7 +351,7 @@ public class ServerEntity { @@ -266,10 +266,10 @@ index c47df8d18be8ac7d32a16e6662dbbd850efc8e8a..709229d6226464d2a0bc773a3916c811 return ret; } diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 77f20c1e37ce6c271a7f060bab04324d6b748136..18f6eaefb4db548c08afb053ef7df37890036141 100644 +index 172eaa332d1bb89b98c9518275909c5c494bf84a..6e816c8f8dc3235c256a579b48914b0cd03170a8 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -247,6 +247,7 @@ import org.bukkit.inventory.InventoryView; +@@ -249,6 +249,7 @@ import org.bukkit.inventory.InventoryView; import org.bukkit.inventory.SmithingInventory; import top.leavesmc.leaves.util.ProtocolUtils; // CraftBukkit end @@ -277,7 +277,7 @@ index 77f20c1e37ce6c271a7f060bab04324d6b748136..18f6eaefb4db548c08afb053ef7df378 public class ServerGamePacketListenerImpl implements ServerPlayerConnection, TickablePacketListener, ServerGamePacketListener { -@@ -413,7 +414,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -415,7 +416,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic if (this.keepAlivePending) { if (!this.processedDisconnect && elapsedTime >= KEEPALIVE_LIMIT) { // check keepalive limit, don't fire if already disconnected ServerGamePacketListenerImpl.LOGGER.warn("{} was kicked due to keepalive timeout!", this.player.getScoreboardName()); // more info @@ -286,7 +286,7 @@ index 77f20c1e37ce6c271a7f060bab04324d6b748136..18f6eaefb4db548c08afb053ef7df378 } } else { if (elapsedTime >= 15000L) { // 15 seconds -@@ -892,13 +893,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -894,13 +895,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic // PacketUtils.ensureRunningOnSameThread(packet, this, this.player.serverLevel()); // Paper - run this async // CraftBukkit start if (this.chatSpamTickCount.addAndGet(io.papermc.paper.configuration.GlobalConfiguration.get().spamLimiter.tabSpamIncrement) > io.papermc.paper.configuration.GlobalConfiguration.get().spamLimiter.tabSpamLimit && !this.server.getPlayerList().isOp(this.player.getGameProfile())) { // Paper start - split and make configurable @@ -302,7 +302,7 @@ index 77f20c1e37ce6c271a7f060bab04324d6b748136..18f6eaefb4db548c08afb053ef7df378 return; } // Paper end -@@ -3327,7 +3328,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -3326,7 +3327,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic // Paper start if (!org.bukkit.Bukkit.isPrimaryThread()) { if (this.recipeSpamPackets.addAndGet(io.papermc.paper.configuration.GlobalConfiguration.get().spamLimiter.recipeSpamIncrement) > io.papermc.paper.configuration.GlobalConfiguration.get().spamLimiter.recipeSpamLimit) { @@ -346,7 +346,7 @@ index 2ff578e4a953ffcf5176815ba8e3f06f73499989..bf082b9c3947d6037328526e5bfafe2b final String s; diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index fc9b8f6e9dbef606ade0f2376a8187ae4ca366cb..16670088947fe126674fa9058f4fc8df01546a2c 100644 +index 8c3e87e3510ab048c206c974ec154e5b59c7342b..3ff61af745630dc692d84aeccc25ad8dcf5c5746 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -134,6 +134,7 @@ import org.bukkit.event.player.PlayerRespawnEvent.RespawnReason; @@ -482,10 +482,10 @@ index 25ed5571b24e590bc95056020d84496492b53298..89d7364bc645a8b9217e87780cdc0ced for (int j = 0; j < i; ++j) { diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java -index c865979ecce94e02d16f2f4d4d6be16fd5815b6c..0f4ec67c1660755f268c527a96cb8030e8830ec9 100644 +index fac8de87a096e2f3ba71fc4043acf66491c5b62b..eaa5d29c3e4c32db21cc72295551d81b65e274b7 100644 --- a/src/main/java/net/minecraft/world/item/ItemStack.java +++ b/src/main/java/net/minecraft/world/item/ItemStack.java -@@ -1015,7 +1015,7 @@ public final class ItemStack { +@@ -1019,7 +1019,7 @@ public final class ItemStack { int k; if (ItemStack.shouldShowInTooltip(i, ItemStack.TooltipPart.MODIFIERS)) {