From c29c36e782237d6b879d19eb7e845500570789c5 Mon Sep 17 00:00:00 2001 From: Spottedleaf Date: Fri, 26 Jun 2020 22:12:11 -0700 Subject: [PATCH] Updated Upstream (Bukkit/CraftBukkit/Spigot) Upstream has released updates that appears to apply and compile correctly. This update has not been tested by PaperMC and as with ANY update, please do your own testing Bukkit Changes: 3284612a SPIGOT-5853: Add DragonBattle#generateEndPortal() e4db04ae SPIGOT-5841: New map colours broken CraftBukkit Changes: d4243510 SPIGOT-5853: DragonBattle#getEndPortalLocation() throws NPE on new world 1601ec31 SPIGOT-5845: ChatColor.RESET does not work in ItemMeta to reset italics 4d92db6f CraftChatMessageTest does not need AbstractTestingBase 71045d3d SPIGOT-5828: Unlock worlds on unload dbc347b9 SPIGOT-5841: New map colours broken 14053c70 SPIGOT-5847: BlockFadeEvent cannot be triggered asynchronously from another thread Spigot Changes: 6f4ff1b6 SPIGOT-5851: ChatColor (HEX) doesn't appear correctly in the ActionBar d94a518a SPIGOT-5848: PlayerSpawnLocationEvent throws NPE when setting a location of another world --- .../0002-Paper-config-files.patch | 4 ++-- Spigot-Server-Patches/0009-Timings-v2.patch | 12 +++++------ ...023-Further-improve-server-tick-loop.patch | 4 ++-- .../0042-Add-PlayerInitialSpawnEvent.patch | 9 +++++---- .../0046-Expose-server-CommandMap.patch | 4 ++-- ...llow-Reloading-of-Custom-Permissions.patch | 4 ++-- ...dDebugInfo-not-initialized-on-client.patch | 4 ++-- .../0088-Configurable-Player-Collision.patch | 8 ++++---- ...091-Prevent-Fire-from-loading-chunks.patch | 14 ++++++------- ...setting-for-proxy-online-mode-status.patch | 4 ++-- ...1-Allow-Reloading-of-Command-Aliases.patch | 4 ++-- .../0136-Enforce-Sync-Player-Saves.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 | 6 +++--- .../0153-Basic-PlayerProfile-API.patch | 4 ++-- .../0161-ProfileWhitelistVerifyEvent.patch | 6 +++--- .../0182-AsyncTabCompleteEvent.patch | 4 ++-- .../0205-getPlayerUniqueId-API.patch | 4 ++-- ...to-disable-ender-dragon-legacy-check.patch | 20 +------------------ .../0238-InventoryCloseEvent-Reason-API.patch | 8 ++++---- .../0263-Add-TNTPrimeEvent.patch | 6 +++--- ...70-Use-ConcurrentHashMap-in-JsonList.patch | 4 ++-- ...ault-permission-message-configurable.patch | 4 ++-- ...-Manager-and-add-advanced-packet-sup.patch | 6 +++--- ...0-Fix-Whitelist-On-Off-inconsistency.patch | 4 ++-- ...oggleEvent-when-whitelist-is-toggled.patch | 4 ++-- .../0345-Entity-getEntitySpawnReason.patch | 4 ++-- ...347-Implement-PlayerPostRespawnEvent.patch | 8 ++++---- ...isPrimaryThread-and-MinecraftServer-.patch | 4 ++-- .../0383-Fix-MC-158900.patch | 4 ++-- ...392-Expose-the-internal-current-tick.patch | 4 ++-- ...-sneak-when-changing-worlds-MC-10657.patch | 4 ++-- ...ptimize-Collision-to-not-load-chunks.patch | 4 ++-- ...-Add-tick-times-API-and-mspt-command.patch | 4 ++-- ...443-Expose-MinecraftServer-isRunning.patch | 4 ++-- .../0448-Improved-Watchdog-Support.patch | 8 ++++---- ...62-Broadcast-join-message-to-console.patch | 4 ++-- ...g-Broken-behavior-of-PlayerJoinEvent.patch | 10 +++++----- ...Load-Chunks-for-Login-Asynchronously.patch | 20 +++++++++---------- ...t-fire-BlockFade-on-worldgen-threads.patch | 8 ++++---- .../0478-Implement-Mob-Goal-API.patch | 4 ++-- ...No-Tick-view-distance-implementation.patch | 8 ++++---- ...k-Priority-Urgency-System-for-Chunks.patch | 12 +++++------ ...-packets-to-nearby-locations-sounds-.patch | 4 ++-- work/Bukkit | 2 +- work/CraftBukkit | 2 +- work/Spigot | 2 +- 48 files changed, 136 insertions(+), 153 deletions(-) diff --git a/Spigot-Server-Patches/0002-Paper-config-files.patch b/Spigot-Server-Patches/0002-Paper-config-files.patch index ed15fc3e7..221868c1d 100644 --- a/Spigot-Server-Patches/0002-Paper-config-files.patch +++ b/Spigot-Server-Patches/0002-Paper-config-files.patch @@ -636,7 +636,7 @@ index d5e1da2eeea7c06289f52509af844df59e8a29b2..63d3d43f74bed94cd03aa3b7254e6630 this.world = new CraftWorld((WorldServer) this, gen, env); this.ticksPerAnimalSpawns = this.getServer().getTicksPerAnimalSpawns(); // CraftBukkit diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index f306530642c56020c390afbcdddf5cbf343a7b2b..f20a68bafc5abb76c60fba85c228bf15f05d309a 100644 +index 87fe70ed5f333d84018020b42fe375ce247451b4..a85b7a93a974263e2c3d7546ddfe4707781ef165 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -801,6 +801,7 @@ public final class CraftServer implements Server { @@ -663,7 +663,7 @@ index f306530642c56020c390afbcdddf5cbf343a7b2b..f20a68bafc5abb76c60fba85c228bf15 overrideAllCommandBlockCommands = commandsConfiguration.getStringList("command-block-overrides").contains("*"); ignoreVanillaPermissions = commandsConfiguration.getBoolean("ignore-vanilla-permissions"); -@@ -2074,4 +2077,35 @@ public final class CraftServer implements Server { +@@ -2075,4 +2078,35 @@ public final class CraftServer implements Server { { return spigot; } diff --git a/Spigot-Server-Patches/0009-Timings-v2.patch b/Spigot-Server-Patches/0009-Timings-v2.patch index b13cff8af..5c2cf20ab 100644 --- a/Spigot-Server-Patches/0009-Timings-v2.patch +++ b/Spigot-Server-Patches/0009-Timings-v2.patch @@ -1489,7 +1489,7 @@ index 2c671629a43f42da8335e7216f9fd399bb878729..eb3269e0ea3ce33d08e9eee3bca7cf43 PlayerConnectionUtils.LOGGER.debug("Ignoring packet due to disconnection: " + packet); } diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java -index f51bae1a01b6ac158f808d85bc77cb03a8f19aa3..7464ef739bf673baab8661e561abbe9266b888c4 100644 +index 500977885d4cfbfd9d86824074d3f1903e1fc6cb..c7ba11e75eeda6593ddcd9546ca45b4bd2a4c1cd 100644 --- a/src/main/java/net/minecraft/server/PlayerList.java +++ b/src/main/java/net/minecraft/server/PlayerList.java @@ -1,5 +1,6 @@ @@ -1499,7 +1499,7 @@ index f51bae1a01b6ac158f808d85bc77cb03a8f19aa3..7464ef739bf673baab8661e561abbe92 import com.google.common.collect.Lists; import com.google.common.collect.Maps; import com.google.common.collect.Sets; -@@ -940,10 +941,11 @@ public abstract class PlayerList { +@@ -941,10 +942,11 @@ public abstract class PlayerList { } public void savePlayers() { @@ -1758,10 +1758,10 @@ index f45b5ddc66024e993ac94436ee25a03e085742b4..dd02f7b8c0c0055a506bceab68cec98f // CraftBukkit start - moved from MinecraftServer.saveChunks diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index f20a68bafc5abb76c60fba85c228bf15f05d309a..36e44309d5c8467c79da981ea957c17ebabe9595 100644 +index a85b7a93a974263e2c3d7546ddfe4707781ef165..0094d9251251845fbacff6d458443385627ca0c8 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -2047,12 +2047,31 @@ public final class CraftServer implements Server { +@@ -2048,12 +2048,31 @@ public final class CraftServer implements Server { private final Spigot spigot = new Spigot() { @@ -1963,10 +1963,10 @@ index 7f435847ac1d13756ce233e7d5ae13f9dc17c443..00000000000000000000000000000000 - } -} diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index af2462a8bbf617a0c949d9e3536581d7500e90ee..51782a02c0882acca208b71bbd75946f6396dcce 100644 +index c5216d62660631f54d50575c30717f4052c10f8f..661c8b3c81be46ef2c9488bb52d1963c7f0e89e2 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -1761,6 +1761,14 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1757,6 +1757,14 @@ public class CraftPlayer extends CraftHumanEntity implements Player { packet.components = components; getHandle().playerConnection.sendPacket(packet); } diff --git a/Spigot-Server-Patches/0023-Further-improve-server-tick-loop.patch b/Spigot-Server-Patches/0023-Further-improve-server-tick-loop.patch index 1bd79f8a8..75ad04ddf 100644 --- a/Spigot-Server-Patches/0023-Further-improve-server-tick-loop.patch +++ b/Spigot-Server-Patches/0023-Further-improve-server-tick-loop.patch @@ -140,10 +140,10 @@ index 1fcdbbbc7b60edd1e87bab5f1c5d19a6755de17c..0f2011a776619301dd6a133b9a4044b4 GameProfilerTick gameprofilertick = GameProfilerTick.a("Server"); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 0f49da25bb6a1aaad18cbd57d0d312769fe50c3e..9cf0d095db124976c7777ff78a6a1f1f46f4a363 100644 +index 3e2328079f5f98f3f10cc1badd1059a3703eb2d7..0f5af8365abe99971a815285703a3b598f130a0d 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -2044,6 +2044,17 @@ public final class CraftServer implements Server { +@@ -2045,6 +2045,17 @@ public final class CraftServer implements Server { return CraftMagicNumbers.INSTANCE; } diff --git a/Spigot-Server-Patches/0042-Add-PlayerInitialSpawnEvent.patch b/Spigot-Server-Patches/0042-Add-PlayerInitialSpawnEvent.patch index 78170682a..2c0b62349 100644 --- a/Spigot-Server-Patches/0042-Add-PlayerInitialSpawnEvent.patch +++ b/Spigot-Server-Patches/0042-Add-PlayerInitialSpawnEvent.patch @@ -9,10 +9,10 @@ This is a duplicate API from spigot, so use our duplicate subclass and improve setPosition to use raw diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java -index 7464ef739bf673baab8661e561abbe9266b888c4..80fec11079b71569dbfcfd399df325a1e942e8ef 100644 +index c7ba11e75eeda6593ddcd9546ca45b4bd2a4c1cd..29a7866190fea78c025c2e59a48ed92239f6a446 100644 --- a/src/main/java/net/minecraft/server/PlayerList.java +++ b/src/main/java/net/minecraft/server/PlayerList.java -@@ -143,14 +143,14 @@ public abstract class PlayerList { +@@ -143,7 +143,7 @@ public abstract class PlayerList { // Spigot start - spawn location event Player bukkitPlayer = entityplayer.getBukkitEntity(); @@ -21,9 +21,10 @@ index 7464ef739bf673baab8661e561abbe9266b888c4..80fec11079b71569dbfcfd399df325a1 Bukkit.getPluginManager().callEvent(ev); Location loc = ev.getSpawnLocation(); - worldserver = ((CraftWorld) loc.getWorld()).getHandle(); +@@ -151,7 +151,7 @@ public abstract class PlayerList { - entityplayer.spawnIn(worldserver); + entityplayer.spawnIn(worldserver1); + entityplayer.playerInteractManager.a((WorldServer) entityplayer.world); - entityplayer.setPosition(loc.getX(), loc.getY(), loc.getZ()); + entityplayer.setPositionRaw(loc.getX(), loc.getY(), loc.getZ()); // Paper - set raw so we aren't fully joined to the world (not added to chunk or world) entityplayer.setYawPitch(loc.getYaw(), loc.getPitch()); diff --git a/Spigot-Server-Patches/0046-Expose-server-CommandMap.patch b/Spigot-Server-Patches/0046-Expose-server-CommandMap.patch index 349e370b9..2ef1a03e1 100644 --- a/Spigot-Server-Patches/0046-Expose-server-CommandMap.patch +++ b/Spigot-Server-Patches/0046-Expose-server-CommandMap.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Expose server CommandMap diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 35f0527f6dbd06660a1ca4ce528ac1e8c056bb16..3768215d57f4025bdb83913e45b12119d53e1002 100644 +index 5ff0456b781b6a6fbc674e2c532b73f3245f5fd5..3a0e0139db61405e8307abb3d17d1836f45bd8a3 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -1698,6 +1698,7 @@ public final class CraftServer implements Server { +@@ -1699,6 +1699,7 @@ public final class CraftServer implements Server { return helpMap; } diff --git a/Spigot-Server-Patches/0061-Allow-Reloading-of-Custom-Permissions.patch b/Spigot-Server-Patches/0061-Allow-Reloading-of-Custom-Permissions.patch index d6793e5e7..13f18882d 100644 --- a/Spigot-Server-Patches/0061-Allow-Reloading-of-Custom-Permissions.patch +++ b/Spigot-Server-Patches/0061-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 228106442d8f6d425a0d15c816532223749e03be..73f140771bac6bfda57bbd402a1603cedf8c38b5 100644 +index 30701934a3b7cc7d2a502fe7c3c251a9f268a9bc..72fb341e77b73ace8555cfc1bfdb3bbab726f1e6 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -2163,5 +2163,23 @@ public final class CraftServer implements Server { +@@ -2164,5 +2164,23 @@ public final class CraftServer implements Server { return null; } } diff --git a/Spigot-Server-Patches/0080-Fix-reducedDebugInfo-not-initialized-on-client.patch b/Spigot-Server-Patches/0080-Fix-reducedDebugInfo-not-initialized-on-client.patch index ed2c6e14c..8325abf6c 100644 --- a/Spigot-Server-Patches/0080-Fix-reducedDebugInfo-not-initialized-on-client.patch +++ b/Spigot-Server-Patches/0080-Fix-reducedDebugInfo-not-initialized-on-client.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Fix reducedDebugInfo not initialized on client diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java -index 80fec11079b71569dbfcfd399df325a1e942e8ef..42e7394326237fcb466ac9727b5ac732518cf1b9 100644 +index 29a7866190fea78c025c2e59a48ed92239f6a446..5945786f5093ac8f6cd7cde74f6cb746efffbb1e 100644 --- a/src/main/java/net/minecraft/server/PlayerList.java +++ b/src/main/java/net/minecraft/server/PlayerList.java -@@ -173,6 +173,7 @@ public abstract class PlayerList { +@@ -174,6 +174,7 @@ public abstract class PlayerList { playerconnection.sendPacket(new PacketPlayOutHeldItemSlot(entityplayer.inventory.itemInHandIndex)); playerconnection.sendPacket(new PacketPlayOutRecipeUpdate(this.server.getCraftingManager().b())); playerconnection.sendPacket(new PacketPlayOutTags(this.server.getTagRegistry())); diff --git a/Spigot-Server-Patches/0088-Configurable-Player-Collision.patch b/Spigot-Server-Patches/0088-Configurable-Player-Collision.patch index 619287ad8..ef5783bcf 100644 --- a/Spigot-Server-Patches/0088-Configurable-Player-Collision.patch +++ b/Spigot-Server-Patches/0088-Configurable-Player-Collision.patch @@ -57,7 +57,7 @@ index d1581c9d9838797eb425020d21bd0fba432e5652..99dc43159f240135957aee35f6129f19 packetdataserializer.a(this.c); packetdataserializer.a(this.d); diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java -index 42e7394326237fcb466ac9727b5ac732518cf1b9..5ed9122da69b8253c71744700ee9892a6326c8d9 100644 +index 5945786f5093ac8f6cd7cde74f6cb746efffbb1e..9d3b8be7a854828d6e3009e0ad4726c7f134b5e3 100644 --- a/src/main/java/net/minecraft/server/PlayerList.java +++ b/src/main/java/net/minecraft/server/PlayerList.java @@ -75,6 +75,7 @@ public abstract class PlayerList { @@ -68,7 +68,7 @@ index 42e7394326237fcb466ac9727b5ac732518cf1b9..5ed9122da69b8253c71744700ee9892a public PlayerList(MinecraftServer minecraftserver, IRegistryCustom.Dimension iregistrycustom_dimension, WorldNBTStorage worldnbtstorage, int i) { this.cserver = minecraftserver.server = new CraftServer((DedicatedServer) minecraftserver, this); -@@ -304,6 +305,13 @@ public abstract class PlayerList { +@@ -305,6 +306,13 @@ public abstract class PlayerList { } entityplayer.syncInventory(); @@ -82,7 +82,7 @@ index 42e7394326237fcb466ac9727b5ac732518cf1b9..5ed9122da69b8253c71744700ee9892a // CraftBukkit - Moved from above, added world PlayerList.LOGGER.info("{}[{}] logged in with entity id {} at ([{}]{}, {}, {})", entityplayer.getDisplayName().getString(), s1, entityplayer.getId(), worldserver1.worldDataServer.getName(), entityplayer.locX(), entityplayer.locY(), entityplayer.locZ()); } -@@ -421,6 +429,16 @@ public abstract class PlayerList { +@@ -422,6 +430,16 @@ public abstract class PlayerList { entityplayer.playerTick(); // SPIGOT-924 // CraftBukkit end @@ -99,7 +99,7 @@ index 42e7394326237fcb466ac9727b5ac732518cf1b9..5ed9122da69b8253c71744700ee9892a this.savePlayerFile(entityplayer); if (entityplayer.isPassenger()) { Entity entity = entityplayer.getRootVehicle(); -@@ -1058,6 +1076,13 @@ public abstract class PlayerList { +@@ -1059,6 +1077,13 @@ public abstract class PlayerList { } // CraftBukkit end diff --git a/Spigot-Server-Patches/0091-Prevent-Fire-from-loading-chunks.patch b/Spigot-Server-Patches/0091-Prevent-Fire-from-loading-chunks.patch index 94a30fc38..f1ba6191e 100644 --- a/Spigot-Server-Patches/0091-Prevent-Fire-from-loading-chunks.patch +++ b/Spigot-Server-Patches/0091-Prevent-Fire-from-loading-chunks.patch @@ -7,10 +7,10 @@ This causes the nether to spam unload/reload chunks, plus overall bad behavior. diff --git a/src/main/java/net/minecraft/server/BlockFire.java b/src/main/java/net/minecraft/server/BlockFire.java -index 65a17acf90486f11b8efc32a33fc4d7b71c8a432..0cbf4d7d460a3e9e632fd0c9cfd318f3065f18d6 100644 +index 9f139dd2dbf9706cb018ee26c1315dc29067d68e..9c3b79c1314dedae06278328b6ca722d5ff1e60d 100644 --- a/src/main/java/net/minecraft/server/BlockFire.java +++ b/src/main/java/net/minecraft/server/BlockFire.java -@@ -95,7 +95,7 @@ public class BlockFire extends BlockFireAbstract { +@@ -99,7 +99,7 @@ public class BlockFire extends BlockFireAbstract { BlockStateBoolean blockstateboolean = (BlockStateBoolean) BlockFire.p.get(enumdirection); if (blockstateboolean != null) { @@ -19,7 +19,7 @@ index 65a17acf90486f11b8efc32a33fc4d7b71c8a432..0cbf4d7d460a3e9e632fd0c9cfd318f3 } } -@@ -175,6 +175,7 @@ public class BlockFire extends BlockFireAbstract { +@@ -179,6 +179,7 @@ public class BlockFire extends BlockFireAbstract { } blockposition_mutableblockposition.a((BaseBlockPosition) blockposition, l, j1, i1); @@ -27,7 +27,7 @@ index 65a17acf90486f11b8efc32a33fc4d7b71c8a432..0cbf4d7d460a3e9e632fd0c9cfd318f3 int l1 = this.a((IWorldReader) worldserver, (BlockPosition) blockposition_mutableblockposition); if (l1 > 0) { -@@ -220,10 +221,16 @@ public class BlockFire extends BlockFireAbstract { +@@ -224,10 +225,16 @@ public class BlockFire extends BlockFireAbstract { } private void trySpread(World world, BlockPosition blockposition, int i, Random random, int j, BlockPosition sourceposition) { // CraftBukkit add sourceposition @@ -46,7 +46,7 @@ index 65a17acf90486f11b8efc32a33fc4d7b71c8a432..0cbf4d7d460a3e9e632fd0c9cfd318f3 // CraftBukkit start org.bukkit.block.Block theBlock = world.getWorld().getBlockAt(blockposition.getX(), blockposition.getY(), blockposition.getZ()); -@@ -269,7 +276,7 @@ public class BlockFire extends BlockFireAbstract { +@@ -273,7 +280,7 @@ public class BlockFire extends BlockFireAbstract { for (int j = 0; j < i; ++j) { EnumDirection enumdirection = aenumdirection[j]; @@ -55,7 +55,7 @@ index 65a17acf90486f11b8efc32a33fc4d7b71c8a432..0cbf4d7d460a3e9e632fd0c9cfd318f3 return true; } } -@@ -287,7 +294,12 @@ public class BlockFire extends BlockFireAbstract { +@@ -291,7 +298,12 @@ public class BlockFire extends BlockFireAbstract { for (int k = 0; k < j; ++k) { EnumDirection enumdirection = aenumdirection[k]; @@ -69,7 +69,7 @@ index 65a17acf90486f11b8efc32a33fc4d7b71c8a432..0cbf4d7d460a3e9e632fd0c9cfd318f3 i = Math.max(this.getFlameChance(iblockdata), i); } -@@ -298,7 +310,7 @@ public class BlockFire extends BlockFireAbstract { +@@ -302,7 +314,7 @@ public class BlockFire extends BlockFireAbstract { @Override protected boolean e(IBlockData iblockdata) { diff --git a/Spigot-Server-Patches/0109-Add-setting-for-proxy-online-mode-status.patch b/Spigot-Server-Patches/0109-Add-setting-for-proxy-online-mode-status.patch index 3bf20dc4f..dc525623d 100644 --- a/Spigot-Server-Patches/0109-Add-setting-for-proxy-online-mode-status.patch +++ b/Spigot-Server-Patches/0109-Add-setting-for-proxy-online-mode-status.patch @@ -45,10 +45,10 @@ index 060887d765604e4be82913607bb6266a278f5db6..c5957c2d6c54b076ebe7f9a432e30551 } else { String[] astring1 = astring; diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 2bb31a684906044b159e959dd8acd85efc660b02..fc309214f335ed455c89523ea6a388ba87c7e088 100644 +index 9fdceeeeece358b2456cd66bc585821b7252691e..a201460235816698ee03d5ba5e78cbe505436216 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -1476,7 +1476,8 @@ public final class CraftServer implements Server { +@@ -1477,7 +1477,8 @@ public final class CraftServer implements Server { // Spigot Start GameProfile profile = null; // Only fetch an online UUID in online mode diff --git a/Spigot-Server-Patches/0121-Allow-Reloading-of-Command-Aliases.patch b/Spigot-Server-Patches/0121-Allow-Reloading-of-Command-Aliases.patch index c9239582a..1c15c3973 100644 --- a/Spigot-Server-Patches/0121-Allow-Reloading-of-Command-Aliases.patch +++ b/Spigot-Server-Patches/0121-Allow-Reloading-of-Command-Aliases.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Allow Reloading of Command Aliases Reload the aliases stored in commands.yml diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index fc309214f335ed455c89523ea6a388ba87c7e088..acfa657c62005b04eb9fb438f63240a923c2530f 100644 +index a201460235816698ee03d5ba5e78cbe505436216..56855cbb8daff88c643d97f1e12b0386d1f8ff8c 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -2192,5 +2192,24 @@ public final class CraftServer implements Server { +@@ -2193,5 +2193,24 @@ public final class CraftServer implements Server { DefaultPermissions.registerCorePermissions(); CraftDefaultPermissions.registerCorePermissions(); } diff --git a/Spigot-Server-Patches/0136-Enforce-Sync-Player-Saves.patch b/Spigot-Server-Patches/0136-Enforce-Sync-Player-Saves.patch index aaeb34f77..8c18b6c7f 100644 --- a/Spigot-Server-Patches/0136-Enforce-Sync-Player-Saves.patch +++ b/Spigot-Server-Patches/0136-Enforce-Sync-Player-Saves.patch @@ -7,10 +7,10 @@ Saving players async is extremely dangerous. This will force it to main the same way we handle async chunk loads. diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java -index 32be0e35918398f2fd5f62c2cb87c4597985b7b3..414e23fc24e90829b71def39b186f1913ce8300d 100644 +index 9d3b8be7a854828d6e3009e0ad4726c7f134b5e3..0da963896038d7b04fe0d410ab5d09a07edae9ab 100644 --- a/src/main/java/net/minecraft/server/PlayerList.java +++ b/src/main/java/net/minecraft/server/PlayerList.java -@@ -960,11 +960,13 @@ public abstract class PlayerList { +@@ -961,11 +961,13 @@ public abstract class PlayerList { } public void savePlayers() { diff --git a/Spigot-Server-Patches/0143-Properly-handle-async-calls-to-restart-the-server.patch b/Spigot-Server-Patches/0143-Properly-handle-async-calls-to-restart-the-server.patch index 7eaa9bf50..04ddd8432 100644 --- a/Spigot-Server-Patches/0143-Properly-handle-async-calls-to-restart-the-server.patch +++ b/Spigot-Server-Patches/0143-Properly-handle-async-calls-to-restart-the-server.patch @@ -73,10 +73,10 @@ index 28ade7187d6fd61adbfe65a1944426168b131c4c..878a9de29c728a0b49fb8ee15be85516 // Spigot Start private static double calcTps(double avg, double exp, double tps) diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java -index f5831148b5f8e2921306074f710d4b90398e896e..4945adff2f014cb679a61b8fb44d7d48971f20bf 100644 +index 0da963896038d7b04fe0d410ab5d09a07edae9ab..ec57eed04d43287249a6fe105556118c39ea0c48 100644 --- a/src/main/java/net/minecraft/server/PlayerList.java +++ b/src/main/java/net/minecraft/server/PlayerList.java -@@ -1071,10 +1071,15 @@ public abstract class PlayerList { +@@ -1072,10 +1072,15 @@ public abstract class PlayerList { entityplayer.playerInteractManager.b(worldserver.getMinecraftServer().getSaveData().getGameType()); } @@ -93,7 +93,7 @@ index f5831148b5f8e2921306074f710d4b90398e896e..4945adff2f014cb679a61b8fb44d7d48 } // CraftBukkit end -@@ -1086,6 +1091,7 @@ public abstract class PlayerList { +@@ -1087,6 +1092,7 @@ public abstract class PlayerList { } // Paper end } diff --git a/Spigot-Server-Patches/0146-Add-configuration-option-to-prevent-player-names-fro.patch b/Spigot-Server-Patches/0146-Add-configuration-option-to-prevent-player-names-fro.patch index 99a48df1d..bf74e8c60 100644 --- a/Spigot-Server-Patches/0146-Add-configuration-option-to-prevent-player-names-fro.patch +++ b/Spigot-Server-Patches/0146-Add-configuration-option-to-prevent-player-names-fro.patch @@ -20,10 +20,10 @@ index c4086de778cc2ccc958b1a94dd6e9cdb5065076c..5fa63d7ca20b88a44d8800b3ebf74e4c + } } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index acfa657c62005b04eb9fb438f63240a923c2530f..07906b1f25f9547896bc790c22b52a343ff9c940 100644 +index 56855cbb8daff88c643d97f1e12b0386d1f8ff8c..fe331321c126150ae7288dd29f12d87c31483d49 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -2211,5 +2211,10 @@ public final class CraftServer implements Server { +@@ -2212,5 +2212,10 @@ public final class CraftServer implements Server { commandMap.registerServerAliases(); return true; } diff --git a/Spigot-Server-Patches/0147-Use-TerminalConsoleAppender-for-console-improvements.patch b/Spigot-Server-Patches/0147-Use-TerminalConsoleAppender-for-console-improvements.patch index f118ea263..cafc13488 100644 --- a/Spigot-Server-Patches/0147-Use-TerminalConsoleAppender-for-console-improvements.patch +++ b/Spigot-Server-Patches/0147-Use-TerminalConsoleAppender-for-console-improvements.patch @@ -245,7 +245,7 @@ index 878a9de29c728a0b49fb8ee15be85516176795bd..b06bb3dccda23ebed1532e17f9699b9b public KeyPair getKeyPair() { diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java -index 4945adff2f014cb679a61b8fb44d7d48971f20bf..da86c825de669a6b9cea773b23d277f56a2daee5 100644 +index ec57eed04d43287249a6fe105556118c39ea0c48..49d57f83dc22603b24ab2369ca4ba3a5c9e8b092 100644 --- a/src/main/java/net/minecraft/server/PlayerList.java +++ b/src/main/java/net/minecraft/server/PlayerList.java @@ -79,8 +79,7 @@ public abstract class PlayerList { @@ -259,7 +259,7 @@ index 4945adff2f014cb679a61b8fb44d7d48971f20bf..da86c825de669a6b9cea773b23d277f5 this.k = new GameProfileBanList(PlayerList.b); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 07906b1f25f9547896bc790c22b52a343ff9c940..1c9b5c376c0750974f52d526414d094fcf3a3e11 100644 +index fe331321c126150ae7288dd29f12d87c31483d49..db41896b45f1608fbeb962d3ffe25d9608b36cc4 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -46,7 +46,7 @@ import java.util.function.Consumer; @@ -271,7 +271,7 @@ index 07906b1f25f9547896bc790c22b52a343ff9c940..1c9b5c376c0750974f52d526414d094f import net.minecraft.server.Advancement; import net.minecraft.server.ArgumentEntity; import net.minecraft.server.BiomeManager; -@@ -1195,9 +1195,13 @@ public final class CraftServer implements Server { +@@ -1196,9 +1196,13 @@ public final class CraftServer implements Server { return logger; } diff --git a/Spigot-Server-Patches/0153-Basic-PlayerProfile-API.patch b/Spigot-Server-Patches/0153-Basic-PlayerProfile-API.patch index b04c53b0a..480d6b036 100644 --- a/Spigot-Server-Patches/0153-Basic-PlayerProfile-API.patch +++ b/Spigot-Server-Patches/0153-Basic-PlayerProfile-API.patch @@ -560,7 +560,7 @@ index 4f769211cf98c3da720a904da3dcdcd4c7611f0b..a038397028848edb4f43cd4f72625466 private UserCacheEntry(GameProfile gameprofile, Date date) { diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 71f2a8cfc2e077ce7c576957fd1d36f6612a4ebf..4786a8eaca956435f2f76ee9d5fb9e66658c24a1 100644 +index 60a44992a962e15686f89247823389d3757d8b8c..feea84de7d2184caf24d79faee8874f7698e826e 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -225,6 +225,9 @@ import org.yaml.snakeyaml.error.MarkedYAMLException; @@ -573,7 +573,7 @@ index 71f2a8cfc2e077ce7c576957fd1d36f6612a4ebf..4786a8eaca956435f2f76ee9d5fb9e66 public final class CraftServer implements Server { private final String serverName = "Paper"; // Paper private final String serverVersion; -@@ -2228,5 +2231,24 @@ public final class CraftServer implements Server { +@@ -2229,5 +2232,24 @@ public final class CraftServer implements Server { public boolean suggestPlayerNamesWhenNullTabCompletions() { return com.destroystokyo.paper.PaperConfig.suggestPlayersWhenNullTabCompletions; } diff --git a/Spigot-Server-Patches/0161-ProfileWhitelistVerifyEvent.patch b/Spigot-Server-Patches/0161-ProfileWhitelistVerifyEvent.patch index a27e3a686..c4174c8d9 100644 --- a/Spigot-Server-Patches/0161-ProfileWhitelistVerifyEvent.patch +++ b/Spigot-Server-Patches/0161-ProfileWhitelistVerifyEvent.patch @@ -5,10 +5,10 @@ Subject: [PATCH] ProfileWhitelistVerifyEvent diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java -index 21f583302e9d8da8c9a9651ce40c64dc8abfa512..70339603aa3e256470be241bf033f3471e2090ea 100644 +index 49d57f83dc22603b24ab2369ca4ba3a5c9e8b092..0f20704c889f28d8e7560b33d366eb8948565071 100644 --- a/src/main/java/net/minecraft/server/PlayerList.java +++ b/src/main/java/net/minecraft/server/PlayerList.java -@@ -541,7 +541,7 @@ public abstract class PlayerList { +@@ -542,7 +542,7 @@ public abstract class PlayerList { if (!gameprofilebanentry.hasExpired()) event.disallow(PlayerLoginEvent.Result.KICK_BANNED, CraftChatMessage.fromComponent(chatmessage)); // Spigot } else if (!this.isWhitelisted(gameprofile)) { chatmessage = new ChatMessage("multiplayer.disconnect.not_whitelisted"); @@ -17,7 +17,7 @@ index 21f583302e9d8da8c9a9651ce40c64dc8abfa512..70339603aa3e256470be241bf033f347 } else if (getIPBans().isBanned(socketaddress) && !getIPBans().get(socketaddress).hasExpired()) { IpBanEntry ipbanentry = this.l.get(socketaddress); -@@ -922,9 +922,25 @@ public abstract class PlayerList { +@@ -923,9 +923,25 @@ public abstract class PlayerList { this.server.getCommandDispatcher().a(entityplayer); } diff --git a/Spigot-Server-Patches/0182-AsyncTabCompleteEvent.patch b/Spigot-Server-Patches/0182-AsyncTabCompleteEvent.patch index 5890668a6..8d68a6c3a 100644 --- a/Spigot-Server-Patches/0182-AsyncTabCompleteEvent.patch +++ b/Spigot-Server-Patches/0182-AsyncTabCompleteEvent.patch @@ -72,10 +72,10 @@ index b2eac041c3ff7d8a7c4524dac381ab95045f28af..fa5c640239451579fba35ad7b0979739 @Override diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 4786a8eaca956435f2f76ee9d5fb9e66658c24a1..3c22cf8fb454acaff282d8cd6c636f918de76e9e 100644 +index feea84de7d2184caf24d79faee8874f7698e826e..17c92071fabd385e1955fec793eba0b0c5cdd2b6 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -1784,7 +1784,7 @@ public final class CraftServer implements Server { +@@ -1785,7 +1785,7 @@ public final class CraftServer implements Server { offers = tabCompleteChat(player, message); } diff --git a/Spigot-Server-Patches/0205-getPlayerUniqueId-API.patch b/Spigot-Server-Patches/0205-getPlayerUniqueId-API.patch index 17486f515..76e67cdb6 100644 --- a/Spigot-Server-Patches/0205-getPlayerUniqueId-API.patch +++ b/Spigot-Server-Patches/0205-getPlayerUniqueId-API.patch @@ -9,10 +9,10 @@ In Offline Mode, will return an Offline UUID This is a more performant way to obtain a UUID for a name than loading an OfflinePlayer diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 3c22cf8fb454acaff282d8cd6c636f918de76e9e..ce3d5e9fd1853ab9519da93ce297ca0bceb9acf8 100644 +index 17c92071fabd385e1955fec793eba0b0c5cdd2b6..499e7d6fecc6223df057fa644f8c449fda910f0b 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -1480,6 +1480,26 @@ public final class CraftServer implements Server { +@@ -1481,6 +1481,26 @@ public final class CraftServer implements Server { return recipients.size(); } diff --git a/Spigot-Server-Patches/0236-Add-config-to-disable-ender-dragon-legacy-check.patch b/Spigot-Server-Patches/0236-Add-config-to-disable-ender-dragon-legacy-check.patch index 474051f83..621e22b74 100644 --- a/Spigot-Server-Patches/0236-Add-config-to-disable-ender-dragon-legacy-check.patch +++ b/Spigot-Server-Patches/0236-Add-config-to-disable-ender-dragon-legacy-check.patch @@ -19,7 +19,7 @@ index 33ce9a500430a01650e69a3568c8b03db325a936..cea15d50ed89430ee8d8cff9de21e1fc + } } diff --git a/src/main/java/net/minecraft/server/EnderDragonBattle.java b/src/main/java/net/minecraft/server/EnderDragonBattle.java -index 87ddabbbca4ac8444ad6ff69889d7fd0542045d4..1f012667464779939cd43453dcf066a14f4fa278 100644 +index 356defd19ebba5b051b7dbdcc21f0139bbdc4a84..69faefbdbf338b38311cd2a5d3183a104ec36f86 100644 --- a/src/main/java/net/minecraft/server/EnderDragonBattle.java +++ b/src/main/java/net/minecraft/server/EnderDragonBattle.java @@ -28,10 +28,10 @@ public class EnderDragonBattle { @@ -46,21 +46,3 @@ index 87ddabbbca4ac8444ad6ff69889d7fd0542045d4..1f012667464779939cd43453dcf066a1 this.world = worldserver; if (nbttagcompound.hasKeyOfType("DragonKilled", 99)) { if (nbttagcompound.b("Dragon")) { -@@ -376,7 +380,7 @@ public class EnderDragonBattle { - - private void a(BlockPosition blockposition) { - this.world.triggerEffect(3000, blockposition, 0); -- WorldGenerator.END_GATEWAY.b((WorldGenFeatureConfiguration) WorldGenEndGatewayConfiguration.a()).a(this.world, this.world.getStructureManager(), this.world.getChunkProvider().getChunkGenerator(), new Random(), blockposition); -+ WorldGenerator.END_GATEWAY.b(WorldGenEndGatewayConfiguration.a()).a(this.world, this.world.getStructureManager(), this.world.getChunkProvider().getChunkGenerator(), new Random(), blockposition); // Paper - decompile error - } - - private void a(boolean flag) { -@@ -388,7 +392,7 @@ public class EnderDragonBattle { - } - } - -- worldgenendtrophy.b((WorldGenFeatureConfiguration) WorldGenFeatureConfiguration.k).a(this.world, this.world.getStructureManager(), this.world.getChunkProvider().getChunkGenerator(), new Random(), this.exitPortalLocation); -+ worldgenendtrophy.b(WorldGenFeatureConfiguration.k).a(this.world, this.world.getStructureManager(), this.world.getChunkProvider().getChunkGenerator(), new Random(), this.exitPortalLocation); // Paper - decompile error - } - - private EntityEnderDragon o() { diff --git a/Spigot-Server-Patches/0238-InventoryCloseEvent-Reason-API.patch b/Spigot-Server-Patches/0238-InventoryCloseEvent-Reason-API.patch index f22644abc..ce46018fb 100644 --- a/Spigot-Server-Patches/0238-InventoryCloseEvent-Reason-API.patch +++ b/Spigot-Server-Patches/0238-InventoryCloseEvent-Reason-API.patch @@ -7,7 +7,7 @@ Allows you to determine why an inventory was closed, enabling plugin developers to "confirm" things based on if it was player triggered close or not. diff --git a/src/main/java/net/minecraft/server/EntityHuman.java b/src/main/java/net/minecraft/server/EntityHuman.java -index d94874b02ddcb640c9d94c99d83e77b2e55dce73..1249a7ae8fa8d6ea33cbc276717f1e4553f73b85 100644 +index 08141147f9795546e9397abed95834ed5e69a126..d9e5d71a87140c90b79902887bd2f481f02956dc 100644 --- a/src/main/java/net/minecraft/server/EntityHuman.java +++ b/src/main/java/net/minecraft/server/EntityHuman.java @@ -155,7 +155,7 @@ public abstract class EntityHuman extends EntityLiving { @@ -101,10 +101,10 @@ index e78306cb187b5f08e32888ebd55c4c486fc8dad2..2cbb0e0e1046efeff7f417d0c976754b this.player.o(); } diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java -index 70339603aa3e256470be241bf033f3471e2090ea..ef1ea58c252d063ce282d244236a510655538a11 100644 +index 0f20704c889f28d8e7560b33d366eb8948565071..e3611d01c0e20938f8b4ef01ade03a2e3434ed9f 100644 --- a/src/main/java/net/minecraft/server/PlayerList.java +++ b/src/main/java/net/minecraft/server/PlayerList.java -@@ -419,7 +419,7 @@ public abstract class PlayerList { +@@ -420,7 +420,7 @@ public abstract class PlayerList { entityplayer.a(StatisticList.LEAVE_GAME); // CraftBukkit start - Quitting must be before we do final save of data, in case plugins need to modify it @@ -155,7 +155,7 @@ index 27b2ee740a705238995dd3bcea62b4bf74ec82dc..f6209e9c0b9e0ab99693025d23847bc6 @Override public boolean isBlocking() { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index ac621e2a6e7a2eaba5acc1dabca5d0bef4c8b2b3..0ba5b2a444660f280b673dbd0db9ded38fa6a839 100644 +index b5d2ce40431247112baaded01e860c1832bf8fd8..bb6635be243a270752e1c47a9646a13ea6707baf 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -789,7 +789,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/Spigot-Server-Patches/0263-Add-TNTPrimeEvent.patch b/Spigot-Server-Patches/0263-Add-TNTPrimeEvent.patch index 2d395c995..86b01ed81 100644 --- a/Spigot-Server-Patches/0263-Add-TNTPrimeEvent.patch +++ b/Spigot-Server-Patches/0263-Add-TNTPrimeEvent.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add TNTPrimeEvent diff --git a/src/main/java/net/minecraft/server/BlockFire.java b/src/main/java/net/minecraft/server/BlockFire.java -index 0cbf4d7d460a3e9e632fd0c9cfd318f3065f18d6..1e6159f211fb445e45bab3ca1a3bf21750928302 100644 +index 9c3b79c1314dedae06278328b6ca722d5ff1e60d..a11a775a929c5f868f1b84c56d7e1715a91db236 100644 --- a/src/main/java/net/minecraft/server/BlockFire.java +++ b/src/main/java/net/minecraft/server/BlockFire.java @@ -2,6 +2,7 @@ package net.minecraft.server; @@ -16,7 +16,7 @@ index 0cbf4d7d460a3e9e632fd0c9cfd318f3065f18d6..1e6159f211fb445e45bab3ca1a3bf217 import java.util.Map; import java.util.Random; -@@ -249,7 +250,7 @@ public class BlockFire extends BlockFireAbstract { +@@ -253,7 +254,7 @@ public class BlockFire extends BlockFireAbstract { world.setTypeAndData(blockposition, this.a(world, blockposition, l), 3); } else { @@ -25,7 +25,7 @@ index 0cbf4d7d460a3e9e632fd0c9cfd318f3065f18d6..1e6159f211fb445e45bab3ca1a3bf217 } Block block = iblockdata.getBlock(); -@@ -257,6 +258,13 @@ public class BlockFire extends BlockFireAbstract { +@@ -261,6 +262,13 @@ public class BlockFire extends BlockFireAbstract { if (block instanceof BlockTNT) { BlockTNT blocktnt = (BlockTNT) block; diff --git a/Spigot-Server-Patches/0270-Use-ConcurrentHashMap-in-JsonList.patch b/Spigot-Server-Patches/0270-Use-ConcurrentHashMap-in-JsonList.patch index 01382c17f..089f727bb 100644 --- a/Spigot-Server-Patches/0270-Use-ConcurrentHashMap-in-JsonList.patch +++ b/Spigot-Server-Patches/0270-Use-ConcurrentHashMap-in-JsonList.patch @@ -122,10 +122,10 @@ index 5b01e4edb3c0f8bc785b70128cbe31b14356e4fb..9213bfb78e92b838189161045e394558 this.d.values().stream().map((jsonlistentry) -> { diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java -index ef1ea58c252d063ce282d244236a510655538a11..8c1d836538c678feca56076753e8781eadcd6d1d 100644 +index e3611d01c0e20938f8b4ef01ade03a2e3434ed9f..2acea235633fb6b48c68711bc1cec5b61e7bf140 100644 --- a/src/main/java/net/minecraft/server/PlayerList.java +++ b/src/main/java/net/minecraft/server/PlayerList.java -@@ -542,7 +542,7 @@ public abstract class PlayerList { +@@ -543,7 +543,7 @@ public abstract class PlayerList { } else if (!this.isWhitelisted(gameprofile)) { chatmessage = new ChatMessage("multiplayer.disconnect.not_whitelisted"); //event.disallow(PlayerLoginEvent.Result.KICK_WHITELIST, org.spigotmc.SpigotConfig.whitelistMessage); // Spigot // Paper - moved to isWhitelisted diff --git a/Spigot-Server-Patches/0320-Make-the-default-permission-message-configurable.patch b/Spigot-Server-Patches/0320-Make-the-default-permission-message-configurable.patch index fe4dadfe8..70a4d2e76 100644 --- a/Spigot-Server-Patches/0320-Make-the-default-permission-message-configurable.patch +++ b/Spigot-Server-Patches/0320-Make-the-default-permission-message-configurable.patch @@ -29,10 +29,10 @@ index 01d48da8b2f89ad3a615ad10c044c5f0a08ee4ed..f9b1b198299166759fe0bd0a36d8d88c private static void savePlayerData() { savePlayerData = getBoolean("settings.save-player-data", savePlayerData); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 02395d71bc8b457240720cc76a481f9ea1613d79..ce60435cc83dbe0ce0e791de256b67f82052e97b 100644 +index 02dc825a40bc8f289cd4b93ba2e88ee534784730..b97e8c2a42c608b1798c4a1964111c312a125097 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -2254,6 +2254,11 @@ public final class CraftServer implements Server { +@@ -2255,6 +2255,11 @@ public final class CraftServer implements Server { return com.destroystokyo.paper.PaperConfig.suggestPlayersWhenNullTabCompletions; } diff --git a/Spigot-Server-Patches/0337-Optimize-Network-Manager-and-add-advanced-packet-sup.patch b/Spigot-Server-Patches/0337-Optimize-Network-Manager-and-add-advanced-packet-sup.patch index 8e265a904..d48e28ee1 100644 --- a/Spigot-Server-Patches/0337-Optimize-Network-Manager-and-add-advanced-packet-sup.patch +++ b/Spigot-Server-Patches/0337-Optimize-Network-Manager-and-add-advanced-packet-sup.patch @@ -338,10 +338,10 @@ index 2d8e6a2f4a0c3c5d74a647d7164b0028781d3bf5..545dbe6ddcce1d172f465b4a7ab85654 return false; } diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java -index a6f0b39717164d6b3ab15843b13ef52a24dde5d6..3a5641f9187fc21f367f7a3cd12cec8e4c80dd97 100644 +index f436f30c1e07ac42e35a007cde5a92cc0568e7ff..1950ca8af7335317ec40cf2dfd026115cc29054e 100644 --- a/src/main/java/net/minecraft/server/PlayerList.java +++ b/src/main/java/net/minecraft/server/PlayerList.java -@@ -166,6 +166,7 @@ public abstract class PlayerList { +@@ -167,6 +167,7 @@ public abstract class PlayerList { boolean flag1 = gamerules.getBoolean(GameRules.REDUCED_DEBUG_INFO); // Spigot - view distance @@ -349,7 +349,7 @@ index a6f0b39717164d6b3ab15843b13ef52a24dde5d6..3a5641f9187fc21f367f7a3cd12cec8e playerconnection.sendPacket(new PacketPlayOutLogin(entityplayer.getId(), entityplayer.playerInteractManager.getGameMode(), entityplayer.playerInteractManager.c(), BiomeManager.a(worldserver1.getSeed()), worlddata.isHardcore(), this.server.E(), this.s, worldserver1.getTypeKey(), worldserver1.getDimensionKey(), this.getMaxPlayers(), worldserver.spigotConfig.viewDistance, flag1, !flag, worldserver1.isDebugWorld(), worldserver1.isFlatWorld())); entityplayer.getBukkitEntity().sendSupportedChannels(); // CraftBukkit playerconnection.sendPacket(new PacketPlayOutCustomPayload(PacketPlayOutCustomPayload.a, (new PacketDataSerializer(Unpooled.buffer())).a(this.getServer().getServerModName()))); -@@ -175,6 +176,7 @@ public abstract class PlayerList { +@@ -176,6 +177,7 @@ public abstract class PlayerList { playerconnection.sendPacket(new PacketPlayOutRecipeUpdate(this.server.getCraftingManager().b())); playerconnection.sendPacket(new PacketPlayOutTags(this.server.getTagRegistry())); playerconnection.sendPacket(new PacketPlayOutEntityStatus(entityplayer, (byte) (worldserver.getGameRules().getBoolean(GameRules.REDUCED_DEBUG_INFO) ? 22 : 23))); // Paper - fix this rule not being initialized on the client diff --git a/Spigot-Server-Patches/0339-MC-145260-Fix-Whitelist-On-Off-inconsistency.patch b/Spigot-Server-Patches/0339-MC-145260-Fix-Whitelist-On-Off-inconsistency.patch index 9926dbd00..29b6652eb 100644 --- a/Spigot-Server-Patches/0339-MC-145260-Fix-Whitelist-On-Off-inconsistency.patch +++ b/Spigot-Server-Patches/0339-MC-145260-Fix-Whitelist-On-Off-inconsistency.patch @@ -11,10 +11,10 @@ everything to the Whitelist object. https://github.com/PaperMC/Paper/issues/1880 diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java -index 3a5641f9187fc21f367f7a3cd12cec8e4c80dd97..5c6ea9df899a0649abde8c54e6f844eaf53d27dd 100644 +index 1950ca8af7335317ec40cf2dfd026115cc29054e..0815a8e580465c0fe2700efad67370d1ff514fbf 100644 --- a/src/main/java/net/minecraft/server/PlayerList.java +++ b/src/main/java/net/minecraft/server/PlayerList.java -@@ -931,9 +931,9 @@ public abstract class PlayerList { +@@ -932,9 +932,9 @@ public abstract class PlayerList { } public boolean isWhitelisted(GameProfile gameprofile, org.bukkit.event.player.PlayerLoginEvent loginEvent) { boolean isOp = this.operators.d(gameprofile); diff --git a/Spigot-Server-Patches/0342-Call-WhitelistToggleEvent-when-whitelist-is-toggled.patch b/Spigot-Server-Patches/0342-Call-WhitelistToggleEvent-when-whitelist-is-toggled.patch index 44c6785da..97f1c5974 100644 --- a/Spigot-Server-Patches/0342-Call-WhitelistToggleEvent-when-whitelist-is-toggled.patch +++ b/Spigot-Server-Patches/0342-Call-WhitelistToggleEvent-when-whitelist-is-toggled.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Call WhitelistToggleEvent when whitelist is toggled diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java -index 5c6ea9df899a0649abde8c54e6f844eaf53d27dd..d4048812723bed08e5bb2aadc651a92570d4bb2a 100644 +index 0815a8e580465c0fe2700efad67370d1ff514fbf..4d9c84348770dea9307488317cf5c36913367ca1 100644 --- a/src/main/java/net/minecraft/server/PlayerList.java +++ b/src/main/java/net/minecraft/server/PlayerList.java -@@ -1049,6 +1049,7 @@ public abstract class PlayerList { +@@ -1050,6 +1050,7 @@ public abstract class PlayerList { } public void setHasWhitelist(boolean flag) { diff --git a/Spigot-Server-Patches/0345-Entity-getEntitySpawnReason.patch b/Spigot-Server-Patches/0345-Entity-getEntitySpawnReason.patch index d14abfca1..ede122005 100644 --- a/Spigot-Server-Patches/0345-Entity-getEntitySpawnReason.patch +++ b/Spigot-Server-Patches/0345-Entity-getEntitySpawnReason.patch @@ -59,10 +59,10 @@ index e87fa15250a57c9b7ed4f4b530289b7b28bb7c9c..83dda2bb95d38ff248d635420c0bf12e } catch (Throwable throwable) { diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java -index d4048812723bed08e5bb2aadc651a92570d4bb2a..5f520d8a7ad4753bc106ebf9567fbbb8a36ac1d1 100644 +index 4d9c84348770dea9307488317cf5c36913367ca1..4ae901a3516840574a1c31e1002e8c6b248a7d54 100644 --- a/src/main/java/net/minecraft/server/PlayerList.java +++ b/src/main/java/net/minecraft/server/PlayerList.java -@@ -263,7 +263,7 @@ public abstract class PlayerList { +@@ -264,7 +264,7 @@ public abstract class PlayerList { // CraftBukkit start WorldServer finalWorldServer = worldserver1; Entity entity = EntityTypes.a(nbttagcompound1.getCompound("Entity"), finalWorldServer, (entity1) -> { diff --git a/Spigot-Server-Patches/0347-Implement-PlayerPostRespawnEvent.patch b/Spigot-Server-Patches/0347-Implement-PlayerPostRespawnEvent.patch index ef396b306..2c859b2e5 100644 --- a/Spigot-Server-Patches/0347-Implement-PlayerPostRespawnEvent.patch +++ b/Spigot-Server-Patches/0347-Implement-PlayerPostRespawnEvent.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Implement PlayerPostRespawnEvent diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java -index 5f520d8a7ad4753bc106ebf9567fbbb8a36ac1d1..5b3d2bd35ca3f98b8c04ea841023d68b24b91718 100644 +index 4ae901a3516840574a1c31e1002e8c6b248a7d54..ce1768e1c47179dfc119d7fa315c30510715f1d6 100644 --- a/src/main/java/net/minecraft/server/PlayerList.java +++ b/src/main/java/net/minecraft/server/PlayerList.java -@@ -665,9 +665,14 @@ public abstract class PlayerList { +@@ -666,9 +666,14 @@ public abstract class PlayerList { // this.a(entityplayer1, entityplayer, worldserver1); // CraftBukkit - removed boolean flag2 = false; @@ -24,7 +24,7 @@ index 5f520d8a7ad4753bc106ebf9567fbbb8a36ac1d1..5b3d2bd35ca3f98b8c04ea841023d68b WorldServer worldserver1 = this.server.getWorldServer(entityplayer.getSpawnDimension()); if (worldserver1 != null) { Optional optional; -@@ -708,6 +713,7 @@ public abstract class PlayerList { +@@ -709,6 +714,7 @@ public abstract class PlayerList { location = respawnEvent.getRespawnLocation(); if (!flag) entityplayer.reset(); // SPIGOT-4785 @@ -32,7 +32,7 @@ index 5f520d8a7ad4753bc106ebf9567fbbb8a36ac1d1..5b3d2bd35ca3f98b8c04ea841023d68b } else { location.setWorld(worldserver.getWorld()); } -@@ -765,6 +771,13 @@ public abstract class PlayerList { +@@ -766,6 +772,13 @@ public abstract class PlayerList { if (entityplayer.playerConnection.isDisconnected()) { this.savePlayerFile(entityplayer); } diff --git a/Spigot-Server-Patches/0358-Fix-CraftServer-isPrimaryThread-and-MinecraftServer-.patch b/Spigot-Server-Patches/0358-Fix-CraftServer-isPrimaryThread-and-MinecraftServer-.patch index 7a81706b8..d00a141ff 100644 --- a/Spigot-Server-Patches/0358-Fix-CraftServer-isPrimaryThread-and-MinecraftServer-.patch +++ b/Spigot-Server-Patches/0358-Fix-CraftServer-isPrimaryThread-and-MinecraftServer-.patch @@ -29,10 +29,10 @@ index cc493d5d8b621bb69aedc5d2c5121d9199074575..19680baafcc8a5a18ec3f58da6943721 public boolean isDebugging() { diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index ce60435cc83dbe0ce0e791de256b67f82052e97b..d3a3b47fe86579abc1c5d17284717c79a43cf058 100644 +index b97e8c2a42c608b1798c4a1964111c312a125097..1b591e6450125a0f5f8c79829fb8dea5c3eb8a8e 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -1780,7 +1780,7 @@ public final class CraftServer implements Server { +@@ -1781,7 +1781,7 @@ public final class CraftServer implements Server { @Override public boolean isPrimaryThread() { diff --git a/Spigot-Server-Patches/0383-Fix-MC-158900.patch b/Spigot-Server-Patches/0383-Fix-MC-158900.patch index fce6bbf7c..3b2a5f288 100644 --- a/Spigot-Server-Patches/0383-Fix-MC-158900.patch +++ b/Spigot-Server-Patches/0383-Fix-MC-158900.patch @@ -7,10 +7,10 @@ The problem was we were checking isExpired() on the entry, but if it was expired at that point, then it would be null. diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java -index 5b3d2bd35ca3f98b8c04ea841023d68b24b91718..18e6b4dad0e78c53e3e39544c343863f79c75274 100644 +index ce1768e1c47179dfc119d7fa315c30510715f1d6..47ec41f114aa09a50f8876d11da7db981e2be2f2 100644 --- a/src/main/java/net/minecraft/server/PlayerList.java +++ b/src/main/java/net/minecraft/server/PlayerList.java -@@ -532,8 +532,10 @@ public abstract class PlayerList { +@@ -533,8 +533,10 @@ public abstract class PlayerList { Player player = entity.getBukkitEntity(); PlayerLoginEvent event = new PlayerLoginEvent(player, hostname, ((java.net.InetSocketAddress) socketaddress).getAddress(), ((java.net.InetSocketAddress) loginlistener.networkManager.getRawAddress()).getAddress()); diff --git a/Spigot-Server-Patches/0392-Expose-the-internal-current-tick.patch b/Spigot-Server-Patches/0392-Expose-the-internal-current-tick.patch index 97ad55d39..a3c6c7bbb 100644 --- a/Spigot-Server-Patches/0392-Expose-the-internal-current-tick.patch +++ b/Spigot-Server-Patches/0392-Expose-the-internal-current-tick.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Expose the internal current tick diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index d3a3b47fe86579abc1c5d17284717c79a43cf058..c8e79fc2593ba8a7465b06e7e91d1b645da0f84c 100644 +index 1b591e6450125a0f5f8c79829fb8dea5c3eb8a8e..ba3a3c487f0cefa1c0d7394998800a4c4d6486cb 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -2277,5 +2277,10 @@ public final class CraftServer implements Server { +@@ -2278,5 +2278,10 @@ public final class CraftServer implements Server { } return new com.destroystokyo.paper.profile.CraftPlayerProfile(uuid, name); } diff --git a/Spigot-Server-Patches/0393-Fix-stuck-in-sneak-when-changing-worlds-MC-10657.patch b/Spigot-Server-Patches/0393-Fix-stuck-in-sneak-when-changing-worlds-MC-10657.patch index 68c118c65..464bc79b1 100644 --- a/Spigot-Server-Patches/0393-Fix-stuck-in-sneak-when-changing-worlds-MC-10657.patch +++ b/Spigot-Server-Patches/0393-Fix-stuck-in-sneak-when-changing-worlds-MC-10657.patch @@ -18,10 +18,10 @@ index 35aca074e4a0e1202441536f6b21f3731c490cc6..b33041765051f519807081607d2a8f1c PlayerChangedWorldEvent changeEvent = new PlayerChangedWorldEvent(this.getBukkitEntity(), worldserver.getWorld()); this.world.getServer().getPluginManager().callEvent(changeEvent); diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java -index 18e6b4dad0e78c53e3e39544c343863f79c75274..2f96bf6af8ad4e13bfd9b8b6e00867eb89123a78 100644 +index 47ec41f114aa09a50f8876d11da7db981e2be2f2..9e635fa562264ee9454adb6dd7fc47f45d8b3242 100644 --- a/src/main/java/net/minecraft/server/PlayerList.java +++ b/src/main/java/net/minecraft/server/PlayerList.java -@@ -760,6 +760,8 @@ public abstract class PlayerList { +@@ -761,6 +761,8 @@ public abstract class PlayerList { entityplayer.playerConnection.sendPacket(new PacketPlayOutEntityEffect(entityplayer.getId(), mobEffect)); } diff --git a/Spigot-Server-Patches/0435-Optimize-Collision-to-not-load-chunks.patch b/Spigot-Server-Patches/0435-Optimize-Collision-to-not-load-chunks.patch index 196867032..c4a82f109 100644 --- a/Spigot-Server-Patches/0435-Optimize-Collision-to-not-load-chunks.patch +++ b/Spigot-Server-Patches/0435-Optimize-Collision-to-not-load-chunks.patch @@ -40,10 +40,10 @@ index b27260270de80de371a5a71fa0516aa43c44c83e..1cc40b1f0af9e617b2a71bcc442543e1 Stream c(@Nullable Entity entity, AxisAlignedBB axisalignedbb, Predicate predicate); diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java -index 2f96bf6af8ad4e13bfd9b8b6e00867eb89123a78..870b5352528384b0bb612cd5379683ee142fb99f 100644 +index 9e635fa562264ee9454adb6dd7fc47f45d8b3242..4189c315176415b121c6e8f8d3c9682caded2189 100644 --- a/src/main/java/net/minecraft/server/PlayerList.java +++ b/src/main/java/net/minecraft/server/PlayerList.java -@@ -723,6 +723,7 @@ public abstract class PlayerList { +@@ -724,6 +724,7 @@ public abstract class PlayerList { entityplayer1.forceSetPositionRotation(location.getX(), location.getY(), location.getZ(), location.getYaw(), location.getPitch()); // CraftBukkit end diff --git a/Spigot-Server-Patches/0442-Add-tick-times-API-and-mspt-command.patch b/Spigot-Server-Patches/0442-Add-tick-times-API-and-mspt-command.patch index e69eb9332..8f26ee76b 100644 --- a/Spigot-Server-Patches/0442-Add-tick-times-API-and-mspt-command.patch +++ b/Spigot-Server-Patches/0442-Add-tick-times-API-and-mspt-command.patch @@ -147,10 +147,10 @@ index 98e3acdc618ceda35e8086746aed698d304321c0..5bef465bfe90b08524862b13f9e22dcf + // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index c8e79fc2593ba8a7465b06e7e91d1b645da0f84c..05730e5812536e7e2b8dce4bc794b46e9e412d29 100644 +index ba3a3c487f0cefa1c0d7394998800a4c4d6486cb..e7414b9e2307171edc7b2b7583f7d2972b3a5503 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -2127,6 +2127,16 @@ public final class CraftServer implements Server { +@@ -2128,6 +2128,16 @@ public final class CraftServer implements Server { net.minecraft.server.MinecraftServer.getServer().tps15.getAverage() }; } diff --git a/Spigot-Server-Patches/0443-Expose-MinecraftServer-isRunning.patch b/Spigot-Server-Patches/0443-Expose-MinecraftServer-isRunning.patch index 0266d48ad..55a6d0ae3 100644 --- a/Spigot-Server-Patches/0443-Expose-MinecraftServer-isRunning.patch +++ b/Spigot-Server-Patches/0443-Expose-MinecraftServer-isRunning.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Expose MinecraftServer#isRunning This allows for plugins to detect if the server is actually turning off in onDisable rather than just plugins reloading. diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 05730e5812536e7e2b8dce4bc794b46e9e412d29..71b5c80b462d2d4de737ab608650b0ec9965ace3 100644 +index e7414b9e2307171edc7b2b7583f7d2972b3a5503..43f8a547ab40d427bdeac0edac4040f5ff5576b5 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -2292,5 +2292,10 @@ public final class CraftServer implements Server { +@@ -2293,5 +2293,10 @@ public final class CraftServer implements Server { public int getCurrentTick() { return net.minecraft.server.MinecraftServer.currentTick; } diff --git a/Spigot-Server-Patches/0448-Improved-Watchdog-Support.patch b/Spigot-Server-Patches/0448-Improved-Watchdog-Support.patch index 42b65beb7..2053fa68a 100644 --- a/Spigot-Server-Patches/0448-Improved-Watchdog-Support.patch +++ b/Spigot-Server-Patches/0448-Improved-Watchdog-Support.patch @@ -273,10 +273,10 @@ index bb4d54ebee573964cf3026888da108584b12972f..09f94bd242318155dbb46e12224ad3e4 list.stream().map((playerchunk) -> { CompletableFuture completablefuture; diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java -index 0524370c393dff4794abc0dfb28630c533a39ce1..57f408b7b7a50f057f53c9cbea93adbeba97123c 100644 +index 29b802b9b1435479ca2a4b57267967f848162424..8da0d7f543dccc30955cdbc20a34a070d269b8ac 100644 --- a/src/main/java/net/minecraft/server/PlayerList.java +++ b/src/main/java/net/minecraft/server/PlayerList.java -@@ -430,7 +430,7 @@ public abstract class PlayerList { +@@ -431,7 +431,7 @@ public abstract class PlayerList { cserver.getPluginManager().callEvent(playerQuitEvent); entityplayer.getBukkitEntity().disconnect(playerQuitEvent.getQuitMessage()); @@ -318,10 +318,10 @@ index 93df6a29035bb3cc96409b145a2e1433d38bbe99..418ba04a837ee2b17cc679edd35ba098 String msg = "Entity threw exception at " + entity.world.getWorld().getName() + ":" + entity.locX() + "," + entity.locY() + "," + entity.locZ(); System.err.println(msg); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 71b5c80b462d2d4de737ab608650b0ec9965ace3..604723d6f93b694f59f9844486d2b0c8f24a39af 100644 +index 43f8a547ab40d427bdeac0edac4040f5ff5576b5..bae1c62cb5c440ec9f915f602d58635bfbfa361c 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -1780,7 +1780,7 @@ public final class CraftServer implements Server { +@@ -1781,7 +1781,7 @@ public final class CraftServer implements Server { @Override public boolean isPrimaryThread() { diff --git a/Spigot-Server-Patches/0462-Broadcast-join-message-to-console.patch b/Spigot-Server-Patches/0462-Broadcast-join-message-to-console.patch index ee9cb483a..f95b2371b 100644 --- a/Spigot-Server-Patches/0462-Broadcast-join-message-to-console.patch +++ b/Spigot-Server-Patches/0462-Broadcast-join-message-to-console.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Broadcast join message to console diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java -index 57f408b7b7a50f057f53c9cbea93adbeba97123c..607408c48b0afc9944dc384cd2a441d4d8286d8c 100644 +index 8da0d7f543dccc30955cdbc20a34a070d269b8ac..06c675ce3b61766dbb7b456fd6aa46f55357e1b8 100644 --- a/src/main/java/net/minecraft/server/PlayerList.java +++ b/src/main/java/net/minecraft/server/PlayerList.java -@@ -212,9 +212,9 @@ public abstract class PlayerList { +@@ -213,9 +213,9 @@ public abstract class PlayerList { joinMessage = playerJoinEvent.getJoinMessage(); if (joinMessage != null && joinMessage.length() > 0) { diff --git a/Spigot-Server-Patches/0463-Fix-Longstanding-Broken-behavior-of-PlayerJoinEvent.patch b/Spigot-Server-Patches/0463-Fix-Longstanding-Broken-behavior-of-PlayerJoinEvent.patch index a2fea6c07..10609b6df 100644 --- a/Spigot-Server-Patches/0463-Fix-Longstanding-Broken-behavior-of-PlayerJoinEvent.patch +++ b/Spigot-Server-Patches/0463-Fix-Longstanding-Broken-behavior-of-PlayerJoinEvent.patch @@ -52,10 +52,10 @@ index 4ab719930f5b35c0ae221e9345f1e2eda7d9d719..8de86684dda275585826617b41d6792f if (!(entity instanceof EntityComplexPart)) { EntityTypes entitytypes = entity.getEntityType(); diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java -index 607408c48b0afc9944dc384cd2a441d4d8286d8c..8e46faf22b1df8166520bee1c1cf4233ad093822 100644 +index 06c675ce3b61766dbb7b456fd6aa46f55357e1b8..a2c9cb6b5c06a76b5fafb75ef51293832f0f4620 100644 --- a/src/main/java/net/minecraft/server/PlayerList.java +++ b/src/main/java/net/minecraft/server/PlayerList.java -@@ -201,6 +201,12 @@ public abstract class PlayerList { +@@ -202,6 +202,12 @@ public abstract class PlayerList { this.j.put(entityplayer.getUniqueID(), entityplayer); // this.sendAll(new PacketPlayOutPlayerInfo(PacketPlayOutPlayerInfo.EnumPlayerInfoAction.ADD_PLAYER, new EntityPlayer[]{entityplayer})); // CraftBukkit - replaced with loop below @@ -68,7 +68,7 @@ index 607408c48b0afc9944dc384cd2a441d4d8286d8c..8e46faf22b1df8166520bee1c1cf4233 // CraftBukkit start PlayerJoinEvent playerJoinEvent = new PlayerJoinEvent(cserver.getPlayer(entityplayer), joinMessage); cserver.getPluginManager().callEvent(playerJoinEvent); -@@ -235,6 +241,8 @@ public abstract class PlayerList { +@@ -236,6 +242,8 @@ public abstract class PlayerList { entityplayer.playerConnection.sendPacket(new PacketPlayOutPlayerInfo(PacketPlayOutPlayerInfo.EnumPlayerInfoAction.ADD_PLAYER, new EntityPlayer[] { entityplayer1})); } entityplayer.sentListPacket = true; @@ -77,7 +77,7 @@ index 607408c48b0afc9944dc384cd2a441d4d8286d8c..8e46faf22b1df8166520bee1c1cf4233 // CraftBukkit end entityplayer.playerConnection.sendPacket(new PacketPlayOutEntityMetadata(entityplayer.getId(), entityplayer.datawatcher, true)); // CraftBukkit - BungeeCord#2321, send complete data to self on spawn -@@ -260,6 +268,11 @@ public abstract class PlayerList { +@@ -261,6 +269,11 @@ public abstract class PlayerList { playerconnection.sendPacket(new PacketPlayOutEntityEffect(entityplayer.getId(), mobeffect)); } @@ -89,7 +89,7 @@ index 607408c48b0afc9944dc384cd2a441d4d8286d8c..8e46faf22b1df8166520bee1c1cf4233 if (nbttagcompound != null && nbttagcompound.hasKeyOfType("RootVehicle", 10)) { NBTTagCompound nbttagcompound1 = nbttagcompound.getCompound("RootVehicle"); // CraftBukkit start -@@ -308,6 +321,10 @@ public abstract class PlayerList { +@@ -309,6 +322,10 @@ public abstract class PlayerList { } } diff --git a/Spigot-Server-Patches/0464-Load-Chunks-for-Login-Asynchronously.patch b/Spigot-Server-Patches/0464-Load-Chunks-for-Login-Asynchronously.patch index d8b2d1dc9..504dbf107 100644 --- a/Spigot-Server-Patches/0464-Load-Chunks-for-Login-Asynchronously.patch +++ b/Spigot-Server-Patches/0464-Load-Chunks-for-Login-Asynchronously.patch @@ -110,7 +110,7 @@ index 651ecb50c2b06ca81cb9a2286d77fd41a17b5140..1099a46aa05f12572100994ea251f0d5 this.minecraftServer.getMethodProfiler().enter("keepAlive"); // Paper Start - give clients a longer time to respond to pings as per pre 1.12.2 timings diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java -index 8e46faf22b1df8166520bee1c1cf4233ad093822..c263ad3f9f127d798a6c0cdcb3d004171100027e 100644 +index a2c9cb6b5c06a76b5fafb75ef51293832f0f4620..78a4dfb1f62183df0e80787442036e69d40e4461 100644 --- a/src/main/java/net/minecraft/server/PlayerList.java +++ b/src/main/java/net/minecraft/server/PlayerList.java @@ -18,6 +18,7 @@ import java.util.Map; @@ -156,7 +156,7 @@ index 8e46faf22b1df8166520bee1c1cf4233ad093822..c263ad3f9f127d798a6c0cdcb3d00417 // CraftBukkit end if (nbttagcompound != null) { -@@ -184,6 +191,53 @@ public abstract class PlayerList { +@@ -185,6 +192,53 @@ public abstract class PlayerList { entityplayer.B().a(entityplayer); this.sendScoreboard(worldserver1.getScoreboard(), entityplayer); this.server.invalidatePingSample(); @@ -210,7 +210,7 @@ index 8e46faf22b1df8166520bee1c1cf4233ad093822..c263ad3f9f127d798a6c0cdcb3d00417 ChatMessage chatmessage; if (entityplayer.getProfile().getName().equalsIgnoreCase(s)) { -@@ -205,7 +259,7 @@ public abstract class PlayerList { +@@ -206,7 +260,7 @@ public abstract class PlayerList { entityplayer.supressTrackerForLogin = true; worldserver.addPlayerJoin(entityplayer); this.server.getBossBattleCustomData().a(entityplayer); // see commented out section below worldserver.addPlayerJoin(entityplayer); @@ -219,7 +219,7 @@ index 8e46faf22b1df8166520bee1c1cf4233ad093822..c263ad3f9f127d798a6c0cdcb3d00417 // Paper end // CraftBukkit start PlayerJoinEvent playerJoinEvent = new PlayerJoinEvent(cserver.getPlayer(entityplayer), joinMessage); -@@ -242,7 +296,6 @@ public abstract class PlayerList { +@@ -243,7 +297,6 @@ public abstract class PlayerList { } entityplayer.sentListPacket = true; entityplayer.supressTrackerForLogin = false; // Paper @@ -227,7 +227,7 @@ index 8e46faf22b1df8166520bee1c1cf4233ad093822..c263ad3f9f127d798a6c0cdcb3d00417 // CraftBukkit end entityplayer.playerConnection.sendPacket(new PacketPlayOutEntityMetadata(entityplayer.getId(), entityplayer.datawatcher, true)); // CraftBukkit - BungeeCord#2321, send complete data to self on spawn -@@ -269,9 +322,10 @@ public abstract class PlayerList { +@@ -270,9 +323,10 @@ public abstract class PlayerList { } // Paper start - move vehicle into method so it can be called above - short circuit around that code @@ -239,7 +239,7 @@ index 8e46faf22b1df8166520bee1c1cf4233ad093822..c263ad3f9f127d798a6c0cdcb3d00417 // Paper end if (nbttagcompound != null && nbttagcompound.hasKeyOfType("RootVehicle", 10)) { NBTTagCompound nbttagcompound1 = nbttagcompound.getCompound("RootVehicle"); -@@ -420,6 +474,7 @@ public abstract class PlayerList { +@@ -421,6 +475,7 @@ public abstract class PlayerList { protected void savePlayerFile(EntityPlayer entityplayer) { if (!entityplayer.getBukkitEntity().isPersistent()) return; // CraftBukkit @@ -247,7 +247,7 @@ index 8e46faf22b1df8166520bee1c1cf4233ad093822..c263ad3f9f127d798a6c0cdcb3d00417 this.playerFileData.save(entityplayer); ServerStatisticManager serverstatisticmanager = (ServerStatisticManager) entityplayer.getStatisticManager(); // CraftBukkit -@@ -444,7 +499,7 @@ public abstract class PlayerList { +@@ -445,7 +500,7 @@ public abstract class PlayerList { entityplayer.closeInventory(org.bukkit.event.inventory.InventoryCloseEvent.Reason.DISCONNECT); // Paper PlayerQuitEvent playerQuitEvent = new PlayerQuitEvent(cserver.getPlayer(entityplayer), "\u00A7e" + entityplayer.getName() + " left the game"); @@ -256,7 +256,7 @@ index 8e46faf22b1df8166520bee1c1cf4233ad093822..c263ad3f9f127d798a6c0cdcb3d00417 entityplayer.getBukkitEntity().disconnect(playerQuitEvent.getQuitMessage()); if (server.isMainThread()) entityplayer.playerTick(); // SPIGOT-924 // Paper - don't tick during emergency shutdowns (Watchdog) -@@ -497,6 +552,13 @@ public abstract class PlayerList { +@@ -498,6 +553,13 @@ public abstract class PlayerList { // this.p.remove(uuid); // CraftBukkit end } @@ -270,7 +270,7 @@ index 8e46faf22b1df8166520bee1c1cf4233ad093822..c263ad3f9f127d798a6c0cdcb3d00417 // CraftBukkit start // this.sendAll(new PacketPlayOutPlayerInfo(PacketPlayOutPlayerInfo.EnumPlayerInfoAction.REMOVE_PLAYER, new EntityPlayer[]{entityplayer})); -@@ -514,7 +576,7 @@ public abstract class PlayerList { +@@ -515,7 +577,7 @@ public abstract class PlayerList { cserver.getScoreboardManager().removePlayer(entityplayer.getBukkitEntity()); // CraftBukkit end @@ -279,7 +279,7 @@ index 8e46faf22b1df8166520bee1c1cf4233ad093822..c263ad3f9f127d798a6c0cdcb3d00417 } // CraftBukkit start - Whole method, SocketAddress to LoginListener, added hostname to signature, return EntityPlayer -@@ -533,6 +595,13 @@ public abstract class PlayerList { +@@ -534,6 +596,13 @@ public abstract class PlayerList { list.add(entityplayer); } } diff --git a/Spigot-Server-Patches/0468-Don-t-fire-BlockFade-on-worldgen-threads.patch b/Spigot-Server-Patches/0468-Don-t-fire-BlockFade-on-worldgen-threads.patch index bceae8f95..31efcfdd5 100644 --- a/Spigot-Server-Patches/0468-Don-t-fire-BlockFade-on-worldgen-threads.patch +++ b/Spigot-Server-Patches/0468-Don-t-fire-BlockFade-on-worldgen-threads.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Don't fire BlockFade on worldgen threads Caused a deadlock diff --git a/src/main/java/net/minecraft/server/BlockFire.java b/src/main/java/net/minecraft/server/BlockFire.java -index 1e6159f211fb445e45bab3ca1a3bf21750928302..70bcf165b187ba5b3d832f6ad2df87cc51e59bea 100644 +index a11a775a929c5f868f1b84c56d7e1715a91db236..a8875a9a5fa6b285b41f3de1bc81c44f35ea5cce 100644 --- a/src/main/java/net/minecraft/server/BlockFire.java +++ b/src/main/java/net/minecraft/server/BlockFire.java @@ -35,6 +35,7 @@ public class BlockFire extends BlockFireAbstract { @@ -15,9 +15,9 @@ index 1e6159f211fb445e45bab3ca1a3bf21750928302..70bcf165b187ba5b3d832f6ad2df87cc // CraftBukkit start + if (!(generatoraccess instanceof WorldServer)) return this.canPlace(iblockdata, generatoraccess, blockposition) ? (IBlockData) this.a(generatoraccess, blockposition, (Integer) iblockdata.get(BlockFire.AGE)) : Blocks.AIR.getBlockData(); // Paper - don't fire events in world generation if (!this.canPlace(iblockdata, generatoraccess, blockposition)) { - CraftBlockState blockState = CraftBlockState.getBlockState(generatoraccess, blockposition); - blockState.setData(Blocks.AIR.getBlockData()); -@@ -46,7 +47,7 @@ public class BlockFire extends BlockFireAbstract { + // Suppress during worldgen + if (!(generatoraccess instanceof World)) { +@@ -50,7 +51,7 @@ public class BlockFire extends BlockFireAbstract { return blockState.getHandle(); } } diff --git a/Spigot-Server-Patches/0478-Implement-Mob-Goal-API.patch b/Spigot-Server-Patches/0478-Implement-Mob-Goal-API.patch index 25841e366..f19201190 100644 --- a/Spigot-Server-Patches/0478-Implement-Mob-Goal-API.patch +++ b/Spigot-Server-Patches/0478-Implement-Mob-Goal-API.patch @@ -838,10 +838,10 @@ index 96f4401044cacf88e8e00b5b18821c105e634fba..112d8bab65bf41263a477c5faa717687 public PathfinderGoalWrapped(int i, PathfinderGoal pathfindergoal) { diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 893088011b8e15449c3c9003e52a884b61221acc..1cae2af41e866c22a4f7524250cccdd9f99f6cb9 100644 +index 666ed0e87379a5bb9ea95cd95c23eca2df02610f..2b17f2143ee9259c988f65c4db6e82b14dd70876 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -2304,5 +2304,11 @@ public final class CraftServer implements Server { +@@ -2305,5 +2305,11 @@ public final class CraftServer implements Server { public boolean isStopping() { return net.minecraft.server.MinecraftServer.getServer().hasStopped(); } diff --git a/Spigot-Server-Patches/0482-No-Tick-view-distance-implementation.patch b/Spigot-Server-Patches/0482-No-Tick-view-distance-implementation.patch index 6322caba1..9f26f4aea 100644 --- a/Spigot-Server-Patches/0482-No-Tick-view-distance-implementation.patch +++ b/Spigot-Server-Patches/0482-No-Tick-view-distance-implementation.patch @@ -553,10 +553,10 @@ index 026562c72d7e95345d9369c6d6331cf6cedb8f17..fe343f70ce8024c86363637fda8e5c09 } } diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java -index c263ad3f9f127d798a6c0cdcb3d004171100027e..1514d24ae0da9fd9622333ff8702a0da140bd691 100644 +index 78a4dfb1f62183df0e80787442036e69d40e4461..33d7f60ab0d8bbe90bc561093ed0e764420b0595 100644 --- a/src/main/java/net/minecraft/server/PlayerList.java +++ b/src/main/java/net/minecraft/server/PlayerList.java -@@ -176,7 +176,7 @@ public abstract class PlayerList { +@@ -177,7 +177,7 @@ public abstract class PlayerList { // Spigot - view distance networkmanager.queueImmunity = true; // Paper @@ -565,7 +565,7 @@ index c263ad3f9f127d798a6c0cdcb3d004171100027e..1514d24ae0da9fd9622333ff8702a0da entityplayer.getBukkitEntity().sendSupportedChannels(); // CraftBukkit playerconnection.sendPacket(new PacketPlayOutCustomPayload(PacketPlayOutCustomPayload.a, (new PacketDataSerializer(Unpooled.buffer())).a(this.getServer().getServerModName()))); playerconnection.sendPacket(new PacketPlayOutServerDifficulty(worlddata.getDifficulty(), worlddata.isDifficultyLocked())); -@@ -818,7 +818,7 @@ public abstract class PlayerList { +@@ -819,7 +819,7 @@ public abstract class PlayerList { // CraftBukkit start WorldData worlddata = worldserver1.getWorldData(); entityplayer1.playerConnection.sendPacket(new PacketPlayOutRespawn(worldserver1.getTypeKey(), worldserver1.getDimensionKey(), BiomeManager.a(worldserver1.getSeed()), entityplayer1.playerInteractManager.getGameMode(), entityplayer1.playerInteractManager.c(), worldserver1.isDebugWorld(), worldserver1.isFlatWorld(), flag)); @@ -574,7 +574,7 @@ index c263ad3f9f127d798a6c0cdcb3d004171100027e..1514d24ae0da9fd9622333ff8702a0da entityplayer1.spawnIn(worldserver1); entityplayer1.dead = false; entityplayer1.playerConnection.teleport(new Location(worldserver1.getWorld(), entityplayer1.locX(), entityplayer1.locY(), entityplayer1.locZ(), entityplayer1.yaw, entityplayer1.pitch)); -@@ -1285,7 +1285,7 @@ public abstract class PlayerList { +@@ -1286,7 +1286,7 @@ public abstract class PlayerList { public void a(int i) { this.viewDistance = i; diff --git a/Spigot-Server-Patches/0498-Implement-Chunk-Priority-Urgency-System-for-Chunks.patch b/Spigot-Server-Patches/0498-Implement-Chunk-Priority-Urgency-System-for-Chunks.patch index bc95ef188..e0365afd9 100644 --- a/Spigot-Server-Patches/0498-Implement-Chunk-Priority-Urgency-System-for-Chunks.patch +++ b/Spigot-Server-Patches/0498-Implement-Chunk-Priority-Urgency-System-for-Chunks.patch @@ -1144,10 +1144,10 @@ index 553c7313e2b699be88ea01460fd299421c42b176..66dd1b3bfeebab8dd0f4e823dd0daea9 } diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java -index 1514d24ae0da9fd9622333ff8702a0da140bd691..84707b373bcd9c4eb302b149f242435edfc91f2e 100644 +index 33d7f60ab0d8bbe90bc561093ed0e764420b0595..8490376b014ac26bda473ea1e0c7a1063c9c70d2 100644 --- a/src/main/java/net/minecraft/server/PlayerList.java +++ b/src/main/java/net/minecraft/server/PlayerList.java -@@ -199,8 +199,8 @@ public abstract class PlayerList { +@@ -200,8 +200,8 @@ public abstract class PlayerList { final ChunkCoordIntPair pos = new ChunkCoordIntPair(chunkX, chunkZ); PlayerChunkMap playerChunkMap = finalWorldserver.getChunkProvider().playerChunkMap; playerChunkMap.chunkDistanceManager.addTicketAtLevel(TicketType.LOGIN, pos, 31, pos.pair()); @@ -1158,7 +1158,7 @@ index 1514d24ae0da9fd9622333ff8702a0da140bd691..84707b373bcd9c4eb302b149f242435e PlayerChunk updatingChunk = playerChunkMap.getUpdatingChunk(pos.pair()); if (updatingChunk != null) { return updatingChunk.getEntityTickingFuture(); -@@ -213,7 +213,6 @@ public abstract class PlayerList { +@@ -214,7 +214,6 @@ public abstract class PlayerList { entityplayer, finalWorldserver, finalWorldserver1, networkmanager, playerconnection, nbttagcompound, networkmanager.getSocketAddress().toString(), lastKnownName ); @@ -1166,7 +1166,7 @@ index 1514d24ae0da9fd9622333ff8702a0da140bd691..84707b373bcd9c4eb302b149f242435e }; }); } -@@ -617,6 +616,7 @@ public abstract class PlayerList { +@@ -618,6 +617,7 @@ public abstract class PlayerList { SocketAddress socketaddress = loginlistener.networkManager.getSocketAddress(); EntityPlayer entity = new EntityPlayer(this.server, this.server.getWorldServer(World.OVERWORLD), gameprofile, new PlayerInteractManager(this.server.getWorldServer(World.OVERWORLD))); @@ -1174,7 +1174,7 @@ index 1514d24ae0da9fd9622333ff8702a0da140bd691..84707b373bcd9c4eb302b149f242435e Player player = entity.getBukkitEntity(); PlayerLoginEvent event = new PlayerLoginEvent(player, hostname, ((java.net.InetSocketAddress) socketaddress).getAddress(), ((java.net.InetSocketAddress) loginlistener.networkManager.getRawAddress()).getAddress()); -@@ -812,6 +812,7 @@ public abstract class PlayerList { +@@ -813,6 +813,7 @@ public abstract class PlayerList { // CraftBukkit end worldserver.getChunkProvider().addTicket(TicketType.POST_TELEPORT, new ChunkCoordIntPair(location.getBlockX() >> 4, location.getBlockZ() >> 4), 1, entityplayer.getId()); // Paper @@ -1231,7 +1231,7 @@ index 8a37871bea36bd34b514428acea1acad2ba5897e..b973bd8f60412232df53ac52d97135de net.minecraft.server.Chunk chunk = (net.minecraft.server.Chunk) either.left().orElse(null); return CompletableFuture.completedFuture(chunk == null ? null : chunk.getBukkitChunk()); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index f553647b4351b2684f522b40b1e533511efc8ae9..784be20585913ee11fca2c83f169268bf1eb1f20 100644 +index 9e26a15746fcdf80b581b81f836d9df51759f601..2e2b28b145b50549345be5a9c754302d5e645274 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -742,6 +742,14 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/Spigot-Server-Patches/0500-Optimize-sending-packets-to-nearby-locations-sounds-.patch b/Spigot-Server-Patches/0500-Optimize-sending-packets-to-nearby-locations-sounds-.patch index 496951e4a..b52cac350 100644 --- a/Spigot-Server-Patches/0500-Optimize-sending-packets-to-nearby-locations-sounds-.patch +++ b/Spigot-Server-Patches/0500-Optimize-sending-packets-to-nearby-locations-sounds-.patch @@ -11,10 +11,10 @@ This will drastically cut down on packet sending cost for worlds with lots of players in them. diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java -index 84707b373bcd9c4eb302b149f242435edfc91f2e..bbc5e21c0dd6e790493fc2d4d3b0df4c114712e5 100644 +index 8490376b014ac26bda473ea1e0c7a1063c9c70d2..35d7ac60f61ffb493fe4f32b63511b2b86805243 100644 --- a/src/main/java/net/minecraft/server/PlayerList.java +++ b/src/main/java/net/minecraft/server/PlayerList.java -@@ -1062,16 +1062,40 @@ public abstract class PlayerList { +@@ -1063,16 +1063,40 @@ public abstract class PlayerList { } public void sendPacketNearby(@Nullable EntityHuman entityhuman, double d0, double d1, double d2, double d3, ResourceKey resourcekey, Packet packet) { diff --git a/work/Bukkit b/work/Bukkit index edc7a378c..3284612a1 160000 --- a/work/Bukkit +++ b/work/Bukkit @@ -1 +1 @@ -Subproject commit edc7a378c9258ef533f90de135e250ca91b1ae02 +Subproject commit 3284612a10e704b4658aa087213a3fa9670b6926 diff --git a/work/CraftBukkit b/work/CraftBukkit index 4ff609e60..d42435101 160000 --- a/work/CraftBukkit +++ b/work/CraftBukkit @@ -1 +1 @@ -Subproject commit 4ff609e60c191f107682681b5e3a8262f8a4c844 +Subproject commit d4243510102530684b860dbe927311bf47c488db diff --git a/work/Spigot b/work/Spigot index 16d78990f..6f4ff1b69 160000 --- a/work/Spigot +++ b/work/Spigot @@ -1 +1 @@ -Subproject commit 16d78990fe27633e0ec129216f96d3b50f770025 +Subproject commit 6f4ff1b691828e538ae534eac66e80a1bf2c1adf