From 4d60979f75672e07095e7fcd20a1152750d86475 Mon Sep 17 00:00:00 2001 From: Helvetica Volubi Date: Sun, 19 Jul 2026 02:06:25 +0800 Subject: [PATCH] merge data command related patches --- ...y-datapack-command-Fix-datapack-com.patch} | 56 ++++++----------- ...-Add-back-read-only-datapack-command.patch | 61 ------------------- ...r-with-chunkhot-membar-and-regionbar.patch | 2 +- .../0050-Add-Portal-rate-limiter.patch | 2 +- ...-Add-config-for-waypoint-restoration.patch | 4 +- ...-Configurable-vanilla-username-check.patch | 2 +- ...rpur-Barrels-and-enderchests-6-rows.patch} | 0 ...to-disable-some-check-for-operators.patch} | 0 ...to-enable-cross-region-damage-trace.patch} | 0 ...d-config-to-enable-save-all-command.patch} | 0 ...d-config-to-enable-function-command.patch} | 0 ...config-to-enable-scoreboard-command.patch} | 0 ...dd-config-to-enable-trigger-command.patch} | 0 ...config-to-enable-raytracing-tracker.patch} | 0 ...patch => 0093-Add-tick-rate-support.patch} | 0 ... 0094-Modify-merge-ItemEntity-logic.patch} | 0 ...ch => 0095-Old-zombie-reinforcement.patch} | 0 ...0096-Old-leader-zombie-health-logic.patch} | 0 ...tch => 0097-Spawn-invulnerable-time.patch} | 0 ... => 0098-Leaves-Item-overstack-util.patch} | 0 ...ch => 0099-Leaves-Old-raid-behavior.patch} | 0 ...-for-Raid-Revert-and-Cross-Region-D.patch} | 0 ...01-Leaves-Leaves-Base-Protocol-Core.patch} | 0 ...-Configurable-trading-with-the-void.patch} | 0 ...atch => 0103-Leaves-Servux-Protocol.patch} | 0 ...avesHooks.patch => 0104-LeavesHooks.patch} | 0 ...ves-Old-Explosion-Damage-Calculator.patch} | 0 ... 0106-Leaves-Redstone-Shears-Wrench.patch} | 0 ... => 0107-Leaves-Syncmatica-Protocol.patch} | 0 ....patch => 0108-Leaves-BBOR-Protocol.patch} | 0 ...h => 0109-Leaves-Xaero-Map-Protocol.patch} | 0 ...=> 0110-Leaves-Support-REI-protocol.patch} | 0 ....patch => 0111-Leaves-Jade-Protocol.patch} | 0 ...lternative-block-placement-Protocol.patch} | 0 ...yer.patch => 0113-Leaves-Fakeplayer.patch} | 0 ...patch => 0114-Leaves-Replay-Mod-API.patch} | 0 ...=> 0115-Leaves-Creative-fly-no-clip.patch} | 0 ... => 0116-Leaves-Wool-Hopper-Counter.patch} | 0 ...tch => 0117-Global-Entities-Counter.patch} | 0 ...aves-Catch-update-suppression-crash.patch} | 0 ... 0119-Leaves-CCE-update-suppression.patch} | 0 ...aves-Redstone-ignore-upwards-update.patch} | 0 ...patch => 0121-Instant-Block-Updater.patch} | 0 ...rt-TrapDoorBlock-changes-form-Paper.patch} | 0 ...ss-of-item-drops-due-to-update-supp.patch} | 0 ...et-placed-block-on-exception-Do-not.patch} | 0 ...5-Leaves-Old-Block-remove-behaviour.patch} | 0 ...Tweaks-mob-fire-and-explosion-rules.patch} | 0 ...tures.patch => 0127-Carpet-features.patch} | 0 ... => 0128-Carpet-Features-Compatible.patch} | 0 ...col.patch => 0129-PCA-sync-protocol.patch} | 0 ...-Add-Vanilla-like-experience-Config.patch} | 0 ...Restore-vanilla-ender-pearl-loading.patch} | 0 53 files changed, 22 insertions(+), 105 deletions(-) rename lophine-server/minecraft-patches/features/{0085-Fix-datapack-command-save-function.patch => 0043-Add-back-read-only-datapack-command-Fix-datapack-com.patch} (53%) delete mode 100644 lophine-server/minecraft-patches/features/0043-Add-back-read-only-datapack-command.patch rename lophine-server/minecraft-patches/features/{0086-Purpur-Barrels-and-enderchests-6-rows.patch => 0085-Purpur-Barrels-and-enderchests-6-rows.patch} (100%) rename lophine-server/minecraft-patches/features/{0087-Add-config-to-disable-some-check-for-operators.patch => 0086-Add-config-to-disable-some-check-for-operators.patch} (100%) rename lophine-server/minecraft-patches/features/{0088-Add-config-to-enable-cross-region-damage-trace.patch => 0087-Add-config-to-enable-cross-region-damage-trace.patch} (100%) rename lophine-server/minecraft-patches/features/{0089-Add-config-to-enable-save-all-command.patch => 0088-Add-config-to-enable-save-all-command.patch} (100%) rename lophine-server/minecraft-patches/features/{0090-Add-config-to-enable-function-command.patch => 0089-Add-config-to-enable-function-command.patch} (100%) rename lophine-server/minecraft-patches/features/{0091-Add-config-to-enable-scoreboard-command.patch => 0090-Add-config-to-enable-scoreboard-command.patch} (100%) rename lophine-server/minecraft-patches/features/{0092-Add-config-to-enable-trigger-command.patch => 0091-Add-config-to-enable-trigger-command.patch} (100%) rename lophine-server/minecraft-patches/features/{0093-Add-config-to-enable-raytracing-tracker.patch => 0092-Add-config-to-enable-raytracing-tracker.patch} (100%) rename lophine-server/minecraft-patches/features/{0094-Add-tick-rate-support.patch => 0093-Add-tick-rate-support.patch} (100%) rename lophine-server/minecraft-patches/features/{0095-Modify-merge-ItemEntity-logic.patch => 0094-Modify-merge-ItemEntity-logic.patch} (100%) rename lophine-server/minecraft-patches/features/{0096-Old-zombie-reinforcement.patch => 0095-Old-zombie-reinforcement.patch} (100%) rename lophine-server/minecraft-patches/features/{0097-Old-leader-zombie-health-logic.patch => 0096-Old-leader-zombie-health-logic.patch} (100%) rename lophine-server/minecraft-patches/features/{0098-Spawn-invulnerable-time.patch => 0097-Spawn-invulnerable-time.patch} (100%) rename lophine-server/minecraft-patches/features/{0099-Leaves-Item-overstack-util.patch => 0098-Leaves-Item-overstack-util.patch} (100%) rename lophine-server/minecraft-patches/features/{0100-Leaves-Old-raid-behavior.patch => 0099-Leaves-Old-raid-behavior.patch} (100%) rename lophine-server/minecraft-patches/features/{0101-Compatibility-fix-for-Raid-Revert-and-Cross-Region-D.patch => 0100-Compatibility-fix-for-Raid-Revert-and-Cross-Region-D.patch} (100%) rename lophine-server/minecraft-patches/features/{0102-Leaves-Leaves-Base-Protocol-Core.patch => 0101-Leaves-Leaves-Base-Protocol-Core.patch} (100%) rename lophine-server/minecraft-patches/features/{0103-Leaves-Configurable-trading-with-the-void.patch => 0102-Leaves-Configurable-trading-with-the-void.patch} (100%) rename lophine-server/minecraft-patches/features/{0104-Leaves-Servux-Protocol.patch => 0103-Leaves-Servux-Protocol.patch} (100%) rename lophine-server/minecraft-patches/features/{0105-LeavesHooks.patch => 0104-LeavesHooks.patch} (100%) rename lophine-server/minecraft-patches/features/{0106-Leaves-Old-Explosion-Damage-Calculator.patch => 0105-Leaves-Old-Explosion-Damage-Calculator.patch} (100%) rename lophine-server/minecraft-patches/features/{0107-Leaves-Redstone-Shears-Wrench.patch => 0106-Leaves-Redstone-Shears-Wrench.patch} (100%) rename lophine-server/minecraft-patches/features/{0108-Leaves-Syncmatica-Protocol.patch => 0107-Leaves-Syncmatica-Protocol.patch} (100%) rename lophine-server/minecraft-patches/features/{0109-Leaves-BBOR-Protocol.patch => 0108-Leaves-BBOR-Protocol.patch} (100%) rename lophine-server/minecraft-patches/features/{0110-Leaves-Xaero-Map-Protocol.patch => 0109-Leaves-Xaero-Map-Protocol.patch} (100%) rename lophine-server/minecraft-patches/features/{0111-Leaves-Support-REI-protocol.patch => 0110-Leaves-Support-REI-protocol.patch} (100%) rename lophine-server/minecraft-patches/features/{0112-Leaves-Jade-Protocol.patch => 0111-Leaves-Jade-Protocol.patch} (100%) rename lophine-server/minecraft-patches/features/{0113-Leaves-Alternative-block-placement-Protocol.patch => 0112-Leaves-Alternative-block-placement-Protocol.patch} (100%) rename lophine-server/minecraft-patches/features/{0114-Leaves-Fakeplayer.patch => 0113-Leaves-Fakeplayer.patch} (100%) rename lophine-server/minecraft-patches/features/{0115-Leaves-Replay-Mod-API.patch => 0114-Leaves-Replay-Mod-API.patch} (100%) rename lophine-server/minecraft-patches/features/{0116-Leaves-Creative-fly-no-clip.patch => 0115-Leaves-Creative-fly-no-clip.patch} (100%) rename lophine-server/minecraft-patches/features/{0117-Leaves-Wool-Hopper-Counter.patch => 0116-Leaves-Wool-Hopper-Counter.patch} (100%) rename lophine-server/minecraft-patches/features/{0118-Global-Entities-Counter.patch => 0117-Global-Entities-Counter.patch} (100%) rename lophine-server/minecraft-patches/features/{0119-Leaves-Catch-update-suppression-crash.patch => 0118-Leaves-Catch-update-suppression-crash.patch} (100%) rename lophine-server/minecraft-patches/features/{0120-Leaves-CCE-update-suppression.patch => 0119-Leaves-CCE-update-suppression.patch} (100%) rename lophine-server/minecraft-patches/features/{0121-Leaves-Redstone-ignore-upwards-update.patch => 0120-Leaves-Redstone-ignore-upwards-update.patch} (100%) rename lophine-server/minecraft-patches/features/{0122-Instant-Block-Updater.patch => 0121-Instant-Block-Updater.patch} (100%) rename lophine-server/minecraft-patches/features/{0123-Revert-TrapDoorBlock-changes-form-Paper.patch => 0122-Revert-TrapDoorBlock-changes-form-Paper.patch} (100%) rename lophine-server/minecraft-patches/features/{0124-Leaves-Prevent-loss-of-item-drops-due-to-update-supp.patch => 0123-Leaves-Prevent-loss-of-item-drops-due-to-update-supp.patch} (100%) rename lophine-server/minecraft-patches/features/{0125-Leaves-Do-not-reset-placed-block-on-exception-Do-not.patch => 0124-Leaves-Do-not-reset-placed-block-on-exception-Do-not.patch} (100%) rename lophine-server/minecraft-patches/features/{0126-Leaves-Old-Block-remove-behaviour.patch => 0125-Leaves-Old-Block-remove-behaviour.patch} (100%) rename lophine-server/minecraft-patches/features/{0127-MiniTweaks-mob-fire-and-explosion-rules.patch => 0126-MiniTweaks-mob-fire-and-explosion-rules.patch} (100%) rename lophine-server/minecraft-patches/features/{0128-Carpet-features.patch => 0127-Carpet-features.patch} (100%) rename lophine-server/minecraft-patches/features/{0129-Carpet-Features-Compatible.patch => 0128-Carpet-Features-Compatible.patch} (100%) rename lophine-server/minecraft-patches/features/{0130-PCA-sync-protocol.patch => 0129-PCA-sync-protocol.patch} (100%) rename lophine-server/minecraft-patches/features/{0131-Add-Vanilla-like-experience-Config.patch => 0130-Add-Vanilla-like-experience-Config.patch} (100%) rename lophine-server/minecraft-patches/features/{0132-Restore-vanilla-ender-pearl-loading.patch => 0131-Restore-vanilla-ender-pearl-loading.patch} (100%) diff --git a/lophine-server/minecraft-patches/features/0085-Fix-datapack-command-save-function.patch b/lophine-server/minecraft-patches/features/0043-Add-back-read-only-datapack-command-Fix-datapack-com.patch similarity index 53% rename from lophine-server/minecraft-patches/features/0085-Fix-datapack-command-save-function.patch rename to lophine-server/minecraft-patches/features/0043-Add-back-read-only-datapack-command-Fix-datapack-com.patch index c6003e5..ebc507c 100644 --- a/lophine-server/minecraft-patches/features/0085-Fix-datapack-command-save-function.patch +++ b/lophine-server/minecraft-patches/features/0043-Add-back-read-only-datapack-command-Fix-datapack-com.patch @@ -1,14 +1,28 @@ From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Helvetica Volubi Date: Wed, 2 Jul 2025 23:36:25 +0800 -Subject: [PATCH] Fix datapack command save function +Subject: [PATCH] Add back read-only datapack command & Fix datapack command + save function +diff --git a/net/minecraft/commands/Commands.java b/net/minecraft/commands/Commands.java +index afbaf2116930d72ebb0c77745d02115abab14dc4..6823c41c08ca1a1baf9257fc861ae97bbcbe3a50 100644 +--- a/net/minecraft/commands/Commands.java ++++ b/net/minecraft/commands/Commands.java +@@ -205,7 +205,7 @@ public class Commands { + if(me.earthme.luminol.config.modules.experiment.CommandConfig.data) { // Luminol - Config for data command + DataCommands.register(this.dispatcher); // Folia - region threading - TODO // Luminol - Config for data command + } // Luminol - Config for data command +- //DataPackCommand.register(this.dispatcher, context); // Folia - region threading - TODO ++ DataPackCommand.register(this.dispatcher, context); // Folia - region threading - TODO // Luminol - Add back read-only datapack command + //DebugCommand.register(this.dispatcher); // Folia - region threading - TODO + 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 d2303ad91c9634cdbf599552a6bce7279a1f0e0a..4b6f961e695155db1d6cc86496491017bf3a6383 100644 +index d4e31bb829451a687bf567fd0357f46fd7d46902..4f292468194baae343eeb077362e51dcfb6c0df1 100644 --- a/net/minecraft/server/MinecraftServer.java +++ b/net/minecraft/server/MinecraftServer.java -@@ -2460,6 +2460,16 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop reloadResources( final Collection packsToEnable, final io.papermc.paper.event.server.ServerResourcesReloadedEvent.Cause cause ) { -diff --git a/net/minecraft/server/commands/DataPackCommand.java b/net/minecraft/server/commands/DataPackCommand.java -index 80d9bc3d680c30dae15064e0e8c3d1379ccd52e6..2bc9cf924d40d5d11935f73cf6d35442b0b0ba06 100644 ---- a/net/minecraft/server/commands/DataPackCommand.java -+++ b/net/minecraft/server/commands/DataPackCommand.java -@@ -99,7 +99,7 @@ public class DataPackCommand { - dispatcher.register( - Commands.literal("datapack") - .requires(Commands.hasPermission(Commands.LEVEL_GAMEMASTERS)) -- /*.then( // Luminol - Add back read-only datapack command -+ .then( // Lophine - Fix datapack command save function - Commands.literal("enable") - .then( - Commands.argument("name", StringArgumentType.string()) -@@ -146,11 +146,11 @@ public class DataPackCommand { - .suggests(SELECTED_PACKS) - .executes(c -> disablePack(c.getSource(), getPack(c, "name", false))) - ) -- )*/ // Luminol - Add back read-only datapack command -+ ) - .then( - Commands.literal("list") - .executes(c -> listPacks(c.getSource())) -- //.then(Commands.literal("available").executes(c -> listAvailablePacks(c.getSource()))) // Luminol - Add back read-only datapack command -+ .then(Commands.literal("available").executes(c -> listAvailablePacks(c.getSource()))) // Luminol - Add back read-only datapack command - .then(Commands.literal("enabled").executes(c -> listEnabledPacks(c.getSource()))) - ) - .then( -@@ -238,7 +238,7 @@ public class DataPackCommand { - } - - private static int listPacks(final CommandSourceStack source) { -- return listEnabledPacks(source) ;// + listAvailablePacks(source); // Luminol - Add back read-only datapack command -+ return listEnabledPacks(source) + listAvailablePacks(source); // Lophine - Fix datapack command save function - } - - private static int listAvailablePacks(final CommandSourceStack source) { diff --git a/net/minecraft/server/commands/ReloadCommand.java b/net/minecraft/server/commands/ReloadCommand.java index 80fef4277b9e986c17a4cb895e130726bdb63229..4bed8d0432508cbe5c0d1fc7d68052ec2af7260f 100644 --- a/net/minecraft/server/commands/ReloadCommand.java diff --git a/lophine-server/minecraft-patches/features/0043-Add-back-read-only-datapack-command.patch b/lophine-server/minecraft-patches/features/0043-Add-back-read-only-datapack-command.patch deleted file mode 100644 index ea75d57..0000000 --- a/lophine-server/minecraft-patches/features/0043-Add-back-read-only-datapack-command.patch +++ /dev/null @@ -1,61 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: MrHua269 -Date: Sat, 18 Apr 2026 09:18:31 +0800 -Subject: [PATCH] Add back read-only datapack command - - -diff --git a/net/minecraft/commands/Commands.java b/net/minecraft/commands/Commands.java -index afbaf2116930d72ebb0c77745d02115abab14dc4..6823c41c08ca1a1baf9257fc861ae97bbcbe3a50 100644 ---- a/net/minecraft/commands/Commands.java -+++ b/net/minecraft/commands/Commands.java -@@ -205,7 +205,7 @@ public class Commands { - if(me.earthme.luminol.config.modules.experiment.CommandConfig.data) { // Luminol - Config for data command - DataCommands.register(this.dispatcher); // Folia - region threading - TODO // Luminol - Config for data command - } // Luminol - Config for data command -- //DataPackCommand.register(this.dispatcher, context); // Folia - region threading - TODO -+ DataPackCommand.register(this.dispatcher, context); // Folia - region threading - TODO // Luminol - Add back read-only datapack command - //DebugCommand.register(this.dispatcher); // Folia - region threading - TODO - DefaultGameModeCommands.register(this.dispatcher); - //DialogCommand.register(this.dispatcher, context); // Folia - region threading - TODO -diff --git a/net/minecraft/server/commands/DataPackCommand.java b/net/minecraft/server/commands/DataPackCommand.java -index 0da1e4ada8616af825ddd4678e61246c672f9c4f..80d9bc3d680c30dae15064e0e8c3d1379ccd52e6 100644 ---- a/net/minecraft/server/commands/DataPackCommand.java -+++ b/net/minecraft/server/commands/DataPackCommand.java -@@ -99,7 +99,7 @@ public class DataPackCommand { - dispatcher.register( - Commands.literal("datapack") - .requires(Commands.hasPermission(Commands.LEVEL_GAMEMASTERS)) -- .then( -+ /*.then( // Luminol - Add back read-only datapack command - Commands.literal("enable") - .then( - Commands.argument("name", StringArgumentType.string()) -@@ -146,11 +146,11 @@ public class DataPackCommand { - .suggests(SELECTED_PACKS) - .executes(c -> disablePack(c.getSource(), getPack(c, "name", false))) - ) -- ) -+ )*/ // Luminol - Add back read-only datapack command - .then( - Commands.literal("list") - .executes(c -> listPacks(c.getSource())) -- .then(Commands.literal("available").executes(c -> listAvailablePacks(c.getSource()))) -+ //.then(Commands.literal("available").executes(c -> listAvailablePacks(c.getSource()))) // Luminol - Add back read-only datapack command - .then(Commands.literal("enabled").executes(c -> listEnabledPacks(c.getSource()))) - ) - .then( -@@ -238,12 +238,12 @@ public class DataPackCommand { - } - - private static int listPacks(final CommandSourceStack source) { -- return listEnabledPacks(source) + listAvailablePacks(source); -+ return listEnabledPacks(source) ;// + listAvailablePacks(source); // Luminol - Add back read-only datapack command - } - - private static int listAvailablePacks(final CommandSourceStack source) { - PackRepository repository = source.getServer().getPackRepository(); -- repository.reload(); -+ //repository.reload(); // Luminol - Add back read-only datapack command - Collection selectedPacks = repository.getSelectedPacks(); - Collection availablePacks = repository.getAvailablePacks(); - FeatureFlagSet enabledFeatures = source.enabledFeatures(); diff --git a/lophine-server/minecraft-patches/features/0044-Add-tpsbar-with-chunkhot-membar-and-regionbar.patch b/lophine-server/minecraft-patches/features/0044-Add-tpsbar-with-chunkhot-membar-and-regionbar.patch index 71b0e28..8a595e9 100644 --- a/lophine-server/minecraft-patches/features/0044-Add-tpsbar-with-chunkhot-membar-and-regionbar.patch +++ b/lophine-server/minecraft-patches/features/0044-Add-tpsbar-with-chunkhot-membar-and-regionbar.patch @@ -17,7 +17,7 @@ index 52dcbcf64c3a510d4a4524b7d0ee226d9a73511d..051d601e7e809518e8d82ae4ae325905 } diff --git a/net/minecraft/server/MinecraftServer.java b/net/minecraft/server/MinecraftServer.java -index d4e31bb829451a687bf567fd0357f46fd7d46902..350b788e17dc49118498541ad8ac54f6e0a59c9d 100644 +index 4f292468194baae343eeb077362e51dcfb6c0df1..f0a3fdaf7e9d342b472b3db42f5b59b0f6691b49 100644 --- a/net/minecraft/server/MinecraftServer.java +++ b/net/minecraft/server/MinecraftServer.java @@ -1743,7 +1743,46 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop localPlayers = new CopyOnWriteArrayList<>(); diff --git a/net/minecraft/server/MinecraftServer.java b/net/minecraft/server/MinecraftServer.java -index 350b788e17dc49118498541ad8ac54f6e0a59c9d..dc83fea1f4b8a1d2a82a52b88ee5c3157653f6f8 100644 +index f0a3fdaf7e9d342b472b3db42f5b59b0f6691b49..ac49bcc53951c025de0160fd8afd319b1f3d1347 100644 --- a/net/minecraft/server/MinecraftServer.java +++ b/net/minecraft/server/MinecraftServer.java @@ -1973,6 +1973,9 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop playerx.connection.send(packet)); // Paper - per-world game rules } else if (rule == GameRules.LOCATOR_BAR) { // this.getAllLevels().forEach(level -> { // Paper - per-world game rules diff --git a/lophine-server/minecraft-patches/features/0059-Leaf-Configurable-vanilla-username-check.patch b/lophine-server/minecraft-patches/features/0059-Leaf-Configurable-vanilla-username-check.patch index d84bf4c..ba0ed8d 100644 --- a/lophine-server/minecraft-patches/features/0059-Leaf-Configurable-vanilla-username-check.patch +++ b/lophine-server/minecraft-patches/features/0059-Leaf-Configurable-vanilla-username-check.patch @@ -8,7 +8,7 @@ A part of Leaf(https://github.com/Winds-Studio/Leaf/blob/edb0504069139beaa6f39ef License: https://github.com/Winds-Studio/Leaf/blob/edb0504069139beaa6f39efa4702370c2576b3fc/LICENSE.md diff --git a/net/minecraft/server/MinecraftServer.java b/net/minecraft/server/MinecraftServer.java -index 7840b0e00ab84eab016e971ac0c2693056fb0721..d2303ad91c9634cdbf599552a6bce7279a1f0e0a 100644 +index c91902632d0e97b814e387454b119edb62b67413..4b6f961e695155db1d6cc86496491017bf3a6383 100644 --- a/net/minecraft/server/MinecraftServer.java +++ b/net/minecraft/server/MinecraftServer.java @@ -217,7 +217,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop