diff --git a/README.md b/README.md index 1d4ffb18..78f0464b 100644 --- a/README.md +++ b/README.md @@ -30,7 +30,7 @@ maven { } dependencies { - compileOnly("org.leavesmc.leaves:leaves-api:1.21.7-R0.1-SNAPSHOT") + compileOnly("org.leavesmc.leaves:leaves-api:1.21.8-R0.1-SNAPSHOT") } ``` @@ -40,7 +40,7 @@ Each time you want to update your dependency, you must re-build Leaves. Leaves-Server: ```kotlin dependencies { - compileOnly("org.leavesmc.leaves:leaves:1.21.7-R0.1-SNAPSHOT") + compileOnly("org.leavesmc.leaves:leaves:1.21.8-R0.1-SNAPSHOT") } ``` diff --git a/README_cn.md b/README_cn.md index db646f83..d7269b4f 100644 --- a/README_cn.md +++ b/README_cn.md @@ -30,7 +30,7 @@ maven { } dependencies { - compileOnly("org.leavesmc.leaves:leaves-api:1.21.7-R0.1-SNAPSHOT") + compileOnly("org.leavesmc.leaves:leaves-api:1.21.8-R0.1-SNAPSHOT") } ``` @@ -39,7 +39,7 @@ dependencies { Leaves-Server: ```kotlin dependencies { - compileOnly("org.leavesmc.leaves:leaves:1.21.7-R0.1-SNAPSHOT") + compileOnly("org.leavesmc.leaves:leaves:1.21.8-R0.1-SNAPSHOT") } ``` diff --git a/build.gradle.kts b/build.gradle.kts index 7ba8ee40..797981d2 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -250,6 +250,7 @@ tasks.register("applyNextPatch") { if (failedIndex >= 0) { val directory = project.projectDir.resolve(patchDir[failedIndex]) + executeCommand(listOf("git", "add", "."), directory) val gitCommand = if (hasGitChanges(directory)) { listOf("git", "am", "--continue") diff --git a/gradle.properties b/gradle.properties index 05d5ec42..f185d348 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,7 +1,7 @@ group=org.leavesmc.leaves -version=1.21.7-R0.1-SNAPSHOT -mcVersion=1.21.7 -paperRef=6e598f852727aeb061a446e2319b8fb3a35f7609 +version=1.21.8-R0.1-SNAPSHOT +mcVersion=1.21.8 +paperRef=c8a8c0ef8910c809913a00e2d9bdffaec51ff1f4 preVersion=true org.gradle.caching=true diff --git a/leaves-api/build.gradle.kts.patch b/leaves-api/build.gradle.kts.patch index 99e53e17..867175e7 100644 --- a/leaves-api/build.gradle.kts.patch +++ b/leaves-api/build.gradle.kts.patch @@ -54,7 +54,7 @@ into("META-INF/maven/${project.group}/${project.name}") @@ -166,7 +_,7 @@ - tasks.withType { + tasks.withType().configureEach { val options = options as StandardJavadocDocletOptions - options.overview = "src/main/javadoc/overview.html" + options.overview = "../paper-api/src/main/javadoc/overview.html" // Leaves - build change diff --git a/leaves-server/build.gradle.kts.patch b/leaves-server/build.gradle.kts.patch index a925677f..4f3e0457 100644 --- a/leaves-server/build.gradle.kts.patch +++ b/leaves-server/build.gradle.kts.patch @@ -10,7 +10,7 @@ `maven-publish` idea - id("io.papermc.paperweight.core") -- id("io.papermc.fill.gradle") version "1.0.3" +- id("io.papermc.fill.gradle") version "1.0.7" + id("org.leavesmc.leavesweight.core") // Leaves - build change } @@ -18,7 +18,7 @@ +val leavesMavenPublicUrl = "https://repo.leavesmc.com/snapshots/" // Leaves - build change dependencies { - mache("io.papermc:mache:1.21.7+build.1") + mache("io.papermc:mache:1.21.8+build.1") - paperclip("io.papermc:paperclip:3.0.3") + leavesclip("org.leavesmc:leavesclip:3.0.4") // Leaves - build change testRuntimeOnly("org.junit.platform:junit-platform-launcher") @@ -100,15 +100,15 @@ implementation("ca.spottedleaf:concurrentutil:0.0.3") implementation("org.jline:jline-terminal-ffm:3.27.1") // use ffm on java 22+ implementation("org.jline:jline-terminal-jni:3.27.1") // fall back to jni on java 21 -@@ -158,7 +_,6 @@ - implementation("org.spongepowered:configurate-core:4.2.0-20250225.064233-204") // Pinned dependency of above pinned yaml snapshot. +@@ -157,7 +_,6 @@ + implementation("org.spongepowered:configurate-yaml:4.2.0") // Deps that were previously in the API but have now been moved here for backwards compat, eventually to be removed - runtimeOnly("commons-lang:commons-lang:2.6") runtimeOnly("org.xerial:sqlite-jdbc:3.49.1.0") runtimeOnly("com.mysql:mysql-connector-j:9.2.0") runtimeOnly("com.lmax:disruptor:3.4.4") -@@ -193,26 +_,36 @@ +@@ -188,26 +_,36 @@ implementation("me.lucko:spark-paper:1.10.133-20250413.112336-1") } @@ -151,16 +151,16 @@ "Build-Number" to (build ?: ""), "Build-Time" to buildTime.toString(), "Git-Branch" to gitBranch, -@@ -271,7 +_,7 @@ +@@ -266,7 +_,7 @@ jvmArgumentProviders.add(provider) } -val generatedDir: java.nio.file.Path = layout.projectDirectory.dir("src/generated/java").asFile.toPath() -+val generatedDir: java.nio.file.Path = rootProject.layout.projectDirectory.dir("paper-server/src/generated/java").asFile.toPath() ++val generatedDir: java.nio.file.Path = rootProject.layout.projectDirectory.dir("paper-server/src/generated/java").asFile.toPath() // Leaves - build change idea { module { generatedSourceDirs.add(generatedDir.toFile()) -@@ -320,6 +_,10 @@ +@@ -315,6 +_,10 @@ } args("--nogui") @@ -171,7 +171,7 @@ systemProperty("net.kyori.adventure.text.warnWhenLegacyFormattingDetected", true) if (providers.gradleProperty("paper.runDisableWatchdog").getOrElse("false") == "true") { systemProperty("disable.watchdog", true) -@@ -364,30 +_,26 @@ +@@ -359,30 +_,26 @@ classpath(tasks.createReobfBundlerJar.flatMap { it.outputZip }) mainClass.set(null as String?) } diff --git a/leaves-server/minecraft-patches/features/0001-Build-changes.patch b/leaves-server/minecraft-patches/features/0001-Build-changes.patch index 71135f39..ae01110d 100644 --- a/leaves-server/minecraft-patches/features/0001-Build-changes.patch +++ b/leaves-server/minecraft-patches/features/0001-Build-changes.patch @@ -18,7 +18,7 @@ index 42899a91b9061b85985fbbd0de4032c757f4aa8f..a93f00d1a64e4deb9b89435bab258f3b private static final org.slf4j.Logger LOGGER = com.mojang.logging.LogUtils.getLogger(); diff --git a/net/minecraft/server/MinecraftServer.java b/net/minecraft/server/MinecraftServer.java -index 52fa5112cd90ba766c94512a02401dd3aee82cc9..53c435238465c6f628874b64f0fa275bbb50ab73 100644 +index 7aac2a6889af3edaebfaf94deecbf00d00758b68..d2895962ad3879632ff7a33eb3ce656097aebaec 100644 --- a/net/minecraft/server/MinecraftServer.java +++ b/net/minecraft/server/MinecraftServer.java @@ -1193,7 +1193,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop> set = (Set) advancements.criterionData.get(this); // Paper - fix PlayerAdvancements leak if (set != null && !set.isEmpty()) { diff --git a/net/minecraft/network/Connection.java b/net/minecraft/network/Connection.java -index 8bab2c26e10e8495fd39be470bcb02917fe56f40..c9840dfa4067973aafed7e7c7305182dfabe0a48 100644 +index 41005f6b9f53a9c1125ad5e08538d9f5aacb3571..3e9b8c5fb2157f767de8bddc3e767512c5f7651f 100644 --- a/net/minecraft/network/Connection.java +++ b/net/minecraft/network/Connection.java @@ -96,7 +96,7 @@ public class Connection extends SimpleChannelInboundHandler> { @@ -30,7 +30,7 @@ index 8bab2c26e10e8495fd39be470bcb02917fe56f40..c9840dfa4067973aafed7e7c7305182d private DisconnectionDetails disconnectionDetails; private boolean encrypted; diff --git a/net/minecraft/server/MinecraftServer.java b/net/minecraft/server/MinecraftServer.java -index 95f5d078019ebd4fde9bf65748d866b51cfeabc6..feb5fc93498a5ed89e3bcb61cd72ba6e75881358 100644 +index 4e2e84bbd389d926b8e6f45f2e37c80f4df1af41..83b81e990fccebad35c67712d0d497537c4e3670 100644 --- a/net/minecraft/server/MinecraftServer.java +++ b/net/minecraft/server/MinecraftServer.java @@ -304,6 +304,8 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop packet) { @@ -148,7 +148,7 @@ index dd377f2f85da6c3b86dad7c577887c128b63004b..8786c9436c5acc59221fa713a00314a4 if (packet == null || this.processedDisconnect) { // Spigot return; diff --git a/net/minecraft/server/players/PlayerList.java b/net/minecraft/server/players/PlayerList.java -index baeeb4a0863cb37eee487b0e463fea37eaf2e791..a1e7d92c922013cbd0e3a613aa0c2c49ac3e3ef2 100644 +index 204c25d33e86a736f091848a277ea882f129e468..742a49c9f1cec6a7ed343b1f0072fc36bb3df26b 100644 --- a/net/minecraft/server/players/PlayerList.java +++ b/net/minecraft/server/players/PlayerList.java @@ -1315,7 +1315,7 @@ public abstract class PlayerList { diff --git a/leaves-server/minecraft-patches/features/0029-Alternative-block-placement-Protocol.patch b/leaves-server/minecraft-patches/features/0029-Alternative-block-placement-Protocol.patch index 8ed20628..89a56f14 100644 --- a/leaves-server/minecraft-patches/features/0029-Alternative-block-placement-Protocol.patch +++ b/leaves-server/minecraft-patches/features/0029-Alternative-block-placement-Protocol.patch @@ -9,10 +9,10 @@ MasaGadget(https://github.com/plusls/MasaGadget) litematica(https://github.com/maruohon/litematica) diff --git a/net/minecraft/world/item/BlockItem.java b/net/minecraft/world/item/BlockItem.java -index b5b53168755525eccaa0a4361172006522cf4e05..de3bf6e1a6c5a2bf13f25af386fab5b5c9831248 100644 +index 6db566adf2d0df1d26221eda04aa01738df6d3d2..14387fa191fb52aaa8b25396292c1d528a6aed17 100644 --- a/net/minecraft/world/item/BlockItem.java +++ b/net/minecraft/world/item/BlockItem.java -@@ -151,6 +151,27 @@ public class BlockItem extends Item { +@@ -150,6 +150,27 @@ public class BlockItem extends Item { @Nullable protected BlockState getPlacementState(BlockPlaceContext context) { BlockState stateForPlacement = this.getBlock().getStateForPlacement(context); 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 d37ff23f..01d9e754 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 6ce8772bbec5f20b38ba991e8f7b1da46e4e3493..945de2e76e47af1fd87c0fec981cbb60546c91d2 100644 +index 7e4bf7ddc26fc087832f802856f14e268b0ca32b..1b9a5e8b061371649cbd464d1167c2e99e6494bc 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 6ce8772bbec5f20b38ba991e8f7b1da46e4e3493..945de2e76e47af1fd87c0fec981cbb60 this.gameMode.tick(); this.wardenSpawnTracker.tick(); if (this.invulnerableTime > 0) { -@@ -2968,4 +2973,31 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc +@@ -2977,4 +2982,31 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc return (org.bukkit.craftbukkit.entity.CraftPlayer) super.getBukkitEntity(); } // CraftBukkit end @@ -61,7 +61,7 @@ index 6ce8772bbec5f20b38ba991e8f7b1da46e4e3493..945de2e76e47af1fd87c0fec981cbb60 + // Leaves end - player operation limiter } diff --git a/net/minecraft/server/level/ServerPlayerGameMode.java b/net/minecraft/server/level/ServerPlayerGameMode.java -index 6734756d7a51e635a50a47577f9e6b6f8111db51..5d4eb61af0b0f39a5d4c37f4a303fa24b3a2936d 100644 +index cfbf34964288526e93d0a5b212c1b60296c10430..9cce442c16ced8d9320a5760580ff13f02cbf8f1 100644 --- a/net/minecraft/server/level/ServerPlayerGameMode.java +++ b/net/minecraft/server/level/ServerPlayerGameMode.java @@ -300,6 +300,19 @@ public class ServerPlayerGameMode { @@ -85,7 +85,7 @@ index 6734756d7a51e635a50a47577f9e6b6f8111db51..5d4eb61af0b0f39a5d4c37f4a303fa24 this.debugLogging(pos, true, sequence, message); } else { diff --git a/net/minecraft/world/item/BlockItem.java b/net/minecraft/world/item/BlockItem.java -index de3bf6e1a6c5a2bf13f25af386fab5b5c9831248..0f12afbea724eefeaebf0b05474a64ec96759d62 100644 +index 14387fa191fb52aaa8b25396292c1d528a6aed17..eff2c0418e1dc8dff1b9045d8f6ff619100964d1 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 3588edad..2fbf1712 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 945de2e76e47af1fd87c0fec981cbb60546c91d2..6e2dca4ab18dcc0a24f6c33987cd2af086a350ff 100644 +index 1b9a5e8b061371649cbd464d1167c2e99e6494bc..c6adc1009df62699264d996a6eba85d7db4d3bcf 100644 --- a/net/minecraft/server/level/ServerPlayer.java +++ b/net/minecraft/server/level/ServerPlayer.java -@@ -1641,7 +1641,7 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc +@@ -1650,7 +1650,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) 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 806b7bb8..e2fb580b 100644 --- a/leaves-server/minecraft-patches/features/0034-Item-overstack-util.patch +++ b/leaves-server/minecraft-patches/features/0034-Item-overstack-util.patch @@ -39,10 +39,10 @@ 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 3bb431da22aaf4ed1965aa9bc89732b25b1e3648..1f71c320f5226e475253a5f55d97b608aae5988e 100644 +index e6a1dfb9a9f60791457b86d20e86fab8cca79c39..6622d11f970def6adc2a732187004413a9501c95 100644 --- a/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2984,7 +2984,7 @@ public class ServerGamePacketListenerImpl +@@ -2986,7 +2986,7 @@ public class ServerGamePacketListenerImpl } else if (slot.mayPlace(cursor)) { if (ItemStack.isSameItemSameComponents(clickedItem, cursor)) { int toPlace = packet.buttonNum() == 0 ? cursor.getCount() : 1; @@ -51,7 +51,7 @@ index 3bb431da22aaf4ed1965aa9bc89732b25b1e3648..1f71c320f5226e475253a5f55d97b608 toPlace = Math.min(toPlace, slot.container.getMaxStackSize() - clickedItem.getCount()); if (toPlace == 1) { action = InventoryAction.PLACE_ONE; -@@ -3020,7 +3020,7 @@ public class ServerGamePacketListenerImpl +@@ -3022,7 +3022,7 @@ public class ServerGamePacketListenerImpl } } else if (ItemStack.isSameItemSameComponents(cursor, clickedItem)) { if (clickedItem.getCount() >= 0) { @@ -60,7 +60,7 @@ index 3bb431da22aaf4ed1965aa9bc89732b25b1e3648..1f71c320f5226e475253a5f55d97b608 // As of 1.5, this is result slots only action = InventoryAction.PICKUP_ALL; } -@@ -3279,6 +3279,7 @@ public class ServerGamePacketListenerImpl +@@ -3233,6 +3233,7 @@ public class ServerGamePacketListenerImpl this.player.containerMenu.broadcastFullState(); } else { this.player.containerMenu.broadcastChanges(); @@ -68,7 +68,7 @@ index 3bb431da22aaf4ed1965aa9bc89732b25b1e3648..1f71c320f5226e475253a5f55d97b608 } if (io.papermc.paper.configuration.GlobalConfiguration.get().unsupportedSettings.updateEquipmentOnPlayerActions) this.player.detectEquipmentUpdates(); // Paper - Force update attributes. } -@@ -3389,7 +3390,7 @@ public class ServerGamePacketListenerImpl +@@ -3343,7 +3344,7 @@ public class ServerGamePacketListenerImpl } boolean flag1 = packet.slotNum() >= 1 && packet.slotNum() <= 45; @@ -77,7 +77,7 @@ index 3bb431da22aaf4ed1965aa9bc89732b25b1e3648..1f71c320f5226e475253a5f55d97b608 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(); -@@ -3431,6 +3432,7 @@ public class ServerGamePacketListenerImpl +@@ -3385,6 +3386,7 @@ public class ServerGamePacketListenerImpl this.player.inventoryMenu.getSlot(packet.slotNum()).setByPlayer(itemStack); this.player.inventoryMenu.setRemoteSlot(packet.slotNum(), itemStack); this.player.inventoryMenu.broadcastChanges(); @@ -227,10 +227,10 @@ 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 042d227fcfd31037fd7b64ba5872bb2e7f59d6c5..8b27afcbe3013344158424da112d05edcda0c7e9 100644 +index e5811924577fb04fd2d67fb4a32a9de1dbe3c7b1..863b9ab56304a58e8ecbe43657857b95a19cea87 100644 --- a/net/minecraft/world/inventory/AbstractContainerMenu.java +++ b/net/minecraft/world/inventory/AbstractContainerMenu.java -@@ -271,6 +271,13 @@ public abstract class AbstractContainerMenu { +@@ -295,6 +295,13 @@ public abstract class AbstractContainerMenu { this.sendAllDataToRemote(); } @@ -244,7 +244,7 @@ index 042d227fcfd31037fd7b64ba5872bb2e7f59d6c5..8b27afcbe3013344158424da112d05ed private void updateDataSlotListeners(int slotIndex, int value) { for (ContainerListener containerListener : this.containerListeners) { containerListener.dataChanged(this, slotIndex, value); -@@ -428,7 +435,7 @@ public abstract class AbstractContainerMenu { +@@ -452,7 +459,7 @@ public abstract class AbstractContainerMenu { && (this.quickcraftType == 2 || carried1.getCount() >= this.quickcraftSlots.size()) && this.canDragTo(slot1)) { int i2 = slot1.hasItem() ? slot1.getItem().getCount() : 0; @@ -253,7 +253,7 @@ index 042d227fcfd31037fd7b64ba5872bb2e7f59d6c5..8b27afcbe3013344158424da112d05ed int min1 = Math.min(getQuickCraftPlaceCount(this.quickcraftSlots, this.quickcraftType, itemStack) + i2, min); count -= min1 - i2; // slot1.setByPlayer(itemStack.copyWithCount(min1)); -@@ -542,7 +549,7 @@ public abstract class AbstractContainerMenu { +@@ -564,7 +571,7 @@ public abstract class AbstractContainerMenu { slot.setByPlayer(carried2); } } else if (ItemStack.isSameItemSameComponents(carried, carried2)) { @@ -262,7 +262,7 @@ index 042d227fcfd31037fd7b64ba5872bb2e7f59d6c5..8b27afcbe3013344158424da112d05ed optional1.ifPresent(itemStack2 -> { carried2.grow(itemStack2.getCount()); slot.onTake(player, itemStack2); -@@ -604,7 +611,7 @@ public abstract class AbstractContainerMenu { +@@ -626,7 +633,7 @@ public abstract class AbstractContainerMenu { Slot slot2 = this.slots.get(slotId); if (slot2.hasItem()) { ItemStack itemStack = slot2.getItem(); @@ -271,7 +271,7 @@ index 042d227fcfd31037fd7b64ba5872bb2e7f59d6c5..8b27afcbe3013344158424da112d05ed } } else if (clickType == ClickType.THROW && this.getCarried().isEmpty() && slotId >= 0) { Slot slot2 = this.slots.get(slotId); -@@ -635,15 +642,15 @@ public abstract class AbstractContainerMenu { +@@ -657,15 +664,15 @@ public abstract class AbstractContainerMenu { int maxStackSize = button == 0 ? 1 : -1; for (int i3 = 0; i3 < 2; i3++) { @@ -290,7 +290,7 @@ index 042d227fcfd31037fd7b64ba5872bb2e7f59d6c5..8b27afcbe3013344158424da112d05ed itemStack.grow(itemStack1.getCount()); } } -@@ -761,7 +768,7 @@ public abstract class AbstractContainerMenu { +@@ -783,7 +790,7 @@ public abstract class AbstractContainerMenu { i = endIndex - 1; } @@ -299,7 +299,7 @@ index 042d227fcfd31037fd7b64ba5872bb2e7f59d6c5..8b27afcbe3013344158424da112d05ed while (!stack.isEmpty() && (reverseDirection ? i >= startIndex : i < endIndex)) { Slot slot = this.slots.get(i); ItemStack item = slot.getItem(); -@@ -862,7 +869,7 @@ public abstract class AbstractContainerMenu { +@@ -884,7 +891,7 @@ public abstract class AbstractContainerMenu { public static boolean canItemQuickReplace(@Nullable Slot slot, ItemStack stack, boolean stackSizeMatters) { boolean flag = slot == null || !slot.hasItem(); return !flag && ItemStack.isSameItemSameComponents(stack, slot.getItem()) @@ -308,7 +308,7 @@ index 042d227fcfd31037fd7b64ba5872bb2e7f59d6c5..8b27afcbe3013344158424da112d05ed : flag; } -@@ -870,7 +877,7 @@ public abstract class AbstractContainerMenu { +@@ -892,7 +899,7 @@ public abstract class AbstractContainerMenu { return switch (type) { case 0 -> Mth.floor((float)stack.getCount() / slots.size()); case 1 -> 1; @@ -317,7 +317,7 @@ index 042d227fcfd31037fd7b64ba5872bb2e7f59d6c5..8b27afcbe3013344158424da112d05ed default -> stack.getCount(); }; } -@@ -892,7 +899,7 @@ public abstract class AbstractContainerMenu { +@@ -914,7 +921,7 @@ public abstract class AbstractContainerMenu { for (int i = 0; i < container.getContainerSize(); i++) { ItemStack item = container.getItem(i); if (!item.isEmpty()) { @@ -353,7 +353,7 @@ index 5ceb8964476b40db4511bec91ff13c4f522a1357..f416d7976e41a06b5a8be93485eaa233 @Nullable diff --git a/net/minecraft/world/item/ItemStack.java b/net/minecraft/world/item/ItemStack.java -index cf283389d9263ba29720bf296a778be9eaf308a7..bf50d8b8f5cb77603a225480325524f8e7a663ac 100644 +index da16f4831c875e07c25d7ed041bed493db614658..3ba64f91883b88f3131d4582c771b511bbccfcd9 100644 --- a/net/minecraft/world/item/ItemStack.java +++ b/net/minecraft/world/item/ItemStack.java @@ -162,7 +162,7 @@ public final class ItemStack implements DataComponentHolder { 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 5ba9e200..3ced42e6 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 6e2dca4ab18dcc0a24f6c33987cd2af086a350ff..fe478f90e3ada46548692962a2d2a1e5e63bb4b6 100644 +index c6adc1009df62699264d996a6eba85d7db4d3bcf..a3fe89776a6a5067dbd53a82defa0ffc92fbac1d 100644 --- a/net/minecraft/server/level/ServerPlayer.java +++ b/net/minecraft/server/level/ServerPlayer.java -@@ -1455,6 +1455,21 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc +@@ -1464,6 +1464,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,7 +32,7 @@ index 6e2dca4ab18dcc0a24f6c33987cd2af086a350ff..fe478f90e3ada46548692962a2d2a1e5 if (this.isBlocking()) { this.stopUsingItem(); diff --git a/net/minecraft/server/players/PlayerList.java b/net/minecraft/server/players/PlayerList.java -index 11aa0c3379ec13d91770ba1e7dfb63e83eacadcd..e74ca7f4c98590941fe88935d9fea0917c7b5c50 100644 +index 742a49c9f1cec6a7ed343b1f0072fc36bb3df26b..1fe310309311d00d6889b706bb1a468323204dd9 100644 --- a/net/minecraft/server/players/PlayerList.java +++ b/net/minecraft/server/players/PlayerList.java @@ -822,6 +822,20 @@ public abstract class PlayerList { @@ -57,7 +57,7 @@ index 11aa0c3379ec13d91770ba1e7dfb63e83eacadcd..e74ca7f4c98590941fe88935d9fea091 // Save player file again if they were disconnected diff --git a/net/minecraft/world/entity/LivingEntity.java b/net/minecraft/world/entity/LivingEntity.java -index 33d14040a8ac97758881cd31a88d950a14a78450..54c881d976a8137260146006a389d2feb9d23e28 100644 +index 942be06bebe8c3fca0b0c33fa387e30deda8dd7c..bc19f0bf079d6a7fa2fc8aaed6477da5e57d32da 100644 --- a/net/minecraft/world/entity/LivingEntity.java +++ b/net/minecraft/world/entity/LivingEntity.java @@ -257,7 +257,7 @@ public abstract class LivingEntity extends Entity implements Attackable, Waypoin 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 9296c73d..9d21a97b 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,10 +20,10 @@ 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 edab8f8be8bc513afe435f3f2d1419de8fae1135..881eec1193e9b74d4ac78873654bf2f79f9750e3 100644 +index 46be518ca1ecc96acbd764e21c430210ceb72b1b..4a427b80ad9bc387bd774e33c844b4d67836737c 100644 --- a/net/minecraft/server/MinecraftServer.java +++ b/net/minecraft/server/MinecraftServer.java -@@ -1724,6 +1724,10 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop> { +@@ -245,8 +245,8 @@ public class Connection extends SimpleChannelInboundHandler> { if (this.stopReadingPackets) { return; } @@ -20,10 +20,10 @@ index c9840dfa4067973aafed7e7c7305182dfabe0a48..fd1e1bce897163e6a78213e9be6acb0f synchronized (PACKET_LIMIT_LOCK) { if (this.allPacketCounts != null) { diff --git a/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index da1cb507ac3690dd7c91ea2ce69f004884b6e745..a18496f2600e9cebe259849670cccb0076ef6e85 100644 +index e0687743975db1832933661540650df86a911a80..3c7b691a60f355ebaeb96f7ba07955f5be7fd09b 100644 --- a/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -809,7 +809,7 @@ public class ServerGamePacketListenerImpl +@@ -821,7 +821,7 @@ public class ServerGamePacketListenerImpl public void handleCustomCommandSuggestions(ServerboundCommandSuggestionPacket packet) { // PacketUtils.ensureRunningOnSameThread(packet, this, this.player.level()); // Paper - AsyncTabCompleteEvent; run this async // CraftBukkit start @@ -32,7 +32,7 @@ index da1cb507ac3690dd7c91ea2ce69f004884b6e745..a18496f2600e9cebe259849670cccb00 this.disconnectAsync(Component.translatable("disconnect.spam"), org.bukkit.event.player.PlayerKickEvent.Cause.SPAM); // Paper - Kick event cause // Paper - add proper async disconnect return; } -@@ -1990,6 +1990,7 @@ public class ServerGamePacketListenerImpl +@@ -2002,6 +2002,7 @@ public class ServerGamePacketListenerImpl private static int getSpamThreshold() { return io.papermc.paper.configuration.GlobalConfiguration.get().spamLimiter.incomingPacketThreshold; } // Paper - Configurable threshold private boolean checkLimit(long timestamp) { @@ -40,7 +40,7 @@ index da1cb507ac3690dd7c91ea2ce69f004884b6e745..a18496f2600e9cebe259849670cccb00 if (this.lastLimitedPacket != -1 && timestamp - this.lastLimitedPacket < getSpamThreshold() && this.limitedPackets++ >= 8) { // Paper - Configurable threshold; raise packet limit to 8 return false; } -@@ -2524,6 +2525,7 @@ public class ServerGamePacketListenerImpl +@@ -2536,6 +2537,7 @@ public class ServerGamePacketListenerImpl // Spigot start - spam exclusions private void detectRateSpam(String message) { @@ -48,7 +48,7 @@ index da1cb507ac3690dd7c91ea2ce69f004884b6e745..a18496f2600e9cebe259849670cccb00 // CraftBukkit start - replaced with thread safe throttle if (org.spigotmc.SpigotConfig.enableSpamExclusions) { for (String exclude : org.spigotmc.SpigotConfig.spamExclusions) { -@@ -3290,7 +3292,7 @@ public class ServerGamePacketListenerImpl +@@ -3244,7 +3246,7 @@ public class ServerGamePacketListenerImpl @Override public void handlePlaceRecipe(ServerboundPlaceRecipePacket packet) { // Paper start - auto recipe limit diff --git a/leaves-server/minecraft-patches/features/0044-Syncmatica-Protocol.patch b/leaves-server/minecraft-patches/features/0044-Syncmatica-Protocol.patch index f7ceadca..9365a7e3 100644 --- a/leaves-server/minecraft-patches/features/0044-Syncmatica-Protocol.patch +++ b/leaves-server/minecraft-patches/features/0044-Syncmatica-Protocol.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Syncmatica Protocol This patch is Powered by Syncmatica(https://github.com/End-Tech/syncmatica) diff --git a/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index a18496f2600e9cebe259849670cccb0076ef6e85..050649fb2a85c14569f76d63d589e17d09e4e299 100644 +index 3c7b691a60f355ebaeb96f7ba07955f5be7fd09b..6e8e4b009a4dd52047bc8d8f8e2e27558e0d8dff 100644 --- a/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -323,9 +323,12 @@ public class ServerGamePacketListenerImpl @@ -19,6 +19,6 @@ index a18496f2600e9cebe259849670cccb0076ef6e85..050649fb2a85c14569f76d63d589e17d + public final org.leavesmc.leaves.protocol.syncmatica.exchange.ExchangeTarget exchangeTarget; // Leaves - Syncmatica Protocol + + // Paper start - configuration phase API @Override - public void tick() { - if (this.ackBlockChangesUpTo > -1) { + public io.papermc.paper.connection.PlayerCommonConnection getApiConnection() { diff --git a/leaves-server/minecraft-patches/features/0050-Creative-fly-no-clip.patch b/leaves-server/minecraft-patches/features/0050-Creative-fly-no-clip.patch index 8e7efab8..ac0770e8 100644 --- a/leaves-server/minecraft-patches/features/0050-Creative-fly-no-clip.patch +++ b/leaves-server/minecraft-patches/features/0050-Creative-fly-no-clip.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Creative fly no clip diff --git a/net/minecraft/world/entity/player/Player.java b/net/minecraft/world/entity/player/Player.java -index 0b958bda5e3b9b203ab4e7f233ca459a69288522..28c7e2fb6a271b54f00cc4bcd5943a0fafa8be33 100644 +index 8ec6f52f58bcc985fdc758a692798a35d6c86378..0d046133ea2b6d47e089cb792cf3bc3abace70ba 100644 --- a/net/minecraft/world/entity/player/Player.java +++ b/net/minecraft/world/entity/player/Player.java @@ -287,8 +287,8 @@ public abstract class Player extends LivingEntity { @@ -37,7 +37,7 @@ index 0b958bda5e3b9b203ab4e7f233ca459a69288522..28c7e2fb6a271b54f00cc4bcd5943a0f AABB aabb; if (this.isPassenger() && !this.getVehicle().isRemoved()) { aabb = this.getBoundingBox().minmax(this.getVehicle().getBoundingBox()).inflate(1.0, 0.0, 1.0); -@@ -1950,6 +1950,26 @@ public abstract class Player extends LivingEntity { +@@ -1949,6 +1949,26 @@ public abstract class Player extends LivingEntity { return this.gameMode() == GameType.SPECTATOR; } @@ -65,10 +65,10 @@ index 0b958bda5e3b9b203ab4e7f233ca459a69288522..28c7e2fb6a271b54f00cc4bcd5943a0f public boolean canBeHitByProjectile() { return !this.isSpectator() && super.canBeHitByProjectile(); diff --git a/net/minecraft/world/item/BlockItem.java b/net/minecraft/world/item/BlockItem.java -index 0f12afbea724eefeaebf0b05474a64ec96759d62..17e35aa9efc55a52ad64f05e8fdc3c7fae3ef0c4 100644 +index eff2c0418e1dc8dff1b9045d8f6ff619100964d1..8b6bbdf44a840e19722d42aec91fa1f8805f917b 100644 --- a/net/minecraft/world/item/BlockItem.java +++ b/net/minecraft/world/item/BlockItem.java -@@ -207,8 +207,9 @@ public class BlockItem extends Item { +@@ -206,8 +206,9 @@ public class BlockItem extends Item { protected boolean canPlace(BlockPlaceContext context, BlockState state) { Player player = context.getPlayer(); // CraftBukkit start diff --git a/leaves-server/minecraft-patches/features/0052-Elytra-aeronautics-no-chunk-load.patch b/leaves-server/minecraft-patches/features/0052-Elytra-aeronautics-no-chunk-load.patch index 083e9cfa..09eb7766 100644 --- a/leaves-server/minecraft-patches/features/0052-Elytra-aeronautics-no-chunk-load.patch +++ b/leaves-server/minecraft-patches/features/0052-Elytra-aeronautics-no-chunk-load.patch @@ -41,10 +41,10 @@ index 31fb5ea1e33672ae71210776a0302f0ef87c6814..e6de7ef46d197c14495d4b55d094af34 this.tickBlockEntities(); } diff --git a/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 050649fb2a85c14569f76d63d589e17d09e4e299..d940593e55dcd1d71a5810ef0c52ed2862994e1e 100644 +index 6e8e4b009a4dd52047bc8d8f8e2e27558e0d8dff..52ef9208da25022bbc8f375696ea4f3d4e4962a3 100644 --- a/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -570,7 +570,7 @@ public class ServerGamePacketListenerImpl +@@ -582,7 +582,7 @@ public class ServerGamePacketListenerImpl speed *= 2f; // TODO: Get the speed of the vehicle instead of the player // Paper start - Prevent moving into unloaded chunks @@ -53,7 +53,7 @@ index 050649fb2a85c14569f76d63d589e17d09e4e299..d940593e55dcd1d71a5810ef0c52ed28 !serverLevel.areChunksLoadedForMove(this.player.getBoundingBox().expandTowards(new Vec3(toX, toY, toZ).subtract(this.player.position()))) || !serverLevel.areChunksLoadedForMove(rootVehicle.getBoundingBox().expandTowards(new Vec3(toX, toY, toZ).subtract(rootVehicle.position()))) )) { -@@ -1585,6 +1585,7 @@ public class ServerGamePacketListenerImpl +@@ -1597,6 +1597,7 @@ public class ServerGamePacketListenerImpl allowMovement = !this.hasNewCollision(serverLevel, this.player, boundingBox, newBox); } // else: no collision at all detected, why do we care? } @@ -62,7 +62,7 @@ index 050649fb2a85c14569f76d63d589e17d09e4e299..d940593e55dcd1d71a5810ef0c52ed28 if (!allowMovement) { io.papermc.paper.event.player.PlayerFailMoveEvent event = fireFailMove(io.papermc.paper.event.player.PlayerFailMoveEvent.FailReason.CLIPPED_INTO_BLOCK, diff --git a/net/minecraft/world/entity/Entity.java b/net/minecraft/world/entity/Entity.java -index c0e8275130b59093b8bc943bec65a77bdd256062..4951bd277dbda980e443439d77a06e0921b7a5f5 100644 +index 7a82ab3b1a4a4cc7708cbec5d424b3bfcede87a9..6b3fcd3e02755ab187d075d868e9376718c218e5 100644 --- a/net/minecraft/world/entity/Entity.java +++ b/net/minecraft/world/entity/Entity.java @@ -1118,7 +1118,13 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess @@ -89,7 +89,7 @@ index c0e8275130b59093b8bc943bec65a77bdd256062..4951bd277dbda980e443439d77a06e09 } diff --git a/net/minecraft/world/entity/LivingEntity.java b/net/minecraft/world/entity/LivingEntity.java -index 54c881d976a8137260146006a389d2feb9d23e28..c25cdcebfdd2697da927d55420ab9f02bd4c792a 100644 +index bc19f0bf079d6a7fa2fc8aaed6477da5e57d32da..1f0042d24a11c709f291a03e1699fcaf0d6571c6 100644 --- a/net/minecraft/world/entity/LivingEntity.java +++ b/net/minecraft/world/entity/LivingEntity.java @@ -3328,6 +3328,11 @@ public abstract class LivingEntity extends Entity implements Attackable, Waypoin @@ -105,7 +105,7 @@ index 54c881d976a8137260146006a389d2feb9d23e28..c25cdcebfdd2697da927d55420ab9f02 if (this.isSleeping()) { diff --git a/net/minecraft/world/entity/player/Player.java b/net/minecraft/world/entity/player/Player.java -index 28c7e2fb6a271b54f00cc4bcd5943a0fafa8be33..7a8572d7fd7201cf5ec63c933139403c39be8013 100644 +index 0d046133ea2b6d47e089cb792cf3bc3abace70ba..0abdf0e520d1a0672917d60b79f467df4399e256 100644 --- a/net/minecraft/world/entity/player/Player.java +++ b/net/minecraft/world/entity/player/Player.java @@ -219,6 +219,7 @@ public abstract class Player extends LivingEntity { @@ -130,7 +130,7 @@ index d8dc196ef92e97f831cf97cd1536a46f81f9d5d1..92da11f86a95ff635277cbfcea73c487 Fireworks fireworks = itemStack.get(DataComponents.FIREWORKS); return fireworks != null ? fireworks.explosions() : List.of(); diff --git a/net/minecraft/world/item/FireworkRocketItem.java b/net/minecraft/world/item/FireworkRocketItem.java -index 83cfe63b0245f79d0873477ab3aae75f690ecb68..c3ae57d515ca1879c5f278097435b7308436c579 100644 +index f86b0579e707ecfa5c2074ea22bbe383b5e11841..0e4335bb2469a4698b303b598ec773b5c7cc73ce 100644 --- a/net/minecraft/world/item/FireworkRocketItem.java +++ b/net/minecraft/world/item/FireworkRocketItem.java @@ -64,6 +64,24 @@ public class FireworkRocketItem extends Item implements ProjectileItem { diff --git a/leaves-server/minecraft-patches/features/0054-Lava-riptide.patch b/leaves-server/minecraft-patches/features/0054-Lava-riptide.patch index 283a6bc9..910467eb 100644 --- a/leaves-server/minecraft-patches/features/0054-Lava-riptide.patch +++ b/leaves-server/minecraft-patches/features/0054-Lava-riptide.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Lava riptide diff --git a/net/minecraft/world/item/TridentItem.java b/net/minecraft/world/item/TridentItem.java -index df629e3f2defce5e65aaf874d7c5ddff71f39c28..a069729494d638e5f0828c12ad1186e748d0677e 100644 +index fac4c58ea5d467a8686e42676e2323fbddeb8c7b..0afe875e003704a53856fac72d2feb8b664c1207 100644 --- a/net/minecraft/world/item/TridentItem.java +++ b/net/minecraft/world/item/TridentItem.java @@ -70,7 +70,7 @@ public class TridentItem extends Item implements ProjectileItem { @@ -17,7 +17,7 @@ index df629e3f2defce5e65aaf874d7c5ddff71f39c28..a069729494d638e5f0828c12ad1186e7 return false; } else if (stack.nextDamageWillBreak()) { return false; -@@ -150,7 +150,7 @@ public class TridentItem extends Item implements ProjectileItem { +@@ -149,7 +149,7 @@ public class TridentItem extends Item implements ProjectileItem { ItemStack itemInHand = player.getItemInHand(hand); if (itemInHand.nextDamageWillBreak()) { return InteractionResult.FAIL; diff --git a/leaves-server/minecraft-patches/features/0068-Skip-entity-move-if-movement-is-zero.patch b/leaves-server/minecraft-patches/features/0068-Skip-entity-move-if-movement-is-zero.patch index 8f377eb7..3453da40 100644 --- a/leaves-server/minecraft-patches/features/0068-Skip-entity-move-if-movement-is-zero.patch +++ b/leaves-server/minecraft-patches/features/0068-Skip-entity-move-if-movement-is-zero.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Skip entity move if movement is zero This patch is Powered by Gale(https://github.com/GaleMC/Gale) diff --git a/net/minecraft/world/entity/Entity.java b/net/minecraft/world/entity/Entity.java -index 2df9769eb76db2fb0e552716183ee1e899a59fbf..8cc7dff9c0843fd474df00d08aa2bc0721f91349 100644 +index d293d79db9f58c78b32818834d2636d9f52486ca..39c80b858b6bb94949fb7d2fb8347a7a628cb65f 100644 --- a/net/minecraft/world/entity/Entity.java +++ b/net/minecraft/world/entity/Entity.java @@ -262,6 +262,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess @@ -31,7 +31,7 @@ index 2df9769eb76db2fb0e552716183ee1e899a59fbf..8cc7dff9c0843fd474df00d08aa2bc07 final Vec3 originalMovement = movement; // Paper - Expose pre-collision velocity // Paper start - detailed watchdog information ca.spottedleaf.moonrise.common.util.TickThread.ensureTickThread("Cannot move an entity off-main"); -@@ -4416,6 +4424,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -4415,6 +4423,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess } public final void setBoundingBox(AABB bb) { diff --git a/leaves-server/minecraft-patches/features/0070-Fix-villagers-dont-release-memory.patch b/leaves-server/minecraft-patches/features/0070-Fix-villagers-dont-release-memory.patch index 9ddde458..28135dc9 100644 --- a/leaves-server/minecraft-patches/features/0070-Fix-villagers-dont-release-memory.patch +++ b/leaves-server/minecraft-patches/features/0070-Fix-villagers-dont-release-memory.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Fix villagers dont release memory diff --git a/net/minecraft/world/entity/Entity.java b/net/minecraft/world/entity/Entity.java -index 60838630325ec86cb19d7849ead5954eb51b737f..f26d415d93ec8ad27d2633a8e2433ac436b751db 100644 +index 39c80b858b6bb94949fb7d2fb8347a7a628cb65f..2d97fc7b51f89c323dd893f2407125b1e8bd79fb 100644 --- a/net/minecraft/world/entity/Entity.java +++ b/net/minecraft/world/entity/Entity.java -@@ -4033,7 +4033,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -4032,7 +4032,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess return this; } diff --git a/leaves-server/minecraft-patches/features/0072-Bow-infinity-fix.patch b/leaves-server/minecraft-patches/features/0072-Bow-infinity-fix.patch index 2fb3d6cd..92737da6 100644 --- a/leaves-server/minecraft-patches/features/0072-Bow-infinity-fix.patch +++ b/leaves-server/minecraft-patches/features/0072-Bow-infinity-fix.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Bow infinity fix diff --git a/net/minecraft/world/entity/player/Player.java b/net/minecraft/world/entity/player/Player.java -index 7a8572d7fd7201cf5ec63c933139403c39be8013..8c00b05124c31f12c8aada9991f24ba560044e3d 100644 +index 0abdf0e520d1a0672917d60b79f467df4399e256..1ba438f338d53c24f9c85353adacab5699c19aae 100644 --- a/net/minecraft/world/entity/player/Player.java +++ b/net/minecraft/world/entity/player/Player.java -@@ -2188,8 +2188,10 @@ public abstract class Player extends LivingEntity { +@@ -2187,8 +2187,10 @@ public abstract class Player extends LivingEntity { } } diff --git a/leaves-server/minecraft-patches/features/0097-Fix-falling-block-s-block-location.patch b/leaves-server/minecraft-patches/features/0097-Fix-falling-block-s-block-location.patch index 507c0d9d..4d2b9bc1 100644 --- a/leaves-server/minecraft-patches/features/0097-Fix-falling-block-s-block-location.patch +++ b/leaves-server/minecraft-patches/features/0097-Fix-falling-block-s-block-location.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Fix falling block's block location diff --git a/net/minecraft/world/entity/Entity.java b/net/minecraft/world/entity/Entity.java -index b3897f7991d47c0373bb0a06ddec257d931ba709..81a6d062c581eeb1d2d0f5807567c50036477ab1 100644 +index 2d97fc7b51f89c323dd893f2407125b1e8bd79fb..7039619c240a582be1ade95f495042134d6acf68 100644 --- a/net/minecraft/world/entity/Entity.java +++ b/net/minecraft/world/entity/Entity.java -@@ -5021,6 +5021,15 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -5020,6 +5020,15 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess int floor = Mth.floor(x); int floor1 = Mth.floor(y); int floor2 = Mth.floor(z); diff --git a/leaves-server/minecraft-patches/features/0099-Allow-grindstone-overstacking.patch b/leaves-server/minecraft-patches/features/0099-Allow-grindstone-overstacking.patch index 38f64b8c..c63a5041 100644 --- a/leaves-server/minecraft-patches/features/0099-Allow-grindstone-overstacking.patch +++ b/leaves-server/minecraft-patches/features/0099-Allow-grindstone-overstacking.patch @@ -38,10 +38,10 @@ index 99f109e2653eff10c011f380694bd77a76381cee..3d7ea706747a6bcd8db8dd6213998966 } diff --git a/net/minecraft/world/inventory/AbstractContainerMenu.java b/net/minecraft/world/inventory/AbstractContainerMenu.java -index 49abae7db7d7a9ee967ea24b7503e1e9489d4005..0136f1286e81b4ef1efd8ed83bffc3a936619eee 100644 +index 863b9ab56304a58e8ecbe43657857b95a19cea87..5e0cd62bd693de025fb4cc70b8f31972f5fe531a 100644 --- a/net/minecraft/world/inventory/AbstractContainerMenu.java +++ b/net/minecraft/world/inventory/AbstractContainerMenu.java -@@ -585,7 +585,7 @@ public abstract class AbstractContainerMenu { +@@ -607,7 +607,7 @@ public abstract class AbstractContainerMenu { } else if (carried.isEmpty()) { if (slot.mayPlace(item)) { int maxStackSize = slot.getMaxStackSize(item); @@ -50,7 +50,7 @@ index 49abae7db7d7a9ee967ea24b7503e1e9489d4005..0136f1286e81b4ef1efd8ed83bffc3a9 slot.setByPlayer(item.split(maxStackSize)); } else { inventory.setItem(button, ItemStack.EMPTY); -@@ -594,7 +594,7 @@ public abstract class AbstractContainerMenu { +@@ -616,7 +616,7 @@ public abstract class AbstractContainerMenu { } } else if (slot.mayPickup(player) && slot.mayPlace(item)) { int maxStackSize = slot.getMaxStackSize(item); @@ -59,7 +59,7 @@ index 49abae7db7d7a9ee967ea24b7503e1e9489d4005..0136f1286e81b4ef1efd8ed83bffc3a9 slot.setByPlayer(item.split(maxStackSize)); slot.onTake(player, carried); if (!inventory.add(carried)) { -@@ -754,10 +754,15 @@ public abstract class AbstractContainerMenu { +@@ -776,10 +776,15 @@ public abstract class AbstractContainerMenu { public abstract boolean stillValid(Player player); protected boolean moveItemStackTo(ItemStack stack, int startIndex, int endIndex, boolean reverseDirection) { @@ -75,7 +75,7 @@ index 49abae7db7d7a9ee967ea24b7503e1e9489d4005..0136f1286e81b4ef1efd8ed83bffc3a9 if (isCheck) { stack = stack.copy(); } -@@ -822,6 +827,14 @@ public abstract class AbstractContainerMenu { +@@ -844,6 +849,14 @@ public abstract class AbstractContainerMenu { // Paper end - Add PlayerTradeEvent and PlayerPurchaseEvent if (itemx.isEmpty() && slotx.mayPlace(stack)) { int i1 = slotx.getMaxStackSize(stack); diff --git a/leaves-server/minecraft-patches/features/0100-Configurable-MC-67.patch b/leaves-server/minecraft-patches/features/0100-Configurable-MC-67.patch index 2e8d0016..cbc7b490 100644 --- a/leaves-server/minecraft-patches/features/0100-Configurable-MC-67.patch +++ b/leaves-server/minecraft-patches/features/0100-Configurable-MC-67.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Configurable MC-67 diff --git a/net/minecraft/world/entity/Entity.java b/net/minecraft/world/entity/Entity.java -index 7bbfa9ba0af4e5b745e789775c6e77dcf42a2849..4547d836f4536ef4e003b772f5c526a691392934 100644 +index 7039619c240a582be1ade95f495042134d6acf68..9302371893eab9d8b02716502cb0fd1019e00a98 100644 --- a/net/minecraft/world/entity/Entity.java +++ b/net/minecraft/world/entity/Entity.java -@@ -4195,6 +4195,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -4194,6 +4194,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess } public boolean canTeleport(Level fromLevel, Level toLevel) { diff --git a/leaves-server/minecraft-patches/features/0109-Fix-EntityPortalExitEvent-logic.patch b/leaves-server/minecraft-patches/features/0109-Fix-EntityPortalExitEvent-logic.patch index 211950db..65f3f753 100644 --- a/leaves-server/minecraft-patches/features/0109-Fix-EntityPortalExitEvent-logic.patch +++ b/leaves-server/minecraft-patches/features/0109-Fix-EntityPortalExitEvent-logic.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Fix EntityPortalExitEvent logic diff --git a/net/minecraft/world/entity/Entity.java b/net/minecraft/world/entity/Entity.java -index 0df6539fb2f1cecd537d16e7f78d0bba5a6d3db7..d158471bd95f3e4f810ba41ea07ee6b4d341d42f 100644 +index 9302371893eab9d8b02716502cb0fd1019e00a98..61765061064cff706280b25dbbfbd160fc6c3966 100644 --- a/net/minecraft/world/entity/Entity.java +++ b/net/minecraft/world/entity/Entity.java -@@ -3985,19 +3985,21 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -3984,19 +3984,21 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess ); event.callEvent(); diff --git a/leaves-server/minecraft-patches/features/0129-Vanilla-Fluid-Pushing.patch b/leaves-server/minecraft-patches/features/0129-Vanilla-Fluid-Pushing.patch index 7385669e..f1794616 100644 --- a/leaves-server/minecraft-patches/features/0129-Vanilla-Fluid-Pushing.patch +++ b/leaves-server/minecraft-patches/features/0129-Vanilla-Fluid-Pushing.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Vanilla Fluid Pushing diff --git a/net/minecraft/world/entity/Entity.java b/net/minecraft/world/entity/Entity.java -index 880910995ae2f69f93c15d7875cd0bc5e365430b..fb5e360257a66c3d8532abbca75a780689cfde0d 100644 +index 34e71d35a28954d9cb13a349de09f1303cdd11b8..096aee98257f24ce187682c256d80b0b13611339 100644 --- a/net/minecraft/world/entity/Entity.java +++ b/net/minecraft/world/entity/Entity.java -@@ -4730,8 +4730,82 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -4729,8 +4729,82 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess return Mth.lerp(partialTick, this.yRotO, this.yRot); } diff --git a/leaves-server/minecraft-patches/features/0138-Old-ender-dragon-part-can-use-end-portal.patch b/leaves-server/minecraft-patches/features/0138-Old-ender-dragon-part-can-use-end-portal.patch index 346a3a3b..3e4a69ee 100644 --- a/leaves-server/minecraft-patches/features/0138-Old-ender-dragon-part-can-use-end-portal.patch +++ b/leaves-server/minecraft-patches/features/0138-Old-ender-dragon-part-can-use-end-portal.patch @@ -26,7 +26,7 @@ This patch is Powered by CrystalCarpetAddition(https://github.com/Crystal0404/Cr */ diff --git a/net/minecraft/world/entity/Entity.java b/net/minecraft/world/entity/Entity.java -index 6e7033ceb43acf8afd4c27a4d130e8a3dd8c1eef..1b13e7bc16f0e13e8c7bdb3b4b744c83227e82f2 100644 +index 096aee98257f24ce187682c256d80b0b13611339..fc357006dcfd94656badf4f78cafb93b0b925324 100644 --- a/net/minecraft/world/entity/Entity.java +++ b/net/minecraft/world/entity/Entity.java @@ -185,7 +185,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess @@ -38,7 +38,7 @@ index 6e7033ceb43acf8afd4c27a4d130e8a3dd8c1eef..1b13e7bc16f0e13e8c7bdb3b4b744c83 public boolean collisionLoadChunks = false; // Paper public org.bukkit.craftbukkit.entity.CraftEntity getBukkitEntity() { -@@ -3956,7 +3956,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -3955,7 +3955,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess @Nullable public Entity teleport(TeleportTransition teleportTransition) { // Paper start - Fix item duplication and teleport issues @@ -47,7 +47,7 @@ index 6e7033ceb43acf8afd4c27a4d130e8a3dd8c1eef..1b13e7bc16f0e13e8c7bdb3b4b744c83 LOGGER.warn("Illegal Entity Teleport {} to {}:{}", this, teleportTransition.newLevel(), teleportTransition.position(), new Throwable()); return null; } -@@ -4072,7 +4072,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -4071,7 +4071,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess entityx.restoreFrom(this); this.removeAfterChangingDimensions(); entityx.teleportSetPosition(PositionMoveRotation.of(teleportTransition), teleportTransition.relatives()); @@ -56,7 +56,7 @@ index 6e7033ceb43acf8afd4c27a4d130e8a3dd8c1eef..1b13e7bc16f0e13e8c7bdb3b4b744c83 for (Entity entity2 : list) { entity2.startRiding(entityx, true); -@@ -4207,6 +4207,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -4206,6 +4206,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess } public boolean canTeleport(Level fromLevel, Level toLevel) { diff --git a/leaves-server/paper-patches/features/0007-MC-Technical-Survival-Mode.patch b/leaves-server/paper-patches/features/0007-MC-Technical-Survival-Mode.patch index d327f801..1aebf537 100644 --- a/leaves-server/paper-patches/features/0007-MC-Technical-Survival-Mode.patch +++ b/leaves-server/paper-patches/features/0007-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/src/main/java/io/papermc/paper/configuration/PaperConfigurations.java b/src/main/java/io/papermc/paper/configuration/PaperConfigurations.java -index 266932720ae0af0f17df18ad1570b29631ed2c2a..d0cd9675d166de95904fcb1767089b9430e37934 100644 +index a972eeddbdc59e53279a7c5c704e28c2fcdf7290..584e4fd53a0b78b4dbdf756c3a714c482bb7c3b8 100644 --- a/src/main/java/io/papermc/paper/configuration/PaperConfigurations.java +++ b/src/main/java/io/papermc/paper/configuration/PaperConfigurations.java -@@ -329,6 +329,7 @@ public class PaperConfigurations extends Configurations()); + } } + + // Leaves start - Bytebuf API