From 757948dca3823a3a6f9fad0049459675b7cc073f Mon Sep 17 00:00:00 2001 From: Aikar Date: Thu, 27 Aug 2020 22:37:10 -0400 Subject: [PATCH] [Auto] Updated Upstream (CraftBukkit) 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 CraftBukkit Changes: e14c9acbe SPIGOT-6113: Ender Pearls thrown into portals that lead to disabled dimensions crash the server 97da39889 SPIGOT-6114: PlayerRespawnEvent player's location changed before event called 3b5c36769 SPIGOT-6115: Items being deleted on pick up with full inventory --- Spigot-Server-Patches/0009-Timings-v2.patch | 6 +++--- .../0087-Configurable-Player-Collision.patch | 4 ++-- .../0135-Enforce-Sync-Player-Saves.patch | 4 ++-- ...erly-handle-async-calls-to-restart-the-server.patch | 6 +++--- .../0149-PlayerPickupItemEvent-setFlyAtPlayer.patch | 4 ++-- .../0160-ProfileWhitelistVerifyEvent.patch | 4 ++-- ...-MC-145260-Fix-Whitelist-On-Off-inconsistency.patch | 4 ++-- ...hitelistToggleEvent-when-whitelist-is-toggled.patch | 4 ++-- .../0343-Implement-PlayerPostRespawnEvent.patch | 6 +++--- .../0377-Implement-alternative-item-despawn-rate.patch | 4 ++-- ...-stuck-in-sneak-when-changing-worlds-MC-10657.patch | 4 ++-- .../0430-Optimize-Collision-to-not-load-chunks.patch | 6 +++--- .../0475-No-Tick-view-distance-implementation.patch | 10 +++++----- ...ment-Chunk-Priority-Urgency-System-for-Chunks.patch | 8 ++++---- ...e-sending-packets-to-nearby-locations-sounds-.patch | 4 ++-- Spigot-Server-Patches/0539-Fix-SPIGOT-5989.patch | 6 +++--- .../0546-Incremental-player-saving.patch | 6 +++--- work/CraftBukkit | 2 +- 18 files changed, 46 insertions(+), 46 deletions(-) diff --git a/Spigot-Server-Patches/0009-Timings-v2.patch b/Spigot-Server-Patches/0009-Timings-v2.patch index f5a369d7ad..97850a7ae5 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 e70d339e91..c681b4bcc9 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 25b6275112..59f9d7d3dc 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 d0fec90b2e..83d07dda4f 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 193382bc41..c1abdb12ff 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 5d94f97f65..0648f520bb 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 38f46bd79e..469bb86ef0 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 868626c35b..b3d08710dc 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 b66b0efff8..24fa94dca1 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 b92c7e5fd0..9bad142b7a 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 2dc6453b61..98ef4cb525 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 7197c44105..ad445880ad 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 7ec1d4fe27..6cd1d1fc30 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 4ec28f0c92..14ed1d7611 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 ed747d2466..91e0da290b 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 f3b20005da..ae319586c4 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 2ecc250b60..92fa9f63f9 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 bf451617f3..e14c9acbec 160000 --- a/work/CraftBukkit +++ b/work/CraftBukkit @@ -1 +1 @@ -Subproject commit bf451617f359f811ec8179a30af8e8b0c6ea2144 +Subproject commit e14c9acbec53f6484da2a8f040b16cab466e810f