From 00cd3cdcc85683e8a4d32ee95106b4276b6b6c22 Mon Sep 17 00:00:00 2001 From: Dreeam <61569423+Dreeam-qwq@users.noreply.github.com> Date: Fri, 2 May 2025 03:16:07 -0400 Subject: [PATCH] Rebuild patches --- .../features/0004-Gale-configuration.patch | 14 +- .../0009-Purpur-Server-Paper-Changes.patch | 203 +++++------------- ...e-for-plugins-not-shutting-down-task.patch | 4 +- .../0019-CraftBukkit-UUID-to-world-map.patch | 10 +- .../0020-Specific-interval-TPS-API.patch | 4 +- .../features/0021-5-second-TPS-average.patch | 4 +- .../features/0022-Last-tick-time-API.patch | 4 +- .../features/0028-KeYi-Player-Skull-API.patch | 4 +- .../0029-Slice-Smooth-Teleports.patch | 4 +- ...-SparklyPaper-Optimize-canSee-checks.patch | 4 +- .../0033-Including-5s-in-getTPS.patch | 4 +- .../features/0037-Matter-Secure-Seed.patch | 4 +- ...-world-map-with-optimized-collection.patch | 4 +- ...-CraftServer-getworlds-list-creation.patch | 4 +- .../0050-Async-playerdata-saving.patch | 6 +- 15 files changed, 85 insertions(+), 192 deletions(-) diff --git a/leaf-server/paper-patches/features/0004-Gale-configuration.patch b/leaf-server/paper-patches/features/0004-Gale-configuration.patch index 93f5c741..6010b85e 100644 --- a/leaf-server/paper-patches/features/0004-Gale-configuration.patch +++ b/leaf-server/paper-patches/features/0004-Gale-configuration.patch @@ -70,10 +70,10 @@ index 4a9258b62db3a9d1150f0dfbe916fa549b596686..7c2f3b46f94989e532694ce3fbba9048 + } diff --git a/src/main/java/io/papermc/paper/configuration/PaperConfigurations.java b/src/main/java/io/papermc/paper/configuration/PaperConfigurations.java -index e48fa405d92fab221fa8331b65c8f324e801d439..352d62385e56d5805510596ec9424e5d14336861 100644 +index 266932720ae0af0f17df18ad1570b29631ed2c2a..58d250bfd14690ed79ca7716b584cc3f91d0e7e6 100644 --- a/src/main/java/io/papermc/paper/configuration/PaperConfigurations.java +++ b/src/main/java/io/papermc/paper/configuration/PaperConfigurations.java -@@ -330,7 +330,7 @@ public class PaperConfigurations extends Configurations 0 || SysoutCatcher.NAG_TIMEOUT > 0) { diff --git a/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java b/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java -index 79e226da354d15ba9687d3f09c9b4f318cf40e8d..1456f2d1a92c8315177fb03d0c7ec943d5f5b097 100644 +index 43ae147ae15668d3357ff1f7ae66bcad241d3ff3..ecd9e392e9e026cbeac4c65bfdb7467f971ca92d 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java -@@ -339,6 +339,12 @@ public class CraftOfflinePlayer implements OfflinePlayer, ConfigurationSerializa +@@ -336,6 +336,12 @@ public class CraftOfflinePlayer implements OfflinePlayer, ConfigurationSerializa @Override public Location getLocation() { @@ -335,7 +301,7 @@ index 79e226da354d15ba9687d3f09c9b4f318cf40e8d..1456f2d1a92c8315177fb03d0c7ec943 CompoundTag data = this.getData(); if (data == null) { return null; -@@ -571,4 +577,183 @@ public class CraftOfflinePlayer implements OfflinePlayer, ConfigurationSerializa +@@ -573,4 +579,183 @@ public class CraftOfflinePlayer implements OfflinePlayer, ConfigurationSerializa manager.save(); } } @@ -520,10 +486,10 @@ index 79e226da354d15ba9687d3f09c9b4f318cf40e8d..1456f2d1a92c8315177fb03d0c7ec943 + // Purpur end - OfflinePlayer API } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 72bc64514079fa0b9588a7a7fdbc211c3e5f2769..fb6ec51678c8d8a02a29bdbfae8839e58ce7414c 100644 +index e299baae86bf0aa21294b2afc82623db838ce427..144bb76945677eaa63381db67ff8feac2e433021 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -423,6 +423,20 @@ public final class CraftServer implements Server { +@@ -426,6 +426,20 @@ public final class CraftServer implements Server { this.paperPluginManager = new io.papermc.paper.plugin.manager.PaperPluginManagerImpl(this, this.commandMap, pluginManager); this.pluginManager.paperPluginManager = this.paperPluginManager; // Paper end @@ -544,7 +510,7 @@ index 72bc64514079fa0b9588a7a7fdbc211c3e5f2769..fb6ec51678c8d8a02a29bdbfae8839e5 CraftRegistry.setMinecraftRegistry(console.registryAccess()); -@@ -1065,6 +1079,7 @@ public final class CraftServer implements Server { +@@ -1071,6 +1085,7 @@ public final class CraftServer implements Server { org.spigotmc.SpigotConfig.init((File) this.console.options.valueOf("spigot-settings")); // Spigot this.console.paperConfigurations.reloadConfigs(this.console); this.console.galeConfigurations.reloadConfigs(this.console); // Gale - Gale configuration @@ -552,7 +518,7 @@ index 72bc64514079fa0b9588a7a7fdbc211c3e5f2769..fb6ec51678c8d8a02a29bdbfae8839e5 for (ServerLevel world : this.console.getAllLevels()) { // world.serverLevelData.setDifficulty(config.difficulty); // Paper - per level difficulty world.setSpawnSettings(world.serverLevelData.getDifficulty() != Difficulty.PEACEFUL && config.spawnMonsters); // Paper - per level difficulty (from MinecraftServer#setDifficulty(ServerLevel, Difficulty, boolean)) -@@ -1080,6 +1095,7 @@ public final class CraftServer implements Server { +@@ -1086,6 +1101,7 @@ public final class CraftServer implements Server { } } world.spigotConfig.init(); // Spigot @@ -560,7 +526,7 @@ index 72bc64514079fa0b9588a7a7fdbc211c3e5f2769..fb6ec51678c8d8a02a29bdbfae8839e5 } Plugin[] pluginClone = pluginManager.getPlugins().clone(); // Paper -@@ -1097,6 +1113,7 @@ public final class CraftServer implements Server { +@@ -1103,6 +1119,7 @@ public final class CraftServer implements Server { org.spigotmc.SpigotConfig.registerCommands(); // Spigot io.papermc.paper.command.PaperCommands.registerCommands(this.console); // Paper this.spark.registerCommandBeforePlugins(this); // Paper - spark @@ -568,7 +534,7 @@ index 72bc64514079fa0b9588a7a7fdbc211c3e5f2769..fb6ec51678c8d8a02a29bdbfae8839e5 this.overrideAllCommandBlockCommands = this.commandsConfiguration.getStringList("command-block-overrides").contains("*"); this.ignoreVanillaPermissions = this.commandsConfiguration.getBoolean("ignore-vanilla-permissions"); -@@ -1596,6 +1613,60 @@ public final class CraftServer implements Server { +@@ -1602,6 +1619,60 @@ public final class CraftServer implements Server { return true; } @@ -629,7 +595,7 @@ index 72bc64514079fa0b9588a7a7fdbc211c3e5f2769..fb6ec51678c8d8a02a29bdbfae8839e5 @Override public List getRecipesFor(ItemStack result) { Preconditions.checkArgument(result != null, "ItemStack cannot be null"); -@@ -2951,6 +3022,18 @@ public final class CraftServer implements Server { +@@ -2968,6 +3039,18 @@ public final class CraftServer implements Server { } // Gale end - Gale configuration - API @@ -648,7 +614,7 @@ index 72bc64514079fa0b9588a7a7fdbc211c3e5f2769..fb6ec51678c8d8a02a29bdbfae8839e5 @Override public void restart() { CraftServer.this.restart(); -@@ -3190,4 +3273,18 @@ public final class CraftServer implements Server { +@@ -3207,4 +3290,18 @@ public final class CraftServer implements Server { public void allowPausing(final Plugin plugin, final boolean value) { this.console.addPluginAllowingSleep(plugin.getName(), value); } @@ -874,10 +840,10 @@ index 6e2f931b06d4ef702e0abf609a5f5bba780c5b7a..15ae2653c1809041b7ab7cb67015e82c @Override diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEndermite.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEndermite.java -index 4d5958405e1c86c289d24500705686e7da02c3f6..86541e322fcacb6c525af39ba2675b71bd799af8 100644 +index 000c5ea5d39d5ab6e5592012ab1cc7ee547505dc..140da7078217f833f490d88faaf803ab1763115d 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEndermite.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEndermite.java -@@ -21,12 +21,12 @@ public class CraftEndermite extends CraftMonster implements Endermite { +@@ -16,12 +16,12 @@ public class CraftEndermite extends CraftMonster implements Endermite { @Override public boolean isPlayerSpawned() { @@ -893,7 +859,7 @@ index 4d5958405e1c86c289d24500705686e7da02c3f6..86541e322fcacb6c525af39ba2675b71 @Override diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index c8caeba7737c2386f7194207a5ea11b74c6179e4..8feb78c4d7fa793f01991756b618fc49de023db6 100644 +index cd145edc45776c3b7af6295872b65ca74e5b3107..58c60172c4e71afa5ac41f56b15d6b1592b7e082 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java @@ -98,6 +98,25 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { @@ -922,7 +888,7 @@ index c8caeba7737c2386f7194207a5ea11b74c6179e4..8feb78c4d7fa793f01991756b618fc49 public static CraftEntity getEntity(CraftServer server, T entity) { Preconditions.checkArgument(entity != null, "Unknown entity"); -@@ -255,6 +274,7 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { +@@ -287,6 +306,7 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { boolean retainPassengers = flagSet.contains(io.papermc.paper.entity.TeleportFlag.EntityState.RETAIN_PASSENGERS); // Don't allow teleporting between worlds while keeping passengers if (flagSet.contains(io.papermc.paper.entity.TeleportFlag.EntityState.RETAIN_PASSENGERS) && this.entity.isVehicle() && location.getWorld() != this.getWorld()) { @@ -958,10 +924,10 @@ index c8caeba7737c2386f7194207a5ea11b74c6179e4..8feb78c4d7fa793f01991756b618fc49 + // Purpur end - Ridables } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java -index e0e6a5087a8da7926d1e731e28a1800036acb9f4..5b7c8516d8a6ae993d4c556e3e742deb57bf4096 100644 +index 934eb5c668b09d871c62a17c8d0916723fa25695..d4e36d6d2e11d43db4c80bf95d0a935f99de576e 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java -@@ -277,6 +277,7 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity { +@@ -295,6 +295,7 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity { @Override public void recalculatePermissions() { this.perm.recalculatePermissions(); @@ -970,10 +936,10 @@ index e0e6a5087a8da7926d1e731e28a1800036acb9f4..5b7c8516d8a6ae993d4c556e3e742deb @Override diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftIronGolem.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftIronGolem.java -index 63cae1a2e95d8da17c45c4404a8dd0ca6a413c39..464a3713845548473a357ea66c6147b10ff2cb16 100644 +index 2d7be6f2afe32fd7555640989313052d37973e61..5bafbb876e4780ff6ea0408c95007bdfcef8fa89 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftIronGolem.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftIronGolem.java -@@ -27,4 +27,17 @@ public class CraftIronGolem extends CraftGolem implements IronGolem { +@@ -22,4 +22,17 @@ public class CraftIronGolem extends CraftGolem implements IronGolem { public void setPlayerCreated(boolean playerCreated) { this.getHandle().setPlayerCreated(playerCreated); } @@ -992,12 +958,12 @@ index 63cae1a2e95d8da17c45c4404a8dd0ca6a413c39..464a3713845548473a357ea66c6147b1 + // Purpur end - Summoner API } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java -index cef51ad02f079695d75d9c87f5878b13702eda8e..0140b99fc8f60216dea77c11e1c5a231628d990f 100644 +index ca656d97a00eef86773be9833fd908283002c885..01759ae999cd158e540f1e282473740758d6cf54 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java -@@ -148,4 +148,53 @@ public class CraftItem extends CraftEntity implements Item { - public String toString() { - return "CraftItem"; +@@ -143,4 +143,53 @@ public class CraftItem extends CraftEntity implements Item { + public UUID getThrower() { + return this.getHandle().thrower; } + + // Purpur start - Item entity immunities @@ -1050,10 +1016,10 @@ index cef51ad02f079695d75d9c87f5878b13702eda8e..0140b99fc8f60216dea77c11e1c5a231 + // Purpur end - Item entity immunities } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index bd39ecac806a008583eaf041c75e1bb95a3912b7..5b74ca7c52fb0437726a2a00483134884dc50b2f 100644 +index ff8987ca8f0d88c80f7229b33e6b356f1e342010..fda6883bca79e99e486aef87866d8877eea9f140 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -@@ -520,7 +520,7 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { +@@ -518,7 +518,7 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { net.minecraft.server.level.ServerPlayer nmsKiller = killer == null ? null : ((CraftPlayer) killer).getHandle(); this.getHandle().setLastHurtByMob(nmsKiller); if (nmsKiller != null) { @@ -1062,9 +1028,9 @@ index bd39ecac806a008583eaf041c75e1bb95a3912b7..5b74ca7c52fb0437726a2a0048313488 } else { this.getHandle().lastHurtByPlayer = null; this.getHandle().lastHurtByPlayerMemoryTime = 0; -@@ -1167,4 +1167,16 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { - public boolean canUseEquipmentSlot(org.bukkit.inventory.EquipmentSlot slot) { - return this.getHandle().canUseSlot(org.bukkit.craftbukkit.CraftEquipmentSlot.getNMS(slot)); +@@ -1170,4 +1170,16 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { + public CombatTracker getCombatTracker() { + return this.combatTracker; } + + // Purpur start - API for any mob to burn daylight @@ -1080,10 +1046,10 @@ index bd39ecac806a008583eaf041c75e1bb95a3912b7..5b74ca7c52fb0437726a2a0048313488 + // Purpur end - API for any mob to burn daylight } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLlama.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLlama.java -index 9aaaf2fc6a7bc49d1c3d0be68854e7fb2524fd25..a8e045af6b3b20027877d958d58dc09ca078aaf1 100644 +index 02deb9c37250144be9afa0fe55df2a49017a7070..dfb597fcb8d01ed6cf20eae57e260949356275de 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLlama.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLlama.java -@@ -92,4 +92,17 @@ public class CraftLlama extends CraftChestedHorse implements Llama, com.destroys +@@ -86,4 +86,17 @@ public class CraftLlama extends CraftChestedHorse implements Llama, com.destroys public Llama getCaravanTail() { return this.getHandle().caravanTail == null ? null : (Llama) this.getHandle().caravanTail.getBukkitEntity(); } @@ -1102,10 +1068,10 @@ index 9aaaf2fc6a7bc49d1c3d0be68854e7fb2524fd25..a8e045af6b3b20027877d958d58dc09c + // Purpur end - Llama API } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index df6612a86f7b0c06d8733852bf5c46b37a81bc3e..a5cf4e4b9cc35bd81b530bc3eac31b0af3d72b7c 100644 +index c6ca86dbbb483c2093cbedd8588755dad67c981a..09fc84319df0adb741dc29092ae33768878c8676 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -591,10 +591,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -612,10 +612,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @Override public void setPlayerListName(String name) { @@ -1122,7 +1088,7 @@ index df6612a86f7b0c06d8733852bf5c46b37a81bc3e..a5cf4e4b9cc35bd81b530bc3eac31b0a if (this.getHandle().connection == null) return; // Paper - Updates are possible before the player has fully joined for (ServerPlayer player : (List) this.server.getHandle().players) { if (player.getBukkitEntity().canSee(this)) { -@@ -1416,6 +1421,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1429,6 +1434,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { // Paper start - Teleport passenger API // Don't allow teleporting between worlds while keeping passengers if (ignorePassengers && entity.isVehicle() && location.getWorld() != this.getWorld()) { @@ -1130,7 +1096,7 @@ index df6612a86f7b0c06d8733852bf5c46b37a81bc3e..a5cf4e4b9cc35bd81b530bc3eac31b0a return false; } -@@ -1437,6 +1443,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1450,6 +1456,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { } if (entity.isVehicle() && !ignorePassengers) { // Paper - Teleport API @@ -1138,7 +1104,7 @@ index df6612a86f7b0c06d8733852bf5c46b37a81bc3e..a5cf4e4b9cc35bd81b530bc3eac31b0a return false; } -@@ -2731,6 +2738,28 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2723,6 +2730,28 @@ public class CraftPlayer extends CraftHumanEntity implements Player { return this.getHandle().getAbilities().walkingSpeed * 2f; } @@ -1167,7 +1133,7 @@ index df6612a86f7b0c06d8733852bf5c46b37a81bc3e..a5cf4e4b9cc35bd81b530bc3eac31b0a private void validateSpeed(float value) { Preconditions.checkArgument(value <= 1f && value >= -1f, "Speed value (%s) need to be between -1f and 1f", value); } -@@ -3593,4 +3622,76 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -3585,4 +3614,76 @@ public class CraftPlayer extends CraftHumanEntity implements Player { public void setSimplifyContainerDesyncCheck(final boolean simplifyContainerDesyncCheck) { this.simplifyContainerDesyncCheck = simplifyContainerDesyncCheck; } @@ -1245,12 +1211,12 @@ index df6612a86f7b0c06d8733852bf5c46b37a81bc3e..a5cf4e4b9cc35bd81b530bc3eac31b0a + // Purpur end - Death screen API } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftSnowman.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftSnowman.java -index 4ce2373ff71c3c1b8951646e057587a3ab09e145..997b8e5059569de4ee8e70127c5d6019ce53afe3 100644 +index f03f9f94c51ef2f2eb24e4f65ec69b542b1c0a07..af60e3ef00ce1e98708d9963d466e72b6cde53cc 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftSnowman.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftSnowman.java -@@ -28,4 +28,17 @@ public class CraftSnowman extends CraftGolem implements Snowman, com.destroystok - public String toString() { - return "CraftSnowman"; +@@ -24,4 +24,17 @@ public class CraftSnowman extends CraftGolem implements Snowman, com.destroystok + public void setDerp(boolean derpMode) { + this.getHandle().setPumpkin(!derpMode); } + + // Purpur start - Summoner API @@ -1267,10 +1233,10 @@ index 4ce2373ff71c3c1b8951646e057587a3ab09e145..997b8e5059569de4ee8e70127c5d6019 + // Purpur end - Summoner API } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftVillager.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftVillager.java -index 196e64467d642b887b8dda2b2130518b22c9f593..d6169e59b4a08a31007f579b747ee3a375c48613 100644 +index 258e149a4c239328f4b068ac4617ca63b788dab3..a69b1b56a0e34673005e5da700943c656d2ec724 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftVillager.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftVillager.java -@@ -385,4 +385,12 @@ public class CraftVillager extends CraftAbstractVillager implements Villager { +@@ -380,4 +380,12 @@ public class CraftVillager extends CraftAbstractVillager implements Villager { public void clearReputations() { getHandle().getGossips().gossips.clear(); } @@ -1284,10 +1250,10 @@ index 196e64467d642b887b8dda2b2130518b22c9f593..d6169e59b4a08a31007f579b747ee3a3 + // Purpur end - Lobotomize stuck villagers } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftWither.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftWither.java -index 51383cd065bd3731fff70091be52f340922dab0a..92029ba33c768e5732b7b2d3a9d7902c44218bb2 100644 +index 2e11df97e5c8ff5fbf22ba87946d6018ac8bbbed..83b779eb0adcaf2e6d5658cddc2607f6deea6bb9 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftWither.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftWither.java -@@ -97,4 +97,18 @@ public class CraftWither extends CraftMonster implements Wither, com.destroystok +@@ -92,4 +92,18 @@ public class CraftWither extends CraftMonster implements Wither, com.destroystok public void enterInvulnerabilityPhase() { this.getHandle().makeInvulnerable(); } @@ -1307,10 +1273,10 @@ index 51383cd065bd3731fff70091be52f340922dab0a..92029ba33c768e5732b7b2d3a9d7902c + // Purpur end - Summoner API } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftWolf.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftWolf.java -index b9cd648b296bc53cbc2d53486cbbb611c3e895a3..f127499eb79a282df7db337d8a6737daeeb6e7e4 100644 +index c3bd4cc1458bf62639d43854c2fdd0b479993b22..52a492ed8651e2ecb8b47cc3394fa4c722f99b71 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftWolf.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftWolf.java -@@ -227,4 +227,15 @@ public class CraftWolf extends CraftTameableAnimal implements Wolf { +@@ -228,4 +228,15 @@ public class CraftWolf extends CraftTameableAnimal implements Wolf { return this.getKey().hashCode(); } } @@ -1355,10 +1321,10 @@ index a7e3afe04ffbb0fd5fa5fcf7cd15efd7cea1c4e0..f32316b0357f1cb0501a052361a0221f event = new EntityDamageEvent(damagee.getBukkitEntity(), cause, bukkitDamageSource, modifiers, modifierFunctions); } diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftContainer.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftContainer.java -index 1ce328bed5cf3d087a3f7dc9236153381d758493..364afc994443f6c64af4f9ebbe210da63e18681c 100644 +index c00ddfe41439954fa0fd87c0933f274c8a752eb6..5fde4c71915f55f100cd30406803d6fca5b573dc 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftContainer.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftContainer.java -@@ -145,8 +145,19 @@ public class CraftContainer extends AbstractContainerMenu { +@@ -150,8 +150,19 @@ public class CraftContainer extends AbstractContainerMenu { case PLAYER: case CHEST: case ENDER_CHEST: @@ -1855,79 +1821,6 @@ index a38d464b470bacd9280fb4ae69f3600cbd5dbe22..a36b0b535252c06fc426535ad2138e23 DefaultPermissions.registerPermission(CommandPermissions.PREFIX + "experience", "Allows the user to give themselves or others arbitrary values of experience", PermissionDefault.OP, commands); // Paper - wrong permission; redirects are de-redirected and the root literal name is used, so xp -> experience DefaultPermissions.registerPermission(CommandPermissions.PREFIX + "defaultgamemode", "Allows the user to change the default gamemode of the server", PermissionDefault.OP, commands); DefaultPermissions.registerPermission(CommandPermissions.PREFIX + "seed", "Allows the user to view the seed of the world", PermissionDefault.OP, commands); -diff --git a/src/main/java/org/purpurmc/purpur/configuration/transformation/VoidDamageHeightMigration.java b/src/main/java/org/purpurmc/purpur/configuration/transformation/VoidDamageHeightMigration.java -new file mode 100644 -index 0000000000000000000000000000000000000000..a04d23bd98075cd65a24d4de8d18281d1668480f ---- /dev/null -+++ b/src/main/java/org/purpurmc/purpur/configuration/transformation/VoidDamageHeightMigration.java -@@ -0,0 +1,67 @@ -+package org.purpurmc.purpur.configuration.transformation; -+ -+import io.papermc.paper.configuration.Configurations; -+import io.papermc.paper.configuration.PaperConfigurations; -+import io.papermc.paper.configuration.type.number.DoubleOr; -+import java.util.OptionalDouble; -+import org.checkerframework.checker.nullness.qual.Nullable; -+import org.purpurmc.purpur.PurpurConfig; -+import org.spongepowered.configurate.ConfigurateException; -+import org.spongepowered.configurate.ConfigurationNode; -+import org.spongepowered.configurate.NodePath; -+import org.spongepowered.configurate.transformation.ConfigurationTransformation; -+import org.spongepowered.configurate.transformation.TransformAction; -+ -+import static org.spongepowered.configurate.NodePath.path; -+ -+public class VoidDamageHeightMigration implements TransformAction { -+ -+ public static boolean HAS_BEEN_REGISTERED = false; -+ -+ public static final String ENVIRONMENT_KEY = "environment"; -+ public static final String VOID_DAMAGE_KEY = "void-damage-amount"; -+ public static final String VOID_DAMAGE_MIN_HEIGHT_OFFSET_KEY = "void-damage-min-build-height-offset"; -+ public static final double DEFAULT_VOID_DAMAGE_HEIGHT = -64.0D; -+ public static final double DEFAULT_VOID_DAMAGE = 4.0D; -+ -+ private final String worldName; -+ -+ private VoidDamageHeightMigration(String worldName) { -+ this.worldName = PaperConfigurations.WORLD_DEFAULTS.equals(worldName) ? "default" : worldName; -+ } -+ -+ @Override -+ public Object @Nullable [] visitPath(final NodePath path, final ConfigurationNode value) throws ConfigurateException { -+ String purpurVoidDamageHeightPath = "world-settings." + this.worldName + ".gameplay-mechanics.void-damage-height"; -+ ConfigurationNode voidDamageMinHeightOffsetNode = value.node(ENVIRONMENT_KEY, VOID_DAMAGE_MIN_HEIGHT_OFFSET_KEY); -+ if (PurpurConfig.config.contains(purpurVoidDamageHeightPath)) { -+ double purpurVoidDamageHeight = PurpurConfig.config.getDouble(purpurVoidDamageHeightPath); -+ if (purpurVoidDamageHeight != DEFAULT_VOID_DAMAGE_HEIGHT && (voidDamageMinHeightOffsetNode.empty() || voidDamageMinHeightOffsetNode.getDouble() == DEFAULT_VOID_DAMAGE_HEIGHT)) { -+ voidDamageMinHeightOffsetNode.raw(null); -+ voidDamageMinHeightOffsetNode.set(purpurVoidDamageHeight); -+ } -+ PurpurConfig.config.set(purpurVoidDamageHeightPath, null); -+ } -+ -+ String purpurVoidDamagePath = "world-settings." + this.worldName + ".gameplay-mechanics.void-damage-dealt"; -+ ConfigurationNode voidDamageNode = value.node(ENVIRONMENT_KEY, VOID_DAMAGE_KEY); -+ if (PurpurConfig.config.contains(purpurVoidDamagePath)) { -+ double purpurVoidDamage = PurpurConfig.config.getDouble(purpurVoidDamagePath); -+ if (purpurVoidDamage != DEFAULT_VOID_DAMAGE && (voidDamageNode.empty() || voidDamageNode.getDouble() == DEFAULT_VOID_DAMAGE)) { -+ voidDamageNode.raw(null); -+ voidDamageNode.set(new DoubleOr.Disabled(OptionalDouble.of(purpurVoidDamage))); -+ } -+ PurpurConfig.config.set(purpurVoidDamagePath, null); -+ } -+ -+ return null; -+ } -+ -+ public static void apply(final ConfigurationTransformation.Builder builder, final Configurations.ContextMap contextMap) { -+ if (PurpurConfig.version < 36) { -+ HAS_BEEN_REGISTERED = true; -+ builder.addAction(path(), new VoidDamageHeightMigration(contextMap.require(Configurations.WORLD_NAME))); -+ } -+ } -+ -+} diff --git a/src/main/resources/log4j2.xml b/src/main/resources/log4j2.xml index d2a75850af9c6ad2aca66a5f994f1b587d73eac4..a056aa167887abef9e6d531a9edd2cda433567d2 100644 --- a/src/main/resources/log4j2.xml diff --git a/leaf-server/paper-patches/features/0012-Print-stack-trace-for-plugins-not-shutting-down-task.patch b/leaf-server/paper-patches/features/0012-Print-stack-trace-for-plugins-not-shutting-down-task.patch index 2a025661..d55b11ab 100644 --- a/leaf-server/paper-patches/features/0012-Print-stack-trace-for-plugins-not-shutting-down-task.patch +++ b/leaf-server/paper-patches/features/0012-Print-stack-trace-for-plugins-not-shutting-down-task.patch @@ -31,10 +31,10 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 3c237f2002e6463efe6bd8ffa2235ce6a6a3e5ec..542c695fe4a0a092233cb478e1ed9c4548409091 100644 +index 144bb76945677eaa63381db67ff8feac2e433021..2ca0a5e491e22fb049e8132dcfceaad97613ec1f 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -1175,6 +1175,13 @@ public final class CraftServer implements Server { +@@ -1181,6 +1181,13 @@ public final class CraftServer implements Server { plugin.getPluginMeta().getDisplayName(), "This plugin is not properly shutting down its async tasks when it is being shut down. This task may throw errors during the final shutdown logs and might not complete before process dies." )); diff --git a/leaf-server/paper-patches/features/0019-CraftBukkit-UUID-to-world-map.patch b/leaf-server/paper-patches/features/0019-CraftBukkit-UUID-to-world-map.patch index 6693e3d9..3f9b602b 100644 --- a/leaf-server/paper-patches/features/0019-CraftBukkit-UUID-to-world-map.patch +++ b/leaf-server/paper-patches/features/0019-CraftBukkit-UUID-to-world-map.patch @@ -13,10 +13,10 @@ As part of: MultiPaper (https://github.com/MultiPaper/MultiPaper) Licensed under: GPL-3.0 (https://www.gnu.org/licenses/gpl-3.0.html) diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 542c695fe4a0a092233cb478e1ed9c4548409091..b3a40db1eb9874392723c5f74546781879ff6c10 100644 +index 2ca0a5e491e22fb049e8132dcfceaad97613ec1f..d2b9af1ddf67d751422ff994475669a00c187a4e 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -282,6 +282,7 @@ public final class CraftServer implements Server { +@@ -285,6 +285,7 @@ public final class CraftServer implements Server { final DedicatedServer console; private final DedicatedPlayerList playerList; private final Map worlds = new LinkedHashMap<>(); @@ -24,7 +24,7 @@ index 542c695fe4a0a092233cb478e1ed9c4548409091..b3a40db1eb9874392723c5f745467818 private YamlConfiguration configuration; private YamlConfiguration commandsConfiguration; private final Yaml yaml = new Yaml(new SafeConstructor(new LoaderOptions())); -@@ -1503,6 +1504,7 @@ public final class CraftServer implements Server { +@@ -1509,6 +1510,7 @@ public final class CraftServer implements Server { this.getLogger().log(Level.SEVERE, null, ex); } @@ -32,7 +32,7 @@ index 542c695fe4a0a092233cb478e1ed9c4548409091..b3a40db1eb9874392723c5f745467818 this.worlds.remove(world.getName().toLowerCase(Locale.ROOT)); this.console.removeLevel(handle); return true; -@@ -1521,12 +1523,7 @@ public final class CraftServer implements Server { +@@ -1527,12 +1529,7 @@ public final class CraftServer implements Server { @Override public World getWorld(UUID uid) { @@ -46,7 +46,7 @@ index 542c695fe4a0a092233cb478e1ed9c4548409091..b3a40db1eb9874392723c5f745467818 } @Override -@@ -1542,6 +1539,7 @@ public final class CraftServer implements Server { +@@ -1548,6 +1545,7 @@ public final class CraftServer implements Server { System.out.println("World " + world.getName() + " is a duplicate of another world and has been prevented from loading. Please delete the uid.dat file from " + world.getName() + "'s world directory if you want to be able to load the duplicate world."); return; } diff --git a/leaf-server/paper-patches/features/0020-Specific-interval-TPS-API.patch b/leaf-server/paper-patches/features/0020-Specific-interval-TPS-API.patch index 3624201f..dc75875c 100644 --- a/leaf-server/paper-patches/features/0020-Specific-interval-TPS-API.patch +++ b/leaf-server/paper-patches/features/0020-Specific-interval-TPS-API.patch @@ -7,10 +7,10 @@ License: GPL-3.0 (https://www.gnu.org/licenses/gpl-3.0.html) Gale - https://galemc.org diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index b3a40db1eb9874392723c5f74546781879ff6c10..9a92d8e7593de84458a22d72819bfbb3ff1bad9a 100644 +index d2b9af1ddf67d751422ff994475669a00c187a4e..2a79af83a4a2f0c28bf8f54eac46b5b9f14714fc 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -3077,6 +3077,23 @@ public final class CraftServer implements Server { +@@ -3094,6 +3094,23 @@ public final class CraftServer implements Server { }; } diff --git a/leaf-server/paper-patches/features/0021-5-second-TPS-average.patch b/leaf-server/paper-patches/features/0021-5-second-TPS-average.patch index cd1c7410..5a87e363 100644 --- a/leaf-server/paper-patches/features/0021-5-second-TPS-average.patch +++ b/leaf-server/paper-patches/features/0021-5-second-TPS-average.patch @@ -58,10 +58,10 @@ index 12b327eea95e0de9e9c39b7d039badee8ec46508..6178f0212214a2a075cea60c758dca79 } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 9a92d8e7593de84458a22d72819bfbb3ff1bad9a..b34138df70d548756b9fbf876b205bf2434cc6b2 100644 +index 2a79af83a4a2f0c28bf8f54eac46b5b9f14714fc..7f7f0cdfd07ba4cece20d11c580c7956efeea3ed 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -3077,7 +3077,26 @@ public final class CraftServer implements Server { +@@ -3094,7 +3094,26 @@ public final class CraftServer implements Server { }; } diff --git a/leaf-server/paper-patches/features/0022-Last-tick-time-API.patch b/leaf-server/paper-patches/features/0022-Last-tick-time-API.patch index 83851e0a..ac2f0eb7 100644 --- a/leaf-server/paper-patches/features/0022-Last-tick-time-API.patch +++ b/leaf-server/paper-patches/features/0022-Last-tick-time-API.patch @@ -23,10 +23,10 @@ The above copyright notice and this permission notice shall be included in all c THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index b34138df70d548756b9fbf876b205bf2434cc6b2..a1966546aaf211afae09c2c270439c4f94621419 100644 +index 7f7f0cdfd07ba4cece20d11c580c7956efeea3ed..28c3404f5d578b0f389cad9130150191d36cae66 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -3328,4 +3328,21 @@ public final class CraftServer implements Server { +@@ -3345,4 +3345,21 @@ public final class CraftServer implements Server { return getServer().lagging; } // Purpur end - Lagging threshold diff --git a/leaf-server/paper-patches/features/0028-KeYi-Player-Skull-API.patch b/leaf-server/paper-patches/features/0028-KeYi-Player-Skull-API.patch index efa1f618..af0f5730 100644 --- a/leaf-server/paper-patches/features/0028-KeYi-Player-Skull-API.patch +++ b/leaf-server/paper-patches/features/0028-KeYi-Player-Skull-API.patch @@ -7,10 +7,10 @@ Original license: MIT Original project: https://github.com/KeYiMC/KeYi diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index a5cf4e4b9cc35bd81b530bc3eac31b0af3d72b7c..1e79f854abcf62f221a56657997ad1c3745ef8f1 100644 +index 09fc84319df0adb741dc29092ae33768878c8676..3136caefa8c663b27cda29ff4de911ac71a1110d 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -3694,4 +3694,31 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -3686,4 +3686,31 @@ public class CraftPlayer extends CraftHumanEntity implements Player { this.getHandle().connection.send(new net.minecraft.network.protocol.game.ClientboundPlayerCombatKillPacket(getEntityId(), io.papermc.paper.adventure.PaperAdventure.asVanilla(message))); } // Purpur end - Death screen API diff --git a/leaf-server/paper-patches/features/0029-Slice-Smooth-Teleports.patch b/leaf-server/paper-patches/features/0029-Slice-Smooth-Teleports.patch index cbd6a2f5..7af4c236 100644 --- a/leaf-server/paper-patches/features/0029-Slice-Smooth-Teleports.patch +++ b/leaf-server/paper-patches/features/0029-Slice-Smooth-Teleports.patch @@ -9,10 +9,10 @@ Original project: https://github.com/Cryptite/Slice Co-authored-by: HaHaWTH <102713261+HaHaWTH@users.noreply.github.com> diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 1e79f854abcf62f221a56657997ad1c3745ef8f1..834d845986d1baa7cf1c4275e39aaef8efa2db8e 100644 +index 3136caefa8c663b27cda29ff4de911ac71a1110d..43ddb8b40563542212c96df4459be4f61bf254ee 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -1366,6 +1366,25 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1379,6 +1379,25 @@ public class CraftPlayer extends CraftHumanEntity implements Player { // Paper end - Teleportation API } diff --git a/leaf-server/paper-patches/features/0032-SparklyPaper-Optimize-canSee-checks.patch b/leaf-server/paper-patches/features/0032-SparklyPaper-Optimize-canSee-checks.patch index 9e7c7ea8..67105533 100644 --- a/leaf-server/paper-patches/features/0032-SparklyPaper-Optimize-canSee-checks.patch +++ b/leaf-server/paper-patches/features/0032-SparklyPaper-Optimize-canSee-checks.patch @@ -16,7 +16,7 @@ This seems stupid, but it does seem that it improves the performance a bit, and We also create a "canSee" method tailored for "ChunkMap#updatePlayer()", a method without the equals check (the "updatePlayer()" already checks if the entity is the same entity) because the CraftPlayer's `equals()` check is a *bit* expensive compared to only checking the object's identity, and because the identity has already been check, we don't need to check it twice. diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 834d845986d1baa7cf1c4275e39aaef8efa2db8e..b05b651dbb14602bd58073e64b7d10d55be0d645 100644 +index 43ddb8b40563542212c96df4459be4f61bf254ee..6355c24d0feed63b139433b49986d3337f8c44db 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -212,7 +212,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @@ -28,7 +28,7 @@ index 834d845986d1baa7cf1c4275e39aaef8efa2db8e..b05b651dbb14602bd58073e64b7d10d5 private final Set unlistedEntities = new HashSet<>(); // Paper - Add Listing API for Player private static final WeakHashMap> pluginWeakReferences = new WeakHashMap<>(); private int hash = 0; -@@ -2273,9 +2273,16 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2287,9 +2287,16 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @Override public boolean canSee(org.bukkit.entity.Entity entity) { diff --git a/leaf-server/paper-patches/features/0033-Including-5s-in-getTPS.patch b/leaf-server/paper-patches/features/0033-Including-5s-in-getTPS.patch index 7f683b60..97e6a0a2 100644 --- a/leaf-server/paper-patches/features/0033-Including-5s-in-getTPS.patch +++ b/leaf-server/paper-patches/features/0033-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 a1966546aaf211afae09c2c270439c4f94621419..5e80332c995177ba360ab829ca9b3cfc642fe32b 100644 +index 28c3404f5d578b0f389cad9130150191d36cae66..ebabca940f34f31176e9b82c1a9f584229571b6b 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -3070,6 +3070,8 @@ public final class CraftServer implements Server { +@@ -3087,6 +3087,8 @@ public final class CraftServer implements Server { @Override public double[] getTPS() { diff --git a/leaf-server/paper-patches/features/0037-Matter-Secure-Seed.patch b/leaf-server/paper-patches/features/0037-Matter-Secure-Seed.patch index 87a81b2b..be394e46 100644 --- a/leaf-server/paper-patches/features/0037-Matter-Secure-Seed.patch +++ b/leaf-server/paper-patches/features/0037-Matter-Secure-Seed.patch @@ -34,10 +34,10 @@ index 400e632208d133a3f49fc7f14bceb48a1026769b..8c4e5b0c81d90a0eeee4ab9e5882b137 @Override diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index a4364399d9bf1799bebd0825bc85b33e180769ab..b60fc32d2cabc38f2a921f8427b5747dcfe33e06 100644 +index ebabca940f34f31176e9b82c1a9f584229571b6b..b4cddcf1075df81224e25ecdc298eb7fd6446ba6 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -1371,7 +1371,11 @@ public final class CraftServer implements Server { +@@ -1377,7 +1377,11 @@ public final class CraftServer implements Server { registryAccess = levelDataAndDimensions.dimensions().dimensionsRegistryAccess(); } else { LevelSettings levelSettings; diff --git a/leaf-server/paper-patches/features/0040-Replace-world-map-with-optimized-collection.patch b/leaf-server/paper-patches/features/0040-Replace-world-map-with-optimized-collection.patch index af6f46a0..c05e3057 100644 --- a/leaf-server/paper-patches/features/0040-Replace-world-map-with-optimized-collection.patch +++ b/leaf-server/paper-patches/features/0040-Replace-world-map-with-optimized-collection.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Replace world map with optimized collection diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 84752038245c15e60cc5d8280b8cc37259ca3e3e..ce866cecc1012f91577ee4dd90957d905c7134d6 100644 +index b4cddcf1075df81224e25ecdc298eb7fd6446ba6..78fe9bea28907ac18746f8851f474f2c1cec0864 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -281,7 +281,7 @@ public final class CraftServer implements Server { +@@ -284,7 +284,7 @@ public final class CraftServer implements Server { private final StructureManager structureManager; final DedicatedServer console; private final DedicatedPlayerList playerList; diff --git a/leaf-server/paper-patches/features/0045-Faster-CraftServer-getworlds-list-creation.patch b/leaf-server/paper-patches/features/0045-Faster-CraftServer-getworlds-list-creation.patch index c3d63caf..58907936 100644 --- a/leaf-server/paper-patches/features/0045-Faster-CraftServer-getworlds-list-creation.patch +++ b/leaf-server/paper-patches/features/0045-Faster-CraftServer-getworlds-list-creation.patch @@ -8,10 +8,10 @@ replacing ArrayList with Fastutil ObjectArrayList brings about 40% performance improvement in benchmark. diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index ce866cecc1012f91577ee4dd90957d905c7134d6..4310e92720fce2d792c610156be610c281c3ab2b 100644 +index 78fe9bea28907ac18746f8851f474f2c1cec0864..65e1ba2e51e1114fc31c2083152441ab5633cf1a 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -968,7 +968,7 @@ public final class CraftServer implements Server { +@@ -974,7 +974,7 @@ public final class CraftServer implements Server { @Override public List getWorlds() { diff --git a/leaf-server/paper-patches/features/0050-Async-playerdata-saving.patch b/leaf-server/paper-patches/features/0050-Async-playerdata-saving.patch index 47bdb8e2..aa224fb2 100644 --- a/leaf-server/paper-patches/features/0050-Async-playerdata-saving.patch +++ b/leaf-server/paper-patches/features/0050-Async-playerdata-saving.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Async playerdata saving diff --git a/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java b/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java -index 1456f2d1a92c8315177fb03d0c7ec943d5f5b097..aadc92b9e82bfe3d65ea8f47ac28ba2d70eb3a7f 100644 +index ecd9e392e9e026cbeac4c65bfdb7467f971ca92d..ce27ab19b3b2bc4f5de7b5f6b13f3f5786a61f84 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java -@@ -199,7 +199,7 @@ public class CraftOfflinePlayer implements OfflinePlayer, ConfigurationSerializa +@@ -196,7 +196,7 @@ public class CraftOfflinePlayer implements OfflinePlayer, ConfigurationSerializa } private CompoundTag getData() { @@ -17,7 +17,7 @@ index 1456f2d1a92c8315177fb03d0c7ec943d5f5b097..aadc92b9e82bfe3d65ea8f47ac28ba2d } private CompoundTag getBukkitData() { -@@ -744,16 +744,7 @@ public class CraftOfflinePlayer implements OfflinePlayer, ConfigurationSerializa +@@ -746,16 +746,7 @@ public class CraftOfflinePlayer implements OfflinePlayer, ConfigurationSerializa * @param compoundTag */ private void save(CompoundTag compoundTag) {