From f3334ae6ec6fdbcf52ae524de78969e8f2d6dcb7 Mon Sep 17 00:00:00 2001 From: Helvetica Volubi Date: Mon, 4 Aug 2025 20:00:05 +0800 Subject: [PATCH] Update Upstream(Luminol) --- gradle.properties | 2 +- lophine-server/build.gradle.kts.patch | 4 ++-- ...Add-config-to-enable-datapack-command.patch | 4 ++-- ...g-to-enable-Cross-Region-Damage-trace.patch | 6 +++--- .../0009-Leaves-Leaves-Protocol-Core.patch | 8 ++++---- .../0010-Leaves-Disable-packet-limit.patch | 8 ++++---- .../0011-Leaves-Item-overstack-util.patch | 18 +++++++++--------- ...Purpur-Barrels-and-enderchests-6-rows.patch | 4 ++-- .../0018-Spawn-invulnerable-time.patch | 4 ++-- .../0003-Leaves-Leaves-Protocol-Core.patch | 6 +++--- 10 files changed, 32 insertions(+), 32 deletions(-) diff --git a/gradle.properties b/gradle.properties index b59db09..402f2ac 100644 --- a/gradle.properties +++ b/gradle.properties @@ -4,7 +4,7 @@ mcVersion=1.21.8 release=2 # 0 for skip release, 1 for pre-release, 2 for release -luminolRef=a86ef6c5283307c6a9176115b652d6ebbaaa2aa3 +luminolRef=31b05a36d905ef9ffeacf236af8566935c63d83b org.gradle.configuration-cache=true org.gradle.caching=true diff --git a/lophine-server/build.gradle.kts.patch b/lophine-server/build.gradle.kts.patch index e2867c5..b6646a5 100644 --- a/lophine-server/build.gradle.kts.patch +++ b/lophine-server/build.gradle.kts.patch @@ -51,7 +51,7 @@ // Luminol start - Dependenices insert implementation("com.electronwill.night-config:toml:3.8.2") // Night config implementation("com.github.luben:zstd-jni:1.5.4-1") -@@ -277,14 +_,14 @@ +@@ -276,14 +_,14 @@ val gitBranch = git.exec(providers, "rev-parse", "--abbrev-ref", "HEAD").get().trim() attributes( "Main-Class" to "org.bukkit.craftbukkit.Main", @@ -70,7 +70,7 @@ "Build-Number" to (build ?: ""), "Build-Time" to buildTime.toString(), "Git-Branch" to gitBranch, -@@ -448,7 +_,7 @@ +@@ -447,7 +_,7 @@ } fill { diff --git a/lophine-server/minecraft-patches/features/0003-Add-config-to-enable-datapack-command.patch b/lophine-server/minecraft-patches/features/0003-Add-config-to-enable-datapack-command.patch index efbd766..0f8408d 100644 --- a/lophine-server/minecraft-patches/features/0003-Add-config-to-enable-datapack-command.patch +++ b/lophine-server/minecraft-patches/features/0003-Add-config-to-enable-datapack-command.patch @@ -20,10 +20,10 @@ index 0d5ed9602492c8393088954105e9a19032067b8b..e2fc15d84fafde6847ecead23c551694 DefaultGameModeCommands.register(this.dispatcher); //DialogCommand.register(this.dispatcher, context); // Folia - region threading - TODO diff --git a/net/minecraft/server/MinecraftServer.java b/net/minecraft/server/MinecraftServer.java -index 6675b83c9f15d0341dcf169ec3ac20f401c5d10b..e8c9e739de35313c0212bab97a202fa362fd0887 100644 +index 86d20d884fb59d0121bdcc291af1fc97b8bf603d..a0f1db50adf5163a671d3d9e9df7adb7de4250c6 100644 --- a/net/minecraft/server/MinecraftServer.java +++ b/net/minecraft/server/MinecraftServer.java -@@ -2349,6 +2349,16 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop CompletableFuture submit(java.util.function.Supplier task) { -@@ -2223,9 +2224,16 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop> { +@@ -281,8 +281,8 @@ public class Connection extends SimpleChannelInboundHandler> { if (this.stopReadingPackets) { return; } @@ -23,7 +23,7 @@ index 6dc5f3e88a3886b03b99d59b317085fdc3e2fa9a..e556bcaf2a5863073a047947f5962179 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 68f0023c4234585a8385a830ed410883c8bd1549..d017cfc5b97552388d8f9ff80ca31b0972b80a2e 100644 +index 227f0c315582b9c499915bebfb820049839466e6..1d52376f034dc5690e8b399512146b47b92c3c14 100644 --- a/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -856,7 +856,7 @@ public class ServerGamePacketListenerImpl @@ -51,7 +51,7 @@ index 68f0023c4234585a8385a830ed410883c8bd1549..d017cfc5b97552388d8f9ff80ca31b09 // CraftBukkit start - replaced with thread safe throttle if (org.spigotmc.SpigotConfig.enableSpamExclusions) { for (String exclude : org.spigotmc.SpigotConfig.spamExclusions) { -@@ -3333,7 +3335,7 @@ public class ServerGamePacketListenerImpl +@@ -3335,7 +3337,7 @@ public class ServerGamePacketListenerImpl @Override public void handlePlaceRecipe(ServerboundPlaceRecipePacket packet) { // Paper start - auto recipe limit diff --git a/lophine-server/minecraft-patches/features/0011-Leaves-Item-overstack-util.patch b/lophine-server/minecraft-patches/features/0011-Leaves-Item-overstack-util.patch index 93bf7aa..d9d2ef9 100644 --- a/lophine-server/minecraft-patches/features/0011-Leaves-Item-overstack-util.patch +++ b/lophine-server/minecraft-patches/features/0011-Leaves-Item-overstack-util.patch @@ -28,7 +28,7 @@ index 643797124fe5a4489d0b7419b7e600c04f283ef2..04b4100da96aad50f08e8c59200eec93 public String serialize(HolderLookup.Provider levelRegistry) { diff --git a/net/minecraft/server/commands/GiveCommand.java b/net/minecraft/server/commands/GiveCommand.java -index 5a1c21b05545a03fbb00cf734605049870d3eecb..a0459bc6b2241e7fca74bfbfce058882a8ad7f49 100644 +index f7002d6752aa03603eb06e298ba1d7130cf13826..72c87f7c0392d087440db9d267a608598f6feb6d 100644 --- a/net/minecraft/server/commands/GiveCommand.java +++ b/net/minecraft/server/commands/GiveCommand.java @@ -55,7 +55,7 @@ public class GiveCommand { @@ -41,10 +41,10 @@ index 5a1c21b05545a03fbb00cf734605049870d3eecb..a0459bc6b2241e7fca74bfbfce058882 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 d017cfc5b97552388d8f9ff80ca31b0972b80a2e..a684f5edf420d9655046de872c54e0c1a89103cf 100644 +index 1d52376f034dc5690e8b399512146b47b92c3c14..4b215dc69887df9382bde4cfa2f37afadfe1bcb2 100644 --- a/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -3078,7 +3078,7 @@ public class ServerGamePacketListenerImpl +@@ -3079,7 +3079,7 @@ public class ServerGamePacketListenerImpl } else if (slot.mayPlace(cursor)) { if (ItemStack.isSameItemSameComponents(clickedItem, cursor)) { int toPlace = packet.buttonNum() == 0 ? cursor.getCount() : 1; @@ -53,7 +53,7 @@ index d017cfc5b97552388d8f9ff80ca31b0972b80a2e..a684f5edf420d9655046de872c54e0c1 toPlace = Math.min(toPlace, slot.container.getMaxStackSize() - clickedItem.getCount()); if (toPlace == 1) { action = InventoryAction.PLACE_ONE; -@@ -3114,7 +3114,7 @@ public class ServerGamePacketListenerImpl +@@ -3115,7 +3115,7 @@ public class ServerGamePacketListenerImpl } } else if (ItemStack.isSameItemSameComponents(cursor, clickedItem)) { if (clickedItem.getCount() >= 0) { @@ -62,15 +62,15 @@ index d017cfc5b97552388d8f9ff80ca31b0972b80a2e..a684f5edf420d9655046de872c54e0c1 // As of 1.5, this is result slots only action = InventoryAction.PICKUP_ALL; } -@@ -3325,6 +3325,7 @@ public class ServerGamePacketListenerImpl +@@ -3326,6 +3326,7 @@ public class ServerGamePacketListenerImpl this.player.containerMenu.broadcastFullState(); } else { 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. - } -@@ -3435,7 +3436,7 @@ public class ServerGamePacketListenerImpl +@@ -3437,7 +3438,7 @@ public class ServerGamePacketListenerImpl } boolean flag1 = packet.slotNum() >= 1 && packet.slotNum() <= 45; @@ -79,7 +79,7 @@ index d017cfc5b97552388d8f9ff80ca31b0972b80a2e..a684f5edf420d9655046de872c54e0c1 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(); -@@ -3477,6 +3478,7 @@ public class ServerGamePacketListenerImpl +@@ -3479,6 +3480,7 @@ public class ServerGamePacketListenerImpl this.player.inventoryMenu.getSlot(packet.slotNum()).setByPlayer(itemStack); this.player.inventoryMenu.setRemoteSlot(packet.slotNum(), itemStack); this.player.inventoryMenu.broadcastChanges(); @@ -229,7 +229,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 9b6cd35e4dfa894069238a1365db16050aa5542b..7e9bfb433a252bb4211e490365265d35590f2474 100644 +index 9d8ab94f84f4523a2562f9eeb3410554e4269e46..87d1cf9ddfb3124069ff3ff921f2e62589562220 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/lophine-server/minecraft-patches/features/0017-Purpur-Barrels-and-enderchests-6-rows.patch b/lophine-server/minecraft-patches/features/0017-Purpur-Barrels-and-enderchests-6-rows.patch index b8f0a36..9eac84e 100644 --- a/lophine-server/minecraft-patches/features/0017-Purpur-Barrels-and-enderchests-6-rows.patch +++ b/lophine-server/minecraft-patches/features/0017-Purpur-Barrels-and-enderchests-6-rows.patch @@ -8,10 +8,10 @@ As part of: Purpur (https://github.com/PurpurMC/Purpur/blob/09f547de09fc5d886f18 Licensed under: MIT (https://github.com/PurpurMC/Purpur/blob/09f547de09fc5d886f18f6d99ff389289766ec9d/LICENSE) diff --git a/net/minecraft/server/players/PlayerList.java b/net/minecraft/server/players/PlayerList.java -index 8aea58c7797940929944973380b6ab67f177fa56..9c4e5789f6881ca300cc183294e50b03dd03f6c6 100644 +index 593dbcda4b497291eb1ecdc64b947a8d279f8be6..661f797b39853104b16d75ca7ba0eda156a74af3 100644 --- a/net/minecraft/server/players/PlayerList.java +++ b/net/minecraft/server/players/PlayerList.java -@@ -1089,6 +1089,10 @@ public abstract class PlayerList { +@@ -1087,6 +1087,10 @@ public abstract class PlayerList { player.getBukkitEntity().recalculatePermissions(); // CraftBukkit this.server.getCommands().sendCommands(player); } // Paper - Add sendOpLevel API diff --git a/lophine-server/minecraft-patches/features/0018-Spawn-invulnerable-time.patch b/lophine-server/minecraft-patches/features/0018-Spawn-invulnerable-time.patch index a2b7612..9b3c51c 100644 --- a/lophine-server/minecraft-patches/features/0018-Spawn-invulnerable-time.patch +++ b/lophine-server/minecraft-patches/features/0018-Spawn-invulnerable-time.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Spawn invulnerable time diff --git a/net/minecraft/server/level/ServerPlayer.java b/net/minecraft/server/level/ServerPlayer.java -index b7bc75648634aefc549a69631ab6e401eb902e7d..0e2d575200f3ff3ec1600a0663152e3c37ea67b0 100644 +index 6b7c92fdf562dfa46eee8e8acbc82b02fc3226c5..144b2c9396b8162f9cce8b343d998907bf7fb5aa 100644 --- a/net/minecraft/server/level/ServerPlayer.java +++ b/net/minecraft/server/level/ServerPlayer.java @@ -232,6 +232,7 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc @@ -24,7 +24,7 @@ index b7bc75648634aefc549a69631ab6e401eb902e7d..0e2d575200f3ff3ec1600a0663152e3c if (this.invulnerableTime > 0) { this.invulnerableTime--; } -@@ -1431,6 +1433,13 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc +@@ -1435,6 +1437,13 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc if (this.isInvulnerableTo(level, damageSource)) { return false; } else { diff --git a/lophine-server/paper-patches/features/0003-Leaves-Leaves-Protocol-Core.patch b/lophine-server/paper-patches/features/0003-Leaves-Leaves-Protocol-Core.patch index 5662284..adda780 100644 --- a/lophine-server/paper-patches/features/0003-Leaves-Leaves-Protocol-Core.patch +++ b/lophine-server/paper-patches/features/0003-Leaves-Leaves-Protocol-Core.patch @@ -8,10 +8,10 @@ As a part of : Leaves (https://github.com/LeavesMC/Leaves/blob/ea91106ae57fc4cc1 Licensed under: GPL-3.0 (https://www.gnu.org/licenses/gpl-3.0.html) diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 44b7ac045c028f3bc940d78f158079e20582f4b8..bdcd25b98fa8189af874e4715db7d4440752756e 100644 +index 4f7077b592f84334483f8edf3656fccd5b90a9ca..26d5a96edd283a8f8fd50222e2671cef2c4b257b 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 if (false) this.spark = new io.papermc.paper.SparksFly(this); // Paper - spark // Luminol - Force disable builtin spark @@ -19,7 +19,7 @@ index 44b7ac045c028f3bc940d78f158079e20582f4b8..bdcd25b98fa8189af874e4715db7d444 } public boolean getCommandBlockOverride(String command) { -@@ -1112,6 +1113,7 @@ public final class CraftServer implements Server { +@@ -1115,6 +1116,7 @@ public final class CraftServer implements Server { if (false) this.spark.registerCommandBeforePlugins(this); // Paper - spark // Luminol - Force disable builtin spark this.overrideAllCommandBlockCommands = this.commandsConfiguration.getStringList("command-block-overrides").contains("*"); this.ignoreVanillaPermissions = this.commandsConfiguration.getBoolean("ignore-vanilla-permissions");