diff --git a/Spigot-Server-Patches/0009-Timings-v2.patch b/Spigot-Server-Patches/0009-Timings-v2.patch index f5a369d7a..97850a7ae 100644 --- a/Spigot-Server-Patches/0009-Timings-v2.patch +++ b/Spigot-Server-Patches/0009-Timings-v2.patch @@ -1003,7 +1003,7 @@ index 7f3c6518cce96354cc2217e5e112ac426199ae9b..4ef6913c356663b640e6ce770c123f51 } diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index b16e5d7c45db92cea80913a74aee0975024220be..8dbf7b62d64ca7472956ad198554a98d46bac589 100644 +index fc6930327625bf951bb0ba21df5eb1a559a2b295..afaf32db9c53d164f13f5afcd4202b40c9866e05 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -31,7 +31,8 @@ import org.bukkit.craftbukkit.event.CraftPortalEvent; @@ -1491,7 +1491,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 65a499b35c0e21b4b945595c07d46350724e821e..b2a89201a14e5132a0c6c69ec37c7a113202ab02 100644 +index 35e474d07eea0a98d48cc073a2274a136f54798b..945d9c91bd967180a9fdacf75b66ca5a21c08a3a 100644 --- a/src/main/java/net/minecraft/server/PlayerList.java +++ b/src/main/java/net/minecraft/server/PlayerList.java @@ -1,5 +1,6 @@ @@ -1501,7 +1501,7 @@ index 65a499b35c0e21b4b945595c07d46350724e821e..b2a89201a14e5132a0c6c69ec37c7a11 import com.google.common.collect.Lists; import com.google.common.collect.Maps; import com.google.common.collect.Sets; -@@ -953,10 +954,11 @@ public abstract class PlayerList { +@@ -952,10 +953,11 @@ public abstract class PlayerList { } public void savePlayers() { diff --git a/Spigot-Server-Patches/0087-Configurable-Player-Collision.patch b/Spigot-Server-Patches/0087-Configurable-Player-Collision.patch index e70d339e9..c681b4bcc 100644 --- a/Spigot-Server-Patches/0087-Configurable-Player-Collision.patch +++ b/Spigot-Server-Patches/0087-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 7387d04174000974c1d6a0de33e04433a1d11e59..10b4427d1b55da936a211475a696355d49b77c0f 100644 +index e68de1a715047ea83573ed963f1df50971bd85db..e11edff6b2b9242883931ed3a0cfc3045a12aee5 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 { @@ -99,7 +99,7 @@ index 7387d04174000974c1d6a0de33e04433a1d11e59..10b4427d1b55da936a211475a696355d this.savePlayerFile(entityplayer); if (entityplayer.isPassenger()) { Entity entity = entityplayer.getRootVehicle(); -@@ -1071,6 +1089,13 @@ public abstract class PlayerList { +@@ -1070,6 +1088,13 @@ public abstract class PlayerList { } // CraftBukkit end diff --git a/Spigot-Server-Patches/0135-Enforce-Sync-Player-Saves.patch b/Spigot-Server-Patches/0135-Enforce-Sync-Player-Saves.patch index 25b627511..59f9d7d3d 100644 --- a/Spigot-Server-Patches/0135-Enforce-Sync-Player-Saves.patch +++ b/Spigot-Server-Patches/0135-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 10b4427d1b55da936a211475a696355d49b77c0f..8c2d49215f4ac4232cf5850b67fa5cc46477a9e9 100644 +index e11edff6b2b9242883931ed3a0cfc3045a12aee5..a7b813ef9f72dc89f9044a9121452b3801c4ab8c 100644 --- a/src/main/java/net/minecraft/server/PlayerList.java +++ b/src/main/java/net/minecraft/server/PlayerList.java -@@ -973,11 +973,13 @@ public abstract class PlayerList { +@@ -972,11 +972,13 @@ public abstract class PlayerList { } public void savePlayers() { diff --git a/Spigot-Server-Patches/0142-Properly-handle-async-calls-to-restart-the-server.patch b/Spigot-Server-Patches/0142-Properly-handle-async-calls-to-restart-the-server.patch index d0fec90b2..83d07dda4 100644 --- a/Spigot-Server-Patches/0142-Properly-handle-async-calls-to-restart-the-server.patch +++ b/Spigot-Server-Patches/0142-Properly-handle-async-calls-to-restart-the-server.patch @@ -73,10 +73,10 @@ index b9e757b94d7c00b8bea23102417b2afbe7eccd7a..42365b2f183a08e799533c1e9757cca1 // 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 8c2d49215f4ac4232cf5850b67fa5cc46477a9e9..6e4fb963cb5d8962a3021b1a614f81b08cb10bdb 100644 +index a7b813ef9f72dc89f9044a9121452b3801c4ab8c..ab3c18b6d29397d1a7faff376043f6c3fe402f5d 100644 --- a/src/main/java/net/minecraft/server/PlayerList.java +++ b/src/main/java/net/minecraft/server/PlayerList.java -@@ -1084,10 +1084,15 @@ public abstract class PlayerList { +@@ -1083,10 +1083,15 @@ public abstract class PlayerList { entityplayer.playerInteractManager.b(worldserver.worldDataServer.getGameType()); // CraftBukkit } @@ -93,7 +93,7 @@ index 8c2d49215f4ac4232cf5850b67fa5cc46477a9e9..6e4fb963cb5d8962a3021b1a614f81b0 } // CraftBukkit end -@@ -1099,6 +1104,7 @@ public abstract class PlayerList { +@@ -1098,6 +1103,7 @@ public abstract class PlayerList { } // Paper end } diff --git a/Spigot-Server-Patches/0149-PlayerPickupItemEvent-setFlyAtPlayer.patch b/Spigot-Server-Patches/0149-PlayerPickupItemEvent-setFlyAtPlayer.patch index 193382bc4..c1abdb12f 100644 --- a/Spigot-Server-Patches/0149-PlayerPickupItemEvent-setFlyAtPlayer.patch +++ b/Spigot-Server-Patches/0149-PlayerPickupItemEvent-setFlyAtPlayer.patch @@ -5,7 +5,7 @@ Subject: [PATCH] PlayerPickupItemEvent#setFlyAtPlayer diff --git a/src/main/java/net/minecraft/server/EntityItem.java b/src/main/java/net/minecraft/server/EntityItem.java -index a3266ba0e35d7a267ba477f38f8ad6a2a109dfa5..96a7310a1f275ac6380084ba0eebb79f1a0fec1e 100644 +index 2ca3886f532050ba7d360efd20a617ef8836c9df..28aed9d9c2b4fe6ce8b1994e6ac3e3c5f786c2d1 100644 --- a/src/main/java/net/minecraft/server/EntityItem.java +++ b/src/main/java/net/minecraft/server/EntityItem.java @@ -336,6 +336,7 @@ public class EntityItem extends Entity { @@ -31,7 +31,7 @@ index a3266ba0e35d7a267ba477f38f8ad6a2a109dfa5..96a7310a1f275ac6380084ba0eebb79f return; } -@@ -373,7 +380,11 @@ public class EntityItem extends Entity { +@@ -374,7 +381,11 @@ public class EntityItem extends Entity { // CraftBukkit end if (this.pickupDelay == 0 && (this.owner == null || this.owner.equals(entityhuman.getUniqueID())) && entityhuman.inventory.pickup(itemstack)) { diff --git a/Spigot-Server-Patches/0160-ProfileWhitelistVerifyEvent.patch b/Spigot-Server-Patches/0160-ProfileWhitelistVerifyEvent.patch index 5d94f97f6..0648f520b 100644 --- a/Spigot-Server-Patches/0160-ProfileWhitelistVerifyEvent.patch +++ b/Spigot-Server-Patches/0160-ProfileWhitelistVerifyEvent.patch @@ -5,7 +5,7 @@ Subject: [PATCH] ProfileWhitelistVerifyEvent diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java -index 847e132803afcedfaadbeb037f193841272942b7..c17245bd2016507cce1cac087e03d3b0f4ee6043 100644 +index fb14381b5bfca33431879c8b6a8b559c5599ba4a..ea7527b16571cef5c285e898f5a9fd0c063948fa 100644 --- a/src/main/java/net/minecraft/server/PlayerList.java +++ b/src/main/java/net/minecraft/server/PlayerList.java @@ -540,9 +540,9 @@ public abstract class PlayerList { @@ -20,7 +20,7 @@ index 847e132803afcedfaadbeb037f193841272942b7..c17245bd2016507cce1cac087e03d3b0 } else if (getIPBans().isBanned(socketaddress) && !getIPBans().get(socketaddress).hasExpired()) { IpBanEntry ipbanentry = this.l.get(socketaddress); -@@ -935,9 +935,25 @@ public abstract class PlayerList { +@@ -934,9 +934,25 @@ public abstract class PlayerList { this.server.getCommandDispatcher().a(entityplayer); } diff --git a/Spigot-Server-Patches/0335-MC-145260-Fix-Whitelist-On-Off-inconsistency.patch b/Spigot-Server-Patches/0335-MC-145260-Fix-Whitelist-On-Off-inconsistency.patch index 38f46bd79..469bb86ef 100644 --- a/Spigot-Server-Patches/0335-MC-145260-Fix-Whitelist-On-Off-inconsistency.patch +++ b/Spigot-Server-Patches/0335-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 fdc541c6867a7b7c03d622bddeb55f528086407b..843c0cffdd0578f0f820bb77e7a0e225c799bb22 100644 +index 9a56f83e12c65cafe3d1fb00379b78e5ea59b3f1..e9c2fa0fe81320c5953b7dc4ec1cfdedc76068b6 100644 --- a/src/main/java/net/minecraft/server/PlayerList.java +++ b/src/main/java/net/minecraft/server/PlayerList.java -@@ -942,9 +942,9 @@ public abstract class PlayerList { +@@ -941,9 +941,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/0338-Call-WhitelistToggleEvent-when-whitelist-is-toggled.patch b/Spigot-Server-Patches/0338-Call-WhitelistToggleEvent-when-whitelist-is-toggled.patch index 868626c35..b3d08710d 100644 --- a/Spigot-Server-Patches/0338-Call-WhitelistToggleEvent-when-whitelist-is-toggled.patch +++ b/Spigot-Server-Patches/0338-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 843c0cffdd0578f0f820bb77e7a0e225c799bb22..81a808c05ecc4262d9c5d1db26f649c4e709a0e5 100644 +index e9c2fa0fe81320c5953b7dc4ec1cfdedc76068b6..cb04de23dd8b506ebfd07d60acd082d6b7e14528 100644 --- a/src/main/java/net/minecraft/server/PlayerList.java +++ b/src/main/java/net/minecraft/server/PlayerList.java -@@ -1060,6 +1060,7 @@ public abstract class PlayerList { +@@ -1059,6 +1059,7 @@ public abstract class PlayerList { } public void setHasWhitelist(boolean flag) { diff --git a/Spigot-Server-Patches/0343-Implement-PlayerPostRespawnEvent.patch b/Spigot-Server-Patches/0343-Implement-PlayerPostRespawnEvent.patch index b66b0efff..24fa94dca 100644 --- a/Spigot-Server-Patches/0343-Implement-PlayerPostRespawnEvent.patch +++ b/Spigot-Server-Patches/0343-Implement-PlayerPostRespawnEvent.patch @@ -5,7 +5,7 @@ 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 77262daa02b52e4f3e44f770060a4a56494f642c..531b64e96b30b4f5ae80ecc0b2fb3d656ca4ade9 100644 +index fbed3c1012c5b6fe61598ae6fae64edc2ad2e490..e6b7f1d0e864b32dd670547609c103cf7b6831c5 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 { @@ -24,7 +24,7 @@ index 77262daa02b52e4f3e44f770060a4a56494f642c..531b64e96b30b4f5ae80ecc0b2fb3d65 WorldServer worldserver1 = this.server.getWorldServer(entityplayer.getSpawnDimension()); if (worldserver1 != null) { Optional optional; -@@ -719,6 +724,7 @@ public abstract class PlayerList { +@@ -718,6 +723,7 @@ public abstract class PlayerList { location = respawnEvent.getRespawnLocation(); if (!flag) entityplayer.reset(); // SPIGOT-4785 @@ -32,7 +32,7 @@ index 77262daa02b52e4f3e44f770060a4a56494f642c..531b64e96b30b4f5ae80ecc0b2fb3d65 } else { location.setWorld(worldserver.getWorld()); } -@@ -776,6 +782,13 @@ public abstract class PlayerList { +@@ -775,6 +781,13 @@ public abstract class PlayerList { if (entityplayer.playerConnection.isDisconnected()) { this.savePlayerFile(entityplayer); } diff --git a/Spigot-Server-Patches/0377-Implement-alternative-item-despawn-rate.patch b/Spigot-Server-Patches/0377-Implement-alternative-item-despawn-rate.patch index b92c7e5fd..9bad142b7 100644 --- a/Spigot-Server-Patches/0377-Implement-alternative-item-despawn-rate.patch +++ b/Spigot-Server-Patches/0377-Implement-alternative-item-despawn-rate.patch @@ -78,7 +78,7 @@ index b83abceb55fd6cc6bde3e34da098e9916e3a497b..8221a9f5af9207b0a984ba2555df0e76 + } } diff --git a/src/main/java/net/minecraft/server/EntityItem.java b/src/main/java/net/minecraft/server/EntityItem.java -index 42f020be9c954e2c58896520c99be546f7b8531e..d8f55884a60df39b099ec71a97cbc69855f96ed7 100644 +index 43654872d30fac44d3aeda0d4ab190c8bdfed0b8..574e2cce9b821e36bd0efee6d5fb79dde36246cb 100644 --- a/src/main/java/net/minecraft/server/EntityItem.java +++ b/src/main/java/net/minecraft/server/EntityItem.java @@ -6,6 +6,7 @@ import java.util.Objects; @@ -107,7 +107,7 @@ index 42f020be9c954e2c58896520c99be546f7b8531e..d8f55884a60df39b099ec71a97cbc698 // CraftBukkit start - fire ItemDespawnEvent if (org.bukkit.craftbukkit.event.CraftEventFactory.callItemDespawnEvent(this).isCancelled()) { this.age = 0; -@@ -507,9 +508,16 @@ public class EntityItem extends Entity { +@@ -508,9 +509,16 @@ public class EntityItem extends Entity { public void s() { this.o(); diff --git a/Spigot-Server-Patches/0388-Fix-stuck-in-sneak-when-changing-worlds-MC-10657.patch b/Spigot-Server-Patches/0388-Fix-stuck-in-sneak-when-changing-worlds-MC-10657.patch index 2dc6453b6..98ef4cb52 100644 --- a/Spigot-Server-Patches/0388-Fix-stuck-in-sneak-when-changing-worlds-MC-10657.patch +++ b/Spigot-Server-Patches/0388-Fix-stuck-in-sneak-when-changing-worlds-MC-10657.patch @@ -18,10 +18,10 @@ index 697068cbccde5b57f788246c2e1f4a5e7194993e..256677a48d1eebff89fa24dfbdc76a50 PlayerChangedWorldEvent changeEvent = new PlayerChangedWorldEvent(this.getBukkitEntity(), worldserver1.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 978cda5490c9348fe02c1b1b90a1bb4988a3045b..f9eee8a5a06b300e1fece26e6a001da6b169b965 100644 +index 8104c335870aac88d9db6fec567360415ff69f99..330784e8aad1e87d0a86fdb822d0ad5d7cf21d3c 100644 --- a/src/main/java/net/minecraft/server/PlayerList.java +++ b/src/main/java/net/minecraft/server/PlayerList.java -@@ -771,6 +771,8 @@ public abstract class PlayerList { +@@ -770,6 +770,8 @@ public abstract class PlayerList { entityplayer.playerConnection.sendPacket(new PacketPlayOutEntityEffect(entityplayer.getId(), mobEffect)); } diff --git a/Spigot-Server-Patches/0430-Optimize-Collision-to-not-load-chunks.patch b/Spigot-Server-Patches/0430-Optimize-Collision-to-not-load-chunks.patch index 7197c4410..ad445880a 100644 --- a/Spigot-Server-Patches/0430-Optimize-Collision-to-not-load-chunks.patch +++ b/Spigot-Server-Patches/0430-Optimize-Collision-to-not-load-chunks.patch @@ -14,7 +14,7 @@ movement will load only the chunk the player enters anyways and avoids loading massive amounts of surrounding chunks due to large AABB lookups. diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 78d2b48385bcb2090058d617599ef2b639fecbcf..d3e4b26798661b99686941e813aca50774db8ff6 100644 +index 6eebc30671f419f337b9c872cca7b75d10943c2c..017e8ba5abbb5463357902cc66e46caf639f048e 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -82,6 +82,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke @@ -40,10 +40,10 @@ index 7bb0843d76864fc10575532745eb63f9ca478354..25e54a1fadc5d31fb250a3f47524b4f3 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 f9eee8a5a06b300e1fece26e6a001da6b169b965..c0625090f7c36d42112c2e50785d860aeaecb60e 100644 +index 330784e8aad1e87d0a86fdb822d0ad5d7cf21d3c..f08de96267ca3bdc7fe4ed1f024b39df3facf0ed 100644 --- a/src/main/java/net/minecraft/server/PlayerList.java +++ b/src/main/java/net/minecraft/server/PlayerList.java -@@ -734,6 +734,7 @@ public abstract class PlayerList { +@@ -733,6 +733,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/0475-No-Tick-view-distance-implementation.patch b/Spigot-Server-Patches/0475-No-Tick-view-distance-implementation.patch index 7ec1d4fe2..6cd1d1fc3 100644 --- a/Spigot-Server-Patches/0475-No-Tick-view-distance-implementation.patch +++ b/Spigot-Server-Patches/0475-No-Tick-view-distance-implementation.patch @@ -115,7 +115,7 @@ index ef61f8e784b7ebd26293d627e8b8e1aef1be6e21..03b1a67aaf3ed75b7669a3157847affd if (flag1) { ChunkMapDistance.this.j.a(ChunkTaskQueueSorter.a(() -> { diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java -index 6d72bdfc4be2fefa465a29f6333390173209bcd2..c0656a9fa5e9ebb4199231fdc20c6a50859a80dd 100644 +index 474bb8ee2548a90c74b458c9952ddf1e465a11ef..4f2e0a6fbc281c3ccb8f1bb655955d44d9afde32 100644 --- a/src/main/java/net/minecraft/server/EntityPlayer.java +++ b/src/main/java/net/minecraft/server/EntityPlayer.java @@ -117,6 +117,8 @@ public class EntityPlayer extends EntityHuman implements ICrafting { @@ -235,7 +235,7 @@ index 4074c1f8f8b71544df9aa6e8d59c5703f2036fd9..2784ea71b9f5ee93f6de8e5a3a135457 public CompletableFuture> a(ChunkStatus chunkstatus, PlayerChunkMap playerchunkmap) { diff --git a/src/main/java/net/minecraft/server/PlayerChunkMap.java b/src/main/java/net/minecraft/server/PlayerChunkMap.java -index 6abbea108ef4d5b6fac9449336dc2b0c6d4bfd6e..65ff262e99d2270c332d63f1bef85d40c6e557e1 100644 +index b4067657eefe6a418b76b599b4c8ffb8359c3f89..3e73ef8059139b09518075bb6dc89a67f46be51a 100644 --- a/src/main/java/net/minecraft/server/PlayerChunkMap.java +++ b/src/main/java/net/minecraft/server/PlayerChunkMap.java @@ -96,7 +96,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { @@ -567,7 +567,7 @@ index 6abbea108ef4d5b6fac9449336dc2b0c6d4bfd6e..65ff262e99d2270c332d63f1bef85d40 } } diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java -index 2236c839acca60aef6364e6266fa047a331a01e5..cd75556eee435f90b042c4c57ec3c65497f0de9e 100644 +index 40f2984e5ba7627ef4ce87133bed5df51a68fd65..4c16da52f4402b21be2df3fdf5999427629d6ae2 100644 --- a/src/main/java/net/minecraft/server/PlayerList.java +++ b/src/main/java/net/minecraft/server/PlayerList.java @@ -175,7 +175,7 @@ public abstract class PlayerList { @@ -579,7 +579,7 @@ index 2236c839acca60aef6364e6266fa047a331a01e5..cd75556eee435f90b042c4c57ec3c654 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())); -@@ -826,7 +826,7 @@ public abstract class PlayerList { +@@ -825,7 +825,7 @@ public abstract class PlayerList { // CraftBukkit start WorldData worlddata = worldserver1.getWorldData(); entityplayer1.playerConnection.sendPacket(new PacketPlayOutRespawn(worldserver1.getDimensionManager(), worldserver1.getDimensionKey(), BiomeManager.a(worldserver1.getSeed()), entityplayer1.playerInteractManager.getGameMode(), entityplayer1.playerInteractManager.c(), worldserver1.isDebugWorld(), worldserver1.isFlatWorld(), flag)); @@ -588,7 +588,7 @@ index 2236c839acca60aef6364e6266fa047a331a01e5..cd75556eee435f90b042c4c57ec3c654 entityplayer1.spawnIn(worldserver1); entityplayer1.dead = false; entityplayer1.playerConnection.teleport(new Location(worldserver1.getWorld(), entityplayer1.locX(), entityplayer1.locY(), entityplayer1.locZ(), entityplayer1.yaw, entityplayer1.pitch)); -@@ -1293,7 +1293,7 @@ public abstract class PlayerList { +@@ -1292,7 +1292,7 @@ public abstract class PlayerList { public void a(int i) { this.viewDistance = i; diff --git a/Spigot-Server-Patches/0491-Implement-Chunk-Priority-Urgency-System-for-Chunks.patch b/Spigot-Server-Patches/0491-Implement-Chunk-Priority-Urgency-System-for-Chunks.patch index 4ec28f0c9..14ed1d761 100644 --- a/Spigot-Server-Patches/0491-Implement-Chunk-Priority-Urgency-System-for-Chunks.patch +++ b/Spigot-Server-Patches/0491-Implement-Chunk-Priority-Urgency-System-for-Chunks.patch @@ -569,7 +569,7 @@ index c54175eaad6230a1098e9b912e0b4788afe4b9c8..afcbdd8e54ad936a4a3ac03341e1c525 boolean flag1 = this.playerChunkMap.b(); diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java -index c0656a9fa5e9ebb4199231fdc20c6a50859a80dd..918426385325e5157423cf10fcb2e0ab02d5853a 100644 +index 4f2e0a6fbc281c3ccb8f1bb655955d44d9afde32..caadb4cb9c1330df8550ab149d274f3ac1d6378c 100644 --- a/src/main/java/net/minecraft/server/EntityPlayer.java +++ b/src/main/java/net/minecraft/server/EntityPlayer.java @@ -56,6 +56,12 @@ public class EntityPlayer extends EntityHuman implements ICrafting { @@ -889,7 +889,7 @@ index 874bf7d3ddd22ddc4ea08dac1f548d246d85e991..b629afa7e6f046f1a09237f3355ec193 } diff --git a/src/main/java/net/minecraft/server/PlayerChunkMap.java b/src/main/java/net/minecraft/server/PlayerChunkMap.java -index 12c4868b3d7643330ee5b3b2232dd58e0369839f..ddc2d2eff1ba05bd4174c5137f7750db6749306a 100644 +index fba7c9b5724114eab35a3d24febdee3cd3e30aa0..753d67c8a711d293bd70eb913c47ec817e2718e3 100644 --- a/src/main/java/net/minecraft/server/PlayerChunkMap.java +++ b/src/main/java/net/minecraft/server/PlayerChunkMap.java @@ -14,6 +14,7 @@ import it.unimi.dsi.fastutil.ints.Int2ObjectMap; @@ -1158,7 +1158,7 @@ index 7b079f0e594e24a7d8706c4ed5228c37c5fbe26d..5c3266d0dfcb0687c18eb636d0183e06 } diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java -index cd75556eee435f90b042c4c57ec3c65497f0de9e..089e83ae257c6ec9dc6974b478e5a394c082f09b 100644 +index 4c16da52f4402b21be2df3fdf5999427629d6ae2..72d5d39c45e8f0f35a705c0c7d6d69e038b83d92 100644 --- a/src/main/java/net/minecraft/server/PlayerList.java +++ b/src/main/java/net/minecraft/server/PlayerList.java @@ -196,8 +196,8 @@ public abstract class PlayerList { @@ -1180,7 +1180,7 @@ index cd75556eee435f90b042c4c57ec3c65497f0de9e..089e83ae257c6ec9dc6974b478e5a394 Player player = entity.getBukkitEntity(); PlayerLoginEvent event = new PlayerLoginEvent(player, hostname, ((java.net.InetSocketAddress) socketaddress).getAddress(), ((java.net.InetSocketAddress) loginlistener.networkManager.getRawAddress()).getAddress()); -@@ -820,6 +821,7 @@ public abstract class PlayerList { +@@ -819,6 +820,7 @@ public abstract class PlayerList { // CraftBukkit end worldserver1.getChunkProvider().addTicket(TicketType.POST_TELEPORT, new ChunkCoordIntPair(location.getBlockX() >> 4, location.getBlockZ() >> 4), 1, entityplayer.getId()); // Paper diff --git a/Spigot-Server-Patches/0493-Optimize-sending-packets-to-nearby-locations-sounds-.patch b/Spigot-Server-Patches/0493-Optimize-sending-packets-to-nearby-locations-sounds-.patch index ed747d246..91e0da290 100644 --- a/Spigot-Server-Patches/0493-Optimize-sending-packets-to-nearby-locations-sounds-.patch +++ b/Spigot-Server-Patches/0493-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 089e83ae257c6ec9dc6974b478e5a394c082f09b..3b20dd067c6b10f2e5ffad65e5abda7a7008b1c0 100644 +index 72d5d39c45e8f0f35a705c0c7d6d69e038b83d92..3e11c9ca6efde2347a963177f325b1efa67eb4f8 100644 --- a/src/main/java/net/minecraft/server/PlayerList.java +++ b/src/main/java/net/minecraft/server/PlayerList.java -@@ -1071,16 +1071,40 @@ public abstract class PlayerList { +@@ -1070,16 +1070,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/Spigot-Server-Patches/0539-Fix-SPIGOT-5989.patch b/Spigot-Server-Patches/0539-Fix-SPIGOT-5989.patch index f3b20005d..ae319586c 100644 --- a/Spigot-Server-Patches/0539-Fix-SPIGOT-5989.patch +++ b/Spigot-Server-Patches/0539-Fix-SPIGOT-5989.patch @@ -10,7 +10,7 @@ This fixes that by checking if the modified spawn location is still at a respawn anchor. diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java -index 46be525624209e4b89f96adcb464389e853a261a..73683aacdbf8b1be12c4d1788e9f197b2a023af7 100644 +index 3a38e3fc1f59cee5505c6ad7174c7014ec8efc25..00314e40cddd610a9eb4102b52a298d28b57c2ac 100644 --- a/src/main/java/net/minecraft/server/PlayerList.java +++ b/src/main/java/net/minecraft/server/PlayerList.java @@ -767,6 +767,7 @@ public abstract class PlayerList { @@ -30,7 +30,7 @@ index 46be525624209e4b89f96adcb464389e853a261a..73683aacdbf8b1be12c4d1788e9f197b } else { optional = Optional.empty(); } -@@ -821,7 +822,12 @@ public abstract class PlayerList { +@@ -820,7 +821,12 @@ public abstract class PlayerList { } // Spigot End @@ -44,7 +44,7 @@ index 46be525624209e4b89f96adcb464389e853a261a..73683aacdbf8b1be12c4d1788e9f197b if (!flag) entityplayer.reset(); // SPIGOT-4785 isRespawn = true; // Paper } else { -@@ -859,8 +865,12 @@ public abstract class PlayerList { +@@ -858,8 +864,12 @@ public abstract class PlayerList { } // entityplayer1.syncInventory(); entityplayer1.setHealth(entityplayer1.getHealth()); diff --git a/Spigot-Server-Patches/0546-Incremental-player-saving.patch b/Spigot-Server-Patches/0546-Incremental-player-saving.patch index 2ecc250b6..92fa9f63f 100644 --- a/Spigot-Server-Patches/0546-Incremental-player-saving.patch +++ b/Spigot-Server-Patches/0546-Incremental-player-saving.patch @@ -25,7 +25,7 @@ index 56e4359ba32339e1bef58061585ff3e12e4215f3..60f03502a7fd622d2de3b2da9fe8014b + } } diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java -index 918426385325e5157423cf10fcb2e0ab02d5853a..a947aabfc8c886b5a4be2626e06aa24c04e6f79b 100644 +index caadb4cb9c1330df8550ab149d274f3ac1d6378c..73ea9518316ff465e86fe95143875c9de5aa2fa8 100644 --- a/src/main/java/net/minecraft/server/EntityPlayer.java +++ b/src/main/java/net/minecraft/server/EntityPlayer.java @@ -43,6 +43,7 @@ import org.bukkit.inventory.MainHand; @@ -59,7 +59,7 @@ index a7b6be15b6c5d99fd8adc60c2d7f31a0b8ad4054..bbe793ca3667264eafa094bfea1c0610 // Paper start for (WorldServer world : getWorlds()) { diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java -index 73683aacdbf8b1be12c4d1788e9f197b2a023af7..f9eb17cb6eda0b343240240720495751cf605385 100644 +index 00314e40cddd610a9eb4102b52a298d28b57c2ac..2ae926d9a2ad99a46409dfa000c6f895600a2616 100644 --- a/src/main/java/net/minecraft/server/PlayerList.java +++ b/src/main/java/net/minecraft/server/PlayerList.java @@ -482,6 +482,7 @@ public abstract class PlayerList { @@ -70,7 +70,7 @@ index 73683aacdbf8b1be12c4d1788e9f197b2a023af7..f9eb17cb6eda0b343240240720495751 this.playerFileData.save(entityplayer); ServerStatisticManager serverstatisticmanager = (ServerStatisticManager) entityplayer.getStatisticManager(); // CraftBukkit -@@ -1139,10 +1140,21 @@ public abstract class PlayerList { +@@ -1138,10 +1139,21 @@ public abstract class PlayerList { } public void savePlayers() { diff --git a/work/CraftBukkit b/work/CraftBukkit index bf451617f..e14c9acbe 160000 --- a/work/CraftBukkit +++ b/work/CraftBukkit @@ -1 +1 @@ -Subproject commit bf451617f359f811ec8179a30af8e8b0c6ea2144 +Subproject commit e14c9acbec53f6484da2a8f040b16cab466e810f