From 1242a2a66cd599cafaa56106c67003403715a2f3 Mon Sep 17 00:00:00 2001 From: violetc <58360096+s-yh-china@users.noreply.github.com> Date: Tue, 29 Jul 2025 01:23:13 +0800 Subject: [PATCH] Update Paper and Leavesclip --- gradle.properties | 2 +- leaves-server/build.gradle.kts.patch | 2 +- .../features/0004-Leaves-Protocol-Core.patch | 6 ++-- .../features/0007-Leaves-Fakeplayer.patch | 20 ++++++------- .../features/0015-No-chat-sign.patch | 4 +-- ...oal-selector-during-inactive-ticking.patch | 4 +-- .../0031-Player-operation-limiter.patch | 6 ++-- .../0033-MC-Technical-Survival-Mode.patch | 6 ++-- .../features/0034-Item-overstack-util.patch | 10 +++---- .../0035-Return-nether-portal-fix.patch | 8 ++--- .../0038-Catch-update-suppression-crash.patch | 8 ++--- .../features/0043-Disable-packet-limit.patch | 4 +-- .../0063-Optimize-sun-burn-tick.patch | 6 ++-- .../features/0074-Replay-Mod-API.patch | 8 ++--- .../features/0111-Xaero-Map-Protocol.patch | 4 +-- .../0116-Fix-SculkCatalyst-exp-skip.patch | 8 ++--- .../0123-Spawn-invulnerable-time.patch | 4 +-- ...ender-dragon-part-can-use-end-portal.patch | 4 +-- ...003-Leaves-Server-Config-And-Command.patch | 4 +-- .../features/0004-Leaves-Protocol-Core.patch | 6 ++-- .../features/0005-Leaves-Fakeplayer.patch | 30 +++++++++---------- .../features/0010-Replay-Mod-API.patch | 12 ++++---- .../features/0012-Bytebuf-API.patch | 14 ++++----- .../features/0015-Leaves-Config-API.patch | 4 +-- 24 files changed, 92 insertions(+), 92 deletions(-) diff --git a/gradle.properties b/gradle.properties index bff1149e..2c2d60ad 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,7 +1,7 @@ group=org.leavesmc.leaves version=1.21.8-R0.1-SNAPSHOT mcVersion=1.21.8 -paperRef=103187750e29fd982b84b2bab114fe5af98a82e5 +paperRef=dbc367ba2d696fec2433b15ed23a893a34895638 preVersion=true org.gradle.caching=true diff --git a/leaves-server/build.gradle.kts.patch b/leaves-server/build.gradle.kts.patch index aa7a317e..40d30a9c 100644 --- a/leaves-server/build.gradle.kts.patch +++ b/leaves-server/build.gradle.kts.patch @@ -20,7 +20,7 @@ dependencies { mache("io.papermc:mache:1.21.8+build.2") - paperclip("io.papermc:paperclip:3.0.3") -+ leavesclip("org.leavesmc:leavesclip:3.0.4") // Leaves - build change ++ leavesclip("org.leavesmc:leavesclip:3.0.5") // Leaves - build change testRuntimeOnly("org.junit.platform:junit-platform-launcher") } diff --git a/leaves-server/minecraft-patches/features/0004-Leaves-Protocol-Core.patch b/leaves-server/minecraft-patches/features/0004-Leaves-Protocol-Core.patch index b7d20279..878a87c9 100644 --- a/leaves-server/minecraft-patches/features/0004-Leaves-Protocol-Core.patch +++ b/leaves-server/minecraft-patches/features/0004-Leaves-Protocol-Core.patch @@ -33,7 +33,7 @@ index fb263fa1f30a7dfcb7ec2656abfb38e5fe88eac9..56fd1ed7ccaf96e7eedea60fbdbf7f93 }; } diff --git a/net/minecraft/server/MinecraftServer.java b/net/minecraft/server/MinecraftServer.java -index d2895962ad3879632ff7a33eb3ce656097aebaec..4e2e84bbd389d926b8e6f45f2e37c80f4df1af41 100644 +index c0fa1bba36af367ea81fad4ef44dc25cb84eabd4..d6cd8ac3b44b170b5bb3a530deb406396d0fb7ae 100644 --- a/net/minecraft/server/MinecraftServer.java +++ b/net/minecraft/server/MinecraftServer.java @@ -1744,6 +1744,8 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop dimension, Packet packet) { -@@ -1356,7 +1387,13 @@ public abstract class PlayerList { +@@ -1354,7 +1385,13 @@ public abstract class PlayerList { @Nullable public ServerPlayer getPlayer(UUID playerUUID) { @@ -414,7 +414,7 @@ index 5f3abbe943be394e9cb987945a238208940b5015..8c139d572bd3c44b8e2b6205e28ab09f public int timeUntilHooked; public float fishAngle; diff --git a/net/minecraft/world/inventory/AbstractContainerMenu.java b/net/minecraft/world/inventory/AbstractContainerMenu.java -index 96da9b8e3556e58365dc6742f44d6dfd608e2953..e5811924577fb04fd2d67fb4a32a9de1dbe3c7b1 100644 +index 06846950348954328c07f64cd9b3359e79a1a468..e1783ad0adbb791b2ff7441243c9f0aeaf37c7f6 100644 --- a/net/minecraft/world/inventory/AbstractContainerMenu.java +++ b/net/minecraft/world/inventory/AbstractContainerMenu.java @@ -400,6 +400,7 @@ public abstract class AbstractContainerMenu { diff --git a/leaves-server/minecraft-patches/features/0015-No-chat-sign.patch b/leaves-server/minecraft-patches/features/0015-No-chat-sign.patch index 7bcba50f..65d0af7e 100644 --- a/leaves-server/minecraft-patches/features/0015-No-chat-sign.patch +++ b/leaves-server/minecraft-patches/features/0015-No-chat-sign.patch @@ -148,10 +148,10 @@ index 2dd95aca955f19ce48be35b1ca9bcc94c3a1984d..e9d328dacdc23eea792ab350ec2ea9f8 if (packet == null || this.processedDisconnect) { // Spigot return; diff --git a/net/minecraft/server/players/PlayerList.java b/net/minecraft/server/players/PlayerList.java -index 204c25d33e86a736f091848a277ea882f129e468..742a49c9f1cec6a7ed343b1f0072fc36bb3df26b 100644 +index 1135d32f1f275306792b95d10f76ac233e265e0d..e59a4178100532a2a52b4242409a270ed62498f6 100644 --- a/net/minecraft/server/players/PlayerList.java +++ b/net/minecraft/server/players/PlayerList.java -@@ -1315,7 +1315,7 @@ public abstract class PlayerList { +@@ -1313,7 +1313,7 @@ public abstract class PlayerList { } public boolean verifyChatTrusted(PlayerChatMessage message) { diff --git a/leaves-server/minecraft-patches/features/0020-Throttle-goal-selector-during-inactive-ticking.patch b/leaves-server/minecraft-patches/features/0020-Throttle-goal-selector-during-inactive-ticking.patch index 6aca9a50..7f0cb883 100644 --- a/leaves-server/minecraft-patches/features/0020-Throttle-goal-selector-during-inactive-ticking.patch +++ b/leaves-server/minecraft-patches/features/0020-Throttle-goal-selector-during-inactive-ticking.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Throttle goal selector during inactive ticking This patch is Powered by Pufferfish(https://github.com/pufferfish-gg/Pufferfish) diff --git a/net/minecraft/world/entity/Mob.java b/net/minecraft/world/entity/Mob.java -index 0470c4bbf8be7e48ce8dfa4910c3b9f5ebb23360..a8bb9822e963d7d8245c8d6589604fd92b424f18 100644 +index e0b3cb2b2694768803ed347a1026b881fd624951..16cb4b7472b05c8aab195d5b865dd21ccd4adef8 100644 --- a/net/minecraft/world/entity/Mob.java +++ b/net/minecraft/world/entity/Mob.java -@@ -206,11 +206,13 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Leashab +@@ -207,11 +207,13 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Leashab return this.lookControl; } diff --git a/leaves-server/minecraft-patches/features/0031-Player-operation-limiter.patch b/leaves-server/minecraft-patches/features/0031-Player-operation-limiter.patch index 01d9e754..27af4588 100644 --- a/leaves-server/minecraft-patches/features/0031-Player-operation-limiter.patch +++ b/leaves-server/minecraft-patches/features/0031-Player-operation-limiter.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Player operation limiter This patch is Powered by plusls-carpet-addition(https://github.com/plusls/plusls-carpet-addition) diff --git a/net/minecraft/server/level/ServerPlayer.java b/net/minecraft/server/level/ServerPlayer.java -index 7e4bf7ddc26fc087832f802856f14e268b0ca32b..1b9a5e8b061371649cbd464d1167c2e99e6494bc 100644 +index e808b8059af035d09c24286b1e5893733906dca4..5f78a68170b390eb515af30e5cbe4559b1852706 100644 --- a/net/minecraft/server/level/ServerPlayer.java +++ b/net/minecraft/server/level/ServerPlayer.java @@ -429,6 +429,10 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc @@ -28,7 +28,7 @@ index 7e4bf7ddc26fc087832f802856f14e268b0ca32b..1b9a5e8b061371649cbd464d1167c2e9 this.gameMode.tick(); this.wardenSpawnTracker.tick(); if (this.invulnerableTime > 0) { -@@ -2977,4 +2982,31 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc +@@ -2981,4 +2986,31 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc return (org.bukkit.craftbukkit.entity.CraftPlayer) super.getBukkitEntity(); } // CraftBukkit end @@ -85,7 +85,7 @@ index cfbf34964288526e93d0a5b212c1b60296c10430..9cce442c16ced8d9320a5760580ff13f this.debugLogging(pos, true, sequence, message); } else { diff --git a/net/minecraft/world/item/BlockItem.java b/net/minecraft/world/item/BlockItem.java -index 14387fa191fb52aaa8b25396292c1d528a6aed17..eff2c0418e1dc8dff1b9045d8f6ff619100964d1 100644 +index 8f112f382190d606a87f38da8bcdf8dd5f31d1c5..a46a50d1385897cc7fcf0d6976f0de7e8078d260 100644 --- a/net/minecraft/world/item/BlockItem.java +++ b/net/minecraft/world/item/BlockItem.java @@ -65,6 +65,21 @@ public class BlockItem extends Item { diff --git a/leaves-server/minecraft-patches/features/0033-MC-Technical-Survival-Mode.patch b/leaves-server/minecraft-patches/features/0033-MC-Technical-Survival-Mode.patch index 2fbf1712..fcc7f502 100644 --- a/leaves-server/minecraft-patches/features/0033-MC-Technical-Survival-Mode.patch +++ b/leaves-server/minecraft-patches/features/0033-MC-Technical-Survival-Mode.patch @@ -6,10 +6,10 @@ Subject: [PATCH] MC Technical Survival Mode Will automatically overwrite some configuration after startup diff --git a/net/minecraft/server/level/ServerPlayer.java b/net/minecraft/server/level/ServerPlayer.java -index 1b9a5e8b061371649cbd464d1167c2e99e6494bc..c6adc1009df62699264d996a6eba85d7db4d3bcf 100644 +index 5f78a68170b390eb515af30e5cbe4559b1852706..51fd9298a931501ee15401b64f3194c72c00b00f 100644 --- a/net/minecraft/server/level/ServerPlayer.java +++ b/net/minecraft/server/level/ServerPlayer.java -@@ -1650,7 +1650,7 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc +@@ -1654,7 +1654,7 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc public boolean isInvulnerableTo(ServerLevel level, DamageSource damageSource) { return (super.isInvulnerableTo(level, damageSource) // Paper - disable player cramming; || this.isChangingDimension() && !damageSource.is(DamageTypes.ENDER_PEARL) @@ -45,7 +45,7 @@ index 17d54d38dcec39eefeb989cd576cc640a36e82f5..1d7a1739d6a3a55aacb33d57a5871235 this.applyGravity(); this.move(MoverType.SELF, this.getDeltaMovement()); diff --git a/net/minecraft/world/level/NaturalSpawner.java b/net/minecraft/world/level/NaturalSpawner.java -index 14a2514a408a66a83f7b5fb43b4c4dc8f23fd5f4..5427f5e1f0416a8dfa3e9c38c3ce69d6e2bd37a6 100644 +index 4f647507d06d45a65b4b1793219d90c65e110225..dac4646902a93eaaa287f5b6da324eea81ea3150 100644 --- a/net/minecraft/world/level/NaturalSpawner.java +++ b/net/minecraft/world/level/NaturalSpawner.java @@ -82,7 +82,7 @@ public final class NaturalSpawner { diff --git a/leaves-server/minecraft-patches/features/0034-Item-overstack-util.patch b/leaves-server/minecraft-patches/features/0034-Item-overstack-util.patch index da8666ce..920f7ff7 100644 --- a/leaves-server/minecraft-patches/features/0034-Item-overstack-util.patch +++ b/leaves-server/minecraft-patches/features/0034-Item-overstack-util.patch @@ -39,7 +39,7 @@ index adba92a9ebef64561147427d1339f70e2701d93c..fc367026ca84b125bf3ccd261ef43a38 if (count > i) { source.sendFailure(Component.translatable("commands.give.failed.toomanyitems", i, itemStack.getDisplayName())); diff --git a/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 5bfe2b5c0b2fae297983f4397258e77391749847..969c06d69ae50935096e80d632b919b3eae0fdf9 100644 +index ca13dd72f173be6714965c506f2d48dcd3c9e569..87201eca6bbcb0dbf2612b59219d97960db29d01 100644 --- a/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -2987,7 +2987,7 @@ public class ServerGamePacketListenerImpl @@ -66,9 +66,9 @@ index 5bfe2b5c0b2fae297983f4397258e77391749847..969c06d69ae50935096e80d632b919b3 this.player.containerMenu.broadcastChanges(); + if (org.leavesmc.leaves.util.ItemOverstackUtils.hasOverstackingItem()) this.player.containerMenu.broadcastCarriedItem(); // Leaves - item over-stack util - force send carried item } + if (packet.buttonNum() == Inventory.SLOT_OFFHAND && this.player.containerMenu != this.player.inventoryMenu) this.player.containerSynchronizer.sendOffHandSlotChange(); // Paper - update offhand data when the player is clicking in an inventory not their own as the sychronizer does not include offhand slots if (io.papermc.paper.configuration.GlobalConfiguration.get().unsupportedSettings.updateEquipmentOnPlayerActions) this.player.detectEquipmentUpdates(); // Paper - Force update attributes. - } -@@ -3344,7 +3345,7 @@ public class ServerGamePacketListenerImpl +@@ -3345,7 +3346,7 @@ public class ServerGamePacketListenerImpl } boolean flag1 = packet.slotNum() >= 1 && packet.slotNum() <= 45; @@ -77,7 +77,7 @@ index 5bfe2b5c0b2fae297983f4397258e77391749847..969c06d69ae50935096e80d632b919b3 if (flag || (flag1 && !ItemStack.matches(this.player.inventoryMenu.getSlot(packet.slotNum()).getItem(), packet.itemStack()))) { // Insist on valid slot // CraftBukkit start - Call click event org.bukkit.inventory.InventoryView inventory = this.player.inventoryMenu.getBukkitView(); -@@ -3386,6 +3387,7 @@ public class ServerGamePacketListenerImpl +@@ -3387,6 +3388,7 @@ public class ServerGamePacketListenerImpl this.player.inventoryMenu.getSlot(packet.slotNum()).setByPlayer(itemStack); this.player.inventoryMenu.setRemoteSlot(packet.slotNum(), itemStack); this.player.inventoryMenu.broadcastChanges(); @@ -227,7 +227,7 @@ index 02d2efef2dc0f0e12eac0c71fa290af706f7694d..99f109e2653eff10c011f380694bd77a default SlotAccess getChestVehicleSlot(final int index) { diff --git a/net/minecraft/world/inventory/AbstractContainerMenu.java b/net/minecraft/world/inventory/AbstractContainerMenu.java -index e5811924577fb04fd2d67fb4a32a9de1dbe3c7b1..863b9ab56304a58e8ecbe43657857b95a19cea87 100644 +index e1783ad0adbb791b2ff7441243c9f0aeaf37c7f6..ffd723a424940a421e396a6ca07c952165705825 100644 --- a/net/minecraft/world/inventory/AbstractContainerMenu.java +++ b/net/minecraft/world/inventory/AbstractContainerMenu.java @@ -295,6 +295,13 @@ public abstract class AbstractContainerMenu { diff --git a/leaves-server/minecraft-patches/features/0035-Return-nether-portal-fix.patch b/leaves-server/minecraft-patches/features/0035-Return-nether-portal-fix.patch index 3ced42e6..6f4c408c 100644 --- a/leaves-server/minecraft-patches/features/0035-Return-nether-portal-fix.patch +++ b/leaves-server/minecraft-patches/features/0035-Return-nether-portal-fix.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Return nether portal fix This patch is powered by NetherPortalFix(https://github.com/TwelveIterationMods/NetherPortalFix) diff --git a/net/minecraft/server/level/ServerPlayer.java b/net/minecraft/server/level/ServerPlayer.java -index c6adc1009df62699264d996a6eba85d7db4d3bcf..a3fe89776a6a5067dbd53a82defa0ffc92fbac1d 100644 +index 51fd9298a931501ee15401b64f3194c72c00b00f..c356a88667c9fe0e8b0aca564f976043dfb83b39 100644 --- a/net/minecraft/server/level/ServerPlayer.java +++ b/net/minecraft/server/level/ServerPlayer.java -@@ -1464,6 +1464,21 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc +@@ -1468,6 +1468,21 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc org.bukkit.event.player.PlayerChangedWorldEvent changeEvent = new org.bukkit.event.player.PlayerChangedWorldEvent(this.getBukkitEntity(), serverLevel.getWorld()); this.level().getCraftServer().getPluginManager().callEvent(changeEvent); // CraftBukkit end @@ -32,10 +32,10 @@ index c6adc1009df62699264d996a6eba85d7db4d3bcf..a3fe89776a6a5067dbd53a82defa0ffc if (this.isBlocking()) { this.stopUsingItem(); diff --git a/net/minecraft/server/players/PlayerList.java b/net/minecraft/server/players/PlayerList.java -index 742a49c9f1cec6a7ed343b1f0072fc36bb3df26b..1fe310309311d00d6889b706bb1a468323204dd9 100644 +index e59a4178100532a2a52b4242409a270ed62498f6..7a0d36b9c6a633919a116fc4d47e500b2c6cbc28 100644 --- a/net/minecraft/server/players/PlayerList.java +++ b/net/minecraft/server/players/PlayerList.java -@@ -822,6 +822,20 @@ public abstract class PlayerList { +@@ -820,6 +820,20 @@ public abstract class PlayerList { if (fromWorld != level) { org.bukkit.event.player.PlayerChangedWorldEvent event = new org.bukkit.event.player.PlayerChangedWorldEvent(player.getBukkitEntity(), fromWorld.getWorld()); this.server.server.getPluginManager().callEvent(event); diff --git a/leaves-server/minecraft-patches/features/0038-Catch-update-suppression-crash.patch b/leaves-server/minecraft-patches/features/0038-Catch-update-suppression-crash.patch index 9d21a97b..e5014c6b 100644 --- a/leaves-server/minecraft-patches/features/0038-Catch-update-suppression-crash.patch +++ b/leaves-server/minecraft-patches/features/0038-Catch-update-suppression-crash.patch @@ -20,7 +20,7 @@ index 4535858701b2bb232b9d2feb2af6551526232ddc..2a51acd97afc525170e8001b76f57ad1 if (var4 instanceof ReportedException reportedException && reportedException.getCause() instanceof OutOfMemoryError) { throw makeReportedException(var4, packet, processor); diff --git a/net/minecraft/server/MinecraftServer.java b/net/minecraft/server/MinecraftServer.java -index 46be518ca1ecc96acbd764e21c430210ceb72b1b..4a427b80ad9bc387bd774e33c844b4d67836737c 100644 +index 3aa719636ea2b68463a7f412a9cbd5bf3a7925a7..0e89e9232ae3cc27e80620bbcc509d48f7efe056 100644 --- a/net/minecraft/server/MinecraftServer.java +++ b/net/minecraft/server/MinecraftServer.java @@ -1725,6 +1725,10 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop= resultLimit) { return players; diff --git a/net/minecraft/server/MinecraftServer.java b/net/minecraft/server/MinecraftServer.java -index a9322925daca18b3f3120bd540c47b4758b1ecf7..57b0ec8336722197dae868d92d8733330f0b0722 100644 +index 39898e5e2bd75eced05f0b90b3881270d144fd93..9a45eaae53ff9caac6e37f532e86748add886148 100644 --- a/net/minecraft/server/MinecraftServer.java +++ b/net/minecraft/server/MinecraftServer.java @@ -1638,7 +1638,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop 0) { this.invulnerableTime--; } -@@ -1199,6 +1201,13 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc +@@ -1203,6 +1205,13 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc if (this.isInvulnerableTo(level, damageSource)) { return false; } else { diff --git a/leaves-server/minecraft-patches/features/0137-Old-ender-dragon-part-can-use-end-portal.patch b/leaves-server/minecraft-patches/features/0137-Old-ender-dragon-part-can-use-end-portal.patch index f79c2106..b8e8e7c6 100644 --- a/leaves-server/minecraft-patches/features/0137-Old-ender-dragon-part-can-use-end-portal.patch +++ b/leaves-server/minecraft-patches/features/0137-Old-ender-dragon-part-can-use-end-portal.patch @@ -65,10 +65,10 @@ index 05770bb17a37733c83464e1c90ce549d5e7771c5..ca017f5e483a4ff5bc497ad453f4cf63 if (!this.isAlive() || !this.valid) return false; // Paper - Fix item duplication and teleport issues if (fromLevel.dimension() == Level.END && toLevel.dimension() == Level.OVERWORLD) { diff --git a/net/minecraft/world/entity/Mob.java b/net/minecraft/world/entity/Mob.java -index c05803a72b5db05f9a0b6119b57f665a25e1277a..3f0077d2f1486bfac30d8161f7cc43bf719b1777 100644 +index 3b73d52ea902bb1c8bd615c77444c57917f8b645..5cab5889446d7d48259300cec96da4a4811967e5 100644 --- a/net/minecraft/world/entity/Mob.java +++ b/net/minecraft/world/entity/Mob.java -@@ -384,6 +384,16 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Leashab +@@ -385,6 +385,16 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Leashab if (!this.level().isClientSide && this.tickCount % 5 == 0) { this.updateControlFlags(); } diff --git a/leaves-server/paper-patches/features/0003-Leaves-Server-Config-And-Command.patch b/leaves-server/paper-patches/features/0003-Leaves-Server-Config-And-Command.patch index 9965f5c7..97e25a1a 100644 --- a/leaves-server/paper-patches/features/0003-Leaves-Server-Config-And-Command.patch +++ b/leaves-server/paper-patches/features/0003-Leaves-Server-Config-And-Command.patch @@ -36,10 +36,10 @@ index 5c52b1563d20d7e977a5bb958c18b19dec5c365a..65664441c5692620a8b22513ded497b7 } catch (CommandException ex) { sender.sendMessage(Component.text("An internal error occurred while attempting to tab-complete this command", NamedTextColor.RED)); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 03dfcb4665d0279c825a74f3f999c92fe2bd22cb..8646070885a65bcd6e60198bdaeb538613798389 100644 +index 32fe51b19323e3c4c56e7f9e621e6e808ee5fe38..2eba1d900b20a781c4bb08caa2b30bfeb2d02b9d 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -1073,6 +1073,7 @@ public final class CraftServer implements Server { +@@ -1076,6 +1076,7 @@ public final class CraftServer implements Server { playerMetadata.removeAll(plugin); } // Paper end diff --git a/leaves-server/paper-patches/features/0004-Leaves-Protocol-Core.patch b/leaves-server/paper-patches/features/0004-Leaves-Protocol-Core.patch index 5112e797..1e5f22ec 100644 --- a/leaves-server/paper-patches/features/0004-Leaves-Protocol-Core.patch +++ b/leaves-server/paper-patches/features/0004-Leaves-Protocol-Core.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Leaves Protocol Core diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 8646070885a65bcd6e60198bdaeb538613798389..bd128202f1618a88b67def9c829ef7b269dad09c 100644 +index 2eba1d900b20a781c4bb08caa2b30bfeb2d02b9d..203ea4231e5b0d3bf7c35856ca55b2f812044608 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -496,6 +496,7 @@ public final class CraftServer implements Server { +@@ -497,6 +497,7 @@ public final class CraftServer implements Server { this.potionBrewer = new io.papermc.paper.potion.PaperPotionBrewer(console); // Paper - custom potion mixes datapackManager = new io.papermc.paper.datapack.PaperDatapackManager(console.getPackRepository()); // Paper this.spark = new io.papermc.paper.SparksFly(this); // Paper - spark @@ -16,7 +16,7 @@ index 8646070885a65bcd6e60198bdaeb538613798389..bd128202f1618a88b67def9c829ef7b2 } public boolean getCommandBlockOverride(String command) { -@@ -1080,6 +1081,7 @@ public final class CraftServer implements Server { +@@ -1083,6 +1084,7 @@ public final class CraftServer implements Server { this.spark.registerCommandBeforePlugins(this); // Paper - spark this.overrideAllCommandBlockCommands = this.commandsConfiguration.getStringList("command-block-overrides").contains("*"); this.ignoreVanillaPermissions = this.commandsConfiguration.getBoolean("ignore-vanilla-permissions"); diff --git a/leaves-server/paper-patches/features/0005-Leaves-Fakeplayer.patch b/leaves-server/paper-patches/features/0005-Leaves-Fakeplayer.patch index 0390b325..dea44725 100644 --- a/leaves-server/paper-patches/features/0005-Leaves-Fakeplayer.patch +++ b/leaves-server/paper-patches/features/0005-Leaves-Fakeplayer.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Leaves Fakeplayer diff --git a/src/main/java/io/papermc/paper/plugin/manager/PaperEventManager.java b/src/main/java/io/papermc/paper/plugin/manager/PaperEventManager.java -index a589689e3a9de1fffef62e0e3dcd79bb2e848c5b..af9408c990d5ba2cf34d6c64db86a04c90165e91 100644 +index a589689e3a9de1fffef62e0e3dcd79bb2e848c5b..c0910f908ffad3bb94563836c032bb1d6d50c4ed 100644 --- a/src/main/java/io/papermc/paper/plugin/manager/PaperEventManager.java +++ b/src/main/java/io/papermc/paper/plugin/manager/PaperEventManager.java @@ -41,6 +41,22 @@ class PaperEventManager { @@ -32,7 +32,7 @@ index a589689e3a9de1fffef62e0e3dcd79bb2e848c5b..af9408c990d5ba2cf34d6c64db86a04c RegisteredListener[] listeners = handlers.getRegisteredListeners(); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java b/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java -index 0a10f49ee410d93e95ceb90108200a1a9d12b54b..b836e047e9a4ae9a4cbde5caf761013d2c99e12c 100644 +index 0a10f49ee410d93e95ceb90108200a1a9d12b54b..d2eee37d810a6d5cf514bc71dea66a4d2b0d09e2 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java @@ -423,6 +423,7 @@ public abstract class CraftRegionAccessor implements RegionAccessor { @@ -44,10 +44,10 @@ index 0a10f49ee410d93e95ceb90108200a1a9d12b54b..b836e047e9a4ae9a4cbde5caf761013d if (nmsEntity.level() != this.getHandle().getLevel()) { nmsEntity = nmsEntity.teleport(new TeleportTransition(this.getHandle().getLevel(), nmsEntity, TeleportTransition.DO_NOTHING)); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index bd128202f1618a88b67def9c829ef7b269dad09c..2a9fc317284a4e0bac4f0b64482b57de78d8bc30 100644 +index 203ea4231e5b0d3bf7c35856ca55b2f812044608..8ec1308877f82c1207867429f2d5d3e3ca200649 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -315,6 +315,7 @@ public final class CraftServer implements Server { +@@ -316,6 +316,7 @@ public final class CraftServer implements Server { private final io.papermc.paper.potion.PaperPotionBrewer potionBrewer; public final io.papermc.paper.SparksFly spark; private final ServerConfiguration serverConfig = new PaperServerConfiguration(); @@ -55,7 +55,7 @@ index bd128202f1618a88b67def9c829ef7b269dad09c..2a9fc317284a4e0bac4f0b64482b57de // Paper start - Folia region threading API private final io.papermc.paper.threadedregions.scheduler.FallbackRegionScheduler regionizedScheduler = new io.papermc.paper.threadedregions.scheduler.FallbackRegionScheduler(); -@@ -497,6 +498,7 @@ public final class CraftServer implements Server { +@@ -498,6 +499,7 @@ public final class CraftServer implements Server { datapackManager = new io.papermc.paper.datapack.PaperDatapackManager(console.getPackRepository()); // Paper this.spark = new io.papermc.paper.SparksFly(this); // Paper - spark org.leavesmc.leaves.protocol.core.LeavesProtocolManager.init(); // Leaves - protocol @@ -63,7 +63,7 @@ index bd128202f1618a88b67def9c829ef7b269dad09c..2a9fc317284a4e0bac4f0b64482b57de } public boolean getCommandBlockOverride(String command) { -@@ -1441,7 +1443,7 @@ public final class CraftServer implements Server { +@@ -1444,7 +1446,7 @@ public final class CraftServer implements Server { return false; } @@ -72,7 +72,7 @@ index bd128202f1618a88b67def9c829ef7b269dad09c..2a9fc317284a4e0bac4f0b64482b57de return false; } -@@ -3186,4 +3188,11 @@ public final class CraftServer implements Server { +@@ -3189,4 +3191,11 @@ public final class CraftServer implements Server { public void allowPausing(final Plugin plugin, final boolean value) { this.console.addPluginAllowingSleep(plugin.getName(), value); } @@ -85,10 +85,10 @@ index bd128202f1618a88b67def9c829ef7b269dad09c..2a9fc317284a4e0bac4f0b64482b57de + // Leaves end - Bot API } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 68351e47609ae06f0a1641b4ad2013ce6261ae4e..2d726d5878dc3033129ad30782871aae56c0595d 100644 +index aa0a61d7f3128543b698647663fa4a9af2a8255a..9e80b890ecf677dc3c288afecfd125687c7f32f6 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -247,7 +247,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -248,7 +248,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { @Override public int getPlayerCount() { @@ -97,7 +97,7 @@ index 68351e47609ae06f0a1641b4ad2013ce6261ae4e..2d726d5878dc3033129ad30782871aae } @Override -@@ -1264,9 +1264,9 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -1265,9 +1265,9 @@ public class CraftWorld extends CraftRegionAccessor implements World { @Override public List getPlayers() { @@ -109,7 +109,7 @@ index 68351e47609ae06f0a1641b4ad2013ce6261ae4e..2d726d5878dc3033129ad30782871aae HumanEntity bukkitEntity = human.getBukkitEntity(); if ((bukkitEntity != null) && (bukkitEntity instanceof Player)) { -@@ -1948,7 +1948,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -1949,7 +1949,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { public void playSound(final net.kyori.adventure.sound.Sound sound) { org.spigotmc.AsyncCatcher.catchOp("play sound"); // Paper final long seed = sound.seed().orElseGet(this.world.getRandom()::nextLong); @@ -118,7 +118,7 @@ index 68351e47609ae06f0a1641b4ad2013ce6261ae4e..2d726d5878dc3033129ad30782871aae player.connection.send(io.papermc.paper.adventure.PaperAdventure.asSoundPacket(sound, player.getX(), player.getY(), player.getZ(), seed, null)); } } -@@ -1976,7 +1976,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -1977,7 +1977,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { org.spigotmc.AsyncCatcher.catchOp("play sound"); // Paper final long seed = sound.seed().orElseGet(this.getHandle().getRandom()::nextLong); if (emitter == net.kyori.adventure.sound.Sound.Emitter.self()) { @@ -127,7 +127,7 @@ index 68351e47609ae06f0a1641b4ad2013ce6261ae4e..2d726d5878dc3033129ad30782871aae player.connection.send(io.papermc.paper.adventure.PaperAdventure.asSoundPacket(sound, player, seed, null)); } } else if (emitter instanceof CraftEntity craftEntity) { -@@ -2206,7 +2206,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -2207,7 +2207,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { Preconditions.checkArgument(particle.getDataType().isInstance(data), "data (%s) should be %s", data.getClass(), particle.getDataType()); } this.getHandle().sendParticlesSource( @@ -137,7 +137,7 @@ index 68351e47609ae06f0a1641b4ad2013ce6261ae4e..2d726d5878dc3033129ad30782871aae CraftParticle.createParticleParam(particle, data), // Particle force, diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index b38073628d3b1381ccc4e5c6c44b2b7ec8ba1273..656d599060449a4fd53360915378aca177b7e6e7 100644 +index b38073628d3b1381ccc4e5c6c44b2b7ec8ba1273..c775b2956d008338d7d48ab709013b7111b1ac8f 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java @@ -121,6 +121,8 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { @@ -150,7 +150,7 @@ index b38073628d3b1381ccc4e5c6c44b2b7ec8ba1273..656d599060449a4fd53360915378aca1 if (entity instanceof EnderDragonPart complexPart) { if (complexPart.parentMob instanceof EnderDragon) { diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 1d112510093d5eb5117adf16b92dd3411a610a4a..d74ce689380246eb176596f5905275fa5187aace 100644 +index 183d83f023644c9c5dba0702ba2464566e74ad32..50b546cf6a1483e6721d7fd8ef029fb3abd1eacc 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -896,7 +896,11 @@ public class CraftEventFactory { diff --git a/leaves-server/paper-patches/features/0010-Replay-Mod-API.patch b/leaves-server/paper-patches/features/0010-Replay-Mod-API.patch index 861526ad..c44f6e36 100644 --- a/leaves-server/paper-patches/features/0010-Replay-Mod-API.patch +++ b/leaves-server/paper-patches/features/0010-Replay-Mod-API.patch @@ -18,10 +18,10 @@ index c0910f908ffad3bb94563836c032bb1d6d50c4ed..ecd25243b55a00d7c8a04385c2695d55 } // Leaves end - skip bot diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index cc2ccfb83b1e8b867571429c034cf75ac11a4738..230ddce9f625ec089c5cc09e8744a10cbb12afa0 100644 +index 8ec1308877f82c1207867429f2d5d3e3ca200649..006ee2e04fe323246822de00ef3e659fb6b91ce9 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -316,6 +316,7 @@ public final class CraftServer implements Server { +@@ -317,6 +317,7 @@ public final class CraftServer implements Server { public final io.papermc.paper.SparksFly spark; private final ServerConfiguration serverConfig = new PaperServerConfiguration(); private final org.leavesmc.leaves.entity.bot.CraftBotManager botManager; // Leaves @@ -29,7 +29,7 @@ index cc2ccfb83b1e8b867571429c034cf75ac11a4738..230ddce9f625ec089c5cc09e8744a10c // Paper start - Folia region threading API private final io.papermc.paper.threadedregions.scheduler.FallbackRegionScheduler regionizedScheduler = new io.papermc.paper.threadedregions.scheduler.FallbackRegionScheduler(); -@@ -410,7 +411,7 @@ public final class CraftServer implements Server { +@@ -411,7 +412,7 @@ public final class CraftServer implements Server { public CraftServer(DedicatedServer console, PlayerList playerList) { this.console = console; this.playerList = (DedicatedPlayerList) playerList; @@ -38,7 +38,7 @@ index cc2ccfb83b1e8b867571429c034cf75ac11a4738..230ddce9f625ec089c5cc09e8744a10c @Override public CraftPlayer apply(ServerPlayer player) { return player.getBukkitEntity(); -@@ -3195,4 +3196,11 @@ public final class CraftServer implements Server { +@@ -3198,4 +3199,11 @@ public final class CraftServer implements Server { return botManager; } // Leaves end - Bot API @@ -63,10 +63,10 @@ index c775b2956d008338d7d48ab709013b7111b1ac8f..317aee5719548beaf7932f53c6d1ffc9 // Special case complex part, since there is no extra entity type for them if (entity instanceof EnderDragonPart complexPart) { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index d4183bd69358b68980b80232d76863480d9b926c..680465e5582fb9c9aff6138c483f78c7656556ed 100644 +index c0ef55c206af2391b71c4326fd294dbb7d4bd46c..0c8aab1b1b935918a9f67ce21be5c498d0a3828c 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -2330,7 +2330,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player, PluginMessa +@@ -2208,7 +2208,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player, PluginMessa @Override public boolean canSee(Player player) { diff --git a/leaves-server/paper-patches/features/0012-Bytebuf-API.patch b/leaves-server/paper-patches/features/0012-Bytebuf-API.patch index a125611f..168b0fc5 100644 --- a/leaves-server/paper-patches/features/0012-Bytebuf-API.patch +++ b/leaves-server/paper-patches/features/0012-Bytebuf-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Bytebuf API diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 230ddce9f625ec089c5cc09e8744a10cbb12afa0..446a1b7f7788a96457cd72d7c15e4dfcc656eb69 100644 +index 006ee2e04fe323246822de00ef3e659fb6b91ce9..edd9a88605c4aab5263b3455ac321c3068d33834 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -317,6 +317,7 @@ public final class CraftServer implements Server { +@@ -318,6 +318,7 @@ public final class CraftServer implements Server { private final ServerConfiguration serverConfig = new PaperServerConfiguration(); private final org.leavesmc.leaves.entity.bot.CraftBotManager botManager; // Leaves private final org.leavesmc.leaves.entity.photographer.CraftPhotographerManager photographerManager = new org.leavesmc.leaves.entity.photographer.CraftPhotographerManager(); // Leaves @@ -16,7 +16,7 @@ index 230ddce9f625ec089c5cc09e8744a10cbb12afa0..446a1b7f7788a96457cd72d7c15e4dfc // Paper start - Folia region threading API private final io.papermc.paper.threadedregions.scheduler.FallbackRegionScheduler regionizedScheduler = new io.papermc.paper.threadedregions.scheduler.FallbackRegionScheduler(); -@@ -3203,4 +3204,15 @@ public final class CraftServer implements Server { +@@ -3206,4 +3207,15 @@ public final class CraftServer implements Server { return photographerManager; } // Leaves end - replay mod api @@ -33,12 +33,12 @@ index 230ddce9f625ec089c5cc09e8744a10cbb12afa0..446a1b7f7788a96457cd72d7c15e4dfc + // Leaves end - Bytebuf API } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 680465e5582fb9c9aff6138c483f78c7656556ed..7fa7745b3af85c6cd824717558e6726f4b3f1e88 100644 +index 0c8aab1b1b935918a9f67ce21be5c498d0a3828c..752c35635cd89abec57eec42d3e8ae196ac76869 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -3600,4 +3600,16 @@ public class CraftPlayer extends CraftHumanEntity implements Player, PluginMessa - this(new ShortArraySet(), new ArrayList<>()); - } +@@ -3515,4 +3515,16 @@ public class CraftPlayer extends CraftHumanEntity implements Player, PluginMessa + public PlayerGameConnection getConnection() { + return this.getHandle().connection.playerGameConnection; } + + // Leaves start - Bytebuf API diff --git a/leaves-server/paper-patches/features/0015-Leaves-Config-API.patch b/leaves-server/paper-patches/features/0015-Leaves-Config-API.patch index f6598a18..c2e173f2 100644 --- a/leaves-server/paper-patches/features/0015-Leaves-Config-API.patch +++ b/leaves-server/paper-patches/features/0015-Leaves-Config-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Leaves Config API diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 164830c0d9bae7849a4953e489ea144919d9911a..ac1632cd332f08499b7f8feb5f8c2004b89179dc 100644 +index edd9a88605c4aab5263b3455ac321c3068d33834..c01bf0bfa022d356e5606d3dbf028c55137267a2 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -3215,4 +3215,11 @@ public final class CraftServer implements Server { +@@ -3218,4 +3218,11 @@ public final class CraftServer implements Server { return internalBytebufHandler; } // Leaves end - Bytebuf API