diff --git a/gradle.properties b/gradle.properties index e777eb4..85647d3 100644 --- a/gradle.properties +++ b/gradle.properties @@ -2,10 +2,10 @@ group=dev.folia version=1.21.1-R0.1-SNAPSHOT mcVersion=1.21.1 -paperRef=70dfa467e796a0dfaf74147fe3560e07a5816054 +paperRef=9ab644ed290542a9e537d8f529bc6898a3da2e7d org.gradle.caching=true org.gradle.parallel=true org.gradle.vfs.watch=false -org.gradle.jvmargs=-Xmx2G \ No newline at end of file +org.gradle.jvmargs=-Xmx2G diff --git a/patches/server/0003-Threaded-Regions.patch b/patches/server/0003-Threaded-Regions.patch index 48debe9..da5ead2 100644 --- a/patches/server/0003-Threaded-Regions.patch +++ b/patches/server/0003-Threaded-Regions.patch @@ -352,7 +352,7 @@ index dacf2b2988ce603879fe525a3418ac77f8a663f7..e479cea245b0a345c46c9bb5fd9d86af } diff --git a/src/main/java/ca/spottedleaf/moonrise/patches/chunk_system/player/RegionizedPlayerChunkLoader.java b/src/main/java/ca/spottedleaf/moonrise/patches/chunk_system/player/RegionizedPlayerChunkLoader.java -index ab18bbf87dfc1455ed185a5152dad6d236565ecc..d246389333749b55822f985597edfe761d89caf9 100644 +index a608f57ebca98eda88ad749d0aad021678be54f9..433abf4237f698872db0e07d92b680408109d470 100644 --- a/src/main/java/ca/spottedleaf/moonrise/patches/chunk_system/player/RegionizedPlayerChunkLoader.java +++ b/src/main/java/ca/spottedleaf/moonrise/patches/chunk_system/player/RegionizedPlayerChunkLoader.java @@ -213,7 +213,7 @@ public final class RegionizedPlayerChunkLoader { @@ -1143,10 +1143,10 @@ index 214ea75502d4abf9ebbc99a3811e4d2f8465227e..eae1bb367483eb6343a8644f6bac5621 + // Folia end - threaded regions } diff --git a/src/main/java/io/papermc/paper/configuration/WorldConfiguration.java b/src/main/java/io/papermc/paper/configuration/WorldConfiguration.java -index 7509b17414f836e8b53fc62b02b386ba4e8c5ca9..fc9dc8bf31281fc6962489aba2c3e78f25cb5120 100644 +index 4bcf27f98765abf693e535cfc1756c27a10cb316..ce07b808067627b85e11ce9836ed91c175f11d93 100644 --- a/src/main/java/io/papermc/paper/configuration/WorldConfiguration.java +++ b/src/main/java/io/papermc/paper/configuration/WorldConfiguration.java -@@ -472,6 +472,14 @@ public class WorldConfiguration extends ConfigurationPart { +@@ -475,6 +475,14 @@ public class WorldConfiguration extends ConfigurationPart { public Chunks chunks; public class Chunks extends ConfigurationPart { @@ -11907,7 +11907,7 @@ index 2fe9d9b38c01d04416843fdd48d3e33899b7de63..489b0019a859462756634a144952eb7e for (ServerPlayer player : ServerLevel.this.players) { player.getBukkitEntity().onEntityRemove(entity); diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 5980b70e2d7273239245237189b2debcbccfbac3..436b3c5bf8b524efef4f2c065813764a83ed0f45 100644 +index 763cffdc2e1e2e7cc9af88cc46bbaa240a20fd0d..9de40f3c74d6fcf790d27388327896f97abb4c42 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -15,6 +15,7 @@ import java.util.Objects; @@ -12707,7 +12707,7 @@ index 8aff5129f85ab5729b3da2e465871be62d15bdf2..8044271ff01dfc6808f5a3b60be74f6d Collections.shuffle( this.connections ); } diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 624b80c796e9c95040d71d1595d11f98e2899cf3..73057c695addefd9c8fa0949743803fdeab60dda 100644 +index 60ff21c8df4168f14da04a12073bde47cd4693c4..76ab54485b5354c10316ac71ce7073732b397865 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -300,7 +300,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl @@ -12869,7 +12869,7 @@ index 624b80c796e9c95040d71d1595d11f98e2899cf3..73057c695addefd9c8fa0949743803fd } else if (!completions.isEmpty()) { final com.mojang.brigadier.suggestion.SuggestionsBuilder builder0 = new com.mojang.brigadier.suggestion.SuggestionsBuilder(packet.getCommand(), stringreader.getTotalLength()); final com.mojang.brigadier.suggestion.SuggestionsBuilder builder = builder0.createOffset(builder0.getInput().lastIndexOf(' ') + 1); -@@ -1163,11 +1198,11 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -1158,11 +1193,11 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl } // Paper end - Book size limits // CraftBukkit start @@ -12883,7 +12883,7 @@ index 624b80c796e9c95040d71d1595d11f98e2899cf3..73057c695addefd9c8fa0949743803fd // CraftBukkit end int i = packet.slot(); -@@ -1187,7 +1222,19 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -1182,7 +1217,19 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl this.updateBookContents(list1, i); }; @@ -12904,7 +12904,7 @@ index 624b80c796e9c95040d71d1595d11f98e2899cf3..73057c695addefd9c8fa0949743803fd } } -@@ -1335,9 +1382,10 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -1330,9 +1377,10 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl int i = this.receivedMovePacketCount - this.knownMovePacketCount; // CraftBukkit start - handle custom speeds and skipped ticks @@ -12917,7 +12917,7 @@ index 624b80c796e9c95040d71d1595d11f98e2899cf3..73057c695addefd9c8fa0949743803fd if (i > Math.max(this.allowedPlayerTicks, 5)) { ServerGamePacketListenerImpl.LOGGER.debug("{} is sending move packets too frequently ({} packets since last tick)", this.player.getName().getString(), i); -@@ -1518,7 +1566,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -1513,7 +1561,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl // If the event is cancelled we move the player back to their old location. if (event.isCancelled()) { @@ -12926,7 +12926,7 @@ index 624b80c796e9c95040d71d1595d11f98e2899cf3..73057c695addefd9c8fa0949743803fd return; } -@@ -1526,7 +1574,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -1521,7 +1569,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl // there to avoid any 'Moved wrongly' or 'Moved too quickly' errors. // We only do this if the Event was not cancelled. if (!oldTo.equals(event.getTo()) && !event.isCancelled()) { @@ -12935,7 +12935,7 @@ index 624b80c796e9c95040d71d1595d11f98e2899cf3..73057c695addefd9c8fa0949743803fd return; } -@@ -1743,9 +1791,9 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -1738,9 +1786,9 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl if (!this.player.isSpectator()) { // limit how quickly items can be dropped // If the ticks aren't the same then the count starts from 0 and we update the lastDropTick. @@ -12947,7 +12947,7 @@ index 624b80c796e9c95040d71d1595d11f98e2899cf3..73057c695addefd9c8fa0949743803fd } else { // Else we increment the drop count and check the amount. this.dropCount++; -@@ -1773,7 +1821,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -1768,7 +1816,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl case ABORT_DESTROY_BLOCK: case STOP_DESTROY_BLOCK: // Paper start - Don't allow digging into unloaded chunks @@ -12956,7 +12956,7 @@ index 624b80c796e9c95040d71d1595d11f98e2899cf3..73057c695addefd9c8fa0949743803fd this.player.connection.ackBlockChangesUpTo(packet.getSequence()); return; } -@@ -1856,7 +1904,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -1851,7 +1899,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl // Paper end - improve distance check BlockPos blockposition = movingobjectpositionblock.getBlockPos(); @@ -12965,7 +12965,7 @@ index 624b80c796e9c95040d71d1595d11f98e2899cf3..73057c695addefd9c8fa0949743803fd Vec3 vec3d1 = vec3d.subtract(Vec3.atCenterOf(blockposition)); double d0 = 1.0000001D; -@@ -1978,7 +2026,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -1973,7 +2021,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl Entity entity = packet.getEntity(worldserver); if (entity != null) { @@ -12974,7 +12974,7 @@ index 624b80c796e9c95040d71d1595d11f98e2899cf3..73057c695addefd9c8fa0949743803fd return; } } -@@ -2013,7 +2061,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -2008,7 +2056,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl } // CraftBukkit end ServerGamePacketListenerImpl.LOGGER.info("{} lost connection: {}", this.player.getName().getString(), info.reason().getString()); @@ -12983,7 +12983,7 @@ index 624b80c796e9c95040d71d1595d11f98e2899cf3..73057c695addefd9c8fa0949743803fd super.onDisconnect(info, quitMessage); // Paper - Fix kick event leave message not being sent } -@@ -2022,6 +2070,8 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -2017,6 +2065,8 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl this.removePlayerFromWorld(null); } @@ -12992,7 +12992,7 @@ index 624b80c796e9c95040d71d1595d11f98e2899cf3..73057c695addefd9c8fa0949743803fd private void removePlayerFromWorld(@Nullable net.kyori.adventure.text.Component quitMessage) { // Paper end - Fix kick event leave message not being sent this.chatMessageChain.close(); -@@ -2034,6 +2084,8 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -2029,6 +2079,8 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl this.player.disconnect(); // Paper start - Adventure quitMessage = quitMessage == null ? this.server.getPlayerList().remove(this.player) : this.server.getPlayerList().remove(this.player, quitMessage); // Paper - pass in quitMessage to fix kick message not being used @@ -13001,7 +13001,7 @@ index 624b80c796e9c95040d71d1595d11f98e2899cf3..73057c695addefd9c8fa0949743803fd if ((quitMessage != null) && !quitMessage.equals(net.kyori.adventure.text.Component.empty())) { this.server.getPlayerList().broadcastSystemMessage(PaperAdventure.asVanilla(quitMessage), false); // Paper end -@@ -2282,7 +2334,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -2277,7 +2329,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl this.player.resetLastActionTime(); // CraftBukkit start if (sync) { @@ -13010,7 +13010,7 @@ index 624b80c796e9c95040d71d1595d11f98e2899cf3..73057c695addefd9c8fa0949743803fd } else { runnable.run(); } -@@ -2340,7 +2392,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -2335,7 +2387,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl String originalFormat = event.getFormat(), originalMessage = event.getMessage(); this.cserver.getPluginManager().callEvent(event); @@ -13019,7 +13019,7 @@ index 624b80c796e9c95040d71d1595d11f98e2899cf3..73057c695addefd9c8fa0949743803fd // Evil plugins still listening to deprecated event final PlayerChatEvent queueEvent = new PlayerChatEvent(player, event.getMessage(), event.getFormat(), event.getRecipients()); queueEvent.setCancelled(event.isCancelled()); -@@ -2438,6 +2490,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -2433,6 +2485,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl if (s.isEmpty()) { ServerGamePacketListenerImpl.LOGGER.warn(this.player.getScoreboardName() + " tried to send an empty message"); } else if (this.getCraftPlayer().isConversing()) { @@ -13027,7 +13027,7 @@ index 624b80c796e9c95040d71d1595d11f98e2899cf3..73057c695addefd9c8fa0949743803fd final String conversationInput = s; this.server.processQueue.add(new Runnable() { @Override -@@ -2669,8 +2722,25 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -2664,8 +2717,25 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl // Spigot End public void switchToConfig() { @@ -13054,7 +13054,7 @@ index 624b80c796e9c95040d71d1595d11f98e2899cf3..73057c695addefd9c8fa0949743803fd this.send(ClientboundStartConfigurationPacket.INSTANCE); this.connection.setupOutboundProtocol(ConfigurationProtocols.CLIENTBOUND); } -@@ -2696,7 +2766,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -2691,7 +2761,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl this.player.resetLastActionTime(); this.player.setShiftKeyDown(packet.isUsingSecondaryAction()); @@ -13063,7 +13063,7 @@ index 624b80c796e9c95040d71d1595d11f98e2899cf3..73057c695addefd9c8fa0949743803fd if (!worldserver.getWorldBorder().isWithinBounds(entity.blockPosition())) { return; } -@@ -2840,6 +2910,12 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -2835,6 +2905,12 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl switch (packetplayinclientcommand_enumclientcommand) { case PERFORM_RESPAWN: if (this.player.wonGame) { @@ -13076,7 +13076,7 @@ index 624b80c796e9c95040d71d1595d11f98e2899cf3..73057c695addefd9c8fa0949743803fd this.player.wonGame = false; this.player = this.server.getPlayerList().respawn(this.player, true, Entity.RemovalReason.CHANGED_DIMENSION, RespawnReason.END_PORTAL); // CraftBukkit CriteriaTriggers.CHANGED_DIMENSION.trigger(this.player, Level.END, Level.OVERWORLD); -@@ -2848,6 +2924,17 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -2843,6 +2919,17 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl return; } @@ -13094,7 +13094,7 @@ index 624b80c796e9c95040d71d1595d11f98e2899cf3..73057c695addefd9c8fa0949743803fd this.player = this.server.getPlayerList().respawn(this.player, false, Entity.RemovalReason.KILLED, RespawnReason.DEATH); // CraftBukkit if (this.server.isHardcore()) { this.player.setGameMode(GameType.SPECTATOR, org.bukkit.event.player.PlayerGameModeChangeEvent.Cause.HARDCORE_DEATH, null); // Paper - Expand PlayerGameModeChangeEvent -@@ -3381,7 +3468,18 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -3376,7 +3463,18 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl this.filterTextPacket(list).thenAcceptAsync((list1) -> { this.updateSignText(packet, list1); @@ -15471,7 +15471,7 @@ index b83be9bbb9f348da83c0fd1ecc7f65c8a58b45b9..5d6b1a63a2a213f8a4e81c5e57484700 BlockPos blockposition = this.blockPosition(); boolean flag = this.blockState.getBlock() instanceof ConcretePowderBlock; diff --git a/src/main/java/net/minecraft/world/entity/item/ItemEntity.java b/src/main/java/net/minecraft/world/entity/item/ItemEntity.java -index ea0d9335446b20073b9aafb9de453097355db79c..e355a5ef585ae415fd52ac851fc041d3f4a8e9ef 100644 +index 607f1a9802eb0ff4865af4c53f302128a6e6fe02..8fb07f303b62292c01d77162272d8cca9c8afd29 100644 --- a/src/main/java/net/minecraft/world/entity/item/ItemEntity.java +++ b/src/main/java/net/minecraft/world/entity/item/ItemEntity.java @@ -60,7 +60,7 @@ public class ItemEntity extends Entity implements TraceableEntity { @@ -16385,7 +16385,7 @@ index 647a4601deace52f8d855f512a73671f82b4762a..255f6e720ebe0f76954fdba03cd2aae0 } diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java -index d1340691d508c21c15237ec4a4626e9219d7c4f7..d3267a783cfaeb54bbeba06964ea3009822420b5 100644 +index b6a2f3e4f22f36e75a1630bd456c2f471edbb398..0b802cd958d7a7087933f5d21dc16f9ee51426b6 100644 --- a/src/main/java/net/minecraft/world/item/ItemStack.java +++ b/src/main/java/net/minecraft/world/item/ItemStack.java @@ -421,31 +421,32 @@ public final class ItemStack implements DataComponentHolder { @@ -17443,7 +17443,7 @@ index 3f5bb5c9ceb5b31fcc9ef0a7a6157e1e1cb2a09f..deb555743b15afcc22e694dcf1d8ceca return entity instanceof ThrownEnderpearl ? new Vec3(0.0D, -1.0D, 0.0D) : entity.getDeltaMovement(); } diff --git a/src/main/java/net/minecraft/world/level/block/EndPortalBlock.java b/src/main/java/net/minecraft/world/level/block/EndPortalBlock.java -index 01333f69b622141b2eb53441c6cbd69e4a059d55..58e15d7a5f7997a7aec9edaa5d211807b2b1ef6b 100644 +index 6937d334b70791c094f6b752373225cfb64ee7ac..e92a463cf2a59d6d83826de1b53cc993bb05d64e 100644 --- a/src/main/java/net/minecraft/world/level/block/EndPortalBlock.java +++ b/src/main/java/net/minecraft/world/level/block/EndPortalBlock.java @@ -125,6 +125,20 @@ public class EndPortalBlock extends BaseEntityBlock implements Portal { @@ -17538,7 +17538,7 @@ index 1172d85c5c26ab2142343d91149766e5993cb36a..99d42fdf822c13e8d491b665220d6157 return true; } else { diff --git a/src/main/java/net/minecraft/world/level/block/NetherPortalBlock.java b/src/main/java/net/minecraft/world/level/block/NetherPortalBlock.java -index ddab7de1d376e9e486e2f920174397ea8804aa29..eba62f1336697157da94c7dcde389cc2e929bb0b 100644 +index 1722188fbfccd233625db540ddcaf646762fd023..881386c8126f23e1b3b905836ac063a4565615a9 100644 --- a/src/main/java/net/minecraft/world/level/block/NetherPortalBlock.java +++ b/src/main/java/net/minecraft/world/level/block/NetherPortalBlock.java @@ -170,6 +170,33 @@ public class NetherPortalBlock extends Block implements Portal { @@ -20235,7 +20235,7 @@ index cd789c235acf740ec29c30b180e7fbe1a140caa9..fe6f31d7db873de64c0cfc5c8248d3e5 return java.util.Collections.emptySet(); } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 992437a6e838f653f32d33b5b3f702c484640a97..5f82de67496fafdeb5364e227fec0c49f3fe9d59 100644 +index a0d5082590ee03060f0dbb4770d196efc316c328..0e3eed03f307a414effdd30414b8d01797349908 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -649,7 +649,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/0006-Make-CraftEntity-getHandle-and-overrides-perform-thr.patch b/patches/server/0006-Make-CraftEntity-getHandle-and-overrides-perform-thr.patch index 07af274..ceee4d5 100644 --- a/patches/server/0006-Make-CraftEntity-getHandle-and-overrides-perform-thr.patch +++ b/patches/server/0006-Make-CraftEntity-getHandle-and-overrides-perform-thr.patch @@ -2234,7 +2234,7 @@ index 2638c341bc02f201f7ab17fdebcdbdf3a7ec05bf..074b2919be2b5544b0a46e6cd32f6c57 } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 5f82de67496fafdeb5364e227fec0c49f3fe9d59..eb1e14be98b3731e0557726324593dee2eadd31b 100644 +index 0e3eed03f307a414effdd30414b8d01797349908..28c6923c90ca106256ca75769828cd62d5542ca7 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -669,7 +669,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/0012-Skip-worldstate-access-when-waking-players-up-during.patch b/patches/server/0012-Skip-worldstate-access-when-waking-players-up-during.patch index 42a783b..4fc32b0 100644 --- a/patches/server/0012-Skip-worldstate-access-when-waking-players-up-during.patch +++ b/patches/server/0012-Skip-worldstate-access-when-waking-players-up-during.patch @@ -9,7 +9,7 @@ data deserialization and is racey even in Vanilla. But in Folia, some accesses may throw and as such we need to fix this directly. diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 436b3c5bf8b524efef4f2c065813764a83ed0f45..2480166aa0f7acefc1302bc44bc31b6ad48c0711 100644 +index 9de40f3c74d6fcf790d27388327896f97abb4c42..a7e19b2f40ffd645cf88ff3557c9597d12e5f666 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -709,7 +709,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple