diff --git a/patches/server/0001-Rebrand.patch b/patches/server/0001-Rebrand.patch index 4a5ff32c..d9922f10 100644 --- a/patches/server/0001-Rebrand.patch +++ b/patches/server/0001-Rebrand.patch @@ -215,7 +215,7 @@ index 0b5979723bb30f9011ac64c36d894aa41713ec9b..e220f5601f6b92b7b280ce8ebe64117d if (stream != null) { diff --git a/src/main/java/org/galemc/gale/version/GaleVersionFetcher.java b/src/main/java/org/galemc/gale/version/GaleVersionFetcher.java -index 3d674eca7d20202d8f811c5c3e3946a12046028a..1c087ae6daaa0cdf23f3930eca0af390469eab3d 100644 +index 3d674eca7d20202d8f811c5c3e3946a12046028a..6fae3dedda0ce742e33040c7b85b5a596d9be76f 100644 --- a/src/main/java/org/galemc/gale/version/GaleVersionFetcher.java +++ b/src/main/java/org/galemc/gale/version/GaleVersionFetcher.java @@ -5,7 +5,7 @@ package org.galemc.gale.version; @@ -223,7 +223,7 @@ index 3d674eca7d20202d8f811c5c3e3946a12046028a..1c087ae6daaa0cdf23f3930eca0af390 public GaleVersionFetcher() { - super("ver/1.20.2", "https://github.com/GaleMC/Gale", "Gale", "GaleMC", "GaleMC", "Gale"); -+ super("ver/1.20.6", "https://github.com/Winds-Studio/Leaf", "Leaf", "Winds-Studio", "Winds-Studio", "Leaf"); // Leaf ++ super("ver/1.21", "https://github.com/Winds-Studio/Leaf", "Leaf", "Winds-Studio", "Winds-Studio", "Leaf"); // Leaf } } diff --git a/patches/server/0032-Leaves-Appleskin-Protocol.patch b/patches/server/0031-Leaves-Appleskin-Protocol.patch similarity index 95% rename from patches/server/0032-Leaves-Appleskin-Protocol.patch rename to patches/server/0031-Leaves-Appleskin-Protocol.patch index 60cf310e..ae8be204 100644 --- a/patches/server/0032-Leaves-Appleskin-Protocol.patch +++ b/patches/server/0031-Leaves-Appleskin-Protocol.patch @@ -11,13 +11,13 @@ Commit: e234432bd99e1c4b07c24d1dd247977226a7516a This patch is Powered by AppleSkin (https://github.com/squeek502/AppleSkin) diff --git a/src/main/java/org/dreeam/leaf/config/modules/network/ProtocolSupport.java b/src/main/java/org/dreeam/leaf/config/modules/network/ProtocolSupport.java -index b63d87d0593d116b0c5ee835dc4372f1b5542453..ef23577faaf7948d7a9b1def4d56506eab19cc80 100644 +index c852b3a8d31bc73d32aef215e4d3a82aa1fd8f19..1181ffae40b86a4212e199814d3e07e641a5a1f2 100644 --- a/src/main/java/org/dreeam/leaf/config/modules/network/ProtocolSupport.java +++ b/src/main/java/org/dreeam/leaf/config/modules/network/ProtocolSupport.java -@@ -18,4 +18,7 @@ public class ProtocolSupport implements IConfigModule { - - @ConfigInfo(baseName = "jade-protocol") - public static boolean jadeProtocol = false; +@@ -15,4 +15,7 @@ public class ProtocolSupport implements IConfigModule { + public String getBaseName() { + return "protocol_support"; + } + + @ConfigInfo(baseName = "appleskin-protocol") + public static boolean appleskinProtocol = false; diff --git a/patches/server/0033-Leaves-Xaero-Map-Protocol.patch b/patches/server/0032-Leaves-Xaero-Map-Protocol.patch similarity index 96% rename from patches/server/0033-Leaves-Xaero-Map-Protocol.patch rename to patches/server/0032-Leaves-Xaero-Map-Protocol.patch index 78dcd81d..bf589920 100644 --- a/patches/server/0033-Leaves-Xaero-Map-Protocol.patch +++ b/patches/server/0032-Leaves-Xaero-Map-Protocol.patch @@ -23,7 +23,7 @@ index 44abb103462dc5a2718b3112e94342c39dead554..5075e22ae84191b3d94ce7a8bcbf0ef7 // CraftBukkit start - handle player weather // entityplayer.connection.send(new PacketPlayOutGameStateChange(PacketPlayOutGameStateChange.START_RAINING, 0.0F)); diff --git a/src/main/java/org/dreeam/leaf/config/modules/network/ProtocolSupport.java b/src/main/java/org/dreeam/leaf/config/modules/network/ProtocolSupport.java -index ef23577faaf7948d7a9b1def4d56506eab19cc80..c9736e79387d785a67d6ebe71df6553eeaf2b41d 100644 +index 1181ffae40b86a4212e199814d3e07e641a5a1f2..be8474a514e7b9bdacd7cc89d8d3e8b3bc3eb709 100644 --- a/src/main/java/org/dreeam/leaf/config/modules/network/ProtocolSupport.java +++ b/src/main/java/org/dreeam/leaf/config/modules/network/ProtocolSupport.java @@ -4,6 +4,8 @@ import org.dreeam.leaf.config.ConfigInfo; @@ -35,7 +35,7 @@ index ef23577faaf7948d7a9b1def4d56506eab19cc80..c9736e79387d785a67d6ebe71df6553e public class ProtocolSupport implements IConfigModule { @Override -@@ -21,4 +23,9 @@ public class ProtocolSupport implements IConfigModule { +@@ -18,4 +20,9 @@ public class ProtocolSupport implements IConfigModule { @ConfigInfo(baseName = "appleskin-protocol") public static boolean appleskinProtocol = false; diff --git a/patches/server/0034-Chat-Image-protocol.patch b/patches/server/0033-Chat-Image-protocol.patch similarity index 98% rename from patches/server/0034-Chat-Image-protocol.patch rename to patches/server/0033-Chat-Image-protocol.patch index 47836582..f32e28f5 100644 --- a/patches/server/0034-Chat-Image-protocol.patch +++ b/patches/server/0033-Chat-Image-protocol.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Chat Image protocol This patch is Powered by ChatImage (https://github.com/kitUIN/ChatImage) diff --git a/src/main/java/org/dreeam/leaf/config/modules/network/ProtocolSupport.java b/src/main/java/org/dreeam/leaf/config/modules/network/ProtocolSupport.java -index c9736e79387d785a67d6ebe71df6553eeaf2b41d..53ae1ecb7acf8e9d8b9b1c50d5a483008b303a66 100644 +index be8474a514e7b9bdacd7cc89d8d3e8b3bc3eb709..9324ca1f1abd2343b2f1eaec019e84428f01c626 100644 --- a/src/main/java/org/dreeam/leaf/config/modules/network/ProtocolSupport.java +++ b/src/main/java/org/dreeam/leaf/config/modules/network/ProtocolSupport.java -@@ -24,6 +24,9 @@ public class ProtocolSupport implements IConfigModule { +@@ -21,6 +21,9 @@ public class ProtocolSupport implements IConfigModule { @ConfigInfo(baseName = "appleskin-protocol") public static boolean appleskinProtocol = false; diff --git a/patches/server/0035-Asteor-Bar-protocol.patch b/patches/server/0034-Asteor-Bar-protocol.patch similarity index 97% rename from patches/server/0035-Asteor-Bar-protocol.patch rename to patches/server/0034-Asteor-Bar-protocol.patch index 3f85fb3c..01ff87df 100644 --- a/patches/server/0035-Asteor-Bar-protocol.patch +++ b/patches/server/0034-Asteor-Bar-protocol.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Asteor Bar protocol This patch is Powered by AsteorBar (https://github.com/afoxxvi/AsteorBarMod) diff --git a/src/main/java/org/dreeam/leaf/config/modules/network/ProtocolSupport.java b/src/main/java/org/dreeam/leaf/config/modules/network/ProtocolSupport.java -index 53ae1ecb7acf8e9d8b9b1c50d5a483008b303a66..b91f0ae28f044ceed0b9db46669a4cca2d47cb2d 100644 +index 9324ca1f1abd2343b2f1eaec019e84428f01c626..45c422b993e254fd892bfd6f47a074f1e9688714 100644 --- a/src/main/java/org/dreeam/leaf/config/modules/network/ProtocolSupport.java +++ b/src/main/java/org/dreeam/leaf/config/modules/network/ProtocolSupport.java -@@ -24,6 +24,9 @@ public class ProtocolSupport implements IConfigModule { +@@ -21,6 +21,9 @@ public class ProtocolSupport implements IConfigModule { @ConfigInfo(baseName = "appleskin-protocol") public static boolean appleskinProtocol = false; diff --git a/patches/server/0036-Leaves-Disable-moved-wrongly-threshold.patch b/patches/server/0035-Leaves-Disable-moved-wrongly-threshold.patch similarity index 100% rename from patches/server/0036-Leaves-Disable-moved-wrongly-threshold.patch rename to patches/server/0035-Leaves-Disable-moved-wrongly-threshold.patch diff --git a/patches/server/0037-Faster-Random-for-xaeroMapServerID-generation.patch b/patches/server/0036-Faster-Random-for-xaeroMapServerID-generation.patch similarity index 88% rename from patches/server/0037-Faster-Random-for-xaeroMapServerID-generation.patch rename to patches/server/0036-Faster-Random-for-xaeroMapServerID-generation.patch index 785c4fd8..f9fd3506 100644 --- a/patches/server/0037-Faster-Random-for-xaeroMapServerID-generation.patch +++ b/patches/server/0036-Faster-Random-for-xaeroMapServerID-generation.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Faster Random for xaeroMapServerID generation diff --git a/src/main/java/org/dreeam/leaf/config/modules/network/ProtocolSupport.java b/src/main/java/org/dreeam/leaf/config/modules/network/ProtocolSupport.java -index b91f0ae28f044ceed0b9db46669a4cca2d47cb2d..8c71281004649e23adb6609a66ab4951b280c517 100644 +index 45c422b993e254fd892bfd6f47a074f1e9688714..0a9312fd2235ee350df3bf49e846216714ea1120 100644 --- a/src/main/java/org/dreeam/leaf/config/modules/network/ProtocolSupport.java +++ b/src/main/java/org/dreeam/leaf/config/modules/network/ProtocolSupport.java @@ -4,7 +4,7 @@ import org.dreeam.leaf.config.ConfigInfo; @@ -17,7 +17,7 @@ index b91f0ae28f044ceed0b9db46669a4cca2d47cb2d..8c71281004649e23adb6609a66ab4951 public class ProtocolSupport implements IConfigModule { -@@ -33,5 +33,5 @@ public class ProtocolSupport implements IConfigModule { +@@ -30,5 +30,5 @@ public class ProtocolSupport implements IConfigModule { @ConfigInfo(baseName = "xaero-map-protocol") public static boolean xaeroMapProtocol = false; @ConfigInfo(baseName = "xaero-map-server-id") diff --git a/patches/server/0038-Petal-Async-Pathfinding.patch b/patches/server/0037-Petal-Async-Pathfinding.patch similarity index 100% rename from patches/server/0038-Petal-Async-Pathfinding.patch rename to patches/server/0037-Petal-Async-Pathfinding.patch diff --git a/patches/server/0039-Petal-reduce-work-done-by-game-event-system.patch b/patches/server/0038-Petal-reduce-work-done-by-game-event-system.patch similarity index 100% rename from patches/server/0039-Petal-reduce-work-done-by-game-event-system.patch rename to patches/server/0038-Petal-reduce-work-done-by-game-event-system.patch diff --git a/patches/server/0040-Optimize-Minecart-collisions.patch b/patches/server/0039-Optimize-Minecart-collisions.patch similarity index 100% rename from patches/server/0040-Optimize-Minecart-collisions.patch rename to patches/server/0039-Optimize-Minecart-collisions.patch diff --git a/patches/server/0041-Reduce-canSee-work.patch b/patches/server/0040-Reduce-canSee-work.patch similarity index 100% rename from patches/server/0041-Reduce-canSee-work.patch rename to patches/server/0040-Reduce-canSee-work.patch diff --git a/patches/server/0042-Faster-Natural-Spawning.patch b/patches/server/0041-Faster-Natural-Spawning.patch similarity index 100% rename from patches/server/0042-Faster-Natural-Spawning.patch rename to patches/server/0041-Faster-Natural-Spawning.patch diff --git a/patches/server/0043-Fix-sprint-glitch.patch b/patches/server/0042-Fix-sprint-glitch.patch similarity index 100% rename from patches/server/0043-Fix-sprint-glitch.patch rename to patches/server/0042-Fix-sprint-glitch.patch diff --git a/patches/server/0044-Configurable-movement-speed-of-more-entities.patch b/patches/server/0043-Configurable-movement-speed-of-more-entities.patch similarity index 100% rename from patches/server/0044-Configurable-movement-speed-of-more-entities.patch rename to patches/server/0043-Configurable-movement-speed-of-more-entities.patch diff --git a/patches/server/0045-Faster-sequencing-of-futures-for-chunk-structure-gen.patch b/patches/server/0044-Faster-sequencing-of-futures-for-chunk-structure-gen.patch similarity index 100% rename from patches/server/0045-Faster-sequencing-of-futures-for-chunk-structure-gen.patch rename to patches/server/0044-Faster-sequencing-of-futures-for-chunk-structure-gen.patch diff --git a/patches/server/0046-Reduce-items-finding-hopper-nearby-check.patch b/patches/server/0045-Reduce-items-finding-hopper-nearby-check.patch similarity index 100% rename from patches/server/0046-Reduce-items-finding-hopper-nearby-check.patch rename to patches/server/0045-Reduce-items-finding-hopper-nearby-check.patch diff --git a/patches/server/0047-Plazma-Add-some-missing-Pufferfish-configurations.patch b/patches/server/0046-Plazma-Add-some-missing-Pufferfish-configurations.patch similarity index 97% rename from patches/server/0047-Plazma-Add-some-missing-Pufferfish-configurations.patch rename to patches/server/0046-Plazma-Add-some-missing-Pufferfish-configurations.patch index 8325d723..0bff6bd9 100644 --- a/patches/server/0047-Plazma-Add-some-missing-Pufferfish-configurations.patch +++ b/patches/server/0046-Plazma-Add-some-missing-Pufferfish-configurations.patch @@ -10,7 +10,7 @@ Add Pufferfish DAB support for Camel, Sniffer https://github.com/pufferfish-gg/Pufferfish/issues/83 diff --git a/src/main/java/net/minecraft/world/entity/animal/armadillo/Armadillo.java b/src/main/java/net/minecraft/world/entity/animal/armadillo/Armadillo.java -index 0d85300632c6476152e6c1072f84cb75d38dea77..54b9cf002e0b71027449cc2af09a52b11a3bb96d 100644 +index 7c7b063b0b563716757294792653a705fe7436f9..3d47ddcfd68e4499cf01ce766c72726c1d8a0c26 100644 --- a/src/main/java/net/minecraft/world/entity/animal/armadillo/Armadillo.java +++ b/src/main/java/net/minecraft/world/entity/animal/armadillo/Armadillo.java @@ -156,8 +156,10 @@ public class Armadillo extends Animal { diff --git a/patches/server/0048-Plazma-Add-missing-purpur-configuration-options.patch b/patches/server/0047-Plazma-Add-missing-purpur-configuration-options.patch similarity index 99% rename from patches/server/0048-Plazma-Add-missing-purpur-configuration-options.patch rename to patches/server/0047-Plazma-Add-missing-purpur-configuration-options.patch index cb43f463..e73630f3 100644 --- a/patches/server/0048-Plazma-Add-missing-purpur-configuration-options.patch +++ b/patches/server/0047-Plazma-Add-missing-purpur-configuration-options.patch @@ -97,7 +97,7 @@ index da026533b15a1981000e73bba6c5209c13de28dc..96d2077abd0112f2b2b8c4678447afbf return this.level().purpurConfig.frogBreedingTicks; } diff --git a/src/main/java/net/minecraft/world/entity/animal/frog/Tadpole.java b/src/main/java/net/minecraft/world/entity/animal/frog/Tadpole.java -index 5addd3243dd63041442f2a6bcf92a2128e4242c1..2ebce53c728a67a619255a7e8796dcb1a6f82045 100644 +index c51637514bf671c08dbe4e5ac55566b92b5876f9..736e5dbd1587693d33de72ce6a7f8a745e388114 100644 --- a/src/main/java/net/minecraft/world/entity/animal/frog/Tadpole.java +++ b/src/main/java/net/minecraft/world/entity/animal/frog/Tadpole.java @@ -95,6 +95,23 @@ public class Tadpole extends AbstractFish { diff --git a/patches/server/0049-Skip-event-if-no-listeners.patch b/patches/server/0048-Skip-event-if-no-listeners.patch similarity index 100% rename from patches/server/0049-Skip-event-if-no-listeners.patch rename to patches/server/0048-Skip-event-if-no-listeners.patch diff --git a/patches/server/0050-PaperPR-Rewrite-framed-map-tracker-ticking.patch b/patches/server/0049-PaperPR-Rewrite-framed-map-tracker-ticking.patch similarity index 100% rename from patches/server/0050-PaperPR-Rewrite-framed-map-tracker-ticking.patch rename to patches/server/0049-PaperPR-Rewrite-framed-map-tracker-ticking.patch diff --git a/patches/server/0051-SparklyPaper-Skip-distanceToSqr-call-in-ServerEntity.patch b/patches/server/0050-SparklyPaper-Skip-distanceToSqr-call-in-ServerEntity.patch similarity index 100% rename from patches/server/0051-SparklyPaper-Skip-distanceToSqr-call-in-ServerEntity.patch rename to patches/server/0050-SparklyPaper-Skip-distanceToSqr-call-in-ServerEntity.patch diff --git a/patches/server/0052-SparklyPaper-Skip-MapItem-update-if-the-map-does-not.patch b/patches/server/0051-SparklyPaper-Skip-MapItem-update-if-the-map-does-not.patch similarity index 100% rename from patches/server/0052-SparklyPaper-Skip-MapItem-update-if-the-map-does-not.patch rename to patches/server/0051-SparklyPaper-Skip-MapItem-update-if-the-map-does-not.patch diff --git a/patches/server/0053-SparklyPaper-Skip-EntityScheduler-s-executeTick-chec.patch b/patches/server/0052-SparklyPaper-Skip-EntityScheduler-s-executeTick-chec.patch similarity index 100% rename from patches/server/0053-SparklyPaper-Skip-EntityScheduler-s-executeTick-chec.patch rename to patches/server/0052-SparklyPaper-Skip-EntityScheduler-s-executeTick-chec.patch diff --git a/patches/server/0054-SparklyPaper-Optimize-canSee-checks.patch b/patches/server/0053-SparklyPaper-Optimize-canSee-checks.patch similarity index 100% rename from patches/server/0054-SparklyPaper-Optimize-canSee-checks.patch rename to patches/server/0053-SparklyPaper-Optimize-canSee-checks.patch diff --git a/patches/server/0055-Polpot-Make-egg-and-snowball-can-knockback-player.patch b/patches/server/0054-Polpot-Make-egg-and-snowball-can-knockback-player.patch similarity index 100% rename from patches/server/0055-Polpot-Make-egg-and-snowball-can-knockback-player.patch rename to patches/server/0054-Polpot-Make-egg-and-snowball-can-knockback-player.patch diff --git a/patches/server/0056-Redirect-vanilla-getProfiler-in-PathNavigationRegion.patch b/patches/server/0055-Redirect-vanilla-getProfiler-in-PathNavigationRegion.patch similarity index 100% rename from patches/server/0056-Redirect-vanilla-getProfiler-in-PathNavigationRegion.patch rename to patches/server/0055-Redirect-vanilla-getProfiler-in-PathNavigationRegion.patch diff --git a/patches/server/0061-Fix-MC-2025.patch b/patches/server/0056-Fix-MC-2025.patch similarity index 90% rename from patches/server/0061-Fix-MC-2025.patch rename to patches/server/0056-Fix-MC-2025.patch index 35796fbe..1d7e34ec 100644 --- a/patches/server/0061-Fix-MC-2025.patch +++ b/patches/server/0056-Fix-MC-2025.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Fix MC-2025 Mojang issues: https://bugs.mojang.com/browse/MC-2025 diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index fd937544baae6835e1826a686676dcbfa58aca33..add6e68926cda8fc94fb6b37c3da20046b8c7346 100644 +index a8c7a433043ae670a34764ab3947b11b2fbf1671..0a730f1584f0b493b14ccf6c610ffd52f5a826b8 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -2628,6 +2628,16 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -2530,6 +2530,16 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess } // Purpur end nbttagcompound.put("Leaves.Data", leavesData); // Leaves - leaves ex data @@ -26,7 +26,7 @@ index fd937544baae6835e1826a686676dcbfa58aca33..add6e68926cda8fc94fb6b37c3da2004 return nbttagcompound; } catch (Throwable throwable) { CrashReport crashreport = CrashReport.forThrowable(throwable, "Saving entity NBT"); -@@ -2705,6 +2715,13 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -2607,6 +2617,13 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess this.reapplyPosition(); } diff --git a/patches/server/0062-Fix-MC-65198.patch b/patches/server/0057-Fix-MC-65198.patch similarity index 81% rename from patches/server/0062-Fix-MC-65198.patch rename to patches/server/0057-Fix-MC-65198.patch index 70f60bed..6f7733dd 100644 --- a/patches/server/0062-Fix-MC-65198.patch +++ b/patches/server/0057-Fix-MC-65198.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Fix MC-65198 Mojang issues: https://bugs.mojang.com/browse/MC-65198 diff --git a/src/main/java/net/minecraft/world/inventory/ItemCombinerMenu.java b/src/main/java/net/minecraft/world/inventory/ItemCombinerMenu.java -index 7215af6cc91f48b040c23c54536d4aac8d293497..53002139c8ba4e4886cf73404c3bbd152421053a 100644 +index b3bd9bbd96efc4784b86c2be6bb857da4db919b8..5b65fade746fee7208719b20164bf944d8e8d3a8 100644 --- a/src/main/java/net/minecraft/world/inventory/ItemCombinerMenu.java +++ b/src/main/java/net/minecraft/world/inventory/ItemCombinerMenu.java @@ -141,6 +141,7 @@ public abstract class ItemCombinerMenu extends AbstractContainerMenu { @@ -20,17 +20,17 @@ index 7215af6cc91f48b040c23c54536d4aac8d293497..53002139c8ba4e4886cf73404c3bbd15 @@ -179,7 +180,7 @@ public abstract class ItemCombinerMenu extends AbstractContainerMenu { } - this.activeQuickItem = itemstack; // Purpur + this.activeQuickItem = itemstack; // Purpur - Anvil API - slot1.onTake(player, itemstack1); + slot1.onTake(player, itemStack2); // Leaf - Fix MC-65198 - this.activeQuickItem = null; // Purpur + this.activeQuickItem = null; // Purpur - Anvil API } diff --git a/src/main/java/net/minecraft/world/inventory/ResultSlot.java b/src/main/java/net/minecraft/world/inventory/ResultSlot.java -index f17ff5988d826c8fad68f6bf7bac1d06edae01ae..02337174c26d7532c3ab99e269ec7ce8793b7f13 100644 +index 37a89bf79017eb65f82276b054a70ddb5eb5e549..05d0c97966f35a6e8576c975d33990f482d05e12 100644 --- a/src/main/java/net/minecraft/world/inventory/ResultSlot.java +++ b/src/main/java/net/minecraft/world/inventory/ResultSlot.java -@@ -45,7 +45,7 @@ public class ResultSlot extends Slot { +@@ -46,7 +46,7 @@ public class ResultSlot extends Slot { @Override protected void checkTakeAchievements(ItemStack stack) { if (this.removeCount > 0) { @@ -40,10 +40,10 @@ index f17ff5988d826c8fad68f6bf7bac1d06edae01ae..02337174c26d7532c3ab99e269ec7ce8 if (this.container instanceof RecipeCraftingHolder recipeCraftingHolder) { diff --git a/src/main/java/net/minecraft/world/inventory/StonecutterMenu.java b/src/main/java/net/minecraft/world/inventory/StonecutterMenu.java -index eade15820dd9db38b6af2a5c4314acfb14ca03e9..5fef8a6bc746a34a0b742c51f169a502bc9b6ce6 100644 +index 5ddae1afab0a68465ea60395c84b0997ee994f88..a67da91bbbe6fdfe44c40b13b426e2452dccd71e 100644 --- a/src/main/java/net/minecraft/world/inventory/StonecutterMenu.java +++ b/src/main/java/net/minecraft/world/inventory/StonecutterMenu.java -@@ -259,6 +259,7 @@ public class StonecutterMenu extends AbstractContainerMenu { +@@ -264,6 +264,7 @@ public class StonecutterMenu extends AbstractContainerMenu { Item item = itemstack1.getItem(); itemstack = itemstack1.copy(); @@ -51,7 +51,7 @@ index eade15820dd9db38b6af2a5c4314acfb14ca03e9..5fef8a6bc746a34a0b742c51f169a502 if (slot == 1) { item.onCraftedBy(itemstack1, player.level(), player); if (!this.moveItemStackTo(itemstack1, 2, 38, true)) { -@@ -291,7 +292,7 @@ public class StonecutterMenu extends AbstractContainerMenu { +@@ -296,7 +297,7 @@ public class StonecutterMenu extends AbstractContainerMenu { return ItemStack.EMPTY; } diff --git a/patches/server/0063-Including-5s-in-getTPS.patch b/patches/server/0058-Including-5s-in-getTPS.patch similarity index 92% rename from patches/server/0063-Including-5s-in-getTPS.patch rename to patches/server/0058-Including-5s-in-getTPS.patch index 0096316a..8f320b1e 100644 --- a/patches/server/0063-Including-5s-in-getTPS.patch +++ b/patches/server/0058-Including-5s-in-getTPS.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Including 5s in getTPS() diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 31b5beb4c3a3712d4f38a4ffef09675050f2eb04..f4b9a74ee268273098e4286354e436bbd3fc07f2 100644 +index 8e1bc7b117ac0766e3eb0f38cb33b71d6a972fb8..86c0965f339a592afba363607fd457a13d8bd6eb 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -3177,6 +3177,8 @@ public final class CraftServer implements Server { +@@ -3102,6 +3102,8 @@ public final class CraftServer implements Server { @Override public double[] getTPS() { diff --git a/patches/server/0064-Remove-useless-creating-stats-json-bases-on-player-n.patch b/patches/server/0059-Remove-useless-creating-stats-json-bases-on-player-n.patch similarity index 86% rename from patches/server/0064-Remove-useless-creating-stats-json-bases-on-player-n.patch rename to patches/server/0059-Remove-useless-creating-stats-json-bases-on-player-n.patch index 0c507ead..d6082fd8 100644 --- a/patches/server/0064-Remove-useless-creating-stats-json-bases-on-player-n.patch +++ b/patches/server/0059-Remove-useless-creating-stats-json-bases-on-player-n.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Remove useless creating stats json bases on player name logic diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index c410f781371a87ecc2849144c747a6ac3182a65a..b87fa81ccee6792b3a202b2c193299dbd2cce112 100644 +index 5075e22ae84191b3d94ce7a8bcbf0ef7735e7f28..cc1039af787cff402afc54edbd53a3f271f66cd2 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -1580,6 +1580,8 @@ public abstract class PlayerList { +@@ -1518,6 +1518,8 @@ public abstract class PlayerList { File file = this.server.getWorldPath(LevelResource.PLAYER_STATS_DIR).toFile(); File file1 = new File(file, String.valueOf(uuid) + ".json"); @@ -17,7 +17,7 @@ index c410f781371a87ecc2849144c747a6ac3182a65a..b87fa81ccee6792b3a202b2c193299db if (!file1.exists()) { File file2 = new File(file, displayName + ".json"); // CraftBukkit Path path = file2.toPath(); -@@ -1588,6 +1590,8 @@ public abstract class PlayerList { +@@ -1526,6 +1528,8 @@ public abstract class PlayerList { file2.renameTo(file1); } } diff --git a/patches/server/0065-Fix-NPE-during-creating-GUI-graph.patch b/patches/server/0060-Fix-NPE-during-creating-GUI-graph.patch similarity index 100% rename from patches/server/0065-Fix-NPE-during-creating-GUI-graph.patch rename to patches/server/0060-Fix-NPE-during-creating-GUI-graph.patch diff --git a/patches/server/0066-Don-t-throw-exception-on-missing-ResourceKey-value.patch b/patches/server/0061-Don-t-throw-exception-on-missing-ResourceKey-value.patch similarity index 100% rename from patches/server/0066-Don-t-throw-exception-on-missing-ResourceKey-value.patch rename to patches/server/0061-Don-t-throw-exception-on-missing-ResourceKey-value.patch diff --git a/patches/server/0067-Improve-Purpur-AFK-system.patch b/patches/server/0062-Improve-Purpur-AFK-system.patch similarity index 91% rename from patches/server/0067-Improve-Purpur-AFK-system.patch rename to patches/server/0062-Improve-Purpur-AFK-system.patch index 34fbbcd5..1897163a 100644 --- a/patches/server/0067-Improve-Purpur-AFK-system.patch +++ b/patches/server/0062-Improve-Purpur-AFK-system.patch @@ -7,10 +7,10 @@ AFK command & command cooldown AFK title message diff --git a/src/main/java/net/minecraft/commands/Commands.java b/src/main/java/net/minecraft/commands/Commands.java -index 95c84e0f83d056ee080061cd495c95a328814469..a5784aa215522c4666139a8eac3711c966cc7cb1 100644 +index b0b5faa06c47ebdab14cc8437d388029af4014ff..41da758e8b528ef07e5c5525f920cbdf6bde4779 100644 --- a/src/main/java/net/minecraft/commands/Commands.java +++ b/src/main/java/net/minecraft/commands/Commands.java -@@ -250,6 +250,7 @@ public class Commands { +@@ -248,6 +248,7 @@ public class Commands { StopCommand.register(this.dispatcher); TransferCommand.register(this.dispatcher); WhitelistCommand.register(this.dispatcher); @@ -19,10 +19,10 @@ index 95c84e0f83d056ee080061cd495c95a328814469..a5784aa215522c4666139a8eac3711c9 org.purpurmc.purpur.command.DemoCommand.register(this.dispatcher); // Purpur org.purpurmc.purpur.command.PingCommand.register(this.dispatcher); // Purpur diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 9b97d5ca67c0e53f318a54465708e21ae906e994..2a76960ebd0270ab5a6f850dc7b0b1a6c2cde572 100644 +index 30f984553e823b3c928b0e2181baf5d2058c2d84..3a127806698edefafae06277ce6233fd6d2f1114 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -2370,6 +2370,8 @@ public class ServerPlayer extends Player { +@@ -2410,6 +2410,8 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple // Purpur Start private boolean isAfk = false; @@ -31,7 +31,7 @@ index 9b97d5ca67c0e53f318a54465708e21ae906e994..2a76960ebd0270ab5a6f850dc7b0b1a6 @Override public void setAfk(boolean afk) { -@@ -2407,6 +2409,20 @@ public class ServerPlayer extends Player { +@@ -2447,6 +2449,20 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple String prefix = (split.length > 0 ? split[0] : "").replace(org.purpurmc.purpur.PurpurConfig.afkTabListPrefix, ""); String suffix = (split.length > 1 ? split[1] : "").replace(org.purpurmc.purpur.PurpurConfig.afkTabListSuffix, ""); if (afk) { @@ -53,10 +53,10 @@ index 9b97d5ca67c0e53f318a54465708e21ae906e994..2a76960ebd0270ab5a6f850dc7b0b1a6 } else { getBukkitEntity().setPlayerListName(prefix + scoreboardName + suffix, true); diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index a0abb0182aa6166b1d2702aa9964132889dc9d86..6f38bd7a7c6e7bb8ade7b79756ab0afded6add99 100644 +index 96db8bf0d5c3524a0e010dcdf098dba19f160f95..dad3246bb3e2d0c91fe2200ae6f25f2fcc66d153 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2254,8 +2254,28 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -2199,8 +2199,28 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl } } @@ -86,10 +86,10 @@ index a0abb0182aa6166b1d2702aa9964132889dc9d86..6f38bd7a7c6e7bb8ade7b79756ab0afd // CraftBukkit start - SPIGOT-7346: Prevent disconnected players from executing commands if (this.player.hasDisconnected()) { diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index b87fa81ccee6792b3a202b2c193299dbd2cce112..471933d0e676f600233c7c726c22b866bd4b2f57 100644 +index cc1039af787cff402afc54edbd53a3f271f66cd2..a10185c655e22d03f2756582d4628e3da1775c85 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -623,6 +623,7 @@ public abstract class PlayerList { +@@ -614,6 +614,7 @@ public abstract class PlayerList { org.leavesmc.leaves.protocol.core.LeavesProtocolManager.handlePlayerLeave(entityplayer); // Leaves - protocol // Paper end - Fix kick event leave message not being sent org.purpurmc.purpur.task.BossBarTask.removeFromAll(entityplayer.getBukkitEntity()); // Purpur @@ -98,10 +98,10 @@ index b87fa81ccee6792b3a202b2c193299dbd2cce112..471933d0e676f600233c7c726c22b866 entityplayer.awardStat(Stats.LEAVE_GAME); diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java -index ecd3f2c3dde43082809851f2e71d18c5d7926ed8..cfdab5174f5ac523cde457c0cee5a172bb53e0e0 100644 +index d0c62588d80414d83326192d3050025732902647..34412e3ee1cc6db700ef0fe8547715e2bb68345d 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java -@@ -176,9 +176,12 @@ public class PurpurConfig { +@@ -178,9 +178,12 @@ public class PurpurConfig { public static String cannotRideMob = "You cannot mount that mob"; public static String afkBroadcastAway = "%s is now AFK"; public static String afkBroadcastBack = "%s is no longer AFK"; @@ -114,7 +114,7 @@ index ecd3f2c3dde43082809851f2e71d18c5d7926ed8..cfdab5174f5ac523cde457c0cee5a172 public static String creditsCommandOutput = "%s has been shown the end credits"; public static String demoCommandOutput = "%s has been shown the demo screen"; public static String pingCommandOutput = "%s's ping is %sms"; -@@ -195,9 +198,12 @@ public class PurpurConfig { +@@ -197,9 +200,12 @@ public class PurpurConfig { cannotRideMob = getString("settings.messages.cannot-ride-mob", cannotRideMob); afkBroadcastAway = getString("settings.messages.afk-broadcast-away", afkBroadcastAway); afkBroadcastBack = getString("settings.messages.afk-broadcast-back", afkBroadcastBack); diff --git a/patches/server/0068-Virtual-Thread-for-async-scheduler.patch b/patches/server/0063-Virtual-Thread-for-async-scheduler.patch similarity index 81% rename from patches/server/0068-Virtual-Thread-for-async-scheduler.patch rename to patches/server/0063-Virtual-Thread-for-async-scheduler.patch index e993d9d9..935b7198 100644 --- a/patches/server/0068-Virtual-Thread-for-async-scheduler.patch +++ b/patches/server/0063-Virtual-Thread-for-async-scheduler.patch @@ -4,18 +4,6 @@ Date: Tue, 12 Mar 2024 00:36:29 +0800 Subject: [PATCH] Virtual Thread for async scheduler -diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java -index ce3572f8044d7a4732d9411a622be79c48da1346..dbdb4276c3689d477be6a06f3a826ec0382d1408 100644 ---- a/src/main/java/org/bukkit/craftbukkit/Main.java -+++ b/src/main/java/org/bukkit/craftbukkit/Main.java -@@ -387,7 +387,6 @@ public class Main { - tryPreloadClass("org.bukkit.craftbukkit.scheduler.CraftScheduler$1"); - tryPreloadClass("org.bukkit.craftbukkit.scheduler.CraftScheduler$2"); - tryPreloadClass("org.bukkit.craftbukkit.scheduler.CraftScheduler$3"); -- tryPreloadClass("org.bukkit.craftbukkit.scheduler.CraftScheduler$4"); - tryPreloadClass("org.slf4j.helpers.MessageFormatter"); - tryPreloadClass("org.slf4j.helpers.FormattingTuple"); - tryPreloadClass("org.slf4j.helpers.BasicMarker"); diff --git a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftAsyncScheduler.java b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftAsyncScheduler.java index 3c1992e212a6d6f1db4d5b807b38d71913619fc0..fe4f1868a5baebceb9ad0520f059ac8c4a68d397 100644 --- a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftAsyncScheduler.java diff --git a/patches/server/0069-Mirai-Configurable-chat-message-signatures.patch b/patches/server/0064-Mirai-Configurable-chat-message-signatures.patch similarity index 94% rename from patches/server/0069-Mirai-Configurable-chat-message-signatures.patch rename to patches/server/0064-Mirai-Configurable-chat-message-signatures.patch index 705cd478..ae9d865a 100644 --- a/patches/server/0069-Mirai-Configurable-chat-message-signatures.patch +++ b/patches/server/0064-Mirai-Configurable-chat-message-signatures.patch @@ -11,7 +11,7 @@ Original license: GPLv3 Original project: https://github.com/etil2jz/Mirai diff --git a/src/main/java/io/papermc/paper/adventure/ChatProcessor.java b/src/main/java/io/papermc/paper/adventure/ChatProcessor.java -index 8b95af95976309f31eb2493049a6a7440c505608..0d2089fbbb79af51a143621d9ce330b71298f048 100644 +index f962e82e2c70f328a23dc99193d072f8dd7ad949..8ec7cb984ef4c45a14292388c0268bcc0bc74ddf 100644 --- a/src/main/java/io/papermc/paper/adventure/ChatProcessor.java +++ b/src/main/java/io/papermc/paper/adventure/ChatProcessor.java @@ -319,7 +319,7 @@ public final class ChatProcessor { @@ -71,10 +71,10 @@ index 50dc68a005490415b88780397ef6c26859596dd5..162115048cffc824376e54b7f60ae071 public static record Favicon(byte[] iconBytes) { private static final String PREFIX = "data:image/png;base64,"; diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java -index ee99b0e74abc6447937b1af627c10ffbeeb9e0c0..18554ce89a6de5dc6a8116e27f7210c013469c21 100644 +index b38470108f0842ee65cb55ff7e376105cc7ba2f6..9bf4b58f056172d88365197352b1d434b7170769 100644 --- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java +++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java -@@ -701,6 +701,7 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface +@@ -708,6 +708,7 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface @Override public boolean enforceSecureProfile() { @@ -83,10 +83,10 @@ index ee99b0e74abc6447937b1af627c10ffbeeb9e0c0..18554ce89a6de5dc6a8116e27f7210c0 // Paper start - Add setting for proxy online mode status diff --git a/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java -index 392a8ce9c36c5d464df3a7d6a75737e19c22bdbb..3754ea28fca1fbcd72866942d72c3567f588d460 100644 +index ae0d0310d50f1ada082e045a58a24a43f8079da8..eea19f895588c51bce86f20b3ec505fd3ac3f077 100644 --- a/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java -@@ -336,10 +336,29 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack +@@ -337,10 +337,29 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack } public void send(Packet packet) { @@ -117,10 +117,10 @@ index 392a8ce9c36c5d464df3a7d6a75737e19c22bdbb..3754ea28fca1fbcd72866942d72c3567 if (packet == null || this.processedDisconnect) { // Spigot return; diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 471933d0e676f600233c7c726c22b866bd4b2f57..e7f83ed096257ad8906b3398a7bcb80a787dfa5a 100644 +index a10185c655e22d03f2756582d4628e3da1775c85..230eef32faed2c7744447e23f5608790c1d491a8 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -1534,7 +1534,7 @@ public abstract class PlayerList { +@@ -1472,7 +1472,7 @@ public abstract class PlayerList { // Paper end boolean flag = this.verifyChatTrusted(message); @@ -129,7 +129,7 @@ index 471933d0e676f600233c7c726c22b866bd4b2f57..e7f83ed096257ad8906b3398a7bcb80a OutgoingChatMessage outgoingchatmessage = OutgoingChatMessage.create(message); boolean flag1 = false; -@@ -1563,6 +1563,7 @@ public abstract class PlayerList { +@@ -1501,6 +1501,7 @@ public abstract class PlayerList { } public boolean verifyChatTrusted(PlayerChatMessage message) { // Paper - private -> public diff --git a/patches/server/0070-Block-log4j-rce-exploit-in-chat.patch b/patches/server/0065-Block-log4j-rce-exploit-in-chat.patch similarity index 80% rename from patches/server/0070-Block-log4j-rce-exploit-in-chat.patch rename to patches/server/0065-Block-log4j-rce-exploit-in-chat.patch index 5d2b720b..263dea0b 100644 --- a/patches/server/0070-Block-log4j-rce-exploit-in-chat.patch +++ b/patches/server/0065-Block-log4j-rce-exploit-in-chat.patch @@ -5,19 +5,19 @@ Subject: [PATCH] Block log4j rce exploit in chat diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 6f38bd7a7c6e7bb8ade7b79756ab0afded6add99..9546f79db7ab0a247cc658640e861e96eb1c0ace 100644 +index dad3246bb3e2d0c91fe2200ae6f25f2fcc66d153..dee7d17ed0b8b920e6135460c5c20cb178ea54a6 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2438,6 +2438,8 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -2383,6 +2383,8 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl } private void tryHandleChat(String s, Runnable runnable, boolean sync) { // CraftBukkit + if (ServerGamePacketListenerImpl.isLog4jExploit(s)) return; // Leaf - Block log4j rce exploit in chat + if (ServerGamePacketListenerImpl.isChatMessageIllegal(s)) { - this.disconnect(Component.translatable("multiplayer.disconnect.illegal_characters"), org.bukkit.event.player.PlayerKickEvent.Cause.ILLEGAL_CHARACTERS); // Paper + this.disconnect((Component) Component.translatable("multiplayer.disconnect.illegal_characters"), org.bukkit.event.player.PlayerKickEvent.Cause.ILLEGAL_CHARACTERS); // Paper } else if (this.player.isRemoved() || this.player.getChatVisibility() == ChatVisiblity.HIDDEN) { // CraftBukkit - dead men tell no tales -@@ -2469,6 +2471,15 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -2414,6 +2416,15 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl } } @@ -34,10 +34,10 @@ index 6f38bd7a7c6e7bb8ade7b79756ab0afded6add99..9546f79db7ab0a247cc658640e861e96 for (int i = 0; i < message.length(); ++i) { if (!StringUtil.isAllowedChatCharacter(message.charAt(i))) { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 547bb44769e3cf23cd0fee669d335c37ff15aa92..14678f175a02592db1305584d36421e20e6263d8 100644 +index 6a6a82124144f16146cd7b1fba1725b873d1250a..aac0f0c5dea5f7b8ef50d4f12fe9b5b9e25c8741 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -751,6 +751,8 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -753,6 +753,8 @@ public class CraftPlayer extends CraftHumanEntity implements Player { if (this.getHandle().connection == null) return; diff --git a/patches/server/0071-Cache-player-profileResult.patch b/patches/server/0066-Cache-player-profileResult.patch similarity index 93% rename from patches/server/0071-Cache-player-profileResult.patch rename to patches/server/0066-Cache-player-profileResult.patch index 6a450c5b..ae138848 100644 --- a/patches/server/0071-Cache-player-profileResult.patch +++ b/patches/server/0066-Cache-player-profileResult.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Cache player profileResult diff --git a/build.gradle.kts b/build.gradle.kts -index cd3d9b098b13c01f1ac6e7b27043e391531bd42e..d5d3b8b48528082fc0967ad1398cc972dc0eb127 100644 +index 989cf44a97e046ff5204184a5ae42504814aebd8..d0e1f73ef1b543c3ad32874dbda0aedf47f51b91 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -24,6 +24,10 @@ dependencies { @@ -20,7 +20,7 @@ index cd3d9b098b13c01f1ac6e7b27043e391531bd42e..d5d3b8b48528082fc0967ad1398cc972 implementation("org.jline:jline-terminal-jansi:3.26.1") // Leaf - Bump Dependencies implementation("net.minecrell:terminalconsoleappender:1.3.0") diff --git a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java -index 1d496b2efc44065e91b4d612e17f38382489e876..d991c875c8f2965ca26e87dc11bba0d347de9c5c 100644 +index 00d8b8d4d2d1c73c4eeeaa9483cca2999df65a54..19d1ab56e1fbf64f786c756043ce995f3333e4b7 100644 --- a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java @@ -1,5 +1,7 @@ @@ -38,8 +38,8 @@ index 1d496b2efc44065e91b4d612e17f38382489e876..d991c875c8f2965ca26e87dc11bba0d3 +import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicInteger; import javax.annotation.Nullable; - import javax.crypto.SecretKey; -@@ -87,6 +90,11 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener, + import javax.crypto.Cipher; +@@ -88,6 +91,11 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener, private ServerPlayer player; // CraftBukkit public boolean iKnowThisMayNotBeTheBestIdeaButPleaseDisableUsernameValidation = false; // Paper - username validation overriding private int velocityLoginMessageId = -1; // Paper - Add Velocity IP Forwarding Support @@ -51,7 +51,7 @@ index 1d496b2efc44065e91b4d612e17f38382489e876..d991c875c8f2965ca26e87dc11bba0d3 public ServerLoginPacketListenerImpl(MinecraftServer server, Connection connection, boolean transferred) { this.state = ServerLoginPacketListenerImpl.State.HELLO; -@@ -314,7 +322,19 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener, +@@ -313,7 +321,19 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener, String s1 = (String) Objects.requireNonNull(ServerLoginPacketListenerImpl.this.requestedUsername, "Player name not initialized"); try { diff --git a/patches/server/0072-Prevent-change-non-editable-sign-warning-spam-in-con.patch b/patches/server/0067-Prevent-change-non-editable-sign-warning-spam-in-con.patch similarity index 100% rename from patches/server/0072-Prevent-change-non-editable-sign-warning-spam-in-con.patch rename to patches/server/0067-Prevent-change-non-editable-sign-warning-spam-in-con.patch diff --git a/patches/server/0075-Ignore-terminal-provider-warning.patch b/patches/server/0068-Ignore-terminal-provider-warning.patch similarity index 87% rename from patches/server/0075-Ignore-terminal-provider-warning.patch rename to patches/server/0068-Ignore-terminal-provider-warning.patch index ddbd10cc..9ca3afb5 100644 --- a/patches/server/0075-Ignore-terminal-provider-warning.patch +++ b/patches/server/0068-Ignore-terminal-provider-warning.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Ignore terminal provider warning diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java -index dbdb4276c3689d477be6a06f3a826ec0382d1408..4b3ca7cc331d60fe02f1068467bed6ce0c81001e 100644 +index bbe8cd960f9f1e65bc3304ca27befae420bb5677..6b935d3b642d91cf6d928a983376f4a01e07ff23 100644 --- a/src/main/java/org/bukkit/craftbukkit/Main.java +++ b/src/main/java/org/bukkit/craftbukkit/Main.java -@@ -354,6 +354,9 @@ public class Main { +@@ -324,6 +324,9 @@ public class Main { // Paper end - Log Java and OS versioning to help with debugging plugin issues printlnStartupInfoToSystemOut("Loading libraries, please wait..."); // Gale - include time in startup logs diff --git a/patches/server/0076-Fix-console-freeze-above-JAVA-22.patch b/patches/server/0069-Fix-console-freeze-above-JAVA-22.patch similarity index 89% rename from patches/server/0076-Fix-console-freeze-above-JAVA-22.patch rename to patches/server/0069-Fix-console-freeze-above-JAVA-22.patch index e3bf6727..87a37354 100644 --- a/patches/server/0076-Fix-console-freeze-above-JAVA-22.patch +++ b/patches/server/0069-Fix-console-freeze-above-JAVA-22.patch @@ -7,10 +7,10 @@ Revert to old console provider, Fix https://github.com/PaperMC/Paper/issues/1040 Solution refers to https://inside.java/2023/07/31/quality-heads-up diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java -index 4b3ca7cc331d60fe02f1068467bed6ce0c81001e..f310722b6f6b5e487e876e42070fdaaa01b62efb 100644 +index 6b935d3b642d91cf6d928a983376f4a01e07ff23..aa55df79d2ff18fd1add2e643267d3a1f37f34f2 100644 --- a/src/main/java/org/bukkit/craftbukkit/Main.java +++ b/src/main/java/org/bukkit/craftbukkit/Main.java -@@ -356,6 +356,7 @@ public class Main { +@@ -326,6 +326,7 @@ public class Main { printlnStartupInfoToSystemOut("Loading libraries, please wait..."); // Gale - include time in startup logs System.setProperty("org.jline.terminal.disableDeprecatedProviderWarning", "true"); // Leaf - Ignore terminal provider warning diff --git a/patches/server/0077-Faster-Random-Generator.patch b/patches/server/0070-Faster-Random-Generator.patch similarity index 100% rename from patches/server/0077-Faster-Random-Generator.patch rename to patches/server/0070-Faster-Random-Generator.patch diff --git a/patches/server/0078-Don-t-save-primed-tnt-entity.patch b/patches/server/0071-Don-t-save-primed-tnt-entity.patch similarity index 92% rename from patches/server/0078-Don-t-save-primed-tnt-entity.patch rename to patches/server/0071-Don-t-save-primed-tnt-entity.patch index 0ae7a2c4..e86a8ecb 100644 --- a/patches/server/0078-Don-t-save-primed-tnt-entity.patch +++ b/patches/server/0071-Don-t-save-primed-tnt-entity.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Don't save primed tnt entity diff --git a/src/main/java/net/minecraft/world/entity/item/PrimedTnt.java b/src/main/java/net/minecraft/world/entity/item/PrimedTnt.java -index dff0e7b08b973a1b29f916e63d3e4778d6c56cdc..92bcb38043de9623fb6e8139d5738d40c573b257 100644 +index 2a4425d04917b32c7ae5af3e7422c0bafc2aa1c2..2493e94b170dc5c0a3c36dded8e1ac3918fa266a 100644 --- a/src/main/java/net/minecraft/world/entity/item/PrimedTnt.java +++ b/src/main/java/net/minecraft/world/entity/item/PrimedTnt.java -@@ -218,4 +218,11 @@ public class PrimedTnt extends Entity implements TraceableEntity { +@@ -255,4 +255,11 @@ public class PrimedTnt extends Entity implements TraceableEntity { return super.interact(player, hand); } // Purpur end - Shears can defuse TNT diff --git a/patches/server/0079-Don-t-save-falling-block-entity.patch b/patches/server/0072-Don-t-save-falling-block-entity.patch similarity index 80% rename from patches/server/0079-Don-t-save-falling-block-entity.patch rename to patches/server/0072-Don-t-save-falling-block-entity.patch index a3e77659..0e685545 100644 --- a/patches/server/0079-Don-t-save-falling-block-entity.patch +++ b/patches/server/0072-Don-t-save-falling-block-entity.patch @@ -5,12 +5,12 @@ Subject: [PATCH] Don't save falling block entity diff --git a/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java b/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java -index d504d10fbe45dfe3f2f3d08d2473df6cd18f6dcf..2b377faa46c7e4b565cff3c4f85cd526046f18d8 100644 +index b83be9bbb9f348da83c0fd1ecc7f65c8a58b45b9..5b3844f92caf2962be58e911f98a26e6992f8184 100644 --- a/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java +++ b/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java -@@ -405,4 +405,11 @@ public class FallingBlockEntity extends Entity { - this.setPos(d0, d1, d2); - this.setStartPos(this.blockPosition()); +@@ -422,4 +422,11 @@ public class FallingBlockEntity extends Entity { + this.forceTickAfterTeleportToDuplicate = entity != null && flag && io.papermc.paper.configuration.GlobalConfiguration.get().unsupportedSettings.allowUnsafeEndPortalTeleportation; // Paper + return entity; } + + // Leaf start - PMC - Don't save falling block entity diff --git a/patches/server/0080-Configurable-connection-message.patch b/patches/server/0073-Configurable-connection-message.patch similarity index 94% rename from patches/server/0080-Configurable-connection-message.patch rename to patches/server/0073-Configurable-connection-message.patch index 38ab2f5a..42897eb1 100644 --- a/patches/server/0080-Configurable-connection-message.patch +++ b/patches/server/0073-Configurable-connection-message.patch @@ -5,18 +5,18 @@ Subject: [PATCH] Configurable connection message diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index e7f83ed096257ad8906b3398a7bcb80a787dfa5a..7c8e9c3c00d7941f2a87b7175ffe2281f31da205 100644 +index 230eef32faed2c7744447e23f5608790c1d491a8..180b50c9c23c6934d3e99500a25635df32f7169c 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -28,6 +28,7 @@ import java.util.function.Predicate; +@@ -26,6 +26,7 @@ import java.util.UUID; + import java.util.function.Function; + import java.util.function.Predicate; import javax.annotation.Nullable; - - import me.titaniumtown.ArrayConstants; +import net.kyori.adventure.text.TextReplacementConfig; import net.minecraft.ChatFormatting; import net.minecraft.FileUtil; import net.minecraft.commands.CommandSourceStack; -@@ -356,7 +357,7 @@ public abstract class PlayerList { +@@ -354,7 +355,7 @@ public abstract class PlayerList { // Ensure that player inventory is populated with its viewer player.containerMenu.transferTo(player.containerMenu, bukkitPlayer); @@ -25,7 +25,7 @@ index e7f83ed096257ad8906b3398a7bcb80a787dfa5a..7c8e9c3c00d7941f2a87b7175ffe2281 this.cserver.getPluginManager().callEvent(playerJoinEvent); if (!player.connection.isAcceptingMessages()) { -@@ -369,7 +370,7 @@ public abstract class PlayerList { +@@ -367,7 +368,7 @@ public abstract class PlayerList { final net.kyori.adventure.text.Component jm = playerJoinEvent.joinMessage(); @@ -34,7 +34,7 @@ index e7f83ed096257ad8906b3398a7bcb80a787dfa5a..7c8e9c3c00d7941f2a87b7175ffe2281 joinMessage = io.papermc.paper.adventure.PaperAdventure.asVanilla(jm); // Paper - Adventure this.server.getPlayerList().broadcastSystemMessage(joinMessage, false); // Paper - Adventure } -@@ -634,7 +635,7 @@ public abstract class PlayerList { +@@ -625,7 +626,7 @@ public abstract class PlayerList { entityplayer.closeContainer(org.bukkit.event.inventory.InventoryCloseEvent.Reason.DISCONNECT); // Paper - Inventory close reason } @@ -43,7 +43,7 @@ index e7f83ed096257ad8906b3398a7bcb80a787dfa5a..7c8e9c3c00d7941f2a87b7175ffe2281 this.cserver.getPluginManager().callEvent(playerQuitEvent); entityplayer.getBukkitEntity().disconnect(playerQuitEvent.getQuitMessage()); -@@ -1707,4 +1708,29 @@ public abstract class PlayerList { +@@ -1645,4 +1646,29 @@ public abstract class PlayerList { public boolean isAllowCommandsForAllPlayers() { return this.allowCommandsForAllPlayers; } diff --git a/patches/server/0081-Remove-stream-in-BlockBehaviour-cache-blockstate.patch b/patches/server/0074-Remove-stream-in-BlockBehaviour-cache-blockstate.patch similarity index 91% rename from patches/server/0081-Remove-stream-in-BlockBehaviour-cache-blockstate.patch rename to patches/server/0074-Remove-stream-in-BlockBehaviour-cache-blockstate.patch index 3fbb4ba0..8f44154e 100644 --- a/patches/server/0081-Remove-stream-in-BlockBehaviour-cache-blockstate.patch +++ b/patches/server/0074-Remove-stream-in-BlockBehaviour-cache-blockstate.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Remove stream in BlockBehaviour cache blockstate diff --git a/src/main/java/net/minecraft/world/level/block/state/BlockBehaviour.java b/src/main/java/net/minecraft/world/level/block/state/BlockBehaviour.java -index 031fc626d2075cbe0941fecc188406712ab9953f..999d1ef61de1423f804ecdee586d5335acf5e6e5 100644 +index 155a099eb9b0196385947f5765fad4e5c5b74b44..8b46772221cd60691a6cc4f6b691bdfe94e78608 100644 --- a/src/main/java/net/minecraft/world/level/block/state/BlockBehaviour.java +++ b/src/main/java/net/minecraft/world/level/block/state/BlockBehaviour.java -@@ -1374,7 +1374,7 @@ public abstract class BlockBehaviour implements FeatureElement { +@@ -1302,7 +1302,7 @@ public abstract class BlockBehaviour implements FeatureElement { @Nullable final VoxelShape[] occlusionShapes; protected final VoxelShape collisionShape; @@ -17,7 +17,7 @@ index 031fc626d2075cbe0941fecc188406712ab9953f..999d1ef61de1423f804ecdee586d5335 private final boolean[] faceSturdy; protected final boolean isCollisionShapeFullBlock; -@@ -1406,9 +1406,14 @@ public abstract class BlockBehaviour implements FeatureElement { +@@ -1334,9 +1334,14 @@ public abstract class BlockBehaviour implements FeatureElement { if (!this.collisionShape.isEmpty() && state.hasOffsetFunction()) { throw new IllegalStateException(String.format(Locale.ROOT, "%s has a collision shape and an offset type, but is not marked as dynamicShape in its properties.", BuiltInRegistries.BLOCK.getKey(block))); } else { diff --git a/patches/server/0084-Reduce-worldgen-allocations.patch b/patches/server/0075-Reduce-worldgen-allocations.patch similarity index 97% rename from patches/server/0084-Reduce-worldgen-allocations.patch rename to patches/server/0075-Reduce-worldgen-allocations.patch index 2421b944..48ec4ebd 100644 --- a/patches/server/0084-Reduce-worldgen-allocations.patch +++ b/patches/server/0075-Reduce-worldgen-allocations.patch @@ -11,7 +11,7 @@ allocation by directly accessing the rules list, which further contributes to reducing garbage collection pressure during world generation. diff --git a/src/main/java/net/minecraft/world/level/levelgen/SurfaceRules.java b/src/main/java/net/minecraft/world/level/levelgen/SurfaceRules.java -index a506f3ef40ec34a89abb73a60cedf3b556585bee..c79aceb58549235a6064fa6951509d0ee77ddf1a 100644 +index 9df053ddff459d4aab478106c6e66a5fc3cda8f6..7a9b36b93032fbbfd439b8d95c82c7515616cbbd 100644 --- a/src/main/java/net/minecraft/world/level/levelgen/SurfaceRules.java +++ b/src/main/java/net/minecraft/world/level/levelgen/SurfaceRules.java @@ -314,8 +314,14 @@ public class SurfaceRules { diff --git a/patches/server/0085-Fix-MC-183518.patch b/patches/server/0076-Fix-MC-183518.patch similarity index 100% rename from patches/server/0085-Fix-MC-183518.patch rename to patches/server/0076-Fix-MC-183518.patch diff --git a/patches/server/0031-Leaves-Jade-Protocol.patch b/patches/work/server/0031-Leaves-Jade-Protocol.patch similarity index 100% rename from patches/server/0031-Leaves-Jade-Protocol.patch rename to patches/work/server/0031-Leaves-Jade-Protocol.patch diff --git a/patches/server/0073-Matter-Secure-Seed.patch b/patches/work/server/0073-Matter-Secure-Seed.patch similarity index 100% rename from patches/server/0073-Matter-Secure-Seed.patch rename to patches/work/server/0073-Matter-Secure-Seed.patch diff --git a/patches/server/0074-Matter-Seed-Command.patch b/patches/work/server/0074-Matter-Seed-Command.patch similarity index 100% rename from patches/server/0074-Matter-Seed-Command.patch rename to patches/work/server/0074-Matter-Seed-Command.patch diff --git a/patches/server/0082-Tracking-Optimize-Use-thread-safe-Collection.patch b/patches/work/server/0082-Tracking-Optimize-Use-thread-safe-Collection.patch similarity index 100% rename from patches/server/0082-Tracking-Optimize-Use-thread-safe-Collection.patch rename to patches/work/server/0082-Tracking-Optimize-Use-thread-safe-Collection.patch diff --git a/patches/server/0083-Tracking-Optimize-Reduce-expensive-iteration.patch b/patches/work/server/0083-Tracking-Optimize-Reduce-expensive-iteration.patch similarity index 100% rename from patches/server/0083-Tracking-Optimize-Reduce-expensive-iteration.patch rename to patches/work/server/0083-Tracking-Optimize-Reduce-expensive-iteration.patch