From 345a6a620524ee18db251da2bbb48ff32864be2f Mon Sep 17 00:00:00 2001 From: Nassim Jahnke Date: Mon, 25 Jul 2022 18:44:24 +0200 Subject: [PATCH] Updated Upstream (CraftBukkit) Upstream has released updates that appear to apply and compile correctly. This update has not been tested by PaperMC and as with ANY update, please do your own testing CraftBukkit Changes: ef0946409 PR-1091: Fix exit position in entity travel with portals d12768f75 PR-1090: Remove no longer needed world reference from CraftMerchantCustom 7550f6854 SPIGOT-7115: Support hex color codes in custom merchant inventory titles --- patches/server/0007-MC-Utils.patch | 8 +++---- patches/server/0008-Adventure.patch | 24 +++++++++---------- .../0032-Configurable-end-credits.patch | 4 ++-- ...39-Implement-PlayerLocaleChangeEvent.patch | 6 ++--- ...layer-View-Distance-API-placeholders.patch | 4 ++-- ...figurable-container-update-tick-rate.patch | 6 ++--- ...dd-configurable-portal-search-radius.patch | 6 ++--- ...19-Properly-fix-item-duplication-bug.patch | 6 ++--- ...9-PlayerNaturallySpawnCreaturesEvent.patch | 4 ++-- .../0215-InventoryCloseEvent-Reason-API.patch | 12 +++++----- .../server/0255-Improve-death-events.patch | 8 +++---- ...tator-target-events-and-improve-impl.patch | 4 ++-- ...77-Reset-players-airTicks-on-respawn.patch | 4 ++-- ...entity-dismount-during-teleportation.patch | 6 ++--- ...-replace-OfflinePlayer-getLastPlayed.patch | 4 ++-- ...vehicle-tracking-issue-on-disconnect.patch | 4 ++-- ...0312-PlayerDeathEvent-getItemsToKeep.patch | 6 ++--- ...layerDeathEvent-shouldDropExperience.patch | 4 ++-- ...ement-optional-per-player-mob-spawns.patch | 6 ++--- ...spawn-settings-and-per-player-option.patch | 4 ++-- .../server/0380-Don-t-tick-dead-players.patch | 4 ++-- ...move-existing-players-to-world-spawn.patch | 6 ++--- ...vent-opening-inventories-when-frozen.patch | 6 ++--- ...-Implement-Player-Client-Options-API.patch | 4 ++-- ...g-Broken-behavior-of-PlayerJoinEvent.patch | 4 ++-- ...Load-Chunks-for-Login-Asynchronously.patch | 8 +++---- ...erCloseEnoughForSpawning-to-use-dist.patch | 4 ++-- ...ld-Difficulty-Remembering-Difficulty.patch | 4 ++-- ...-incremental-chunk-and-player-saving.patch | 4 ++-- ...k-Priority-Urgency-System-for-Chunks.patch | 8 +++---- .../server/0522-Add-API-for-quit-reason.patch | 6 ++--- ...0537-Player-Chunk-Load-Unload-Events.patch | 4 ++-- ...erTradeEvent-and-PlayerPurchaseEvent.patch | 4 ++-- ...-shield-blocking-on-dimension-change.patch | 4 ++-- ...CreateEvent-players-and-end-platform.patch | 4 ++-- ...ditions-to-PlayerGameModeChangeEvent.patch | 10 ++++---- ...PlayerDropItemEvent-using-wrong-item.patch | 4 ++-- ...k-event-leave-message-not-being-sent.patch | 6 ++--- ...n-t-apply-cramming-damage-to-players.patch | 4 ++-- .../server/0692-Add-PlayerSetSpawnEvent.patch | 8 +++---- ...-logic-for-inventories-on-chunk-unlo.patch | 4 ++-- .../0772-Ensure-valid-vehicle-status.patch | 4 ++-- ...single-and-multi-AABB-VoxelShapes-an.patch | 8 +++---- ...7-Replace-player-chunk-loader-system.patch | 6 ++--- ...ables-running-when-mob-loot-gamerule.patch | 4 ++-- ...-strict-advancement-dimension-checks.patch | 4 ++-- work/CraftBukkit | 2 +- 47 files changed, 134 insertions(+), 134 deletions(-) diff --git a/patches/server/0007-MC-Utils.patch b/patches/server/0007-MC-Utils.patch index 5852fd942..7ad1715c2 100644 --- a/patches/server/0007-MC-Utils.patch +++ b/patches/server/0007-MC-Utils.patch @@ -6023,10 +6023,10 @@ index fb8e2bcbe27438fa5274d440751b6733cce550cb..58da012345126bbfc9980538adf3f79b public ServerLevel(MinecraftServer minecraftserver, Executor executor, LevelStorageSource.LevelStorageAccess convertable_conversionsession, PrimaryLevelData iworlddataserver, ResourceKey resourcekey, LevelStem worlddimension, ChunkProgressListener worldloadlistener, boolean flag, long i, List list, boolean flag1, org.bukkit.World.Environment env, org.bukkit.generator.ChunkGenerator gen, org.bukkit.generator.BiomeProvider biomeProvider) { // Holder holder = worlddimension.typeHolder(); // CraftBukkit - decompile error diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index dde3ad5a7c5a127c16e493231a6fe4a5436b5615..56996af65ef7478adb90d3b2f4cd3351fc49200b 100644 +index f49690b7521270ef34285ccb73a9ec105c966bbd..d04f0819df55480fefa3ac5807658b05b3a6441a 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -241,6 +241,8 @@ public class ServerPlayer extends Player { +@@ -242,6 +242,8 @@ public class ServerPlayer extends Player { public String kickLeaveMessage = null; // SPIGOT-3034: Forward leave message to PlayerQuitEvent // CraftBukkit end @@ -6035,7 +6035,7 @@ index dde3ad5a7c5a127c16e493231a6fe4a5436b5615..56996af65ef7478adb90d3b2f4cd3351 public ServerPlayer(MinecraftServer server, ServerLevel world, GameProfile profile, @Nullable ProfilePublicKey publicKey) { super(world, world.getSharedSpawnPos(), world.getSharedSpawnAngle(), profile, publicKey); this.chatVisibility = ChatVisiblity.FULL; -@@ -304,6 +306,8 @@ public class ServerPlayer extends Player { +@@ -305,6 +307,8 @@ public class ServerPlayer extends Player { this.maxUpStep = 1.0F; this.fudgeSpawnLocation(world); @@ -6106,7 +6106,7 @@ index 288fdbef407d11ab430d5d7026dfad148c3c1065..6fefa619299d3202158490630d62c16a @Override public void tell(R runnable) { diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 4ebccd159b2434383e4175d10d89eb60c49cc771..3def476eee5fd6065762bdebd6659a3cc1a8dfbc 100644 +index 9a716e01516d0e84d0ba4dbbc99bc36f1c409a7a..4ab6e75929ba34bcea6558ab51c8c551d6f70b02 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -315,6 +315,11 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { diff --git a/patches/server/0008-Adventure.patch b/patches/server/0008-Adventure.patch index 11831caa3..c5582d33e 100644 --- a/patches/server/0008-Adventure.patch +++ b/patches/server/0008-Adventure.patch @@ -1399,10 +1399,10 @@ index 1ad7797dbef61f8e8011ae6db3089939a279071c..327a8f3806d4b3a42f0a7691d578725b public boolean previewsChat() { diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 56996af65ef7478adb90d3b2f4cd3351fc49200b..7002d5f5700570e32ebf0b63e340d87d58357162 100644 +index d04f0819df55480fefa3ac5807658b05b3a6441a..59f918a7c2eb2cd9f3f63a6cb8285815affa5100 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -152,6 +152,7 @@ import net.minecraft.world.scores.Score; +@@ -153,6 +153,7 @@ import net.minecraft.world.scores.Score; import net.minecraft.world.scores.Scoreboard; import net.minecraft.world.scores.Team; import net.minecraft.world.scores.criteria.ObjectiveCriteria; @@ -1410,7 +1410,7 @@ index 56996af65ef7478adb90d3b2f4cd3351fc49200b..7002d5f5700570e32ebf0b63e340d87d import org.bukkit.Bukkit; import org.bukkit.Location; import org.bukkit.WeatherType; -@@ -228,6 +229,7 @@ public class ServerPlayer extends Player { +@@ -229,6 +230,7 @@ public class ServerPlayer extends Player { // CraftBukkit start public String displayName; @@ -1418,7 +1418,7 @@ index 56996af65ef7478adb90d3b2f4cd3351fc49200b..7002d5f5700570e32ebf0b63e340d87d public Component listName; public org.bukkit.Location compassTarget; public int newExp = 0; -@@ -310,6 +312,7 @@ public class ServerPlayer extends Player { +@@ -311,6 +313,7 @@ public class ServerPlayer extends Player { // CraftBukkit start this.displayName = this.getScoreboardName(); @@ -1426,7 +1426,7 @@ index 56996af65ef7478adb90d3b2f4cd3351fc49200b..7002d5f5700570e32ebf0b63e340d87d this.bukkitPickUpLoot = true; this.maxHealthCache = this.getMaxHealth(); } -@@ -786,22 +789,17 @@ public class ServerPlayer extends Player { +@@ -787,22 +790,17 @@ public class ServerPlayer extends Player { String deathmessage = defaultMessage.getString(); this.keepLevel = keepInventory; // SPIGOT-2222: pre-set keepLevel @@ -1453,7 +1453,7 @@ index 56996af65ef7478adb90d3b2f4cd3351fc49200b..7002d5f5700570e32ebf0b63e340d87d this.connection.send(new ClientboundPlayerCombatKillPacket(this.getCombatTracker(), ichatbasecomponent), (future) -> { if (!future.isSuccess()) { -@@ -1757,6 +1755,7 @@ public class ServerPlayer extends Player { +@@ -1758,6 +1756,7 @@ public class ServerPlayer extends Player { } public String locale = "en_us"; // CraftBukkit - add, lowercase @@ -1461,7 +1461,7 @@ index 56996af65ef7478adb90d3b2f4cd3351fc49200b..7002d5f5700570e32ebf0b63e340d87d public void updateOptions(ServerboundClientInformationPacket packet) { // CraftBukkit start if (getMainArm() != packet.mainHand()) { -@@ -1768,6 +1767,10 @@ public class ServerPlayer extends Player { +@@ -1769,6 +1768,10 @@ public class ServerPlayer extends Player { this.server.server.getPluginManager().callEvent(event); } this.locale = packet.language; @@ -3115,10 +3115,10 @@ index c7503805bb2358996fb704288b8e4320aee6f425..a06f9775a43a245380edabde63e79990 + // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMerchantCustom.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMerchantCustom.java -index 2669644228037f7447ddf98a48a58bbbf6129c37..eaec84147d3023c71865a6b2236879511e9f3685 100644 +index a0334ec0a80dfc4f1e68c2e338aa486faaefb29e..257776a12ca26c1e75be22a67c94b0aa012fd687 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMerchantCustom.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMerchantCustom.java -@@ -13,10 +13,17 @@ import org.apache.commons.lang.Validate; +@@ -13,10 +13,17 @@ import org.bukkit.craftbukkit.util.CraftChatMessage; public class CraftMerchantCustom extends CraftMerchant { @@ -3136,14 +3136,14 @@ index 2669644228037f7447ddf98a48a58bbbf6129c37..eaec84147d3023c71865a6b223687951 @Override public String toString() { -@@ -36,10 +43,17 @@ public class CraftMerchantCustom extends CraftMerchant { - private Level tradingWorld; +@@ -35,10 +42,17 @@ public class CraftMerchantCustom extends CraftMerchant { + private Player tradingPlayer; protected CraftMerchant craftMerchant; + @Deprecated // Paper - Adventure public MinecraftMerchant(String title) { Validate.notNull(title, "Title cannot be null"); - this.title = Component.literal(title); + this.title = CraftChatMessage.fromString(title)[0]; } + // Paper start + public MinecraftMerchant(net.kyori.adventure.text.Component title) { diff --git a/patches/server/0032-Configurable-end-credits.patch b/patches/server/0032-Configurable-end-credits.patch index e494e69c4..484b15384 100644 --- a/patches/server/0032-Configurable-end-credits.patch +++ b/patches/server/0032-Configurable-end-credits.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Configurable end credits diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 7002d5f5700570e32ebf0b63e340d87d58357162..66fa7e12a9a398d510a75549c3db135feb4c562c 100644 +index 59f918a7c2eb2cd9f3f63a6cb8285815affa5100..0853cd73209933d1fcbe9cb4c4c9e39bd4f68f1c 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -989,6 +989,7 @@ public class ServerPlayer extends Player { +@@ -990,6 +990,7 @@ public class ServerPlayer extends Player { this.unRide(); this.getLevel().removePlayerImmediately(this, Entity.RemovalReason.CHANGED_DIMENSION); if (!this.wonGame) { diff --git a/patches/server/0039-Implement-PlayerLocaleChangeEvent.patch b/patches/server/0039-Implement-PlayerLocaleChangeEvent.patch index 1db63a847..3281b7fda 100644 --- a/patches/server/0039-Implement-PlayerLocaleChangeEvent.patch +++ b/patches/server/0039-Implement-PlayerLocaleChangeEvent.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Implement PlayerLocaleChangeEvent diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 66fa7e12a9a398d510a75549c3db135feb4c562c..e839487415ad88bdea1ce3f4f84a6f9649eb9da9 100644 +index 0853cd73209933d1fcbe9cb4c4c9e39bd4f68f1c..c29d5fe41b6f452cd5180d241f488ba8a345cb76 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -1755,7 +1755,7 @@ public class ServerPlayer extends Player { +@@ -1756,7 +1756,7 @@ public class ServerPlayer extends Player { return s; } @@ -17,7 +17,7 @@ index 66fa7e12a9a398d510a75549c3db135feb4c562c..e839487415ad88bdea1ce3f4f84a6f96 public java.util.Locale adventure$locale = java.util.Locale.US; // Paper public void updateOptions(ServerboundClientInformationPacket packet) { // CraftBukkit start -@@ -1763,9 +1763,10 @@ public class ServerPlayer extends Player { +@@ -1764,9 +1764,10 @@ public class ServerPlayer extends Player { PlayerChangedMainHandEvent event = new PlayerChangedMainHandEvent(this.getBukkitEntity(), getMainArm() == HumanoidArm.LEFT ? MainHand.LEFT : MainHand.RIGHT); this.server.server.getPluginManager().callEvent(event); } diff --git a/patches/server/0040-Per-Player-View-Distance-API-placeholders.patch b/patches/server/0040-Per-Player-View-Distance-API-placeholders.patch index a238f0777..e8d46dd45 100644 --- a/patches/server/0040-Per-Player-View-Distance-API-placeholders.patch +++ b/patches/server/0040-Per-Player-View-Distance-API-placeholders.patch @@ -7,10 +7,10 @@ I hope to look at this more in-depth soon. It appears doable. However this should not block the update. diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index e839487415ad88bdea1ce3f4f84a6f9649eb9da9..447d4e724b5ff129bd6670f4d7b2111acfe33719 100644 +index c29d5fe41b6f452cd5180d241f488ba8a345cb76..07ee153cbd0677c04d4d44276dc8f7e597e56c15 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -2242,4 +2242,6 @@ public class ServerPlayer extends Player { +@@ -2243,4 +2243,6 @@ public class ServerPlayer extends Player { return (CraftPlayer) super.getBukkitEntity(); } // CraftBukkit end diff --git a/patches/server/0042-Configurable-container-update-tick-rate.patch b/patches/server/0042-Configurable-container-update-tick-rate.patch index 2cb4b00ec..a91ea5889 100644 --- a/patches/server/0042-Configurable-container-update-tick-rate.patch +++ b/patches/server/0042-Configurable-container-update-tick-rate.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Configurable container update tick rate diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 447d4e724b5ff129bd6670f4d7b2111acfe33719..73fe1f1047e39eeeb8a1444fa353f7d1a8e651b3 100644 +index 07ee153cbd0677c04d4d44276dc8f7e597e56c15..02dd7ca5f7845803623488d7c7e84a2eb22b2d90 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -226,6 +226,7 @@ public class ServerPlayer extends Player { +@@ -227,6 +227,7 @@ public class ServerPlayer extends Player { private int containerCounter; public int latency; public boolean wonGame; @@ -16,7 +16,7 @@ index 447d4e724b5ff129bd6670f4d7b2111acfe33719..73fe1f1047e39eeeb8a1444fa353f7d1 // CraftBukkit start public String displayName; -@@ -598,7 +599,12 @@ public class ServerPlayer extends Player { +@@ -599,7 +600,12 @@ public class ServerPlayer extends Player { --this.invulnerableTime; } diff --git a/patches/server/0053-Add-configurable-portal-search-radius.patch b/patches/server/0053-Add-configurable-portal-search-radius.patch index 9385e8273..5c46e4de2 100644 --- a/patches/server/0053-Add-configurable-portal-search-radius.patch +++ b/patches/server/0053-Add-configurable-portal-search-radius.patch @@ -5,21 +5,21 @@ Subject: [PATCH] Add configurable portal search radius diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index aee2429a0e55e5788ea874c17bcadecaa3d4ef0b..125e89bf8473dc7febd791073e6801aa75b85840 100644 +index 3564492eef1cac204ca580795dc8bb1e5e3d510a..7953111f8d00413b39a17d2b09b1b74b55c2ab63 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -2940,7 +2940,13 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { double d0 = DimensionType.getTeleportationScale(this.level.dimensionType(), destination.dimensionType()); BlockPos blockposition = worldborder.clampToBounds(this.getX() * d0, this.getY(), this.getZ() * d0); // CraftBukkit start -- CraftPortalEvent event = this.callPortalEvent(this, destination, blockposition, PlayerTeleportEvent.TeleportCause.NETHER_PORTAL, flag2 ? 16 : 128, 16); +- CraftPortalEvent event = this.callPortalEvent(this, destination, new PositionImpl(blockposition.getX(), blockposition.getY(), blockposition.getZ()), PlayerTeleportEvent.TeleportCause.NETHER_PORTAL, flag2 ? 16 : 128, 16); + // Paper start + int portalSearchRadius = destination.paperConfig().environment.portalSearchRadius; + if (level.paperConfig().environment.portalSearchVanillaDimensionScaling && flag2) { // == THE_NETHER + portalSearchRadius = (int) (portalSearchRadius / destination.dimensionType().coordinateScale()); + } + // Paper end -+ CraftPortalEvent event = this.callPortalEvent(this, destination, blockposition, PlayerTeleportEvent.TeleportCause.NETHER_PORTAL, portalSearchRadius, destination.paperConfig().environment.portalCreateRadius); // Paper start - configurable portal radius ++ CraftPortalEvent event = this.callPortalEvent(this, destination, new PositionImpl(blockposition.getX(), blockposition.getY(), blockposition.getZ()), PlayerTeleportEvent.TeleportCause.NETHER_PORTAL, portalSearchRadius, destination.paperConfig().environment.portalCreateRadius); // Paper start - configurable portal radius if (event == null) { return null; } diff --git a/patches/server/0119-Properly-fix-item-duplication-bug.patch b/patches/server/0119-Properly-fix-item-duplication-bug.patch index 3ec9aca73..afd7d81df 100644 --- a/patches/server/0119-Properly-fix-item-duplication-bug.patch +++ b/patches/server/0119-Properly-fix-item-duplication-bug.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Properly fix item duplication bug Credit to prplz for figuring out the real issue diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 73fe1f1047e39eeeb8a1444fa353f7d1a8e651b3..4b65dc12dc97e72b221d9fd15202a1a0622ef806 100644 +index 02dd7ca5f7845803623488d7c7e84a2eb22b2d90..5cd7e7eb7c1288cf4c1f13f63b3ea0cc34d6beb8 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -2199,7 +2199,7 @@ public class ServerPlayer extends Player { +@@ -2200,7 +2200,7 @@ public class ServerPlayer extends Player { @Override public boolean isImmobile() { @@ -19,7 +19,7 @@ index 73fe1f1047e39eeeb8a1444fa353f7d1a8e651b3..4b65dc12dc97e72b221d9fd15202a1a0 @Override diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index af162828963571f87f7b530443fdf6c3fa22fd4d..34f58fb835abaad145e2f1fa71cce193386a28fb 100644 +index 6aac105a9717b02af648be82fe8e1b2b30bef8a6..aafeb6643bcc08ae1d88ba2a68f1f6a29c8ce2b7 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -3037,7 +3037,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser diff --git a/patches/server/0169-PlayerNaturallySpawnCreaturesEvent.patch b/patches/server/0169-PlayerNaturallySpawnCreaturesEvent.patch index 2c6b12451..d41ab432a 100644 --- a/patches/server/0169-PlayerNaturallySpawnCreaturesEvent.patch +++ b/patches/server/0169-PlayerNaturallySpawnCreaturesEvent.patch @@ -60,7 +60,7 @@ index 86acdd910eebb8beac4536942119c9e97580ff2e..a81644df294c739b72fc638cd06a3976 while (iterator1.hasNext()) { diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 4b65dc12dc97e72b221d9fd15202a1a0622ef806..05b9595d4d308e5b4a551d26f3defbfa1d829ea9 100644 +index 5cd7e7eb7c1288cf4c1f13f63b3ea0cc34d6beb8..ffa45c70d6b0bc73dc442413d49e33d7fbfcdd86 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -1,5 +1,6 @@ @@ -70,7 +70,7 @@ index 4b65dc12dc97e72b221d9fd15202a1a0622ef806..05b9595d4d308e5b4a551d26f3defbfa import com.google.common.collect.Lists; import com.mojang.authlib.GameProfile; import com.mojang.datafixers.util.Either; -@@ -243,6 +244,7 @@ public class ServerPlayer extends Player { +@@ -244,6 +245,7 @@ public class ServerPlayer extends Player { public Integer clientViewDistance; public String kickLeaveMessage = null; // SPIGOT-3034: Forward leave message to PlayerQuitEvent // CraftBukkit end diff --git a/patches/server/0215-InventoryCloseEvent-Reason-API.patch b/patches/server/0215-InventoryCloseEvent-Reason-API.patch index e161d77ca..dda06e28f 100644 --- a/patches/server/0215-InventoryCloseEvent-Reason-API.patch +++ b/patches/server/0215-InventoryCloseEvent-Reason-API.patch @@ -29,10 +29,10 @@ index d394f7dd4ef1faa1b92a56945e5dab96b6dd17b8..0531b9c5b10fe250531b0c04cb2ffe27 } // Spigot End diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 05b9595d4d308e5b4a551d26f3defbfa1d829ea9..0ef0b7fa2af5ac6608f9b8b37317434f15df6bfa 100644 +index ffa45c70d6b0bc73dc442413d49e33d7fbfcdd86..997b688d187b8b5d0e6a40ce030a14c4445ec6e9 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -608,7 +608,7 @@ public class ServerPlayer extends Player { +@@ -609,7 +609,7 @@ public class ServerPlayer extends Player { } // Paper end if (!this.level.isClientSide && !this.containerMenu.stillValid(this)) { @@ -41,7 +41,7 @@ index 05b9595d4d308e5b4a551d26f3defbfa1d829ea9..0ef0b7fa2af5ac6608f9b8b37317434f this.containerMenu = this.inventoryMenu; } -@@ -801,7 +801,7 @@ public class ServerPlayer extends Player { +@@ -802,7 +802,7 @@ public class ServerPlayer extends Player { // SPIGOT-943 - only call if they have an inventory open if (this.containerMenu != this.inventoryMenu) { @@ -50,7 +50,7 @@ index 05b9595d4d308e5b4a551d26f3defbfa1d829ea9..0ef0b7fa2af5ac6608f9b8b37317434f } net.kyori.adventure.text.Component deathMessage = event.deathMessage() != null ? event.deathMessage() : net.kyori.adventure.text.Component.empty(); // Paper - Adventure -@@ -1442,7 +1442,7 @@ public class ServerPlayer extends Player { +@@ -1443,7 +1443,7 @@ public class ServerPlayer extends Player { } // CraftBukkit end if (this.containerMenu != this.inventoryMenu) { @@ -59,7 +59,7 @@ index 05b9595d4d308e5b4a551d26f3defbfa1d829ea9..0ef0b7fa2af5ac6608f9b8b37317434f } // this.nextContainerCounter(); // CraftBukkit - moved up -@@ -1470,7 +1470,13 @@ public class ServerPlayer extends Player { +@@ -1471,7 +1471,13 @@ public class ServerPlayer extends Player { @Override public void closeContainer() { @@ -75,7 +75,7 @@ index 05b9595d4d308e5b4a551d26f3defbfa1d829ea9..0ef0b7fa2af5ac6608f9b8b37317434f this.doCloseContainer(); } diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index d729042a22f01decbf30d35d7842e43cab283c05..8b9e569ccefaa5123c966590a9bba77cc8eec64d 100644 +index 15bad199895be87a93122fb3e860c2b552b89c55..70b81723e411283f4e4c41ab8b0c3eae9ed62f0f 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -204,6 +204,7 @@ import org.bukkit.event.inventory.ClickType; diff --git a/patches/server/0255-Improve-death-events.patch b/patches/server/0255-Improve-death-events.patch index 3ede44471..fd14c7853 100644 --- a/patches/server/0255-Improve-death-events.patch +++ b/patches/server/0255-Improve-death-events.patch @@ -19,10 +19,10 @@ maybe more (please check patch overrides for drops for more): - players, armor stands, foxes, chested donkeys/llamas diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 0ef0b7fa2af5ac6608f9b8b37317434f15df6bfa..67316da1b90024e58b572606798eba0f335db0bb 100644 +index 997b688d187b8b5d0e6a40ce030a14c4445ec6e9..a8dd8cb390924a221e0be4ef4ef5e16868cc7682 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -228,6 +228,10 @@ public class ServerPlayer extends Player { +@@ -229,6 +229,10 @@ public class ServerPlayer extends Player { public int latency; public boolean wonGame; private int containerUpdateDelay; // Paper @@ -33,7 +33,7 @@ index 0ef0b7fa2af5ac6608f9b8b37317434f15df6bfa..67316da1b90024e58b572606798eba0f // CraftBukkit start public String displayName; -@@ -798,6 +802,15 @@ public class ServerPlayer extends Player { +@@ -799,6 +803,15 @@ public class ServerPlayer extends Player { String deathmessage = defaultMessage.getString(); this.keepLevel = keepInventory; // SPIGOT-2222: pre-set keepLevel org.bukkit.event.entity.PlayerDeathEvent event = CraftEventFactory.callPlayerDeathEvent(this, loot, PaperAdventure.asAdventure(defaultMessage), defaultMessage.getString(), keepInventory); // Paper - Adventure @@ -49,7 +49,7 @@ index 0ef0b7fa2af5ac6608f9b8b37317434f15df6bfa..67316da1b90024e58b572606798eba0f // SPIGOT-943 - only call if they have an inventory open if (this.containerMenu != this.inventoryMenu) { -@@ -946,8 +959,17 @@ public class ServerPlayer extends Player { +@@ -947,8 +960,17 @@ public class ServerPlayer extends Player { } } } diff --git a/patches/server/0271-Call-player-spectator-target-events-and-improve-impl.patch b/patches/server/0271-Call-player-spectator-target-events-and-improve-impl.patch index 96be18264..f1d88ea58 100644 --- a/patches/server/0271-Call-player-spectator-target-events-and-improve-impl.patch +++ b/patches/server/0271-Call-player-spectator-target-events-and-improve-impl.patch @@ -19,10 +19,10 @@ spectate the target entity. Co-authored-by: Spottedleaf diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 67316da1b90024e58b572606798eba0f335db0bb..541029d263f55588ae0f232e2692c7218e471f6f 100644 +index a8dd8cb390924a221e0be4ef4ef5e16868cc7682..a92a8e9d38cab33b2e161ef96e1cecd533b27324 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -1880,14 +1880,58 @@ public class ServerPlayer extends Player { +@@ -1881,14 +1881,58 @@ public class ServerPlayer extends Player { } public void setCamera(@Nullable Entity entity) { diff --git a/patches/server/0277-Reset-players-airTicks-on-respawn.patch b/patches/server/0277-Reset-players-airTicks-on-respawn.patch index 46454f5c7..3f235b7a3 100644 --- a/patches/server/0277-Reset-players-airTicks-on-respawn.patch +++ b/patches/server/0277-Reset-players-airTicks-on-respawn.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Reset players airTicks on respawn diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 541029d263f55588ae0f232e2692c7218e471f6f..15b9186ad0e52a55a3f523e4f1d96ef34ca99145 100644 +index a92a8e9d38cab33b2e161ef96e1cecd533b27324..bdd81c856b750acaffa7ec8d95c00d481504a2b9 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -2293,6 +2293,7 @@ public class ServerPlayer extends Player { +@@ -2294,6 +2294,7 @@ public class ServerPlayer extends Player { this.setHealth(this.getMaxHealth()); this.stopUsingItem(); // CraftBukkit - SPIGOT-6682: Clear active item on reset diff --git a/patches/server/0288-force-entity-dismount-during-teleportation.patch b/patches/server/0288-force-entity-dismount-during-teleportation.patch index fdda404d5..f3572aed5 100644 --- a/patches/server/0288-force-entity-dismount-during-teleportation.patch +++ b/patches/server/0288-force-entity-dismount-during-teleportation.patch @@ -20,10 +20,10 @@ this is going to be the best soultion all around. Improvements/suggestions welcome! diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 15b9186ad0e52a55a3f523e4f1d96ef34ca99145..2e42a61e315a6857ca8b2ef4a63c974057a254cb 100644 +index bdd81c856b750acaffa7ec8d95c00d481504a2b9..4552b02daae22fa93e60bff7057a69ef4107c046 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -1336,11 +1336,13 @@ public class ServerPlayer extends Player { +@@ -1337,11 +1337,13 @@ public class ServerPlayer extends Player { } } @@ -41,7 +41,7 @@ index 15b9186ad0e52a55a3f523e4f1d96ef34ca99145..2e42a61e315a6857ca8b2ef4a63c9740 if (entity1 != entity && this.connection != null) { diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 7b37bfe4a42a78184610bfac25165c1ac27d4fe9..37a8f164d785a1d042f7dcf3d61b15b830621a45 100644 +index bde7eeea9dba42b1d38c2ebdc871bc5d003af9a1..2e275bf97258576edfbc96ea69c91905b8755b9c 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -2318,11 +2318,16 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { diff --git a/patches/server/0293-Add-APIs-to-replace-OfflinePlayer-getLastPlayed.patch b/patches/server/0293-Add-APIs-to-replace-OfflinePlayer-getLastPlayed.patch index b8795c381..010a33ece 100644 --- a/patches/server/0293-Add-APIs-to-replace-OfflinePlayer-getLastPlayed.patch +++ b/patches/server/0293-Add-APIs-to-replace-OfflinePlayer-getLastPlayed.patch @@ -16,10 +16,10 @@ intent to remove) and replace it with two new methods, clearly named and documented as to their purpose. diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 2e42a61e315a6857ca8b2ef4a63c974057a254cb..6a16654e0d44f166d5fa38246d825c5482a2d47e 100644 +index 4552b02daae22fa93e60bff7057a69ef4107c046..4c7634c84dc2cc42099c0457321d468166afa3bb 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -228,6 +228,7 @@ public class ServerPlayer extends Player { +@@ -229,6 +229,7 @@ public class ServerPlayer extends Player { public int latency; public boolean wonGame; private int containerUpdateDelay; // Paper diff --git a/patches/server/0294-Workaround-for-vehicle-tracking-issue-on-disconnect.patch b/patches/server/0294-Workaround-for-vehicle-tracking-issue-on-disconnect.patch index 6b33fd6ff..073dc45a3 100644 --- a/patches/server/0294-Workaround-for-vehicle-tracking-issue-on-disconnect.patch +++ b/patches/server/0294-Workaround-for-vehicle-tracking-issue-on-disconnect.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Workaround for vehicle tracking issue on disconnect diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 6a16654e0d44f166d5fa38246d825c5482a2d47e..51f9287472fd1897958edf7d014939d0ab0b24ac 100644 +index 4c7634c84dc2cc42099c0457321d468166afa3bb..bea7a50c4e461eb69447f7f3b4b049e8dce66fd9 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -1578,6 +1578,13 @@ public class ServerPlayer extends Player { +@@ -1579,6 +1579,13 @@ public class ServerPlayer extends Player { public void disconnect() { this.disconnected = true; this.ejectPassengers(); diff --git a/patches/server/0312-PlayerDeathEvent-getItemsToKeep.patch b/patches/server/0312-PlayerDeathEvent-getItemsToKeep.patch index 9789da609..935044035 100644 --- a/patches/server/0312-PlayerDeathEvent-getItemsToKeep.patch +++ b/patches/server/0312-PlayerDeathEvent-getItemsToKeep.patch @@ -8,10 +8,10 @@ Exposes a mutable array on items a player should keep on death Example Usage: https://gist.github.com/aikar/5bb202de6057a051a950ce1f29feb0b4 diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 51f9287472fd1897958edf7d014939d0ab0b24ac..d28f8f527048f8ec2b3acaa499fee92faeaac3aa 100644 +index bea7a50c4e461eb69447f7f3b4b049e8dce66fd9..aafe0fb730235be7c77b5539fbafbe8babba462c 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -773,6 +773,46 @@ public class ServerPlayer extends Player { +@@ -774,6 +774,46 @@ public class ServerPlayer extends Player { }); } @@ -58,7 +58,7 @@ index 51f9287472fd1897958edf7d014939d0ab0b24ac..d28f8f527048f8ec2b3acaa499fee92f @Override public void die(DamageSource damageSource) { this.gameEvent(GameEvent.ENTITY_DIE); -@@ -859,7 +899,12 @@ public class ServerPlayer extends Player { +@@ -860,7 +900,12 @@ public class ServerPlayer extends Player { this.dropExperience(); // we clean the player's inventory after the EntityDeathEvent is called so plugins can get the exact state of the inventory. if (!event.getKeepInventory()) { diff --git a/patches/server/0340-PlayerDeathEvent-shouldDropExperience.patch b/patches/server/0340-PlayerDeathEvent-shouldDropExperience.patch index d55bc99c5..29b3f5b03 100644 --- a/patches/server/0340-PlayerDeathEvent-shouldDropExperience.patch +++ b/patches/server/0340-PlayerDeathEvent-shouldDropExperience.patch @@ -5,10 +5,10 @@ Subject: [PATCH] PlayerDeathEvent#shouldDropExperience diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index d28f8f527048f8ec2b3acaa499fee92faeaac3aa..255c679b6859d95e47d9106697bfc2f0f066334e 100644 +index aafe0fb730235be7c77b5539fbafbe8babba462c..3ba550d0de4b88379331cf56fe114f7c7e0ea558 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -896,7 +896,7 @@ public class ServerPlayer extends Player { +@@ -897,7 +897,7 @@ public class ServerPlayer extends Player { this.tellNeutralMobsThatIDied(); } // SPIGOT-5478 must be called manually now diff --git a/patches/server/0357-implement-optional-per-player-mob-spawns.patch b/patches/server/0357-implement-optional-per-player-mob-spawns.patch index 8be3bfedc..3f76b6845 100644 --- a/patches/server/0357-implement-optional-per-player-mob-spawns.patch +++ b/patches/server/0357-implement-optional-per-player-mob-spawns.patch @@ -377,10 +377,10 @@ index d66ec02b09bb7ae46aae8e55f00626139f074ae3..de5b80fce9757517e51f2ef55340e884 this.lastSpawnState = spawnercreature_d; diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 255c679b6859d95e47d9106697bfc2f0f066334e..1cb3b8639a8ce367040b8a55da8db66c800769e4 100644 +index 3ba550d0de4b88379331cf56fe114f7c7e0ea558..8421ecaec9a475163860966fea28ec66943b6f86 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -233,6 +233,11 @@ public class ServerPlayer extends Player { +@@ -234,6 +234,11 @@ public class ServerPlayer extends Player { public boolean queueHealthUpdatePacket = false; public net.minecraft.network.protocol.game.ClientboundSetHealthPacket queuedHealthUpdatePacket; // Paper end @@ -392,7 +392,7 @@ index 255c679b6859d95e47d9106697bfc2f0f066334e..1cb3b8639a8ce367040b8a55da8db66c // CraftBukkit start public String displayName; -@@ -323,6 +328,7 @@ public class ServerPlayer extends Player { +@@ -324,6 +329,7 @@ public class ServerPlayer extends Player { this.adventure$displayName = net.kyori.adventure.text.Component.text(this.getScoreboardName()); // Paper this.bukkitPickUpLoot = true; this.maxHealthCache = this.getMaxHealth(); diff --git a/patches/server/0376-Pillager-patrol-spawn-settings-and-per-player-option.patch b/patches/server/0376-Pillager-patrol-spawn-settings-and-per-player-option.patch index 17dda50eb..27dfc389b 100644 --- a/patches/server/0376-Pillager-patrol-spawn-settings-and-per-player-option.patch +++ b/patches/server/0376-Pillager-patrol-spawn-settings-and-per-player-option.patch @@ -10,10 +10,10 @@ When not per player it will use the Vanilla mechanic of one delay per world and the world age for the start day. diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 1cb3b8639a8ce367040b8a55da8db66c800769e4..1c7ee53d9f5744ad93f829f12b87aa779db005d4 100644 +index 8421ecaec9a475163860966fea28ec66943b6f86..d777fa8dd3529faf14bf82d023e00e9a118b45e5 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -229,6 +229,7 @@ public class ServerPlayer extends Player { +@@ -230,6 +230,7 @@ public class ServerPlayer extends Player { public boolean wonGame; private int containerUpdateDelay; // Paper public long loginTime; // Paper diff --git a/patches/server/0380-Don-t-tick-dead-players.patch b/patches/server/0380-Don-t-tick-dead-players.patch index 2f15e506d..14174b88f 100644 --- a/patches/server/0380-Don-t-tick-dead-players.patch +++ b/patches/server/0380-Don-t-tick-dead-players.patch @@ -7,10 +7,10 @@ Causes sync chunk loads and who knows what all else. This is safe because Spectators are skipped in unloaded chunks too in vanilla. diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 1c7ee53d9f5744ad93f829f12b87aa779db005d4..2527615fa33b45f38b3a5cfdb458dcb92c6d514f 100644 +index d777fa8dd3529faf14bf82d023e00e9a118b45e5..6469472fedd9f28a3d609714ddf7255824a7f72a 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -650,7 +650,7 @@ public class ServerPlayer extends Player { +@@ -651,7 +651,7 @@ public class ServerPlayer extends Player { public void doTick() { try { diff --git a/patches/server/0383-Don-t-move-existing-players-to-world-spawn.patch b/patches/server/0383-Don-t-move-existing-players-to-world-spawn.patch index b4703e606..c005c8908 100644 --- a/patches/server/0383-Don-t-move-existing-players-to-world-spawn.patch +++ b/patches/server/0383-Don-t-move-existing-players-to-world-spawn.patch @@ -10,10 +10,10 @@ larger than the keep loaded range. By skipping this, we avoid potential for a large spike on server start. diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 2527615fa33b45f38b3a5cfdb458dcb92c6d514f..3933387e180acc0fcbff1c1147fcf73eeaa8b0d7 100644 +index 6469472fedd9f28a3d609714ddf7255824a7f72a..6546991000cb40d1299497f21717d470d4ee7efb 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -320,7 +320,7 @@ public class ServerPlayer extends Player { +@@ -321,7 +321,7 @@ public class ServerPlayer extends Player { this.stats = server.getPlayerList().getPlayerStats(this); this.advancements = server.getPlayerList().getPlayerAdvancements(this); this.maxUpStep = 1.0F; @@ -22,7 +22,7 @@ index 2527615fa33b45f38b3a5cfdb458dcb92c6d514f..3933387e180acc0fcbff1c1147fcf73e this.cachedSingleHashSet = new com.destroystokyo.paper.util.misc.PooledLinkedHashSets.PooledObjectLinkedOpenHashSet<>(this); // Paper -@@ -538,7 +538,7 @@ public class ServerPlayer extends Player { +@@ -539,7 +539,7 @@ public class ServerPlayer extends Player { position = Vec3.atCenterOf(((ServerLevel) world).getSharedSpawnPos()); } this.level = world; diff --git a/patches/server/0389-Prevent-opening-inventories-when-frozen.patch b/patches/server/0389-Prevent-opening-inventories-when-frozen.patch index 6973b4ca5..f1d4031ff 100644 --- a/patches/server/0389-Prevent-opening-inventories-when-frozen.patch +++ b/patches/server/0389-Prevent-opening-inventories-when-frozen.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Prevent opening inventories when frozen diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 3933387e180acc0fcbff1c1147fcf73eeaa8b0d7..02a84c3f3ca6b591a1c475b5cf3357cebd41eff6 100644 +index 6546991000cb40d1299497f21717d470d4ee7efb..a39ee6af70cdd027dd5e7ddf7ed16393a2b08aab 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -619,7 +619,7 @@ public class ServerPlayer extends Player { +@@ -620,7 +620,7 @@ public class ServerPlayer extends Player { containerUpdateDelay = level.paperConfig().tickRates.containerUpdate; } // Paper end @@ -17,7 +17,7 @@ index 3933387e180acc0fcbff1c1147fcf73eeaa8b0d7..02a84c3f3ca6b591a1c475b5cf3357ce this.closeContainer(org.bukkit.event.inventory.InventoryCloseEvent.Reason.CANT_USE); // Paper this.containerMenu = this.inventoryMenu; } -@@ -1492,7 +1492,7 @@ public class ServerPlayer extends Player { +@@ -1493,7 +1493,7 @@ public class ServerPlayer extends Player { } else { // CraftBukkit start this.containerMenu = container; diff --git a/patches/server/0392-Implement-Player-Client-Options-API.patch b/patches/server/0392-Implement-Player-Client-Options-API.patch index 3e222f0b0..3a3a1b201 100644 --- a/patches/server/0392-Implement-Player-Client-Options-API.patch +++ b/patches/server/0392-Implement-Player-Client-Options-API.patch @@ -85,10 +85,10 @@ index 0000000000000000000000000000000000000000..b6f4400df3d8ec7e06a996de54f8cabb + } +} diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 02a84c3f3ca6b591a1c475b5cf3357cebd41eff6..8ef5f67c0b51bb5d527b36c667a5c23594da7d03 100644 +index a39ee6af70cdd027dd5e7ddf7ed16393a2b08aab..6550e7a3e3d0f8cf86b9f6d8d3435ed9fb597a86 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -1856,6 +1856,7 @@ public class ServerPlayer extends Player { +@@ -1857,6 +1857,7 @@ public class ServerPlayer extends Player { public String locale = null; // CraftBukkit - add, lowercase // Paper - default to null public java.util.Locale adventure$locale = java.util.Locale.US; // Paper public void updateOptions(ServerboundClientInformationPacket packet) { diff --git a/patches/server/0395-Fix-Longstanding-Broken-behavior-of-PlayerJoinEvent.patch b/patches/server/0395-Fix-Longstanding-Broken-behavior-of-PlayerJoinEvent.patch index e4479e769..9b49d32f9 100644 --- a/patches/server/0395-Fix-Longstanding-Broken-behavior-of-PlayerJoinEvent.patch +++ b/patches/server/0395-Fix-Longstanding-Broken-behavior-of-PlayerJoinEvent.patch @@ -40,10 +40,10 @@ index 71d76ce0d873c665597a7d28f6caea5bf059e796..ee64657a838b9b661b8accc997b6d149 if (!(entity instanceof EnderDragonPart)) { EntityType entitytypes = entity.getType(); diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 8ef5f67c0b51bb5d527b36c667a5c23594da7d03..55aae33d3b296ff8e02b1c36c55678979d48ac3d 100644 +index 6550e7a3e3d0f8cf86b9f6d8d3435ed9fb597a86..ee6281551ccf57e1785f1e36f52bdfe2cd60cff2 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -252,6 +252,7 @@ public class ServerPlayer extends Player { +@@ -253,6 +253,7 @@ public class ServerPlayer extends Player { public double maxHealthCache; public boolean joining = true; public boolean sentListPacket = false; diff --git a/patches/server/0396-Load-Chunks-for-Login-Asynchronously.patch b/patches/server/0396-Load-Chunks-for-Login-Asynchronously.patch index 054bc1f7d..d0e288f45 100644 --- a/patches/server/0396-Load-Chunks-for-Login-Asynchronously.patch +++ b/patches/server/0396-Load-Chunks-for-Login-Asynchronously.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Load Chunks for Login Asynchronously diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 55aae33d3b296ff8e02b1c36c55678979d48ac3d..c1d9c365edc8b6d2c5b94926faaa00180ca3885b 100644 +index ee6281551ccf57e1785f1e36f52bdfe2cd60cff2..e7210672073de654a8cf1670642a2f2035dec635 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -180,6 +180,7 @@ public class ServerPlayer extends Player { +@@ -181,6 +181,7 @@ public class ServerPlayer extends Player { private static final int NEUTRAL_MOB_DEATH_NOTIFICATION_RADII_XZ = 32; private static final int NEUTRAL_MOB_DEATH_NOTIFICATION_RADII_Y = 10; public ServerGamePacketListenerImpl connection; @@ -16,7 +16,7 @@ index 55aae33d3b296ff8e02b1c36c55678979d48ac3d..c1d9c365edc8b6d2c5b94926faaa0018 public final MinecraftServer server; public final ServerPlayerGameMode gameMode; private final PlayerAdvancements advancements; -@@ -253,6 +254,7 @@ public class ServerPlayer extends Player { +@@ -254,6 +255,7 @@ public class ServerPlayer extends Player { public boolean joining = true; public boolean sentListPacket = false; public boolean supressTrackerForLogin = false; // Paper @@ -37,7 +37,7 @@ index be677d437d17b74c6188ce1bd5fc6fdc228fd92f..78fbb4c3e52e900956ae0811aaf934c8 public static final TicketType UNKNOWN = TicketType.create("unknown", Comparator.comparingLong(ChunkPos::toLong), 1); public static final TicketType PLUGIN = TicketType.create("plugin", (a, b) -> 0); // CraftBukkit diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index fcbd099d77b4dec7a91da2b7fb219c300482a83b..ec82608da0d39a1b60d1595cee9aeae3efef9fac 100644 +index 7b78a7f5e4257f929fd870913e27b6090fa882ce..21126008755c79990205359226a27546f08ec044 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -238,6 +238,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser diff --git a/patches/server/0424-Optimize-anyPlayerCloseEnoughForSpawning-to-use-dist.patch b/patches/server/0424-Optimize-anyPlayerCloseEnoughForSpawning-to-use-dist.patch index 7d85bca3f..b1b132ffc 100644 --- a/patches/server/0424-Optimize-anyPlayerCloseEnoughForSpawning-to-use-dist.patch +++ b/patches/server/0424-Optimize-anyPlayerCloseEnoughForSpawning-to-use-dist.patch @@ -357,10 +357,10 @@ index 42b4214a1319691e9a6cb0c5fafaeeff821f3f99..1d9a0f6effa1654609f4d0752ec69eed } diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index c1d9c365edc8b6d2c5b94926faaa00180ca3885b..9075ff5455422feacb6edb6f4fe424a2becf94ed 100644 +index e7210672073de654a8cf1670642a2f2035dec635..86574b86b02dc0b0814cc0d0540e82957f094025 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -260,6 +260,7 @@ public class ServerPlayer extends Player { +@@ -261,6 +261,7 @@ public class ServerPlayer extends Player { // CraftBukkit end public PlayerNaturallySpawnCreaturesEvent playerNaturallySpawnedEvent; // Paper diff --git a/patches/server/0442-Fix-Per-World-Difficulty-Remembering-Difficulty.patch b/patches/server/0442-Fix-Per-World-Difficulty-Remembering-Difficulty.patch index fd6739832..1e8a466bd 100644 --- a/patches/server/0442-Fix-Per-World-Difficulty-Remembering-Difficulty.patch +++ b/patches/server/0442-Fix-Per-World-Difficulty-Remembering-Difficulty.patch @@ -76,10 +76,10 @@ index a44a9b4b3c78395cdd1d859407a880cb54386d86..ae45abf66d2e7b24d316a5db3d00c0b5 @Override diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 9075ff5455422feacb6edb6f4fe424a2becf94ed..ea1f0477f416f9e852ea92083781d7eb6ab24861 100644 +index 86574b86b02dc0b0814cc0d0540e82957f094025..7c014f288184328384a811ecbeef83406a780289 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -1129,7 +1129,7 @@ public class ServerPlayer extends Player { +@@ -1130,7 +1130,7 @@ public class ServerPlayer extends Player { this.isChangingDimension = true; // CraftBukkit - Set teleport invulnerability only if player changing worlds this.connection.send(new ClientboundRespawnPacket(worldserver.dimensionTypeId(), worldserver.dimension(), BiomeManager.obfuscateSeed(worldserver.getSeed()), this.gameMode.getGameModeForPlayer(), this.gameMode.getPreviousGameModeForPlayer(), worldserver.isDebug(), worldserver.isFlat(), true, this.getLastDeathLocation())); diff --git a/patches/server/0448-incremental-chunk-and-player-saving.patch b/patches/server/0448-incremental-chunk-and-player-saving.patch index fb604825c..601c03668 100644 --- a/patches/server/0448-incremental-chunk-and-player-saving.patch +++ b/patches/server/0448-incremental-chunk-and-player-saving.patch @@ -298,10 +298,10 @@ index 443044aa09b80bdbbcd202b53d265c635b50015f..848690e6dfaec00ec9b8a8397d2a6d37 ServerChunkCache chunkproviderserver = this.getChunkSource(); diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index ea1f0477f416f9e852ea92083781d7eb6ab24861..58c67cc9a4c9c238fae89e165dc6ad01e569476f 100644 +index 7c014f288184328384a811ecbeef83406a780289..fd46ec45d7f6b43cc02069ff3f2dbbdcf1e66d3c 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -177,6 +177,7 @@ import org.bukkit.inventory.MainHand; +@@ -178,6 +178,7 @@ import org.bukkit.inventory.MainHand; public class ServerPlayer extends Player { private static final Logger LOGGER = LogUtils.getLogger(); diff --git a/patches/server/0462-Implement-Chunk-Priority-Urgency-System-for-Chunks.patch b/patches/server/0462-Implement-Chunk-Priority-Urgency-System-for-Chunks.patch index c956e3911..a46253fa8 100644 --- a/patches/server/0462-Implement-Chunk-Priority-Urgency-System-for-Chunks.patch +++ b/patches/server/0462-Implement-Chunk-Priority-Urgency-System-for-Chunks.patch @@ -796,10 +796,10 @@ index 585892f19bc0aea89889a358c0407f2975b9efe5..918fda0fbbafa39ce0f421dcaf10f8dc boolean flag1 = this.chunkMap.promoteChunkMap(); diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 58c67cc9a4c9c238fae89e165dc6ad01e569476f..315ada5d45e8681a8f0695410201758d8748b7ec 100644 +index fd46ec45d7f6b43cc02069ff3f2dbbdcf1e66d3c..059e4f221f4e509bbdf2b5034890af49f5415d5b 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -192,6 +192,7 @@ public class ServerPlayer extends Player { +@@ -193,6 +193,7 @@ public class ServerPlayer extends Player { private int lastRecordedArmor = Integer.MIN_VALUE; private int lastRecordedLevel = Integer.MIN_VALUE; private int lastRecordedExperience = Integer.MIN_VALUE; @@ -807,7 +807,7 @@ index 58c67cc9a4c9c238fae89e165dc6ad01e569476f..315ada5d45e8681a8f0695410201758d private float lastSentHealth = -1.0E8F; private int lastSentFood = -99999999; private boolean lastFoodSaturationZero = true; -@@ -336,6 +337,21 @@ public class ServerPlayer extends Player { +@@ -337,6 +338,21 @@ public class ServerPlayer extends Player { this.maxHealthCache = this.getMaxHealth(); this.cachedSingleMobDistanceMap = new com.destroystokyo.paper.util.PooledHashSets.PooledObjectLinkedOpenHashSet<>(this); // Paper } @@ -1135,7 +1135,7 @@ index 0b301b1f164853bfd23300993288a2958824e287..ec48afe87b5d159b5bdbe035e214ea7c if (updatingChunk != null) { return updatingChunk.getEntityTickingChunkFuture(); diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 173824e96c51c4f1a9f43401cfa3fc79a2432600..c1bf81770f9d00f4e3ba5844260812bb4f6026ca 100644 +index 520b991a0a8adb91c933288faeba64c1798d8577..bc3b174ceda5fb6dc6873429b8523ff85a1258a0 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -293,7 +293,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { diff --git a/patches/server/0522-Add-API-for-quit-reason.patch b/patches/server/0522-Add-API-for-quit-reason.patch index 4e52eb99e..33b22a244 100644 --- a/patches/server/0522-Add-API-for-quit-reason.patch +++ b/patches/server/0522-Add-API-for-quit-reason.patch @@ -25,10 +25,10 @@ index ddde8f9f53f352c806166354e6a445543ecc2fbf..91556b52edaa1d5c4dc73a825c77b9a6 Connection.LOGGER.debug("Failed to sent packet", throwable); ConnectionProtocol enumprotocol = this.getCurrentProtocol(); diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 315ada5d45e8681a8f0695410201758d8748b7ec..f0ef38377ae735800323c486d9e42cd00cb69ac8 100644 +index 059e4f221f4e509bbdf2b5034890af49f5415d5b..c9bb90854af9881f044c1968d116368957cc1d7d 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -264,6 +264,7 @@ public class ServerPlayer extends Player { +@@ -265,6 +265,7 @@ public class ServerPlayer extends Player { public double lastEntitySpawnRadiusSquared; // Paper - optimise isOutsideRange, this field is in blocks public final com.destroystokyo.paper.util.misc.PooledLinkedHashSets.PooledObjectLinkedOpenHashSet cachedSingleHashSet; // Paper @@ -37,7 +37,7 @@ index 315ada5d45e8681a8f0695410201758d8748b7ec..f0ef38377ae735800323c486d9e42cd0 public ServerPlayer(MinecraftServer server, ServerLevel world, GameProfile profile, @Nullable ProfilePublicKey publicKey) { super(world, world.getSharedSpawnPos(), world.getSharedSpawnAngle(), profile, publicKey); diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index bbe945c7c26ece9d8589f46388d0e465f07b1e81..336274ad506034bbed408c2f62aa520a39d5d49d 100644 +index f1a41a931b22f88f0dd530fb559b1c2ed839527a..2687823d07df2c4b57cb684000621c69c1cfd10d 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -469,6 +469,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser diff --git a/patches/server/0537-Player-Chunk-Load-Unload-Events.patch b/patches/server/0537-Player-Chunk-Load-Unload-Events.patch index 3e2f3de01..f4e0c3d78 100644 --- a/patches/server/0537-Player-Chunk-Load-Unload-Events.patch +++ b/patches/server/0537-Player-Chunk-Load-Unload-Events.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Player Chunk Load/Unload Events diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index f0ef38377ae735800323c486d9e42cd00cb69ac8..2ff8d16cf94ab1c7b0f42657e8fb2f3b4aa8a1e2 100644 +index c9bb90854af9881f044c1968d116368957cc1d7d..8f28a0785b862f608c11dd8dbe585a8a8419bce9 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -2139,11 +2139,21 @@ public class ServerPlayer extends Player { +@@ -2140,11 +2140,21 @@ public class ServerPlayer extends Player { public void trackChunk(ChunkPos chunkPos, Packet chunkDataPacket) { this.connection.send(chunkDataPacket); diff --git a/patches/server/0542-Add-PlayerTradeEvent-and-PlayerPurchaseEvent.patch b/patches/server/0542-Add-PlayerTradeEvent-and-PlayerPurchaseEvent.patch index 82d9e12f5..aa909b26d 100644 --- a/patches/server/0542-Add-PlayerTradeEvent-and-PlayerPurchaseEvent.patch +++ b/patches/server/0542-Add-PlayerTradeEvent-and-PlayerPurchaseEvent.patch @@ -219,10 +219,10 @@ index d41f44ed2e497ba3373d170c08488b49e88334c4..d3a99ba6f3085ad12b67ddc94cc4ab39 void notifyTradeUpdated(ItemStack stack); diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMerchantCustom.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMerchantCustom.java -index eaec84147d3023c71865a6b2236879511e9f3685..14d4511bdd0206e0222f1356707fab66ad9d1ff4 100644 +index 257776a12ca26c1e75be22a67c94b0aa012fd687..02fc14d84df08d9e0418691f6c6b71f013e16365 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMerchantCustom.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMerchantCustom.java -@@ -78,10 +78,25 @@ public class CraftMerchantCustom extends CraftMerchant { +@@ -74,10 +74,25 @@ public class CraftMerchantCustom extends CraftMerchant { return this.trades; } diff --git a/patches/server/0581-Reset-shield-blocking-on-dimension-change.patch b/patches/server/0581-Reset-shield-blocking-on-dimension-change.patch index 3136003d6..362278953 100644 --- a/patches/server/0581-Reset-shield-blocking-on-dimension-change.patch +++ b/patches/server/0581-Reset-shield-blocking-on-dimension-change.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Reset shield blocking on dimension change diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 2ff8d16cf94ab1c7b0f42657e8fb2f3b4aa8a1e2..a6a14bf7221dbbb7a1ef42ba8961711e60aa0bf2 100644 +index 8f28a0785b862f608c11dd8dbe585a8a8419bce9..13722ce83df3dc9c5a1acd8c92b0a40db6becbcf 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -1182,6 +1182,11 @@ public class ServerPlayer extends Player { +@@ -1183,6 +1183,11 @@ public class ServerPlayer extends Player { this.level.getCraftServer().getPluginManager().callEvent(changeEvent); // CraftBukkit end } diff --git a/patches/server/0639-call-PortalCreateEvent-players-and-end-platform.patch b/patches/server/0639-call-PortalCreateEvent-players-and-end-platform.patch index 5d4710877..cc13959a7 100644 --- a/patches/server/0639-call-PortalCreateEvent-players-and-end-platform.patch +++ b/patches/server/0639-call-PortalCreateEvent-players-and-end-platform.patch @@ -5,10 +5,10 @@ Subject: [PATCH] call PortalCreateEvent players and end platform diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index a6a14bf7221dbbb7a1ef42ba8961711e60aa0bf2..eae9d91f5b08b6ac32ca204dbd962245808d63ee 100644 +index 13722ce83df3dc9c5a1acd8c92b0a40db6becbcf..091289655fbf6d962ec275c3f5783d6cd307204e 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -1209,15 +1209,21 @@ public class ServerPlayer extends Player { +@@ -1210,15 +1210,21 @@ public class ServerPlayer extends Player { private void createEndPlatform(ServerLevel world, BlockPos centerPos) { BlockPos.MutableBlockPos blockposition_mutableblockposition = centerPos.mutable(); diff --git a/patches/server/0644-additions-to-PlayerGameModeChangeEvent.patch b/patches/server/0644-additions-to-PlayerGameModeChangeEvent.patch index a1f711a7f..134d1f6dd 100644 --- a/patches/server/0644-additions-to-PlayerGameModeChangeEvent.patch +++ b/patches/server/0644-additions-to-PlayerGameModeChangeEvent.patch @@ -45,10 +45,10 @@ index 65089c0e78c9913a92ae9c66d664f48e2112ad92..7882ee2b7813d437d3b7580f046f38e7 } diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index eae9d91f5b08b6ac32ca204dbd962245808d63ee..fd131a583b57687837533f0541091a293b300169 100644 +index 091289655fbf6d962ec275c3f5783d6cd307204e..3c50ec169546a9e6e071e5c54ad3c77eb495f1d8 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -1811,8 +1811,15 @@ public class ServerPlayer extends Player { +@@ -1812,8 +1812,15 @@ public class ServerPlayer extends Player { } public boolean setGameMode(GameType gameMode) { @@ -66,7 +66,7 @@ index eae9d91f5b08b6ac32ca204dbd962245808d63ee..fd131a583b57687837533f0541091a29 } else { this.connection.send(new ClientboundGameEventPacket(ClientboundGameEventPacket.CHANGE_GAME_MODE, (float) gameMode.getId())); if (gameMode == GameType.SPECTATOR) { -@@ -1824,7 +1831,7 @@ public class ServerPlayer extends Player { +@@ -1825,7 +1832,7 @@ public class ServerPlayer extends Player { this.onUpdateAbilities(); this.updateEffectVisibility(); @@ -75,7 +75,7 @@ index eae9d91f5b08b6ac32ca204dbd962245808d63ee..fd131a583b57687837533f0541091a29 } } -@@ -2230,6 +2237,16 @@ public class ServerPlayer extends Player { +@@ -2231,6 +2238,16 @@ public class ServerPlayer extends Player { } public void loadGameTypes(@Nullable CompoundTag nbt) { @@ -126,7 +126,7 @@ index 32746dfbc2fdfc150583676b1bf0762398b76d75..1ad1f958a9b6e1bc21f1c505aa7ea549 } diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 24025a814b2659829983c902f40214a2b7b6bcf4..c9da8961af6ae392230355ef722e5f9be4e3fc5c 100644 +index a698c43128dd9303af7715fc912c01fb835d426a..7abd31f1f18624cc69262fedb072008d9ff43af1 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -2683,7 +2683,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser diff --git a/patches/server/0671-Fix-PlayerDropItemEvent-using-wrong-item.patch b/patches/server/0671-Fix-PlayerDropItemEvent-using-wrong-item.patch index 051858a0d..7e329e49b 100644 --- a/patches/server/0671-Fix-PlayerDropItemEvent-using-wrong-item.patch +++ b/patches/server/0671-Fix-PlayerDropItemEvent-using-wrong-item.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Fix PlayerDropItemEvent using wrong item diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index fd131a583b57687837533f0541091a293b300169..f5b37334d21c3c3812b4f343e5af17234dd9f907 100644 +index 3c50ec169546a9e6e071e5c54ad3c77eb495f1d8..84501f85bea47056cf16c06ad275dfc9d853351e 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -2206,7 +2206,7 @@ public class ServerPlayer extends Player { +@@ -2207,7 +2207,7 @@ public class ServerPlayer extends Player { if (retainOwnership) { if (!itemstack1.isEmpty()) { diff --git a/patches/server/0678-Fixes-kick-event-leave-message-not-being-sent.patch b/patches/server/0678-Fixes-kick-event-leave-message-not-being-sent.patch index d53889b10..538277e6b 100644 --- a/patches/server/0678-Fixes-kick-event-leave-message-not-being-sent.patch +++ b/patches/server/0678-Fixes-kick-event-leave-message-not-being-sent.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Fixes kick event leave message not being sent diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index f5b37334d21c3c3812b4f343e5af17234dd9f907..5db3349f4e366caef84b0d1e811c031ebd4243f9 100644 +index 84501f85bea47056cf16c06ad275dfc9d853351e..1c745fe2c1ef75a1270108d1a88d6c220bd1643a 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -258,7 +258,6 @@ public class ServerPlayer extends Player { +@@ -259,7 +259,6 @@ public class ServerPlayer extends Player { public boolean supressTrackerForLogin = false; // Paper public boolean didPlayerJoinEvent = false; // Paper public Integer clientViewDistance; @@ -17,7 +17,7 @@ index f5b37334d21c3c3812b4f343e5af17234dd9f907..5db3349f4e366caef84b0d1e811c031e public PlayerNaturallySpawnCreaturesEvent playerNaturallySpawnedEvent; // Paper diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index b3cc17742c095a4fe7a4a43fbd7fe27284c34825..9a9f4b985c01c8e076d26c22c37d090bb7348371 100644 +index d44a60ba363b2e24e96c72dc950c6a4a0959b307..8d7da9affb98f3d660e049685139a6e53cc0faa1 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -474,7 +474,6 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser diff --git a/patches/server/0681-Don-t-apply-cramming-damage-to-players.patch b/patches/server/0681-Don-t-apply-cramming-damage-to-players.patch index 203d0a904..506b29a65 100644 --- a/patches/server/0681-Don-t-apply-cramming-damage-to-players.patch +++ b/patches/server/0681-Don-t-apply-cramming-damage-to-players.patch @@ -11,10 +11,10 @@ It does not make a lot of sense to damage players if they get crammed, For those who really want it a config option is provided. diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 5db3349f4e366caef84b0d1e811c031ebd4243f9..eb0d36082d3e6af7463b767dbb64be146941cc6d 100644 +index 1c745fe2c1ef75a1270108d1a88d6c220bd1643a..99bac7e1975559165653df973e6eef79450b1254 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -1447,7 +1447,7 @@ public class ServerPlayer extends Player { +@@ -1448,7 +1448,7 @@ public class ServerPlayer extends Player { @Override public boolean isInvulnerableTo(DamageSource damageSource) { diff --git a/patches/server/0692-Add-PlayerSetSpawnEvent.patch b/patches/server/0692-Add-PlayerSetSpawnEvent.patch index c4e296d41..6ff40263a 100644 --- a/patches/server/0692-Add-PlayerSetSpawnEvent.patch +++ b/patches/server/0692-Add-PlayerSetSpawnEvent.patch @@ -32,10 +32,10 @@ index ce1c7512cc368e196ae94ee22c6a228c975b4980..1e41de9523c5fa3b9cfced798a5c35a2 String string = resourceKey.location().toString(); if (targets.size() == 1) { diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index eb0d36082d3e6af7463b767dbb64be146941cc6d..157be83b74298b848a47436ab0fea9a04556a3ce 100644 +index 99bac7e1975559165653df973e6eef79450b1254..2e205bd42101889097c08a1ffa1103c3e838240c 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -1288,7 +1288,7 @@ public class ServerPlayer extends Player { +@@ -1289,7 +1289,7 @@ public class ServerPlayer extends Player { } else if (this.bedBlocked(blockposition, enumdirection)) { return Either.left(Player.BedSleepingProblem.OBSTRUCTED); } else { @@ -44,7 +44,7 @@ index eb0d36082d3e6af7463b767dbb64be146941cc6d..157be83b74298b848a47436ab0fea9a0 if (this.level.isDay()) { return Either.left(Player.BedSleepingProblem.NOT_POSSIBLE_NOW); } else { -@@ -2133,12 +2133,33 @@ public class ServerPlayer extends Player { +@@ -2134,12 +2134,33 @@ public class ServerPlayer extends Player { return this.respawnForced; } @@ -80,7 +80,7 @@ index eb0d36082d3e6af7463b767dbb64be146941cc6d..157be83b74298b848a47436ab0fea9a0 } this.respawnPosition = pos; -@@ -2152,6 +2173,7 @@ public class ServerPlayer extends Player { +@@ -2153,6 +2174,7 @@ public class ServerPlayer extends Player { this.respawnForced = false; } diff --git a/patches/server/0722-Do-not-run-close-logic-for-inventories-on-chunk-unlo.patch b/patches/server/0722-Do-not-run-close-logic-for-inventories-on-chunk-unlo.patch index a40966402..2f433c8c3 100644 --- a/patches/server/0722-Do-not-run-close-logic-for-inventories-on-chunk-unlo.patch +++ b/patches/server/0722-Do-not-run-close-logic-for-inventories-on-chunk-unlo.patch @@ -28,10 +28,10 @@ index 9b9653e2a88e63932884cfd392ac372a1b0da12b..9d871a9dfeca169db3b598fe2ad5a23b } // Spigot End diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 157be83b74298b848a47436ab0fea9a04556a3ce..b98574dd173630e976177080613899400bef3552 100644 +index 2e205bd42101889097c08a1ffa1103c3e838240c..c5f0bb56844f54ac7a5f248e1d05f9609847ca56 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -1589,6 +1589,18 @@ public class ServerPlayer extends Player { +@@ -1590,6 +1590,18 @@ public class ServerPlayer extends Player { this.connection.send(new ClientboundContainerClosePacket(this.containerMenu.containerId)); this.doCloseContainer(); } diff --git a/patches/server/0772-Ensure-valid-vehicle-status.patch b/patches/server/0772-Ensure-valid-vehicle-status.patch index 372e7884c..733de7e6c 100644 --- a/patches/server/0772-Ensure-valid-vehicle-status.patch +++ b/patches/server/0772-Ensure-valid-vehicle-status.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Ensure valid vehicle status diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index b98574dd173630e976177080613899400bef3552..c0f876bb11f8620390e6c38d9090eac73a28ad09 100644 +index c5f0bb56844f54ac7a5f248e1d05f9609847ca56..3868f1438170b4a8ad64ed27827a842e4904ce90 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -511,7 +511,7 @@ public class ServerPlayer extends Player { +@@ -512,7 +512,7 @@ public class ServerPlayer extends Player { } } diff --git a/patches/server/0802-Highly-optimise-single-and-multi-AABB-VoxelShapes-an.patch b/patches/server/0802-Highly-optimise-single-and-multi-AABB-VoxelShapes-an.patch index df4d0d8e4..002bbd667 100644 --- a/patches/server/0802-Highly-optimise-single-and-multi-AABB-VoxelShapes-an.patch +++ b/patches/server/0802-Highly-optimise-single-and-multi-AABB-VoxelShapes-an.patch @@ -1180,10 +1180,10 @@ index 0000000000000000000000000000000000000000..d67a40e7be030142443680c89e1763fc + } +} diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index c0f876bb11f8620390e6c38d9090eac73a28ad09..b0213404e1fb78dccfd3735f128032c0ac4988c8 100644 +index 3868f1438170b4a8ad64ed27827a842e4904ce90..dbbe8af3017eb625888bbd22c9c01fe39b59b456 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -421,7 +421,7 @@ public class ServerPlayer extends Player { +@@ -422,7 +422,7 @@ public class ServerPlayer extends Player { if (blockposition1 != null) { this.moveTo(blockposition1, 0.0F, 0.0F); @@ -1192,7 +1192,7 @@ index c0f876bb11f8620390e6c38d9090eac73a28ad09..b0213404e1fb78dccfd3735f128032c0 break; } } -@@ -429,7 +429,7 @@ public class ServerPlayer extends Player { +@@ -430,7 +430,7 @@ public class ServerPlayer extends Player { } else { this.moveTo(blockposition, 0.0F, 0.0F); @@ -1215,7 +1215,7 @@ index d74d6669005d0669503253787636756a0c6590f4..6d013360d35c54d1493849b22c9d65b1 } // CraftBukkit start diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index f9774bd5ba69ae98498ef9b9bc3f837707c4d164..4c795720195a5f8fa9f31db7b79e107c2d8938a1 100644 +index ed36fccf553d4758576afa620b6c0ab127d152d1..7e71fe2d570af700f09833a394bbe7af17a3ca3e 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -1160,9 +1160,44 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { diff --git a/patches/server/0857-Replace-player-chunk-loader-system.patch b/patches/server/0857-Replace-player-chunk-loader-system.patch index 0f3689426..48ca5d915 100644 --- a/patches/server/0857-Replace-player-chunk-loader-system.patch +++ b/patches/server/0857-Replace-player-chunk-loader-system.patch @@ -1218,7 +1218,7 @@ index 0000000000000000000000000000000000000000..b53402903eb6845df361daf6b05a6686 + } +} diff --git a/src/main/java/net/minecraft/network/Connection.java b/src/main/java/net/minecraft/network/Connection.java -index 9549e8ed4b245176b340ab2f22f4bdefdbe28a9e..b65a3626d2e0817cd1e223ec3b10e82fa0339663 100644 +index f018d07cbea3785876a547da158cf60eb831a5fb..1f55239677738fdb77ca66b0fab08345c81881ad 100644 --- a/src/main/java/net/minecraft/network/Connection.java +++ b/src/main/java/net/minecraft/network/Connection.java @@ -104,6 +104,28 @@ public class Connection extends SimpleChannelInboundHandler> { @@ -1889,10 +1889,10 @@ index 01fd17fa845d4f03f3e7e599f42e56f51dd52ff6..b021fc77687cf7f569e5bf6fbb481c48 } diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index b0213404e1fb78dccfd3735f128032c0ac4988c8..da302fbaad018eb51ab6df4389942a5b47860e63 100644 +index dbbe8af3017eb625888bbd22c9c01fe39b59b456..f32876c6c65b52ccb747fb07739386d045ed87e2 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -2480,5 +2480,5 @@ public class ServerPlayer extends Player { +@@ -2481,5 +2481,5 @@ public class ServerPlayer extends Player { } // CraftBukkit end diff --git a/patches/server/0875-fix-player-loottables-running-when-mob-loot-gamerule.patch b/patches/server/0875-fix-player-loottables-running-when-mob-loot-gamerule.patch index d0799ab6f..886665f7f 100644 --- a/patches/server/0875-fix-player-loottables-running-when-mob-loot-gamerule.patch +++ b/patches/server/0875-fix-player-loottables-running-when-mob-loot-gamerule.patch @@ -5,10 +5,10 @@ Subject: [PATCH] fix player loottables running when mob loot gamerule is false diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index da302fbaad018eb51ab6df4389942a5b47860e63..c8057f98e16ba6e19640e0b250e5201e0f4f57db 100644 +index f32876c6c65b52ccb747fb07739386d045ed87e2..4a28aeee2235690da28337605bba40417138c360 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -859,12 +859,14 @@ public class ServerPlayer extends Player { +@@ -860,12 +860,14 @@ public class ServerPlayer extends Player { } } } diff --git a/patches/server/0910-Add-option-for-strict-advancement-dimension-checks.patch b/patches/server/0910-Add-option-for-strict-advancement-dimension-checks.patch index 22aed9ee7..729882ed8 100644 --- a/patches/server/0910-Add-option-for-strict-advancement-dimension-checks.patch +++ b/patches/server/0910-Add-option-for-strict-advancement-dimension-checks.patch @@ -11,10 +11,10 @@ distance trigger. This adds a config option to ignore that and use the exact dimension key of the worlds involved. diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index c8057f98e16ba6e19640e0b250e5201e0f4f57db..353463084d90eb684717e65c56da52cd25a1e375 100644 +index 4a28aeee2235690da28337605bba40417138c360..5f0d934399991ae94795ad0a94da689c242ffeba 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -1252,6 +1252,12 @@ public class ServerPlayer extends Player { +@@ -1253,6 +1253,12 @@ public class ServerPlayer extends Player { // CraftBukkit start ResourceKey maindimensionkey = CraftDimensionUtil.getMainDimensionKey(origin); ResourceKey maindimensionkey1 = CraftDimensionUtil.getMainDimensionKey(this.level); diff --git a/work/CraftBukkit b/work/CraftBukkit index fc3071161..ef0946409 160000 --- a/work/CraftBukkit +++ b/work/CraftBukkit @@ -1 +1 @@ -Subproject commit fc3071161ce4ceacceafcf77c03e5fe8464c6675 +Subproject commit ef094640942637ee78314416474425a1a53b2a64