From ccefbcfa8d3d55e001258bc571d3809e7287a8c8 Mon Sep 17 00:00:00 2001 From: Dreeam <61569423+Dreeam-qwq@users.noreply.github.com> Date: Mon, 26 May 2025 18:24:50 +0800 Subject: [PATCH] Update input sanitization for purpur config --- .../paperserver}/0002-Leaf-Bootstrap.patch | 2 ++ ...008-Fix-Pufferfish-and-Purpur-patches.patch | 18 ++++++++++++++++++ ...rable-movement-speed-of-more-entities.patch | 16 ++++++++-------- ...-missing-purpur-configuration-options.patch | 10 +++++----- ...Commands.patch => 0002-Leaf-Commands.patch} | 0 ...003-Pufferfish-Optimize-mob-spawning.patch} | 0 ... => 0004-Purpur-Server-Paper-Changes.patch} | 2 +- ...05-Fix-Pufferfish-and-Purpur-patches.patch} | 0 ...Timings.patch => 0006-Remove-Timings.patch} | 0 ....patch => 0007-KeYi-Player-Skull-API.patch} | 0 ...patch => 0008-Slice-Smooth-Teleports.patch} | 0 ...e.patch => 0009-Leaves-Protocol-Core.patch} | 0 ....patch => 0010-Leaves-Replay-Mod-API.patch} | 0 ...h => 0011-Skip-event-if-no-listeners.patch} | 0 ...p-EntityScheduler-s-executeTick-chec.patch} | 0 ...-SparklyPaper-Optimize-canSee-checks.patch} | 0 ...patch => 0014-Including-5s-in-getTPS.patch} | 0 ...ception-on-missing-ResourceKey-value.patch} | 0 ...6-Virtual-Thread-for-async-scheduler.patch} | 0 ...Configurable-chat-message-signatures.patch} | 0 ...eed.patch => 0018-Matter-Secure-Seed.patch} | 0 ...atch => 0019-Faster-random-generator.patch} | 0 ...Configurable-unknown-command-message.patch} | 2 +- ...-world-map-with-optimized-collection.patch} | 0 ...EntityType-minecraftToBukkit-convert.patch} | 0 ....patch => 0023-Multithreaded-Tracker.patch} | 2 +- ...r.patch => 0024-Asynchronous-locator.patch} | 0 ...e-snapshots-for-acquiring-blockstate.patch} | 2 +- ...-CraftServer-getworlds-list-creation.patch} | 0 ...nk-key.patch => 0027-Cache-chunk-key.patch} | 0 ...h => 0028-Async-structure-locate-api.patch} | 2 +- ...=> 0029-PlayerInventoryOverflowEvent.patch} | 0 ...-SparklyPaper-Parallel-world-ticking.patch} | 0 ...er-PR-Throttle-failed-spawn-attempts.patch} | 0 ...atch => 0032-Async-playerdata-saving.patch} | 0 ...erPR-Fix-save-load-NaN-Entity-Motion.patch} | 0 ...perPR-Fix-unnecessary-map-data-saves.patch} | 0 ...-send.patch => 0035-Async-chunk-send.patch} | 0 ...0036-Optimise-player-movement-checks.patch} | 0 ...ation.patch => 0037-Paw-optimization.patch} | 0 40 files changed, 38 insertions(+), 18 deletions(-) rename {leaf-server/paper-patches/features => leaf-archived-patches/removed/hardfork/paperserver}/0002-Leaf-Bootstrap.patch (97%) rename leaf-server/paper-patches/features/{0003-Leaf-Commands.patch => 0002-Leaf-Commands.patch} (100%) rename leaf-server/paper-patches/features/{0004-Pufferfish-Optimize-mob-spawning.patch => 0003-Pufferfish-Optimize-mob-spawning.patch} (100%) rename leaf-server/paper-patches/features/{0005-Purpur-Server-Paper-Changes.patch => 0004-Purpur-Server-Paper-Changes.patch} (99%) rename leaf-server/paper-patches/features/{0006-Fix-Pufferfish-and-Purpur-patches.patch => 0005-Fix-Pufferfish-and-Purpur-patches.patch} (100%) rename leaf-server/paper-patches/features/{0007-Remove-Timings.patch => 0006-Remove-Timings.patch} (100%) rename leaf-server/paper-patches/features/{0008-KeYi-Player-Skull-API.patch => 0007-KeYi-Player-Skull-API.patch} (100%) rename leaf-server/paper-patches/features/{0009-Slice-Smooth-Teleports.patch => 0008-Slice-Smooth-Teleports.patch} (100%) rename leaf-server/paper-patches/features/{0010-Leaves-Protocol-Core.patch => 0009-Leaves-Protocol-Core.patch} (100%) rename leaf-server/paper-patches/features/{0011-Leaves-Replay-Mod-API.patch => 0010-Leaves-Replay-Mod-API.patch} (100%) rename leaf-server/paper-patches/features/{0012-Skip-event-if-no-listeners.patch => 0011-Skip-event-if-no-listeners.patch} (100%) rename leaf-server/paper-patches/features/{0013-SparklyPaper-Skip-EntityScheduler-s-executeTick-chec.patch => 0012-SparklyPaper-Skip-EntityScheduler-s-executeTick-chec.patch} (100%) rename leaf-server/paper-patches/features/{0014-SparklyPaper-Optimize-canSee-checks.patch => 0013-SparklyPaper-Optimize-canSee-checks.patch} (100%) rename leaf-server/paper-patches/features/{0015-Including-5s-in-getTPS.patch => 0014-Including-5s-in-getTPS.patch} (100%) rename leaf-server/paper-patches/features/{0016-Don-t-throw-exception-on-missing-ResourceKey-value.patch => 0015-Don-t-throw-exception-on-missing-ResourceKey-value.patch} (100%) rename leaf-server/paper-patches/features/{0017-Virtual-Thread-for-async-scheduler.patch => 0016-Virtual-Thread-for-async-scheduler.patch} (100%) rename leaf-server/paper-patches/features/{0018-Mirai-Configurable-chat-message-signatures.patch => 0017-Mirai-Configurable-chat-message-signatures.patch} (100%) rename leaf-server/paper-patches/features/{0019-Matter-Secure-Seed.patch => 0018-Matter-Secure-Seed.patch} (100%) rename leaf-server/paper-patches/features/{0020-Faster-random-generator.patch => 0019-Faster-random-generator.patch} (100%) rename leaf-server/paper-patches/features/{0021-Configurable-unknown-command-message.patch => 0020-Configurable-unknown-command-message.patch} (94%) rename leaf-server/paper-patches/features/{0022-Replace-world-map-with-optimized-collection.patch => 0021-Replace-world-map-with-optimized-collection.patch} (100%) rename leaf-server/paper-patches/features/{0023-Cache-CraftEntityType-minecraftToBukkit-convert.patch => 0022-Cache-CraftEntityType-minecraftToBukkit-convert.patch} (100%) rename leaf-server/paper-patches/features/{0024-Multithreaded-Tracker.patch => 0023-Multithreaded-Tracker.patch} (98%) rename leaf-server/paper-patches/features/{0025-Asynchronous-locator.patch => 0024-Asynchronous-locator.patch} (100%) rename leaf-server/paper-patches/features/{0026-EMC-Don-t-use-snapshots-for-acquiring-blockstate.patch => 0025-EMC-Don-t-use-snapshots-for-acquiring-blockstate.patch} (94%) rename leaf-server/paper-patches/features/{0027-Faster-CraftServer-getworlds-list-creation.patch => 0026-Faster-CraftServer-getworlds-list-creation.patch} (100%) rename leaf-server/paper-patches/features/{0028-Cache-chunk-key.patch => 0027-Cache-chunk-key.patch} (100%) rename leaf-server/paper-patches/features/{0029-Async-structure-locate-api.patch => 0028-Async-structure-locate-api.patch} (97%) rename leaf-server/paper-patches/features/{0030-PlayerInventoryOverflowEvent.patch => 0029-PlayerInventoryOverflowEvent.patch} (100%) rename leaf-server/paper-patches/features/{0031-SparklyPaper-Parallel-world-ticking.patch => 0030-SparklyPaper-Parallel-world-ticking.patch} (100%) rename leaf-server/paper-patches/features/{0032-Paper-PR-Throttle-failed-spawn-attempts.patch => 0031-Paper-PR-Throttle-failed-spawn-attempts.patch} (100%) rename leaf-server/paper-patches/features/{0033-Async-playerdata-saving.patch => 0032-Async-playerdata-saving.patch} (100%) rename leaf-server/paper-patches/features/{0034-PaperPR-Fix-save-load-NaN-Entity-Motion.patch => 0033-PaperPR-Fix-save-load-NaN-Entity-Motion.patch} (100%) rename leaf-server/paper-patches/features/{0035-PaperPR-Fix-unnecessary-map-data-saves.patch => 0034-PaperPR-Fix-unnecessary-map-data-saves.patch} (100%) rename leaf-server/paper-patches/features/{0036-Async-chunk-send.patch => 0035-Async-chunk-send.patch} (100%) rename leaf-server/paper-patches/features/{0037-Optimise-player-movement-checks.patch => 0036-Optimise-player-movement-checks.patch} (100%) rename leaf-server/paper-patches/features/{0038-Paw-optimization.patch => 0037-Paw-optimization.patch} (100%) diff --git a/leaf-server/paper-patches/features/0002-Leaf-Bootstrap.patch b/leaf-archived-patches/removed/hardfork/paperserver/0002-Leaf-Bootstrap.patch similarity index 97% rename from leaf-server/paper-patches/features/0002-Leaf-Bootstrap.patch rename to leaf-archived-patches/removed/hardfork/paperserver/0002-Leaf-Bootstrap.patch index 06a070a3..049a33d3 100644 --- a/leaf-server/paper-patches/features/0002-Leaf-Bootstrap.patch +++ b/leaf-archived-patches/removed/hardfork/paperserver/0002-Leaf-Bootstrap.patch @@ -3,6 +3,8 @@ From: Dreeam <61569423+Dreeam-qwq@users.noreply.github.com> Date: Wed, 31 Jul 2024 22:05:21 +0800 Subject: [PATCH] Leaf Bootstrap +Removed since Leaf 1.21.4, useless + org.bukkit.craftbukkit.Main#main -> LeafBootstrap -> PaperBootstrap -> ... diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java diff --git a/leaf-server/minecraft-patches/features/0008-Fix-Pufferfish-and-Purpur-patches.patch b/leaf-server/minecraft-patches/features/0008-Fix-Pufferfish-and-Purpur-patches.patch index 7f2591b9..5bdde608 100644 --- a/leaf-server/minecraft-patches/features/0008-Fix-Pufferfish-and-Purpur-patches.patch +++ b/leaf-server/minecraft-patches/features/0008-Fix-Pufferfish-and-Purpur-patches.patch @@ -322,3 +322,21 @@ index a33641dd6e0839fd1b557d8583fe8bb929fcc1cb..d5ef2ec5e15b6d250aafb0b8282b350c } else if (maxProjectileChunkLoadsConfig.perProjectile.resetMovementAfterReachLimit) { this.setDeltaMovement(0, this.getDeltaMovement().y, 0); } +diff --git a/org/purpurmc/purpur/PurpurWorldConfig.java b/org/purpurmc/purpur/PurpurWorldConfig.java +index b3fca75c66b16e35f6841c3b7df9103d68f1308e..2f2bd44723d3051ff7009f531f79471197705552 100644 +--- a/org/purpurmc/purpur/PurpurWorldConfig.java ++++ b/org/purpurmc/purpur/PurpurWorldConfig.java +@@ -2355,6 +2355,13 @@ public class PurpurWorldConfig { + piglinBypassMobGriefing = getBoolean("mobs.piglin.bypass-mob-griefing", piglinBypassMobGriefing); + piglinTakeDamageFromWater = getBoolean("mobs.piglin.takes-damage-from-water", piglinTakeDamageFromWater); + piglinPortalSpawnModifier = getInt("mobs.piglin.portal-spawn-modifier", piglinPortalSpawnModifier); ++ // Leaf start - Fix Pufferfish and Purpur patches - better input sanitization ++ if (piglinPortalSpawnModifier < 1) { ++ piglinPortalSpawnModifier = 1; ++ log(Level.WARNING, "mobs.piglin.portal-spawn-modifier is set to below minimum allowed value of 1"); ++ log(Level.WARNING, "Using value of 1 to prevent issues"); ++ } ++ // Leaf end - Fix Pufferfish and Purpur patches - better input sanitization + piglinAlwaysDropExp = getBoolean("mobs.piglin.always-drop-exp", piglinAlwaysDropExp); + piglinHeadVisibilityPercent = getDouble("mobs.piglin.head-visibility-percent", piglinHeadVisibilityPercent); + piglinIgnoresArmorWithGoldTrim = getBoolean("mobs.piglin.ignores-armor-with-gold-trim", piglinIgnoresArmorWithGoldTrim); diff --git a/leaf-server/minecraft-patches/features/0030-Configurable-movement-speed-of-more-entities.patch b/leaf-server/minecraft-patches/features/0030-Configurable-movement-speed-of-more-entities.patch index 61de77c8..e54544f0 100644 --- a/leaf-server/minecraft-patches/features/0030-Configurable-movement-speed-of-more-entities.patch +++ b/leaf-server/minecraft-patches/features/0030-Configurable-movement-speed-of-more-entities.patch @@ -50,7 +50,7 @@ index 7af71c777dca26cd94b1807a2a77ea0d30e92976..e64f9308fc848c0f22d8dbd6e544b786 .add(Attributes.ARMOR, 2.0) .add(Attributes.SPAWN_REINFORCEMENTS_CHANCE); diff --git a/net/minecraft/world/entity/monster/ZombieVillager.java b/net/minecraft/world/entity/monster/ZombieVillager.java -index 1ca0514732916d325c4a76d73120aaf613c3f780..970f6bdb0d0c15f7d814926472daec689beb82f4 100644 +index aa5c02b5c949c80a96c1dd60fd3de8e2261fe797..cb0e000c5b8636296c7d7474d0947c75f41b6058 100644 --- a/net/minecraft/world/entity/monster/ZombieVillager.java +++ b/net/minecraft/world/entity/monster/ZombieVillager.java @@ -99,6 +99,7 @@ public class ZombieVillager extends Zombie implements VillagerDataHolder { @@ -83,7 +83,7 @@ index fddbbffafea275dad187b7908386cf4c05c86743..89a67db9bbdb31661fa4f71f1270198b } diff --git a/org/purpurmc/purpur/PurpurWorldConfig.java b/org/purpurmc/purpur/PurpurWorldConfig.java -index b3fca75c66b16e35f6841c3b7df9103d68f1308e..ae06918ebfa3bbd914ebdebb8107ec447643ef22 100644 +index 2f2bd44723d3051ff7009f531f79471197705552..1d8b791c041139df7f24339849adf058936f8b57 100644 --- a/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/org/purpurmc/purpur/PurpurWorldConfig.java @@ -1570,6 +1570,7 @@ public class PurpurWorldConfig { @@ -118,7 +118,7 @@ index b3fca75c66b16e35f6841c3b7df9103d68f1308e..ae06918ebfa3bbd914ebdebb8107ec44 } public boolean illusionerRidable = false; -@@ -3297,6 +3301,7 @@ public class PurpurWorldConfig { +@@ -3304,6 +3308,7 @@ public class PurpurWorldConfig { public boolean zombieTakeDamageFromWater = false; public boolean zombieAlwaysDropExp = false; public double zombieHeadVisibilityPercent = 0.5D; @@ -126,7 +126,7 @@ index b3fca75c66b16e35f6841c3b7df9103d68f1308e..ae06918ebfa3bbd914ebdebb8107ec44 private void zombieSettings() { zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable); zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater); -@@ -3317,6 +3322,7 @@ public class PurpurWorldConfig { +@@ -3324,6 +3329,7 @@ public class PurpurWorldConfig { zombieTakeDamageFromWater = getBoolean("mobs.zombie.takes-damage-from-water", zombieTakeDamageFromWater); zombieAlwaysDropExp = getBoolean("mobs.zombie.always-drop-exp", zombieAlwaysDropExp); zombieHeadVisibilityPercent = getDouble("mobs.zombie.head-visibility-percent", zombieHeadVisibilityPercent); @@ -134,7 +134,7 @@ index b3fca75c66b16e35f6841c3b7df9103d68f1308e..ae06918ebfa3bbd914ebdebb8107ec44 } public boolean zombieHorseRidable = false; -@@ -3366,6 +3372,7 @@ public class PurpurWorldConfig { +@@ -3373,6 +3379,7 @@ public class PurpurWorldConfig { public int zombieVillagerCuringTimeMax = 6000; public boolean zombieVillagerCureEnabled = true; public boolean zombieVillagerAlwaysDropExp = false; @@ -142,7 +142,7 @@ index b3fca75c66b16e35f6841c3b7df9103d68f1308e..ae06918ebfa3bbd914ebdebb8107ec44 private void zombieVillagerSettings() { zombieVillagerRidable = getBoolean("mobs.zombie_villager.ridable", zombieVillagerRidable); zombieVillagerRidableInWater = getBoolean("mobs.zombie_villager.ridable-in-water", zombieVillagerRidableInWater); -@@ -3386,6 +3393,7 @@ public class PurpurWorldConfig { +@@ -3393,6 +3400,7 @@ public class PurpurWorldConfig { zombieVillagerCuringTimeMax = getInt("mobs.zombie_villager.curing_time.max", zombieVillagerCuringTimeMax); zombieVillagerCureEnabled = getBoolean("mobs.zombie_villager.cure.enabled", zombieVillagerCureEnabled); zombieVillagerAlwaysDropExp = getBoolean("mobs.zombie_villager.always-drop-exp", zombieVillagerAlwaysDropExp); @@ -150,7 +150,7 @@ index b3fca75c66b16e35f6841c3b7df9103d68f1308e..ae06918ebfa3bbd914ebdebb8107ec44 } public boolean zombifiedPiglinRidable = false; -@@ -3400,6 +3408,7 @@ public class PurpurWorldConfig { +@@ -3407,6 +3415,7 @@ public class PurpurWorldConfig { public boolean zombifiedPiglinCountAsPlayerKillWhenAngry = true; public boolean zombifiedPiglinTakeDamageFromWater = false; public boolean zombifiedPiglinAlwaysDropExp = false; @@ -158,7 +158,7 @@ index b3fca75c66b16e35f6841c3b7df9103d68f1308e..ae06918ebfa3bbd914ebdebb8107ec44 private void zombifiedPiglinSettings() { zombifiedPiglinRidable = getBoolean("mobs.zombified_piglin.ridable", zombifiedPiglinRidable); zombifiedPiglinRidableInWater = getBoolean("mobs.zombified_piglin.ridable-in-water", zombifiedPiglinRidableInWater); -@@ -3418,6 +3427,7 @@ public class PurpurWorldConfig { +@@ -3425,6 +3434,7 @@ public class PurpurWorldConfig { zombifiedPiglinCountAsPlayerKillWhenAngry = getBoolean("mobs.zombified_piglin.count-as-player-kill-when-angry", zombifiedPiglinCountAsPlayerKillWhenAngry); zombifiedPiglinTakeDamageFromWater = getBoolean("mobs.zombified_piglin.takes-damage-from-water", zombifiedPiglinTakeDamageFromWater); zombifiedPiglinAlwaysDropExp = getBoolean("mobs.zombified_piglin.always-drop-exp", zombifiedPiglinAlwaysDropExp); diff --git a/leaf-server/minecraft-patches/features/0035-Plazma-Add-missing-purpur-configuration-options.patch b/leaf-server/minecraft-patches/features/0035-Plazma-Add-missing-purpur-configuration-options.patch index c8a6c4a3..1c4c6175 100644 --- a/leaf-server/minecraft-patches/features/0035-Plazma-Add-missing-purpur-configuration-options.patch +++ b/leaf-server/minecraft-patches/features/0035-Plazma-Add-missing-purpur-configuration-options.patch @@ -263,7 +263,7 @@ index 1cc5c37ee9aab6b9eb45881dddc03715bd4153b7..c0cde1461c0e3ec63bf77cc5056f8c63 org.bukkit.event.inventory.InventoryType.ENDER_CHEST.setDefaultSize(enderChestSixRows ? 54 : 27); enderChestPermissionRows = getBoolean("settings.blocks.ender_chest.use-permissions-for-rows", enderChestPermissionRows); diff --git a/org/purpurmc/purpur/PurpurWorldConfig.java b/org/purpurmc/purpur/PurpurWorldConfig.java -index ae06918ebfa3bbd914ebdebb8107ec447643ef22..793d2fd30edcf4c21445eabdab8d6813e460e469 100644 +index 1d8b791c041139df7f24339849adf058936f8b57..246a911915fee61e8fd459f13155740200019abc 100644 --- a/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/org/purpurmc/purpur/PurpurWorldConfig.java @@ -1139,12 +1139,20 @@ public class PurpurWorldConfig { @@ -353,7 +353,7 @@ index ae06918ebfa3bbd914ebdebb8107ec447643ef22..793d2fd30edcf4c21445eabdab8d6813 } public boolean ghastRidable = false; -@@ -2801,6 +2835,10 @@ public class PurpurWorldConfig { +@@ -2808,6 +2842,10 @@ public class PurpurWorldConfig { public double snifferMaxHealth = 14.0D; public double snifferScale = 1.0D; public int snifferBreedingTicks = 6000; @@ -364,7 +364,7 @@ index ae06918ebfa3bbd914ebdebb8107ec447643ef22..793d2fd30edcf4c21445eabdab8d6813 private void snifferSettings() { snifferRidable = getBoolean("mobs.sniffer.ridable", snifferRidable); snifferRidableInWater = getBoolean("mobs.sniffer.ridable-in-water", snifferRidableInWater); -@@ -2808,6 +2846,10 @@ public class PurpurWorldConfig { +@@ -2815,6 +2853,10 @@ public class PurpurWorldConfig { snifferMaxHealth = getDouble("mobs.sniffer.attributes.max_health", snifferMaxHealth); snifferScale = Mth.clamp(getDouble("mobs.sniffer.attributes.scale", snifferScale), 0.0625D, 16.0D); snifferBreedingTicks = getInt("mobs.sniffer.breeding-delay-ticks", snifferBreedingTicks); @@ -375,7 +375,7 @@ index ae06918ebfa3bbd914ebdebb8107ec447643ef22..793d2fd30edcf4c21445eabdab8d6813 } public boolean squidRidable = false; -@@ -2909,10 +2951,20 @@ public class PurpurWorldConfig { +@@ -2916,10 +2958,20 @@ public class PurpurWorldConfig { public boolean tadpoleRidable = false; public boolean tadpoleRidableInWater = true; public boolean tadpoleControllable = true; @@ -396,7 +396,7 @@ index ae06918ebfa3bbd914ebdebb8107ec447643ef22..793d2fd30edcf4c21445eabdab8d6813 } public boolean traderLlamaRidable = false; -@@ -3141,10 +3193,20 @@ public class PurpurWorldConfig { +@@ -3148,10 +3200,20 @@ public class PurpurWorldConfig { public boolean wardenRidable = false; public boolean wardenRidableInWater = true; public boolean wardenControllable = true; diff --git a/leaf-server/paper-patches/features/0003-Leaf-Commands.patch b/leaf-server/paper-patches/features/0002-Leaf-Commands.patch similarity index 100% rename from leaf-server/paper-patches/features/0003-Leaf-Commands.patch rename to leaf-server/paper-patches/features/0002-Leaf-Commands.patch diff --git a/leaf-server/paper-patches/features/0004-Pufferfish-Optimize-mob-spawning.patch b/leaf-server/paper-patches/features/0003-Pufferfish-Optimize-mob-spawning.patch similarity index 100% rename from leaf-server/paper-patches/features/0004-Pufferfish-Optimize-mob-spawning.patch rename to leaf-server/paper-patches/features/0003-Pufferfish-Optimize-mob-spawning.patch diff --git a/leaf-server/paper-patches/features/0005-Purpur-Server-Paper-Changes.patch b/leaf-server/paper-patches/features/0004-Purpur-Server-Paper-Changes.patch similarity index 99% rename from leaf-server/paper-patches/features/0005-Purpur-Server-Paper-Changes.patch rename to leaf-server/paper-patches/features/0004-Purpur-Server-Paper-Changes.patch index 385589c1..da1e28e2 100644 --- a/leaf-server/paper-patches/features/0005-Purpur-Server-Paper-Changes.patch +++ b/leaf-server/paper-patches/features/0004-Purpur-Server-Paper-Changes.patch @@ -761,7 +761,7 @@ index a92e0877669a92851c6d7f83de75ffb087c8e651..daede6da974beb5ff19877caa5e6f8b3 public Collection getStructures(int x, int z) { return this.getStructures(x, z, struct -> true); diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java -index 70d093f71cca569d9da3ae82e738f8f3069f405e..7120ff469b0a0b638a4051b92f00f97da75edae0 100644 +index bf5343b0847e9f57ffbc7f33714ae6ca62f14332..2e1b7f613de8876095ef39bb0341a3f9520c8d5d 100644 --- a/src/main/java/org/bukkit/craftbukkit/Main.java +++ b/src/main/java/org/bukkit/craftbukkit/Main.java @@ -176,6 +176,13 @@ public class Main { diff --git a/leaf-server/paper-patches/features/0006-Fix-Pufferfish-and-Purpur-patches.patch b/leaf-server/paper-patches/features/0005-Fix-Pufferfish-and-Purpur-patches.patch similarity index 100% rename from leaf-server/paper-patches/features/0006-Fix-Pufferfish-and-Purpur-patches.patch rename to leaf-server/paper-patches/features/0005-Fix-Pufferfish-and-Purpur-patches.patch diff --git a/leaf-server/paper-patches/features/0007-Remove-Timings.patch b/leaf-server/paper-patches/features/0006-Remove-Timings.patch similarity index 100% rename from leaf-server/paper-patches/features/0007-Remove-Timings.patch rename to leaf-server/paper-patches/features/0006-Remove-Timings.patch diff --git a/leaf-server/paper-patches/features/0008-KeYi-Player-Skull-API.patch b/leaf-server/paper-patches/features/0007-KeYi-Player-Skull-API.patch similarity index 100% rename from leaf-server/paper-patches/features/0008-KeYi-Player-Skull-API.patch rename to leaf-server/paper-patches/features/0007-KeYi-Player-Skull-API.patch diff --git a/leaf-server/paper-patches/features/0009-Slice-Smooth-Teleports.patch b/leaf-server/paper-patches/features/0008-Slice-Smooth-Teleports.patch similarity index 100% rename from leaf-server/paper-patches/features/0009-Slice-Smooth-Teleports.patch rename to leaf-server/paper-patches/features/0008-Slice-Smooth-Teleports.patch diff --git a/leaf-server/paper-patches/features/0010-Leaves-Protocol-Core.patch b/leaf-server/paper-patches/features/0009-Leaves-Protocol-Core.patch similarity index 100% rename from leaf-server/paper-patches/features/0010-Leaves-Protocol-Core.patch rename to leaf-server/paper-patches/features/0009-Leaves-Protocol-Core.patch diff --git a/leaf-server/paper-patches/features/0011-Leaves-Replay-Mod-API.patch b/leaf-server/paper-patches/features/0010-Leaves-Replay-Mod-API.patch similarity index 100% rename from leaf-server/paper-patches/features/0011-Leaves-Replay-Mod-API.patch rename to leaf-server/paper-patches/features/0010-Leaves-Replay-Mod-API.patch diff --git a/leaf-server/paper-patches/features/0012-Skip-event-if-no-listeners.patch b/leaf-server/paper-patches/features/0011-Skip-event-if-no-listeners.patch similarity index 100% rename from leaf-server/paper-patches/features/0012-Skip-event-if-no-listeners.patch rename to leaf-server/paper-patches/features/0011-Skip-event-if-no-listeners.patch diff --git a/leaf-server/paper-patches/features/0013-SparklyPaper-Skip-EntityScheduler-s-executeTick-chec.patch b/leaf-server/paper-patches/features/0012-SparklyPaper-Skip-EntityScheduler-s-executeTick-chec.patch similarity index 100% rename from leaf-server/paper-patches/features/0013-SparklyPaper-Skip-EntityScheduler-s-executeTick-chec.patch rename to leaf-server/paper-patches/features/0012-SparklyPaper-Skip-EntityScheduler-s-executeTick-chec.patch diff --git a/leaf-server/paper-patches/features/0014-SparklyPaper-Optimize-canSee-checks.patch b/leaf-server/paper-patches/features/0013-SparklyPaper-Optimize-canSee-checks.patch similarity index 100% rename from leaf-server/paper-patches/features/0014-SparklyPaper-Optimize-canSee-checks.patch rename to leaf-server/paper-patches/features/0013-SparklyPaper-Optimize-canSee-checks.patch diff --git a/leaf-server/paper-patches/features/0015-Including-5s-in-getTPS.patch b/leaf-server/paper-patches/features/0014-Including-5s-in-getTPS.patch similarity index 100% rename from leaf-server/paper-patches/features/0015-Including-5s-in-getTPS.patch rename to leaf-server/paper-patches/features/0014-Including-5s-in-getTPS.patch diff --git a/leaf-server/paper-patches/features/0016-Don-t-throw-exception-on-missing-ResourceKey-value.patch b/leaf-server/paper-patches/features/0015-Don-t-throw-exception-on-missing-ResourceKey-value.patch similarity index 100% rename from leaf-server/paper-patches/features/0016-Don-t-throw-exception-on-missing-ResourceKey-value.patch rename to leaf-server/paper-patches/features/0015-Don-t-throw-exception-on-missing-ResourceKey-value.patch diff --git a/leaf-server/paper-patches/features/0017-Virtual-Thread-for-async-scheduler.patch b/leaf-server/paper-patches/features/0016-Virtual-Thread-for-async-scheduler.patch similarity index 100% rename from leaf-server/paper-patches/features/0017-Virtual-Thread-for-async-scheduler.patch rename to leaf-server/paper-patches/features/0016-Virtual-Thread-for-async-scheduler.patch diff --git a/leaf-server/paper-patches/features/0018-Mirai-Configurable-chat-message-signatures.patch b/leaf-server/paper-patches/features/0017-Mirai-Configurable-chat-message-signatures.patch similarity index 100% rename from leaf-server/paper-patches/features/0018-Mirai-Configurable-chat-message-signatures.patch rename to leaf-server/paper-patches/features/0017-Mirai-Configurable-chat-message-signatures.patch diff --git a/leaf-server/paper-patches/features/0019-Matter-Secure-Seed.patch b/leaf-server/paper-patches/features/0018-Matter-Secure-Seed.patch similarity index 100% rename from leaf-server/paper-patches/features/0019-Matter-Secure-Seed.patch rename to leaf-server/paper-patches/features/0018-Matter-Secure-Seed.patch diff --git a/leaf-server/paper-patches/features/0020-Faster-random-generator.patch b/leaf-server/paper-patches/features/0019-Faster-random-generator.patch similarity index 100% rename from leaf-server/paper-patches/features/0020-Faster-random-generator.patch rename to leaf-server/paper-patches/features/0019-Faster-random-generator.patch diff --git a/leaf-server/paper-patches/features/0021-Configurable-unknown-command-message.patch b/leaf-server/paper-patches/features/0020-Configurable-unknown-command-message.patch similarity index 94% rename from leaf-server/paper-patches/features/0021-Configurable-unknown-command-message.patch rename to leaf-server/paper-patches/features/0020-Configurable-unknown-command-message.patch index ca7402c7..6a251818 100644 --- a/leaf-server/paper-patches/features/0021-Configurable-unknown-command-message.patch +++ b/leaf-server/paper-patches/features/0020-Configurable-unknown-command-message.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Configurable unknown command message diff --git a/src/main/java/org/spigotmc/SpigotConfig.java b/src/main/java/org/spigotmc/SpigotConfig.java -index e0d4222a99f22d7130d95cf29b034a98f2f3b76e..089dd39d428bd1e3773769f2a50cc2f3bc1b4311 100644 +index d1351ed25c4de3e4989a47a793047b0614e8d0b2..0de990f5b90c3404cfbf52d3e75b3c0a3a98de14 100644 --- a/src/main/java/org/spigotmc/SpigotConfig.java +++ b/src/main/java/org/spigotmc/SpigotConfig.java @@ -151,7 +151,6 @@ public class SpigotConfig { diff --git a/leaf-server/paper-patches/features/0022-Replace-world-map-with-optimized-collection.patch b/leaf-server/paper-patches/features/0021-Replace-world-map-with-optimized-collection.patch similarity index 100% rename from leaf-server/paper-patches/features/0022-Replace-world-map-with-optimized-collection.patch rename to leaf-server/paper-patches/features/0021-Replace-world-map-with-optimized-collection.patch diff --git a/leaf-server/paper-patches/features/0023-Cache-CraftEntityType-minecraftToBukkit-convert.patch b/leaf-server/paper-patches/features/0022-Cache-CraftEntityType-minecraftToBukkit-convert.patch similarity index 100% rename from leaf-server/paper-patches/features/0023-Cache-CraftEntityType-minecraftToBukkit-convert.patch rename to leaf-server/paper-patches/features/0022-Cache-CraftEntityType-minecraftToBukkit-convert.patch diff --git a/leaf-server/paper-patches/features/0024-Multithreaded-Tracker.patch b/leaf-server/paper-patches/features/0023-Multithreaded-Tracker.patch similarity index 98% rename from leaf-server/paper-patches/features/0024-Multithreaded-Tracker.patch rename to leaf-server/paper-patches/features/0023-Multithreaded-Tracker.patch index 2d96ec10..39c5b084 100644 --- a/leaf-server/paper-patches/features/0024-Multithreaded-Tracker.patch +++ b/leaf-server/paper-patches/features/0023-Multithreaded-Tracker.patch @@ -41,7 +41,7 @@ index 379c2dc1853e45a96dda9b13bf28b7e08f65658a..361f4de9cdf0f7505628a2fed2a3f536 } // Leaves start - skip photographer diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index edcd209798740f31cb302f36d7864a0d8ea1d561..e2444cc9e28dd432bf3351066b1408102decfa0a 100644 +index edcd209798740f31cb302f36d7864a0d8ea1d561..e8b80ac3d2a54b9e855cad80c8a782007f5ea726 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java @@ -749,7 +749,7 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { diff --git a/leaf-server/paper-patches/features/0025-Asynchronous-locator.patch b/leaf-server/paper-patches/features/0024-Asynchronous-locator.patch similarity index 100% rename from leaf-server/paper-patches/features/0025-Asynchronous-locator.patch rename to leaf-server/paper-patches/features/0024-Asynchronous-locator.patch diff --git a/leaf-server/paper-patches/features/0026-EMC-Don-t-use-snapshots-for-acquiring-blockstate.patch b/leaf-server/paper-patches/features/0025-EMC-Don-t-use-snapshots-for-acquiring-blockstate.patch similarity index 94% rename from leaf-server/paper-patches/features/0026-EMC-Don-t-use-snapshots-for-acquiring-blockstate.patch rename to leaf-server/paper-patches/features/0025-EMC-Don-t-use-snapshots-for-acquiring-blockstate.patch index 4aee5897..7c00440e 100644 --- a/leaf-server/paper-patches/features/0026-EMC-Don-t-use-snapshots-for-acquiring-blockstate.patch +++ b/leaf-server/paper-patches/features/0025-EMC-Don-t-use-snapshots-for-acquiring-blockstate.patch @@ -7,7 +7,7 @@ Original license: MIT Original project: https://github.com/starlis/empirecraft diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java -index 5cb69d0b822e11a99a96aef4f59986d083b079f4..973b297a22c0cc53f966582c67c3688f4b2205c7 100644 +index 02e8a49d220ad99f7a5dc9786617f3759c3ca0d0..811823a1a7e24a19a7e37eb4c08efdfa19e839ed 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java +++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java @@ -331,7 +331,7 @@ public class CraftBlock implements Block { diff --git a/leaf-server/paper-patches/features/0027-Faster-CraftServer-getworlds-list-creation.patch b/leaf-server/paper-patches/features/0026-Faster-CraftServer-getworlds-list-creation.patch similarity index 100% rename from leaf-server/paper-patches/features/0027-Faster-CraftServer-getworlds-list-creation.patch rename to leaf-server/paper-patches/features/0026-Faster-CraftServer-getworlds-list-creation.patch diff --git a/leaf-server/paper-patches/features/0028-Cache-chunk-key.patch b/leaf-server/paper-patches/features/0027-Cache-chunk-key.patch similarity index 100% rename from leaf-server/paper-patches/features/0028-Cache-chunk-key.patch rename to leaf-server/paper-patches/features/0027-Cache-chunk-key.patch diff --git a/leaf-server/paper-patches/features/0029-Async-structure-locate-api.patch b/leaf-server/paper-patches/features/0028-Async-structure-locate-api.patch similarity index 97% rename from leaf-server/paper-patches/features/0029-Async-structure-locate-api.patch rename to leaf-server/paper-patches/features/0028-Async-structure-locate-api.patch index fa396fc3..41d95408 100644 --- a/leaf-server/paper-patches/features/0029-Async-structure-locate-api.patch +++ b/leaf-server/paper-patches/features/0028-Async-structure-locate-api.patch @@ -9,7 +9,7 @@ Added some asynchronous structure locate methods in World, requires async-locator to be enabled in Leaf config, or else it will fall back to sync methods. diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index ca60f91ef012c94174a0803eb77699ba9ecff5e1..15673166e566b2a6d5093210d99b154e69fab0ad 100644 +index daede6da974beb5ff19877caa5e6f8b3ecdf9000..af33cab59932f4ec135caf94dc5828930833daf6 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -2271,6 +2271,45 @@ public class CraftWorld extends CraftRegionAccessor implements World { diff --git a/leaf-server/paper-patches/features/0030-PlayerInventoryOverflowEvent.patch b/leaf-server/paper-patches/features/0029-PlayerInventoryOverflowEvent.patch similarity index 100% rename from leaf-server/paper-patches/features/0030-PlayerInventoryOverflowEvent.patch rename to leaf-server/paper-patches/features/0029-PlayerInventoryOverflowEvent.patch diff --git a/leaf-server/paper-patches/features/0031-SparklyPaper-Parallel-world-ticking.patch b/leaf-server/paper-patches/features/0030-SparklyPaper-Parallel-world-ticking.patch similarity index 100% rename from leaf-server/paper-patches/features/0031-SparklyPaper-Parallel-world-ticking.patch rename to leaf-server/paper-patches/features/0030-SparklyPaper-Parallel-world-ticking.patch diff --git a/leaf-server/paper-patches/features/0032-Paper-PR-Throttle-failed-spawn-attempts.patch b/leaf-server/paper-patches/features/0031-Paper-PR-Throttle-failed-spawn-attempts.patch similarity index 100% rename from leaf-server/paper-patches/features/0032-Paper-PR-Throttle-failed-spawn-attempts.patch rename to leaf-server/paper-patches/features/0031-Paper-PR-Throttle-failed-spawn-attempts.patch diff --git a/leaf-server/paper-patches/features/0033-Async-playerdata-saving.patch b/leaf-server/paper-patches/features/0032-Async-playerdata-saving.patch similarity index 100% rename from leaf-server/paper-patches/features/0033-Async-playerdata-saving.patch rename to leaf-server/paper-patches/features/0032-Async-playerdata-saving.patch diff --git a/leaf-server/paper-patches/features/0034-PaperPR-Fix-save-load-NaN-Entity-Motion.patch b/leaf-server/paper-patches/features/0033-PaperPR-Fix-save-load-NaN-Entity-Motion.patch similarity index 100% rename from leaf-server/paper-patches/features/0034-PaperPR-Fix-save-load-NaN-Entity-Motion.patch rename to leaf-server/paper-patches/features/0033-PaperPR-Fix-save-load-NaN-Entity-Motion.patch diff --git a/leaf-server/paper-patches/features/0035-PaperPR-Fix-unnecessary-map-data-saves.patch b/leaf-server/paper-patches/features/0034-PaperPR-Fix-unnecessary-map-data-saves.patch similarity index 100% rename from leaf-server/paper-patches/features/0035-PaperPR-Fix-unnecessary-map-data-saves.patch rename to leaf-server/paper-patches/features/0034-PaperPR-Fix-unnecessary-map-data-saves.patch diff --git a/leaf-server/paper-patches/features/0036-Async-chunk-send.patch b/leaf-server/paper-patches/features/0035-Async-chunk-send.patch similarity index 100% rename from leaf-server/paper-patches/features/0036-Async-chunk-send.patch rename to leaf-server/paper-patches/features/0035-Async-chunk-send.patch diff --git a/leaf-server/paper-patches/features/0037-Optimise-player-movement-checks.patch b/leaf-server/paper-patches/features/0036-Optimise-player-movement-checks.patch similarity index 100% rename from leaf-server/paper-patches/features/0037-Optimise-player-movement-checks.patch rename to leaf-server/paper-patches/features/0036-Optimise-player-movement-checks.patch diff --git a/leaf-server/paper-patches/features/0038-Paw-optimization.patch b/leaf-server/paper-patches/features/0037-Paw-optimization.patch similarity index 100% rename from leaf-server/paper-patches/features/0038-Paw-optimization.patch rename to leaf-server/paper-patches/features/0037-Paw-optimization.patch