From cfa5b37fa86220b30bdd94981ca30a1bd2e2e95d Mon Sep 17 00:00:00 2001 From: Shane Freeder Date: Fri, 3 Dec 2021 00:26:54 +0000 Subject: [PATCH] Updated Upstream (CraftBukkit) Upstream has released updates that appear to apply and compile correctly. This update has not been tested by PaperMC and as with ANY update, please do your own testing CraftBukkit Changes: 03b725233 SPIGOT-6823: Fix loading custom world in combination with superflat 359d0533a #970: Correct typo in README.md 110492932 Fix per-world worldborder command --- patches/server/0004-Paper-config-files.patch | 12 ++++---- patches/server/0005-MC-Dev-fixes.patch | 8 ++--- patches/server/0006-MC-Utils.patch | 18 +++++------ patches/server/0010-Timings-v2.patch | 30 +++++++++---------- ...-option-to-load-extra-plugin-jars-no.patch | 6 ++-- patches/server/0012-Adventure.patch | 22 +++++++------- ...ient-crashes-server-lists-and-Mojang.patch | 8 ++--- ...025-Further-improve-server-tick-loop.patch | 16 +++++----- patches/server/0034-Optimize-explosions.patch | 6 ++-- ...47-Ensure-commands-are-not-ran-async.patch | 6 ++-- .../0049-Expose-server-CommandMap.patch | 4 +-- .../server/0054-Add-velocity-warnings.patch | 4 +-- ...ading-permissions.yml-before-plugins.patch | 6 ++-- ...llow-Reloading-of-Custom-Permissions.patch | 4 +-- .../0064-Remove-Metadata-on-reload.patch | 4 +-- ...ckPhysicsEvent-if-a-plugin-has-a-lis.patch | 8 ++--- .../0085-Configurable-Player-Collision.patch | 6 ++-- ...-possibility-for-getServer-singleton.patch | 6 ++-- .../0095-Optimize-UserCache-Thread-Safe.patch | 4 +-- ...setting-for-proxy-online-mode-status.patch | 4 +-- ...2-Allow-Reloading-of-Command-Aliases.patch | 4 +-- ...le-async-calls-to-restart-the-server.patch | 6 ++-- ...n-option-to-prevent-player-names-fro.patch | 4 +-- ...oleAppender-for-console-improvements.patch | 20 ++++++------- .../server/0142-Add-UnknownCommandEvent.patch | 4 +-- .../server/0143-Basic-PlayerProfile-API.patch | 6 ++-- .../server/0169-AsyncTabCompleteEvent.patch | 6 ++-- ...nt-extended-PaperServerListPingEvent.patch | 4 +-- .../server/0185-getPlayerUniqueId-API.patch | 4 +-- ...dd-Early-Warning-Feature-to-WatchDog.patch | 10 +++---- ...58-Asynchronous-chunk-IO-and-loading.patch | 6 ++-- ...0-Add-Velocity-IP-Forwarding-Support.patch | 4 +-- ...er-Thread-Pool-and-Thread-Priorities.patch | 4 +-- .../0287-Optimize-World-Time-Updates.patch | 4 +-- ...ault-permission-message-configurable.patch | 4 +-- patches/server/0320-Server-Tick-Events.patch | 6 ++-- ...isPrimaryThread-and-MinecraftServer-.patch | 8 ++--- ...le-Keep-Spawn-Loaded-range-per-world.patch | 8 ++--- ...334-Expose-the-internal-current-tick.patch | 4 +-- patches/server/0349-Optimize-Hoppers.patch | 6 ++-- .../0361-Increase-Light-Queue-Size.patch | 6 ++-- patches/server/0363-Anti-Xray.patch | 6 ++-- ...-Add-tick-times-API-and-mspt-command.patch | 10 +++---- ...385-Expose-MinecraftServer-isRunning.patch | 4 +-- .../0396-Improved-Watchdog-Support.patch | 30 +++++++++---------- patches/server/0416-Expose-game-version.patch | 4 +-- .../server/0419-misc-debugging-dumps.patch | 12 ++++---- .../server/0421-Implement-Mob-Goal-API.patch | 4 +-- ...Wait-for-Async-Tasks-during-shutdown.patch | 8 ++--- ...ld-Difficulty-Remembering-Difficulty.patch | 14 ++++----- ...-Plugin-Tickets-to-API-Chunk-Methods.patch | 6 ++-- ...-incremental-chunk-and-player-saving.patch | 8 ++--- .../server/0488-Add-setMaxPlayers-API.patch | 4 +-- .../0505-Cache-block-data-strings.patch | 4 +-- ...-non-whitelisted-player-when-white-l.patch | 4 +-- ...-Add-getOfflinePlayerIfCached-String.patch | 4 +-- ...0-Added-ServerResourcesReloadedEvent.patch | 6 ++-- patches/server/0596-EntityMoveEvent.patch | 4 +-- .../0617-Implement-Keyed-on-World.patch | 6 ++-- ...telist-use-configurable-kick-message.patch | 4 +-- .../server/0657-Add-basic-Datapack-API.patch | 8 ++--- ...x-and-optimise-world-force-upgrading.patch | 12 ++++---- .../0670-Add-PlayerKickEvent-causes.patch | 6 ++-- .../0701-Add-System.out-err-catcher.patch | 4 +-- .../0755-Execute-chunk-tasks-mid-tick.patch | 6 ++-- ...lStem-registry-when-loading-default-.patch | 4 +-- .../server/0816-Fix-removing-recipes.patch | 4 +-- work/CraftBukkit | 2 +- 68 files changed, 249 insertions(+), 249 deletions(-) diff --git a/patches/server/0004-Paper-config-files.patch b/patches/server/0004-Paper-config-files.patch index 9e5606ff1..fbe7c09bd 100644 --- a/patches/server/0004-Paper-config-files.patch +++ b/patches/server/0004-Paper-config-files.patch @@ -629,10 +629,10 @@ index dc2cb18ec926e2eed1caa8e2106e70bcb04f6c0f..a497b281d03c097587b21e9f141a6a66 Main.LOGGER.info("Forcing world upgrade! {}", session.getLevelId()); // CraftBukkit WorldUpgrader worldupgrader = new WorldUpgrader(session, dataFixer, generatorOptions, eraseCache); diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 5c03d8f93d6a5c63434f1992ed401bf0421a47c9..15e6c1d87e8a165b8a9e3bc72796109fd1e2e063 100644 +index ebb914e7cf3e5ba2d862e341392e904f325d720a..b3629065ebbe601802703b8671b24c7156f12d03 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -601,6 +601,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop { diff --git a/src/main/java/net/minecraft/world/item/crafting/RecipeManager.java b/src/main/java/net/minecraft/world/item/crafting/RecipeManager.java -index 28d35bde3207b1c06bd97e7c1cdc3f687a28bbf6..32263bc80fba1a0df6ea387d8e9c3cf27b29bbb1 100644 +index 8daab331dd33c7095ddd9582b091310551003fd7..ef7bde78c134ec4ad464b5b6516626109c362989 100644 --- a/src/main/java/net/minecraft/world/item/crafting/RecipeManager.java +++ b/src/main/java/net/minecraft/world/item/crafting/RecipeManager.java @@ -77,7 +77,7 @@ public class RecipeManager extends SimpleJsonResourceReloadListener { @@ -306,7 +306,7 @@ index 0f7950458dc2dfac51ed0d56f1790395f0b03bc2..fa4544541b9c5f163b633596e73a5197 @Nullable private Biome.Precipitation precipitation; diff --git a/src/main/java/net/minecraft/world/level/chunk/PalettedContainer.java b/src/main/java/net/minecraft/world/level/chunk/PalettedContainer.java -index 86b326be30b4d1569878bad01665f465ba2c7ef6..71fbb476ad081424cc8807c01818f332887ae366 100644 +index 57bc78e1a189386443abb02744e88b2fdf803a95..911bf2b7bbe627f98d21681b0c6d5b8a5170c8a8 100644 --- a/src/main/java/net/minecraft/world/level/chunk/PalettedContainer.java +++ b/src/main/java/net/minecraft/world/level/chunk/PalettedContainer.java @@ -278,10 +278,6 @@ public class PalettedContainer implements PaletteResize { diff --git a/patches/server/0006-MC-Utils.patch b/patches/server/0006-MC-Utils.patch index 135b52226..ad27f73c7 100644 --- a/patches/server/0006-MC-Utils.patch +++ b/patches/server/0006-MC-Utils.patch @@ -4995,10 +4995,10 @@ index 0000000000000000000000000000000000000000..ff4def7ec3dcfa30fdc0135bd1add8e4 + } +} diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 18f1bfed979e756a62ff8f5ee434d8270ab987d4..2361a92630d2639d602bc1434b061ad9a969130b 100644 +index 4d13345f3caa0c8ec55de465fc486d50b43d1e24..02ef6a24565f776986a745a1fa0f58f537e4e8f8 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -294,6 +294,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop S spin(Function serverFactory) { AtomicReference atomicreference = new AtomicReference(); -@@ -948,6 +949,9 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop implements CommandSource, AutoCloseable { -@@ -897,6 +897,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop= 5000000000L) { -@@ -1230,15 +1251,18 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop 0 && this.tickCount % this.autosavePeriod == 0) { // CraftBukkit @@ -867,7 +867,7 @@ index 2361a92630d2639d602bc1434b061ad9a969130b..f63468868f13ddfeef3fe395c3dc011f this.profiler.push("tallying"); long l = this.tickTimes[this.tickCount % 100] = Util.getNanos() - i; -@@ -1249,30 +1273,29 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop recipients = new HashSet<>(); for (Permissible permissible : this.getPluginManager().getPermissionSubscriptions(permission)) { if (permissible instanceof CommandSender && permissible.hasPermission(permission)) { -@@ -1629,14 +1652,14 @@ public final class CraftServer implements Server { +@@ -1626,14 +1649,14 @@ public final class CraftServer implements Server { } } @@ -1786,7 +1786,7 @@ index 98efa73682ceee3590c225fbd4dc57b8ab0aec17..dea0b0d3164737b72d84679f2128fc82 for (CommandSender recipient : recipients) { recipient.sendMessage(message); -@@ -1872,6 +1895,14 @@ public final class CraftServer implements Server { +@@ -1869,6 +1892,14 @@ public final class CraftServer implements Server { return CraftInventoryCreator.INSTANCE.createInventory(owner, type); } @@ -1801,7 +1801,7 @@ index 98efa73682ceee3590c225fbd4dc57b8ab0aec17..dea0b0d3164737b72d84679f2128fc82 @Override public Inventory createInventory(InventoryHolder owner, InventoryType type, String title) { Validate.isTrue(type.isCreatable(), "Cannot open an inventory of type ", type); -@@ -1884,13 +1915,28 @@ public final class CraftServer implements Server { +@@ -1881,13 +1912,28 @@ public final class CraftServer implements Server { return CraftInventoryCreator.INSTANCE.createInventory(owner, size); } @@ -1830,7 +1830,7 @@ index 98efa73682ceee3590c225fbd4dc57b8ab0aec17..dea0b0d3164737b72d84679f2128fc82 public Merchant createMerchant(String title) { return new CraftMerchantCustom(title == null ? InventoryType.MERCHANT.getDefaultTitle() : title); } -@@ -1939,6 +1985,12 @@ public final class CraftServer implements Server { +@@ -1936,6 +1982,12 @@ public final class CraftServer implements Server { return Thread.currentThread().equals(console.serverThread) || this.console.hasStopped() || !org.spigotmc.AsyncCatcher.enabled; // All bets are off if we have shut down (e.g. due to watchdog) } @@ -1843,7 +1843,7 @@ index 98efa73682ceee3590c225fbd4dc57b8ab0aec17..dea0b0d3164737b72d84679f2128fc82 @Override public String getMotd() { return this.console.getMotd(); -@@ -2382,5 +2434,15 @@ public final class CraftServer implements Server { +@@ -2379,5 +2431,15 @@ public final class CraftServer implements Server { return null; } } @@ -3500,7 +3500,7 @@ index f9b7b8f7ccc95b73967a51420fd6ce88d80d75fe..0de5a46423ae0403dcbfca630dfd7c5a boolean hadFormat = false; diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index b44be4d7080f940d7416392885bb49253c91d2a8..62a02985080fb27cd8cfdc68fcf89f7df12fdc12 100644 +index a73185be22c73ffd746fe2abcfbf07796328960c..ec507e6ce6784441561d142dbdd145be80c66fcd 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java @@ -57,6 +57,33 @@ public final class CraftMagicNumbers implements UnsafeValues { diff --git a/patches/server/0020-Show-Paper-in-client-crashes-server-lists-and-Mojang.patch b/patches/server/0020-Show-Paper-in-client-crashes-server-lists-and-Mojang.patch index 0776c819e..0ded9fbd5 100644 --- a/patches/server/0020-Show-Paper-in-client-crashes-server-lists-and-Mojang.patch +++ b/patches/server/0020-Show-Paper-in-client-crashes-server-lists-and-Mojang.patch @@ -19,10 +19,10 @@ index 2c53a400611c78236c5a1c1270d27c02e94251bf..a1d5c0f8fe2adb2ee56f3217e089211e if (outputStream != null) { try { diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 37ace477c170be9453ab65976085837faa312255..15163398f96b4eda94d99b4b48ab2b06622bd2af 100644 +index 844f24fd16aac25bf681bd3e98f0737be62bead6..f1dfb56d0158d36b583b5ee5596235540b2cb11c 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -1426,7 +1426,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop processQueue = new java.util.concurrent.ConcurrentLinkedQueue(); public int autosavePeriod; public Commands vanillaCommandDispatcher; -@@ -290,7 +290,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop playerView; public int reloadCount; diff --git a/patches/server/0062-Default-loading-permissions.yml-before-plugins.patch b/patches/server/0062-Default-loading-permissions.yml-before-plugins.patch index 35956793b..3fe39f5ba 100644 --- a/patches/server/0062-Default-loading-permissions.yml-before-plugins.patch +++ b/patches/server/0062-Default-loading-permissions.yml-before-plugins.patch @@ -30,10 +30,10 @@ index 701a2ffd04df48d437b2cb963dd150af99725b6e..817d4572c9991992b720b3ba163188ac + } } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index a5ed49072d5e4d1555c7eb0e2433b69f4f238703..1fddd631be42b84f115e6555b5a4e81e003a526f 100644 +index 41729294bf394a609c25e135b0697e0306f5c098..fb220fb9567bbbbeb0ec5515359a5b5308df2e1b 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -462,6 +462,7 @@ public final class CraftServer implements Server { +@@ -460,6 +460,7 @@ public final class CraftServer implements Server { if (type == PluginLoadOrder.STARTUP) { this.helpMap.clear(); this.helpMap.initializeGeneralTopics(); @@ -41,7 +41,7 @@ index a5ed49072d5e4d1555c7eb0e2433b69f4f238703..1fddd631be42b84f115e6555b5a4e81e } Plugin[] plugins = this.pluginManager.getPlugins(); -@@ -481,7 +482,7 @@ public final class CraftServer implements Server { +@@ -479,7 +480,7 @@ public final class CraftServer implements Server { this.commandMap.registerServerAliases(); DefaultPermissions.registerCorePermissions(); CraftDefaultPermissions.registerCorePermissions(); diff --git a/patches/server/0063-Allow-Reloading-of-Custom-Permissions.patch b/patches/server/0063-Allow-Reloading-of-Custom-Permissions.patch index 2a6573d8f..2194983a1 100644 --- a/patches/server/0063-Allow-Reloading-of-Custom-Permissions.patch +++ b/patches/server/0063-Allow-Reloading-of-Custom-Permissions.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Allow Reloading of Custom Permissions https://github.com/PaperMC/Paper/issues/49 diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 1fddd631be42b84f115e6555b5a4e81e003a526f..f1d8ed4fad48025132fa018f54d2a5a88096d60a 100644 +index fb220fb9567bbbbeb0ec5515359a5b5308df2e1b..8e0e98506a647428a06b1cda094c7e00990bdfe8 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -2480,5 +2480,23 @@ public final class CraftServer implements Server { +@@ -2477,5 +2477,23 @@ public final class CraftServer implements Server { } return this.adventure$audiences; } diff --git a/patches/server/0064-Remove-Metadata-on-reload.patch b/patches/server/0064-Remove-Metadata-on-reload.patch index c923e8ae5..c2126e219 100644 --- a/patches/server/0064-Remove-Metadata-on-reload.patch +++ b/patches/server/0064-Remove-Metadata-on-reload.patch @@ -7,10 +7,10 @@ Metadata is not meant to persist reload as things break badly with non primitive This will remove metadata on reload so it does not crash everything if a plugin uses it. diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index f1d8ed4fad48025132fa018f54d2a5a88096d60a..7aaa2d191446c9f790b6d7f3f0bf1997209c7664 100644 +index 8e0e98506a647428a06b1cda094c7e00990bdfe8..448544b7d290e8e98322833ec55b467e43209cae 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -947,8 +947,16 @@ public final class CraftServer implements Server { +@@ -945,8 +945,16 @@ public final class CraftServer implements Server { world.paperConfig.init(); // Paper } diff --git a/patches/server/0073-Only-process-BlockPhysicsEvent-if-a-plugin-has-a-lis.patch b/patches/server/0073-Only-process-BlockPhysicsEvent-if-a-plugin-has-a-lis.patch index 65ed294a1..5ad51fdc4 100644 --- a/patches/server/0073-Only-process-BlockPhysicsEvent-if-a-plugin-has-a-lis.patch +++ b/patches/server/0073-Only-process-BlockPhysicsEvent-if-a-plugin-has-a-lis.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Only process BlockPhysicsEvent if a plugin has a listener Saves on some object allocation and processing when no plugin listens to this diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 5cf85636e089a4bf2422d76b8df52c1166d3f148..697f2e6c10a74cb60191ed8c1cb563360089c8ea 100644 +index 9d6daeba112e68c64c2b5d7d0c7717766913fd56..b8938c4118b61758874624229b6986956f30cc8e 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -1366,6 +1366,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop { return worldserver + " " + worldserver.dimension().location(); diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index 9f7bbd602c19f317d05cd8b72453c2e37d8acff5..bd53d00db453767fb43ba0e50c0dc0a7730d55a4 100644 +index 180e04c6e5d52ed5e0f5da06c1de1b925511e51c..2f406dc2264bcaa584c56780e3f015f476102845 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java @@ -205,6 +205,7 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -30,7 +30,7 @@ index 9f7bbd602c19f317d05cd8b72453c2e37d8acff5..bd53d00db453767fb43ba0e50c0dc0a7 @Override public LevelChunk getChunkIfLoaded(int x, int z) { // Paper - this was added in world too but keeping here for NMS ABI return this.chunkSource.getChunk(x, z, false); diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java -index f652b3f04ee80b1bc8ac6873cb93e8ea34082cdc..2cc265cb984160047a44261ebbf5ff718bdf6b0c 100644 +index 7ee958e6a4f16780aa746ce0eb8cb8ee27df08e1..609dd263ca6ee3287492a39a74d49ec01339956c 100644 --- a/src/main/java/net/minecraft/world/level/Level.java +++ b/src/main/java/net/minecraft/world/level/Level.java @@ -475,7 +475,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable { diff --git a/patches/server/0085-Configurable-Player-Collision.patch b/patches/server/0085-Configurable-Player-Collision.patch index 1b29cd2de..97eeb56d5 100644 --- a/patches/server/0085-Configurable-Player-Collision.patch +++ b/patches/server/0085-Configurable-Player-Collision.patch @@ -32,7 +32,7 @@ index 8993d8809c109212ab278e15c09cebab9e89342f..005a3058c51a41a39f050b1817e2079b buf.writeComponent(this.playerPrefix); buf.writeComponent(this.playerSuffix); diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 697f2e6c10a74cb60191ed8c1cb563360089c8ea..d2941bb9bfb0517a05942714015bdf72da0a775d 100644 +index b8938c4118b61758874624229b6986956f30cc8e..8ba4af81f19e20c7d949edc72c0827bab22c19cb 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -159,6 +159,7 @@ import net.minecraft.world.level.storage.loot.LootTables; @@ -43,7 +43,7 @@ index 697f2e6c10a74cb60191ed8c1cb563360089c8ea..d2941bb9bfb0517a05942714015bdf72 import org.apache.commons.lang3.Validate; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; -@@ -608,6 +609,20 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop { -@@ -2258,7 +2260,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop processQueue = new java.util.concurrent.ConcurrentLinkedQueue(); public int autosavePeriod; -@@ -366,7 +367,9 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop comparator; diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index c8a5cd52689b2cd81a2206f0f71623d784c379ce..7ed73ea4a5f7383c953ee3e28ce8f234d8ff941e 100644 +index 5706d52d89bcec1d5da44ebf24f1b94cad59d359..136b5972f4faa4f43bc49b9c282a6578d31aed55 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -710,6 +710,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser diff --git a/patches/server/0280-Add-Velocity-IP-Forwarding-Support.patch b/patches/server/0280-Add-Velocity-IP-Forwarding-Support.patch index 84926c4f9..f9d4659fa 100644 --- a/patches/server/0280-Add-Velocity-IP-Forwarding-Support.patch +++ b/patches/server/0280-Add-Velocity-IP-Forwarding-Support.patch @@ -225,10 +225,10 @@ index 67b300574655854249c1f7440f56a6e8f0fad351..bb767f5b626225e70a8af273384bb74d } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 199397a95fc2fbc0b64bcad81c79f24b4d1fb98a..b006441a23e0de7c090c38aa76744bbd146298d3 100644 +index e4af349ab368ab561f6ef929395020fc260fe159..5eaf046724b7354b84c9a40f73c2f4d3d21fc601 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -746,7 +746,7 @@ public final class CraftServer implements Server { +@@ -744,7 +744,7 @@ public final class CraftServer implements Server { @Override public long getConnectionThrottle() { // Spigot Start - Automatically set connection throttle for bungee configurations diff --git a/patches/server/0286-Improve-Server-Thread-Pool-and-Thread-Priorities.patch b/patches/server/0286-Improve-Server-Thread-Pool-and-Thread-Priorities.patch index 8cf0bc245..a5a3f8742 100644 --- a/patches/server/0286-Improve-Server-Thread-Pool-and-Thread-Priorities.patch +++ b/patches/server/0286-Improve-Server-Thread-Pool-and-Thread-Priorities.patch @@ -58,10 +58,10 @@ index 3ed0bf0485266c0a2b459f5cc1940f85f74e3624..b9775bc4e601fe1be8e514222e56ae78 return executorService; } diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 3380aca80bdda5edf8809f6fe36eaf5ba40a68ae..98a45d058afe89b824ecfa5b9e75e351291f0a1e 100644 +index 534c02bc7f4fe925d2e12257e88001801a63444c..dd03544da48a2d8276e3dd16eb1985a251a9cfba 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -319,6 +319,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop 0; // Paper diff --git a/patches/server/0361-Increase-Light-Queue-Size.patch b/patches/server/0361-Increase-Light-Queue-Size.patch index 1b3abd00b..2b9e2a045 100644 --- a/patches/server/0361-Increase-Light-Queue-Size.patch +++ b/patches/server/0361-Increase-Light-Queue-Size.patch @@ -14,7 +14,7 @@ light engine on shutdown... The queue size only puts a cap on max loss, doesn't solve that problem. diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index fc2eaf571212586205f0edc57076a5ebc5e01ec0..a6f282df404b2babd436dbace0246997cc6e2af2 100644 +index 94336c6a644bf913d366baa71c2372eb67b6e2cd..723adafaf82a664b8bfff9d7d11e43e3eafafa6e 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -523,5 +523,10 @@ public class PaperWorldConfig { @@ -29,10 +29,10 @@ index fc2eaf571212586205f0edc57076a5ebc5e01ec0..a6f282df404b2babd436dbace0246997 } diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index e31eab1baaa77dfb6a3e804481d91b91b6878f65..b80a7d98d4b088e3cc98c3d6f9b053974a71c568 100644 +index f71a1401d229b32557f0444ce45cfa47ffa2fde4..b3d3e023d10fe6bb964fe7a3d1cbb96d6a406283 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -812,7 +812,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop processQueue = new java.util.concurrent.ConcurrentLinkedQueue(); public int autosavePeriod; public Commands vanillaCommandDispatcher; @@ -83,7 +83,7 @@ index 64370c9c5e443f8e84e7f2f018c56f0223eb4b24..cab914abbc6c655895f09d71f253889a // CraftBukkit end // Spigot start public static final int TPS = 20; -@@ -308,6 +308,9 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop S spin(Function serverFactory) { AtomicReference atomicreference = new AtomicReference(); Thread thread = new Thread(() -> { -@@ -914,6 +917,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop completablefuture = CompletableFuture.supplyAsync(() -> { Stream stream = datapacks.stream(); // CraftBukkit - decompile error PackRepository resourcepackrepository = this.packRepository; -@@ -1973,6 +1979,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop 0; // Paper diff --git a/patches/server/0617-Implement-Keyed-on-World.patch b/patches/server/0617-Implement-Keyed-on-World.patch index ddaaa9728..cbc6409a4 100644 --- a/patches/server/0617-Implement-Keyed-on-World.patch +++ b/patches/server/0617-Implement-Keyed-on-World.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Implement Keyed on World diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 553a427810bda77adb972cb39504be5baff1474b..86816736595c269e3a2e8a849d67a0836a3f1593 100644 +index 8535bb6523ef8736970f064ee2b52563a4c9726f..203ba9f883941cd4f421b2c53ee153ecc02cd16c 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -1239,7 +1239,7 @@ public final class CraftServer implements Server { +@@ -1236,7 +1236,7 @@ public final class CraftServer implements Server { } else if (name.equals(levelName + "_the_end")) { worldKey = net.minecraft.world.level.Level.END; } else { @@ -17,7 +17,7 @@ index 553a427810bda77adb972cb39504be5baff1474b..86816736595c269e3a2e8a849d67a083 } ServerLevel internal = (ServerLevel) new ServerLevel(this.console, console.executor, worldSession, worlddata, worldKey, dimensionmanager, this.getServer().progressListenerFactory.create(11), -@@ -1331,6 +1331,15 @@ public final class CraftServer implements Server { +@@ -1328,6 +1328,15 @@ public final class CraftServer implements Server { return null; } diff --git a/patches/server/0623-forced-whitelist-use-configurable-kick-message.patch b/patches/server/0623-forced-whitelist-use-configurable-kick-message.patch index 3923abbaf..0e9fa76a3 100644 --- a/patches/server/0623-forced-whitelist-use-configurable-kick-message.patch +++ b/patches/server/0623-forced-whitelist-use-configurable-kick-message.patch @@ -5,7 +5,7 @@ Subject: [PATCH] forced whitelist: use configurable kick message diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 2a0aabd4ca39ecada4d50de338421bc7a2a658f8..6a733008e0d94654dd9973a112e860b7af8b875c 100644 +index 18830fa8e43c70c9da417eb771d553353b06bb48..5de82c5d7da2ca6eeee4b804b916fa9d385cc25c 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -73,7 +73,6 @@ import net.minecraft.nbt.NbtOps; @@ -16,7 +16,7 @@ index 2a0aabd4ca39ecada4d50de338421bc7a2a658f8..6a733008e0d94654dd9973a112e860b7 import net.minecraft.network.protocol.game.ClientboundChangeDifficultyPacket; import net.minecraft.network.protocol.game.ClientboundSetTimePacket; import net.minecraft.network.protocol.status.ServerStatus; -@@ -2060,7 +2059,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop playerView; public int reloadCount; @@ -103,7 +103,7 @@ index 86816736595c269e3a2e8a849d67a0836a3f1593..c8e8db3052c1f16da0bc0858955fcdec public static Exception excessiveVelEx; // Paper - Velocity warnings static { -@@ -376,6 +377,7 @@ public final class CraftServer implements Server { +@@ -374,6 +375,7 @@ public final class CraftServer implements Server { TicketType.PLUGIN.timeout = Math.min(20, this.configuration.getInt("chunk-gc.period-in-ticks")); // Paper - cap plugin loads to 1 second this.minimumAPI = this.configuration.getString("settings.minimum-api"); this.loadIcon(); @@ -111,7 +111,7 @@ index 86816736595c269e3a2e8a849d67a0836a3f1593..c8e8db3052c1f16da0bc0858955fcdec } public boolean getCommandBlockOverride(String command) { -@@ -2689,5 +2691,11 @@ public final class CraftServer implements Server { +@@ -2686,5 +2688,11 @@ public final class CraftServer implements Server { public com.destroystokyo.paper.entity.ai.MobGoals getMobGoals() { return mobGoals; } diff --git a/patches/server/0662-Fix-and-optimise-world-force-upgrading.patch b/patches/server/0662-Fix-and-optimise-world-force-upgrading.patch index 94b3eb0a6..5e80e687b 100644 --- a/patches/server/0662-Fix-and-optimise-world-force-upgrading.patch +++ b/patches/server/0662-Fix-and-optimise-world-force-upgrading.patch @@ -274,10 +274,10 @@ index f685ab3cc6e4fd76e8dec3d2d3627a13715cda44..36a1d58dd238c835ce3cc9c2376a86a0 Main.LOGGER.info("Forcing world upgrade! {}", session.getLevelId()); // CraftBukkit WorldUpgrader worldupgrader = new WorldUpgrader(session, dataFixer, generatorOptions, eraseCache); diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 6a733008e0d94654dd9973a112e860b7af8b875c..c3e4c2634d11621000204b6deddd2dbe32202239 100644 +index 5de82c5d7da2ca6eeee4b804b916fa9d385cc25c..e03018882da878ddc51986733cfd6ea1c1815e9b 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -556,11 +556,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop list = ImmutableList.of(new PhantomSpawner(), new PatrolSpawner(), new CatSpawner(), new VillageSiege(), new WanderingTraderSpawner(worlddata)); -@@ -1234,6 +1229,14 @@ public final class CraftServer implements Server { +@@ -1231,6 +1226,14 @@ public final class CraftServer implements Server { } } diff --git a/patches/server/0670-Add-PlayerKickEvent-causes.patch b/patches/server/0670-Add-PlayerKickEvent-causes.patch index f5bd612f9..6a8613e51 100644 --- a/patches/server/0670-Add-PlayerKickEvent-causes.patch +++ b/patches/server/0670-Add-PlayerKickEvent-causes.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add PlayerKickEvent causes diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index c3e4c2634d11621000204b6deddd2dbe32202239..5af9607665cfa3283b781eb037fa3f7b0eaff46b 100644 +index e03018882da878ddc51986733cfd6ea1c1815e9b..088334869cb62797a1e1d1bbb6187f03189d852d 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -2063,7 +2063,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop list = ImmutableList.of(new PhantomSpawner(), new PatrolSpawner(), new CatSpawner(), new VillageSiege(), new WanderingTraderSpawner(iworlddataserver)); diff --git a/patches/server/0816-Fix-removing-recipes.patch b/patches/server/0816-Fix-removing-recipes.patch index e2a279a4b..d7712c658 100644 --- a/patches/server/0816-Fix-removing-recipes.patch +++ b/patches/server/0816-Fix-removing-recipes.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Fix removing recipes diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 1d7d3dbf7f6857d9853112844b70692e92e9c89d..d938dc26886aa8a64c11db5e49fe5639bc27e1fb 100644 +index 88166a778b30e7d3ff6a63e1162232b68a11f17f..02e25451737841001363f4697fd05b1e2c6240cd 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -1534,6 +1534,7 @@ public final class CraftServer implements Server { +@@ -1531,6 +1531,7 @@ public final class CraftServer implements Server { ResourceLocation mcKey = CraftNamespacedKey.toMinecraft(recipeKey); for (Object2ObjectLinkedOpenHashMap> recipes : this.getServer().getRecipeManager().recipes.values()) { if (recipes.remove(mcKey) != null) { diff --git a/work/CraftBukkit b/work/CraftBukkit index 581df1846..03b725233 160000 --- a/work/CraftBukkit +++ b/work/CraftBukkit @@ -1 +1 @@ -Subproject commit 581df1846f2b3e09b20e71fd44851f3e68f1f7db +Subproject commit 03b7252338767638cc23bed19f57bcaefd461a6e