diff --git a/gradle.properties b/gradle.properties index fad40a57d..2601383f9 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,7 +1,7 @@ group = org.purpurmc.purpur version = 1.19.3-R0.1-SNAPSHOT -paperCommit = e498ddaa6146df299db5a0c8f44841b47dde6395 +paperCommit = d5f1ffc2e6928a6728f91ab2ad2e020b105eab7f org.gradle.caching = true org.gradle.parallel = true diff --git a/patches/server/0001-Pufferfish-Server-Changes.patch b/patches/server/0001-Pufferfish-Server-Changes.patch index e084c0370..544ba89b3 100644 --- a/patches/server/0001-Pufferfish-Server-Changes.patch +++ b/patches/server/0001-Pufferfish-Server-Changes.patch @@ -1722,10 +1722,10 @@ index 190e9761087baec5827d722a8281f0ffb6798341..50cf4d200bc2892f2140c9929193b4b2 this.wasOnGround = this.entity.isOnGround(); this.teleportDelay = 0; diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index f3a19d00f78e19aa98c57461efb90d79f656a992..54a51fc23563ca7843c72c169b1e0d7f51c42412 100644 +index 54c2b7fba83d6f06dba95b1bb5b487a02048d6e6..53198ebfa30273c5ddc1bb4324f5174ff99f688d 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java -@@ -711,6 +711,7 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -709,6 +709,7 @@ public class ServerLevel extends Level implements WorldGenLevel { org.spigotmc.ActivationRange.activateEntities(this); // Spigot timings.entityTick.startTiming(); // Spigot this.entityTickList.forEach((entity) -> { @@ -1733,7 +1733,7 @@ index f3a19d00f78e19aa98c57461efb90d79f656a992..54a51fc23563ca7843c72c169b1e0d7f if (!entity.isRemoved()) { if (false && this.shouldDiscardEntity(entity)) { // CraftBukkit - We prevent spawning in general, so this butchering is not needed entity.discard(); -@@ -730,7 +731,20 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -728,7 +729,20 @@ public class ServerLevel extends Level implements WorldGenLevel { } gameprofilerfiller.push("tick"); @@ -1755,7 +1755,7 @@ index f3a19d00f78e19aa98c57461efb90d79f656a992..54a51fc23563ca7843c72c169b1e0d7f gameprofilerfiller.pop(); } } -@@ -795,9 +809,11 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -793,9 +807,11 @@ public class ServerLevel extends Level implements WorldGenLevel { } // Paper start - optimise random block ticking private final BlockPos.MutableBlockPos chunkTickMutablePosition = new BlockPos.MutableBlockPos(); @@ -1768,7 +1768,7 @@ index f3a19d00f78e19aa98c57461efb90d79f656a992..54a51fc23563ca7843c72c169b1e0d7f public void tickChunk(LevelChunk chunk, int randomTickSpeed) { ChunkPos chunkcoordintpair = chunk.getPos(); boolean flag = this.isRaining(); -@@ -808,7 +824,7 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -806,7 +822,7 @@ public class ServerLevel extends Level implements WorldGenLevel { gameprofilerfiller.push("thunder"); final BlockPos.MutableBlockPos blockposition = this.chunkTickMutablePosition; // Paper - use mutable to reduce allocation rate, final to force compile fail on change @@ -1777,7 +1777,7 @@ index f3a19d00f78e19aa98c57461efb90d79f656a992..54a51fc23563ca7843c72c169b1e0d7f blockposition.set(this.findLightningTargetAround(this.getBlockRandomPos(j, 0, k, 15))); // Paper if (this.isRainingAt(blockposition)) { DifficultyInstance difficultydamagescaler = this.getCurrentDifficultyAt(blockposition); -@@ -838,7 +854,7 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -836,7 +852,7 @@ public class ServerLevel extends Level implements WorldGenLevel { gameprofilerfiller.popPush("iceandsnow"); int l; @@ -1787,10 +1787,10 @@ index f3a19d00f78e19aa98c57461efb90d79f656a992..54a51fc23563ca7843c72c169b1e0d7f this.getRandomBlockPosition(j, 0, k, 15, blockposition); int normalY = chunk.getHeight(Heightmap.Types.MOTION_BLOCKING, blockposition.getX() & 15, blockposition.getZ() & 15) + 1; diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 57a62a5d6e05b6e05214b5aef96c5f2411e9f424..aa23559719357f2678e3aa759d58ba4bde18bdd4 100644 +index 08cb3db28f13c352a162009deeb28ee637e98d2a..34540b4ebad2ec430fa12e1e5d9d6e4a79df91de 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -1208,6 +1208,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -1204,6 +1204,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic @Override public void handleEditBook(ServerboundEditBookPacket packet) { @@ -1798,7 +1798,7 @@ index 57a62a5d6e05b6e05214b5aef96c5f2411e9f424..aa23559719357f2678e3aa759d58ba4b // Paper start if (!this.cserver.isPrimaryThread()) { List pageList = packet.getPages(); -@@ -2354,6 +2355,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2350,6 +2351,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic } private boolean updateChatOrder(Instant timestamp) { @@ -3544,7 +3544,7 @@ index ebe65474a4a05ff1637d7f37ebcfe690af59def5..42142c512b12e5b269c19f1e821c50e7 @Nullable diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 38e347b5e9911907235f794da87f56e1f26277ae..277e8a03ab270eabb6b8c31d0076f3310c91eef2 100644 +index bfc4ee36befb925ab4eb6b96f5c1aa6c76bf711f..7930217aa1275c4ae70f180d483a8714d43027e8 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -261,7 +261,7 @@ import javax.annotation.Nullable; // Paper diff --git a/patches/server/0002-Fix-pufferfish-issues.patch b/patches/server/0002-Fix-pufferfish-issues.patch index 51ae043b5..72d34b2b5 100644 --- a/patches/server/0002-Fix-pufferfish-issues.patch +++ b/patches/server/0002-Fix-pufferfish-issues.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Fix pufferfish issues diff --git a/src/main/java/gg/pufferfish/pufferfish/PufferfishConfig.java b/src/main/java/gg/pufferfish/pufferfish/PufferfishConfig.java -index 4232585ab3048dcfd934569beca2f2f21d95f382..9e3f279d759a49c051544f54f76790d549132ac0 100644 +index 48582f98fde23f3f1544a7303da21b6d7d4c874e..5f3be4356a6d65ea2a7e4d013abd4501cedd7428 100644 --- a/src/main/java/gg/pufferfish/pufferfish/PufferfishConfig.java +++ b/src/main/java/gg/pufferfish/pufferfish/PufferfishConfig.java @@ -222,7 +222,7 @@ public class PufferfishConfig { @@ -27,10 +27,10 @@ index 4232585ab3048dcfd934569beca2f2f21d95f382..9e3f279d759a49c051544f54f76790d5 "This can improve performance by a few percent, but has minor gameplay implications."); } diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index 54a51fc23563ca7843c72c169b1e0d7f51c42412..b398e4966eaa22b644a16f3c473af4769c9bbaf4 100644 +index 53198ebfa30273c5ddc1bb4324f5174ff99f688d..ccb905ad68465199516534a2ab74f7b3092297a8 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java -@@ -809,7 +809,7 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -807,7 +807,7 @@ public class ServerLevel extends Level implements WorldGenLevel { } // Paper start - optimise random block ticking private final BlockPos.MutableBlockPos chunkTickMutablePosition = new BlockPos.MutableBlockPos(); diff --git a/patches/server/0005-Purpur-client-support.patch b/patches/server/0005-Purpur-client-support.patch index ba1dfa4bb..c3baa8ad5 100644 --- a/patches/server/0005-Purpur-client-support.patch +++ b/patches/server/0005-Purpur-client-support.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Purpur client support diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index c0b0a7fdb75266a7064d54bda6441953184ecc64..0e21e7faf2036f12b64b9237a89ef8e75ebf548d 100644 +index 7d6d3c8556033d289fdadc489e73fba478fce41a..c2ff5d7e4a9f7477b7b207e9d3fb724137a35f11 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -270,6 +270,7 @@ public class ServerPlayer extends Player { +@@ -268,6 +268,7 @@ public class ServerPlayer extends Player { public final com.destroystokyo.paper.util.misc.PooledLinkedHashSets.PooledObjectLinkedOpenHashSet cachedSingleHashSet; // Paper public PlayerNaturallySpawnCreaturesEvent playerNaturallySpawnedEvent; // Paper public org.bukkit.event.player.PlayerQuitEvent.QuitReason quitReason = null; // Paper - there are a lot of changes to do if we change all methods leading to the event @@ -17,10 +17,10 @@ index c0b0a7fdb75266a7064d54bda6441953184ecc64..0e21e7faf2036f12b64b9237a89ef8e7 public ServerPlayer(MinecraftServer server, ServerLevel world, GameProfile profile) { super(world, world.getSharedSpawnPos(), world.getSharedSpawnAngle(), profile); diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index aa23559719357f2678e3aa759d58ba4bde18bdd4..662c43401bf84a6de47986e66e1f83c4b50df775 100644 +index 34540b4ebad2ec430fa12e1e5d9d6e4a79df91de..85b0722f0be24247b33c755959f4e8a40438b7ef 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -3507,6 +3507,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -3503,6 +3503,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic private static final ResourceLocation CUSTOM_UNREGISTER = new ResourceLocation("unregister"); private static final ResourceLocation MINECRAFT_BRAND = new ResourceLocation("brand"); // Paper - Brand support @@ -28,7 +28,7 @@ index aa23559719357f2678e3aa759d58ba4bde18bdd4..662c43401bf84a6de47986e66e1f83c4 @Override public void handleCustomPayload(ServerboundCustomPayloadPacket packet) { -@@ -3531,6 +3532,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -3527,6 +3528,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic ServerGamePacketListenerImpl.LOGGER.error("Couldn\'t unregister custom payload", ex); this.disconnect("Invalid payload UNREGISTER!", org.bukkit.event.player.PlayerKickEvent.Cause.INVALID_PAYLOAD); // Paper - kick event cause } diff --git a/patches/server/0007-Component-related-conveniences.patch b/patches/server/0007-Component-related-conveniences.patch index 8f2601acb..73ecf5e37 100644 --- a/patches/server/0007-Component-related-conveniences.patch +++ b/patches/server/0007-Component-related-conveniences.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Component related conveniences diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 0e21e7faf2036f12b64b9237a89ef8e75ebf548d..740eff44b2895f83099beb4bc0e705f4252edc12 100644 +index c2ff5d7e4a9f7477b7b207e9d3fb724137a35f11..f3024b03ff7709893d6e39f54504597bb59f5315 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -1741,6 +1741,26 @@ public class ServerPlayer extends Player { +@@ -1739,6 +1739,26 @@ public class ServerPlayer extends Player { this.lastSentExp = -1; // CraftBukkit - Added to reset } @@ -36,10 +36,10 @@ index 0e21e7faf2036f12b64b9237a89ef8e75ebf548d..740eff44b2895f83099beb4bc0e705f4 public void displayClientMessage(Component message, boolean overlay) { this.sendSystemMessage(message, overlay); diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index b348d33726b2b14ea2d12ce3430df2c0b94295f4..5f6789783659b3adbdda15705c89a032686f33d5 100644 +index c0b599b1835d28ddda3690b29f29bd8c6f03e215..2e434fa0ac143c5751c8f24218ff014cdc119ef5 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -1084,6 +1084,20 @@ public abstract class PlayerList { +@@ -1007,6 +1007,20 @@ public abstract class PlayerList { } // CraftBukkit end diff --git a/patches/server/0008-Ridables.patch b/patches/server/0008-Ridables.patch index 003935f41..615403d1e 100644 --- a/patches/server/0008-Ridables.patch +++ b/patches/server/0008-Ridables.patch @@ -34,10 +34,10 @@ index 861cd9f092a19aca520c2be4ba7a6ee3d9aee263..7191a7e9a7fcb4268c5aaf85bf9c896f this.profiler.push(() -> { diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index b398e4966eaa22b644a16f3c473af4769c9bbaf4..a24ddd5d02a6355112a9e3bee2131fbe0f9b7e0f 100644 +index ccb905ad68465199516534a2ab74f7b3092297a8..af87c06e9a135ed22ea575d36d739951707b3c66 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java -@@ -223,6 +223,7 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -222,6 +222,7 @@ public class ServerLevel extends Level implements WorldGenLevel { public boolean hasPhysicsEvent = true; // Paper public boolean hasEntityMoveEvent = false; // Paper private final alternate.current.wire.WireHandler wireHandler = new alternate.current.wire.WireHandler(this); // Paper - optimize redstone (Alternate Current) @@ -46,10 +46,10 @@ index b398e4966eaa22b644a16f3c473af4769c9bbaf4..a24ddd5d02a6355112a9e3bee2131fbe final Throwable thr = new Throwable(entity + " Added to world at " + new java.util.Date()); io.papermc.paper.util.StacktraceDeobfuscator.INSTANCE.deobfuscateThrowable(thr); diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 740eff44b2895f83099beb4bc0e705f4252edc12..9918cc39247037c0a8379071167c5560dce9bc8d 100644 +index f3024b03ff7709893d6e39f54504597bb59f5315..f6360f2973c03e0105361f9e001360ec01488ce6 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -703,6 +703,15 @@ public class ServerPlayer extends Player { +@@ -701,6 +701,15 @@ public class ServerPlayer extends Player { this.trackStartFallingPosition(); this.trackEnteredOrExitedLavaOnVehicle(); this.advancements.flushDirty(this); @@ -66,10 +66,10 @@ index 740eff44b2895f83099beb4bc0e705f4252edc12..9918cc39247037c0a8379071167c5560 public void doTick() { diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 662c43401bf84a6de47986e66e1f83c4b50df775..d89e7697f12f06f49d4063fa0b06c90a56c6967c 100644 +index 85b0722f0be24247b33c755959f4e8a40438b7ef..d0a0c874984f628a9fe43696bbbe3ec6e981c2dd 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -720,7 +720,6 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -716,7 +716,6 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic to.setY(packet.getY()); to.setZ(packet.getZ()); @@ -77,7 +77,7 @@ index 662c43401bf84a6de47986e66e1f83c4b50df775..d89e7697f12f06f49d4063fa0b06c90a // If the packet contains look information then we update the To location with the correct Yaw & Pitch. to.setYaw(packet.getYRot()); to.setPitch(packet.getXRot()); -@@ -2774,6 +2773,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2770,6 +2769,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic ServerGamePacketListenerImpl.this.cserver.getPluginManager().callEvent(event); diff --git a/patches/server/0010-Barrels-and-enderchests-6-rows.patch b/patches/server/0010-Barrels-and-enderchests-6-rows.patch index b576ed36b..08241064e 100644 --- a/patches/server/0010-Barrels-and-enderchests-6-rows.patch +++ b/patches/server/0010-Barrels-and-enderchests-6-rows.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Barrels and enderchests 6 rows diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 5f6789783659b3adbdda15705c89a032686f33d5..e35e1bf28463d1f21f3610a31316e825c737b260 100644 +index 2e434fa0ac143c5751c8f24218ff014cdc119ef5..7a5e3bf6e593ed15e8292eefe10f588cbad3d080 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -1209,6 +1209,27 @@ public abstract class PlayerList { +@@ -1132,6 +1132,27 @@ public abstract class PlayerList { player.getBukkitEntity().recalculatePermissions(); // CraftBukkit this.server.getCommands().sendCommands(player); } // Paper diff --git a/patches/server/0012-AFK-API.patch b/patches/server/0012-AFK-API.patch index 8a8d4a396..c2bec6082 100644 --- a/patches/server/0012-AFK-API.patch +++ b/patches/server/0012-AFK-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] AFK API diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 9918cc39247037c0a8379071167c5560dce9bc8d..9ab314490b975417e28f129c72077a7198cf4cc7 100644 +index f6360f2973c03e0105361f9e001360ec01488ce6..e40144aad9182ccb2ed871d74378cf0af783c9f1 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -2053,8 +2053,63 @@ public class ServerPlayer extends Player { +@@ -2051,8 +2051,63 @@ public class ServerPlayer extends Player { public void resetLastActionTime() { this.lastActionTime = Util.getMillis(); @@ -73,7 +73,7 @@ index 9918cc39247037c0a8379071167c5560dce9bc8d..9ab314490b975417e28f129c72077a71 return this.stats; } diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index d89e7697f12f06f49d4063fa0b06c90a56c6967c..1c527309483db75d0bade9662280601078895306 100644 +index d0a0c874984f628a9fe43696bbbe3ec6e981c2dd..a2a1e678d286d2d2b47b7df6318c4eef4bf64127 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -335,6 +335,20 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic @@ -97,7 +97,7 @@ index d89e7697f12f06f49d4063fa0b06c90a56c6967c..1c527309483db75d0bade96622806010 public CraftPlayer getCraftPlayer() { return (this.player == null) ? null : (CraftPlayer) this.player.getBukkitEntity(); } -@@ -432,6 +446,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -428,6 +442,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic } if (this.player.getLastActionTime() > 0L && this.server.getPlayerIdleTimeout() > 0 && Util.getMillis() - this.player.getLastActionTime() > (long) (this.server.getPlayerIdleTimeout() * 1000 * 60) && !this.player.wonGame) { // Paper - Prevent AFK kick while watching end credits. @@ -110,7 +110,7 @@ index d89e7697f12f06f49d4063fa0b06c90a56c6967c..1c527309483db75d0bade96622806010 this.player.resetLastActionTime(); // CraftBukkit - SPIGOT-854 this.disconnect(Component.translatable("multiplayer.disconnect.idling"), org.bukkit.event.player.PlayerKickEvent.Cause.IDLING); // Paper - kick event cause } -@@ -735,6 +755,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -731,6 +751,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic this.lastYaw = to.getYaw(); this.lastPitch = to.getPitch(); @@ -119,7 +119,7 @@ index d89e7697f12f06f49d4063fa0b06c90a56c6967c..1c527309483db75d0bade96622806010 // Skip the first time we do this if (true) { // Spigot - don't skip any move events Location oldTo = to.clone(); -@@ -1539,7 +1561,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -1535,7 +1557,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic if (!this.player.isChangingDimension() && d11 > org.spigotmc.SpigotConfig.movedWronglyThreshold && !this.player.isSleeping() && !this.player.gameMode.isCreative() && this.player.gameMode.getGameModeForPlayer() != GameType.SPECTATOR) { // Spigot flag2 = true; // Paper - diff on change, this should be moved wrongly @@ -128,7 +128,7 @@ index d89e7697f12f06f49d4063fa0b06c90a56c6967c..1c527309483db75d0bade96622806010 } this.player.absMoveTo(d0, d1, d2, f, f1); -@@ -1590,6 +1612,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -1586,6 +1608,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic this.lastYaw = to.getYaw(); this.lastPitch = to.getPitch(); diff --git a/patches/server/0018-Player-invulnerabilities.patch b/patches/server/0018-Player-invulnerabilities.patch index 5aec7db55..b556036dd 100644 --- a/patches/server/0018-Player-invulnerabilities.patch +++ b/patches/server/0018-Player-invulnerabilities.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Player invulnerabilities diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 9ab314490b975417e28f129c72077a7198cf4cc7..4dc545c478e24863c8e9c68060af072f748b735e 100644 +index e40144aad9182ccb2ed871d74378cf0af783c9f1..8e6c0ab117f7c79e51470a136499521723d5d411 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -271,6 +271,7 @@ public class ServerPlayer extends Player { +@@ -269,6 +269,7 @@ public class ServerPlayer extends Player { public PlayerNaturallySpawnCreaturesEvent playerNaturallySpawnedEvent; // Paper public org.bukkit.event.player.PlayerQuitEvent.QuitReason quitReason = null; // Paper - there are a lot of changes to do if we change all methods leading to the event public boolean purpurClient = false; // Purpur @@ -16,7 +16,7 @@ index 9ab314490b975417e28f129c72077a7198cf4cc7..4dc545c478e24863c8e9c68060af072f public ServerPlayer(MinecraftServer server, ServerLevel world, GameProfile profile) { super(world, world.getSharedSpawnPos(), world.getSharedSpawnAngle(), profile); -@@ -370,6 +371,7 @@ public class ServerPlayer extends Player { +@@ -368,6 +369,7 @@ public class ServerPlayer extends Player { this.bukkitPickUpLoot = true; this.maxHealthCache = this.getMaxHealth(); this.cachedSingleMobDistanceMap = new com.destroystokyo.paper.util.PooledHashSets.PooledObjectLinkedOpenHashSet<>(this); // Paper @@ -24,7 +24,7 @@ index 9ab314490b975417e28f129c72077a7198cf4cc7..4dc545c478e24863c8e9c68060af072f } // Yes, this doesn't match Vanilla, but it's the best we can do for now. -@@ -1051,6 +1053,12 @@ public class ServerPlayer extends Player { +@@ -1049,6 +1051,12 @@ public class ServerPlayer extends Player { } @@ -37,7 +37,7 @@ index 9ab314490b975417e28f129c72077a7198cf4cc7..4dc545c478e24863c8e9c68060af072f @Override public boolean hurt(DamageSource source, float amount) { if (this.isInvulnerableTo(source)) { -@@ -1058,7 +1066,7 @@ public class ServerPlayer extends Player { +@@ -1056,7 +1064,7 @@ public class ServerPlayer extends Player { } else { boolean flag = this.server.isDedicatedServer() && this.isPvpAllowed() && "fall".equals(source.msgId); @@ -46,7 +46,7 @@ index 9ab314490b975417e28f129c72077a7198cf4cc7..4dc545c478e24863c8e9c68060af072f return false; } else { if (source instanceof EntityDamageSource) { -@@ -1232,6 +1240,7 @@ public class ServerPlayer extends Player { +@@ -1230,6 +1238,7 @@ public class ServerPlayer extends Player { } // Paper end @@ -54,7 +54,7 @@ index 9ab314490b975417e28f129c72077a7198cf4cc7..4dc545c478e24863c8e9c68060af072f return this; } } -@@ -2039,6 +2048,7 @@ public class ServerPlayer extends Player { +@@ -2037,6 +2046,7 @@ public class ServerPlayer extends Player { } public void sendTexturePack(String url, String hash, boolean required, @Nullable Component resourcePackPrompt) { @@ -62,7 +62,7 @@ index 9ab314490b975417e28f129c72077a7198cf4cc7..4dc545c478e24863c8e9c68060af072f this.connection.send(new ClientboundResourcePackPacket(url, hash, required, resourcePackPrompt)); } -@@ -2585,9 +2595,17 @@ public class ServerPlayer extends Player { +@@ -2583,9 +2593,17 @@ public class ServerPlayer extends Player { @Override public boolean isImmobile() { @@ -82,10 +82,10 @@ index 9ab314490b975417e28f129c72077a7198cf4cc7..4dc545c478e24863c8e9c68060af072f public Scoreboard getScoreboard() { return this.getBukkitEntity().getScoreboard().getHandle(); diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 1c527309483db75d0bade9662280601078895306..0bb020fb67f546ca18f4a6ca08876f30f62c6de9 100644 +index a2a1e678d286d2d2b47b7df6318c4eef4bf64127..9f86bff926434b58143522d624ea7d6e044e430d 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2095,12 +2095,21 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2091,12 +2091,21 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic @Override public void handleResourcePackResponse(ServerboundResourcePackPacket packet) { PacketUtils.ensureRunningOnSameThread(packet, this, this.player.getLevel()); @@ -108,10 +108,10 @@ index 1c527309483db75d0bade9662280601078895306..0bb020fb67f546ca18f4a6ca08876f30 this.cserver.getPluginManager().callEvent(new PlayerResourcePackStatusEvent(this.getCraftPlayer(), packStatus)); // CraftBukkit // Paper end diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index e35e1bf28463d1f21f3610a31316e825c737b260..5efee586de46ba9d22cab6cbc1ec5912332c4d2a 100644 +index 7a5e3bf6e593ed15e8292eefe10f588cbad3d080..603d5bfd03d3dec44f627d1260dc40fc3e189f2a 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -1024,6 +1024,8 @@ public abstract class PlayerList { +@@ -947,6 +947,8 @@ public abstract class PlayerList { } // Paper end diff --git a/patches/server/0020-Alternative-Keepalive-Handling.patch b/patches/server/0020-Alternative-Keepalive-Handling.patch index 18e03df78..153ef5a43 100644 --- a/patches/server/0020-Alternative-Keepalive-Handling.patch +++ b/patches/server/0020-Alternative-Keepalive-Handling.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Alternative Keepalive Handling diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 0bb020fb67f546ca18f4a6ca08876f30f62c6de9..89ceb3238ed0ec774bc74490a6a598bf96a13ad1 100644 +index 9f86bff926434b58143522d624ea7d6e044e430d..f563cffabdb9f0dd69e50680fc3e7aae01e8123d 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -259,6 +259,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic @@ -16,7 +16,7 @@ index 0bb020fb67f546ca18f4a6ca08876f30f62c6de9..89ceb3238ed0ec774bc74490a6a598bf // CraftBukkit start - multithreaded fields private final AtomicInteger chatSpamTickCount = new AtomicInteger(); private final java.util.concurrent.atomic.AtomicInteger tabSpamLimiter = new java.util.concurrent.atomic.AtomicInteger(); // Paper - configurable tab spam limits -@@ -414,6 +415,21 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -410,6 +411,21 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic long currentTime = Util.getMillis(); long elapsedTime = currentTime - this.keepAliveTime; @@ -38,7 +38,7 @@ index 0bb020fb67f546ca18f4a6ca08876f30f62c6de9..89ceb3238ed0ec774bc74490a6a598bf if (this.keepAlivePending) { if (!this.processedDisconnect && elapsedTime >= KEEPALIVE_LIMIT) { // check keepalive limit, don't fire if already disconnected ServerGamePacketListenerImpl.LOGGER.warn("{} was kicked due to keepalive timeout!", this.player.getScoreboardName()); // more info -@@ -3491,6 +3507,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -3487,6 +3503,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic @Override public void handleKeepAlive(ServerboundKeepAlivePacket packet) { diff --git a/patches/server/0027-Zombie-horse-naturally-spawn.patch b/patches/server/0027-Zombie-horse-naturally-spawn.patch index f9d9d3f90..917c748c3 100644 --- a/patches/server/0027-Zombie-horse-naturally-spawn.patch +++ b/patches/server/0027-Zombie-horse-naturally-spawn.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Zombie horse naturally spawn diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index a24ddd5d02a6355112a9e3bee2131fbe0f9b7e0f..0526d1d2cf0d6dca1be03184b4dd8e33c896272e 100644 +index af87c06e9a135ed22ea575d36d739951707b3c66..b860cb90870c2fb78d9d2d6d6ceed57e15b3e919 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java -@@ -832,10 +832,18 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -830,10 +830,18 @@ public class ServerLevel extends Level implements WorldGenLevel { boolean flag1 = this.getGameRules().getBoolean(GameRules.RULE_DOMOBSPAWNING) && this.random.nextDouble() < (double) difficultydamagescaler.getEffectiveDifficulty() * this.paperConfig().entities.spawning.skeletonHorseThunderSpawnChance.or(0.01D) && !this.getBlockState(blockposition.below()).is(Blocks.LIGHTNING_ROD); // Paper if (flag1) { diff --git a/patches/server/0043-Minecart-settings-and-WASD-controls.patch b/patches/server/0043-Minecart-settings-and-WASD-controls.patch index bb55dcb23..88c895932 100644 --- a/patches/server/0043-Minecart-settings-and-WASD-controls.patch +++ b/patches/server/0043-Minecart-settings-and-WASD-controls.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Minecart settings and WASD controls diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 4dc545c478e24863c8e9c68060af072f748b735e..a51453de2837851769f826f0b9eddc812d18614f 100644 +index 8e6c0ab117f7c79e51470a136499521723d5d411..8299036141f69b03fbea2f81231d067c328082d1 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -1064,6 +1064,7 @@ public class ServerPlayer extends Player { +@@ -1062,6 +1062,7 @@ public class ServerPlayer extends Player { if (this.isInvulnerableTo(source)) { return false; } else { diff --git a/patches/server/0048-Add-permission-for-F3-N-debug.patch b/patches/server/0048-Add-permission-for-F3-N-debug.patch index 68c15308b..4ba606f24 100644 --- a/patches/server/0048-Add-permission-for-F3-N-debug.patch +++ b/patches/server/0048-Add-permission-for-F3-N-debug.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add permission for F3+N debug diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 5efee586de46ba9d22cab6cbc1ec5912332c4d2a..3c5529f965a7b069d13b5a10784452159885bb3b 100644 +index 603d5bfd03d3dec44f627d1260dc40fc3e189f2a..4769512fe2ca9f6704a3bd2e6dfebdecd46f698d 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -1203,6 +1203,7 @@ public abstract class PlayerList { +@@ -1126,6 +1126,7 @@ public abstract class PlayerList { } else { b0 = (byte) (24 + permissionLevel); } diff --git a/patches/server/0074-Allow-color-codes-in-books.patch b/patches/server/0074-Allow-color-codes-in-books.patch index ca5f11e68..0d46cf0b6 100644 --- a/patches/server/0074-Allow-color-codes-in-books.patch +++ b/patches/server/0074-Allow-color-codes-in-books.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Allow color codes in books diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 89ceb3238ed0ec774bc74490a6a598bf96a13ad1..17782698b77ecf92554e191ceed6d6bf54fec6eb 100644 +index f563cffabdb9f0dd69e50680fc3e7aae01e8123d..9d52a09e4f0bcbe88dfdb03833709e2104fc53e9 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -1333,13 +1333,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -1329,13 +1329,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic itemstack1.setTag(nbttagcompound.copy()); } @@ -28,7 +28,7 @@ index 89ceb3238ed0ec774bc74490a6a598bf96a13ad1..17782698b77ecf92554e191ceed6d6bf this.updateBookPages(pages, (s) -> { return Component.Serializer.toJson(Component.literal(s)); -@@ -1351,10 +1354,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -1347,10 +1350,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic private void updateBookPages(List list, UnaryOperator unaryoperator, ItemStack itemstack, int slot, ItemStack handItem) { // CraftBukkit ListTag nbttaglist = new ListTag(); @@ -44,7 +44,7 @@ index 89ceb3238ed0ec774bc74490a6a598bf96a13ad1..17782698b77ecf92554e191ceed6d6bf Objects.requireNonNull(nbttaglist); stream.forEach(nbttaglist::add); -@@ -1364,11 +1370,11 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -1360,11 +1366,11 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic for (int j = list.size(); i < j; ++i) { FilteredText filteredtext = (FilteredText) list.get(i); @@ -58,7 +58,7 @@ index 89ceb3238ed0ec774bc74490a6a598bf96a13ad1..17782698b77ecf92554e191ceed6d6bf } } -@@ -1381,6 +1387,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -1377,6 +1383,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic this.player.getInventory().setItem(slot, CraftEventFactory.handleEditBookEvent(player, slot, handItem, itemstack)); // CraftBukkit // Paper - Don't ignore result (see other callsite for handleEditBookEvent) } diff --git a/patches/server/0075-Entity-lifespan.patch b/patches/server/0075-Entity-lifespan.patch index fc2cc586e..4e787599a 100644 --- a/patches/server/0075-Entity-lifespan.patch +++ b/patches/server/0075-Entity-lifespan.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Entity lifespan diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 17782698b77ecf92554e191ceed6d6bf54fec6eb..89cdf7802920923a2bb87e454d9fcbf47a817890 100644 +index 9d52a09e4f0bcbe88dfdb03833709e2104fc53e9..1e78ba1deaae20b700c651dbc8b2f4fa4ccf9ddc 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2825,6 +2825,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2821,6 +2821,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic } if (entity.distanceToSqr(this.player.getEyePosition()) < ServerGamePacketListenerImpl.MAX_INTERACTION_DISTANCE) { diff --git a/patches/server/0076-Add-option-to-teleport-to-spawn-if-outside-world-bor.patch b/patches/server/0076-Add-option-to-teleport-to-spawn-if-outside-world-bor.patch index b28ebb4a9..4f954cf85 100644 --- a/patches/server/0076-Add-option-to-teleport-to-spawn-if-outside-world-bor.patch +++ b/patches/server/0076-Add-option-to-teleport-to-spawn-if-outside-world-bor.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add option to teleport to spawn if outside world border diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index a51453de2837851769f826f0b9eddc812d18614f..7775008d456f92c3d373c2f18fff0c7d6b3f32f1 100644 +index 8299036141f69b03fbea2f81231d067c328082d1..38cf15887c2c878959f4cc4e7063acfb0395d144 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -2654,4 +2654,26 @@ public class ServerPlayer extends Player { +@@ -2652,4 +2652,26 @@ public class ServerPlayer extends Player { return (CraftPlayer) super.getBukkitEntity(); } // CraftBukkit end @@ -36,7 +36,7 @@ index a51453de2837851769f826f0b9eddc812d18614f..7775008d456f92c3d373c2f18fff0c7d + // Purpur end } diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 039212093b5e2671fb6d53371bfe48da4d0c116b..5a8785d77f5c422e8e8d2377584bc9c24e505df2 100644 +index 52b47c5fb9f90c9a798139e31a7908ede58cf38c..6415830220b1f41bf7a38e38a792f2ea7edb771c 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -415,6 +415,7 @@ public abstract class LivingEntity extends Entity { diff --git a/patches/server/0093-Allow-toggling-special-MobSpawners-per-world.patch b/patches/server/0093-Allow-toggling-special-MobSpawners-per-world.patch index 0643cb4f0..9e0b08e20 100644 --- a/patches/server/0093-Allow-toggling-special-MobSpawners-per-world.patch +++ b/patches/server/0093-Allow-toggling-special-MobSpawners-per-world.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Allow toggling special MobSpawners per world In vanilla, these are all hardcoded on for world type 0 (overworld) and hardcoded off for every other world type. Default config behaviour matches this. diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index 0526d1d2cf0d6dca1be03184b4dd8e33c896272e..cf72c46fb9b6a223e6c96103243ae183e6ce3ec9 100644 +index b860cb90870c2fb78d9d2d6d6ceed57e15b3e919..b37db189635f49c0dc7a3cfdc6611222ac78c0cd 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java -@@ -545,7 +545,24 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -543,7 +543,24 @@ public class ServerLevel extends Level implements WorldGenLevel { this.dragonParts = new Int2ObjectOpenHashMap(); this.tickTime = flag1; this.server = minecraftserver; diff --git a/patches/server/0100-Configurable-daylight-cycle.patch b/patches/server/0100-Configurable-daylight-cycle.patch index d6fbd8ad4..33f73a156 100644 --- a/patches/server/0100-Configurable-daylight-cycle.patch +++ b/patches/server/0100-Configurable-daylight-cycle.patch @@ -31,10 +31,10 @@ index 96f50760dec9fb7ec317b500ce5cd6a69eb56f02..1953eaab247d7482773cac79dafd651a } ServerPlayer entityplayer = (ServerPlayer) entityhuman; diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index cf72c46fb9b6a223e6c96103243ae183e6ce3ec9..0ded829303669767df32964e89e4d8823d312b49 100644 +index b37db189635f49c0dc7a3cfdc6611222ac78c0cd..46e507ba8816cdc9074ec9aadd5b4b2b22cb12d1 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java -@@ -215,6 +215,8 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -214,6 +214,8 @@ public class ServerLevel extends Level implements WorldGenLevel { private final StructureManager structureManager; private final StructureCheck structureCheck; private final boolean tickTime; @@ -43,7 +43,7 @@ index cf72c46fb9b6a223e6c96103243ae183e6ce3ec9..0ded829303669767df32964e89e4d882 public long lastMidTickExecuteFailure; // Paper - execute chunk tasks mid tick // CraftBukkit start -@@ -625,6 +627,7 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -623,6 +625,7 @@ public class ServerLevel extends Level implements WorldGenLevel { this.chunkTaskScheduler = new io.papermc.paper.chunk.system.scheduling.ChunkTaskScheduler(this, io.papermc.paper.chunk.system.scheduling.ChunkTaskScheduler.workerThreads); // Paper - rewrite chunk system this.entityLookup = new io.papermc.paper.chunk.system.entity.EntityLookup(this, new EntityCallbacks()); // Paper - rewrite chunk system @@ -51,7 +51,7 @@ index cf72c46fb9b6a223e6c96103243ae183e6ce3ec9..0ded829303669767df32964e89e4d882 } public void setWeatherParameters(int clearDuration, int rainDuration, boolean raining, boolean thundering) { -@@ -794,6 +797,13 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -792,6 +795,13 @@ public class ServerLevel extends Level implements WorldGenLevel { this.serverLevelData.setGameTime(i); this.serverLevelData.getScheduledEvents().tick(this.server, i); if (this.levelData.getGameRules().getBoolean(GameRules.RULE_DAYLIGHT)) { @@ -65,7 +65,7 @@ index cf72c46fb9b6a223e6c96103243ae183e6ce3ec9..0ded829303669767df32964e89e4d882 this.setDayTime(this.levelData.getDayTime() + 1L); } -@@ -802,7 +812,21 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -800,7 +810,21 @@ public class ServerLevel extends Level implements WorldGenLevel { public void setDayTime(long timeOfDay) { this.serverLevelData.setDayTime(timeOfDay); diff --git a/patches/server/0112-Add-boat-fall-damage-config.patch b/patches/server/0112-Add-boat-fall-damage-config.patch index 93083fc34..405df9d9d 100644 --- a/patches/server/0112-Add-boat-fall-damage-config.patch +++ b/patches/server/0112-Add-boat-fall-damage-config.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add boat fall damage config diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 7775008d456f92c3d373c2f18fff0c7d6b3f32f1..ff05549415c46e1d30d3e2c8fc24c2d03038687f 100644 +index 38cf15887c2c878959f4cc4e7063acfb0395d144..d0a76519d85d4c9e4dc0b98d038a4c447ce5e833 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -1064,7 +1064,16 @@ public class ServerPlayer extends Player { +@@ -1062,7 +1062,16 @@ public class ServerPlayer extends Player { if (this.isInvulnerableTo(source)) { return false; } else { diff --git a/patches/server/0121-Implement-TPSBar.patch b/patches/server/0121-Implement-TPSBar.patch index 813cf38dd..11e4ff84a 100644 --- a/patches/server/0121-Implement-TPSBar.patch +++ b/patches/server/0121-Implement-TPSBar.patch @@ -43,10 +43,10 @@ index 44be589011acb90c0d662cb1eb2697cfefd7fba5..f0d4e4e98148fabeb90ae6a22855ed0c } } diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index ff05549415c46e1d30d3e2c8fc24c2d03038687f..2e9dcb9e4667ef51594508bebabc413edbe41a15 100644 +index d0a76519d85d4c9e4dc0b98d038a4c447ce5e833..62fa71b3f9fe488c3b7d44d5c294894744317b96 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -272,6 +272,7 @@ public class ServerPlayer extends Player { +@@ -270,6 +270,7 @@ public class ServerPlayer extends Player { public org.bukkit.event.player.PlayerQuitEvent.QuitReason quitReason = null; // Paper - there are a lot of changes to do if we change all methods leading to the event public boolean purpurClient = false; // Purpur public boolean acceptingResourcePack = false; // Purpur @@ -54,7 +54,7 @@ index ff05549415c46e1d30d3e2c8fc24c2d03038687f..2e9dcb9e4667ef51594508bebabc413e public ServerPlayer(MinecraftServer server, ServerLevel world, GameProfile profile) { super(world, world.getSharedSpawnPos(), world.getSharedSpawnAngle(), profile); -@@ -511,6 +512,7 @@ public class ServerPlayer extends Player { +@@ -509,6 +510,7 @@ public class ServerPlayer extends Player { } } @@ -62,7 +62,7 @@ index ff05549415c46e1d30d3e2c8fc24c2d03038687f..2e9dcb9e4667ef51594508bebabc413e } @Override -@@ -577,6 +579,7 @@ public class ServerPlayer extends Player { +@@ -575,6 +577,7 @@ public class ServerPlayer extends Player { } this.getBukkitEntity().setExtraData(nbt); // CraftBukkit @@ -70,7 +70,7 @@ index ff05549415c46e1d30d3e2c8fc24c2d03038687f..2e9dcb9e4667ef51594508bebabc413e } // CraftBukkit start - World fallback code, either respawn location or global spawn -@@ -2684,5 +2687,13 @@ public class ServerPlayer extends Player { +@@ -2682,5 +2685,13 @@ public class ServerPlayer extends Player { this.server.getPlayerList().respawn(this, toLevel, true, to, !toLevel.paperConfig().environment.disableTeleportationSuffocationCheck); } } @@ -85,10 +85,10 @@ index ff05549415c46e1d30d3e2c8fc24c2d03038687f..2e9dcb9e4667ef51594508bebabc413e // Purpur end } diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 3c5529f965a7b069d13b5a10784452159885bb3b..cf72427cf13a23f76b812657abbfa6243ae13a82 100644 +index 4769512fe2ca9f6704a3bd2e6dfebdecd46f698d..79578c45c23048de0fbc1d0f09efb7b39629799d 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -511,6 +511,7 @@ public abstract class PlayerList { +@@ -449,6 +449,7 @@ public abstract class PlayerList { scoreboard.addPlayerToTeam(player.getScoreboardName(), collideRuleTeam); } // Paper end @@ -96,7 +96,7 @@ index 3c5529f965a7b069d13b5a10784452159885bb3b..cf72427cf13a23f76b812657abbfa624 // CraftBukkit - Moved from above, added world PlayerList.LOGGER.info("{}[{}] logged in with entity id {} at ([{}]{}, {}, {})", player.getName().getString(), s1, player.getId(), worldserver1.serverLevelData.getLevelName(), player.getX(), player.getY(), player.getZ()); } -@@ -621,6 +622,8 @@ public abstract class PlayerList { +@@ -558,6 +559,8 @@ public abstract class PlayerList { } public net.kyori.adventure.text.Component remove(ServerPlayer entityplayer, net.kyori.adventure.text.Component leaveMessage) { // Paper end diff --git a/patches/server/0123-PlayerBookTooLargeEvent.patch b/patches/server/0123-PlayerBookTooLargeEvent.patch index 49a268a1d..7be574a89 100644 --- a/patches/server/0123-PlayerBookTooLargeEvent.patch +++ b/patches/server/0123-PlayerBookTooLargeEvent.patch @@ -5,10 +5,10 @@ Subject: [PATCH] PlayerBookTooLargeEvent diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 89cdf7802920923a2bb87e454d9fcbf47a817890..93995f2b45ce1e8dc3cbca6ac0d4652ac83d3293 100644 +index 1e78ba1deaae20b700c651dbc8b2f4fa4ccf9ddc..2c073391c51e07031efef02f3a2c27b87d7e41c8 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -1253,10 +1253,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -1249,10 +1249,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic int maxBookPageSize = io.papermc.paper.configuration.GlobalConfiguration.get().itemValidation.bookSize.pageMax; double multiplier = Math.max(0.3D, Math.min(1D, io.papermc.paper.configuration.GlobalConfiguration.get().itemValidation.bookSize.totalMultiplier)); long byteAllowed = maxBookPageSize; @@ -21,7 +21,7 @@ index 89cdf7802920923a2bb87e454d9fcbf47a817890..93995f2b45ce1e8dc3cbca6ac0d4652a server.scheduleOnMain(() -> this.disconnect("Book too large!", org.bukkit.event.player.PlayerKickEvent.Cause.ILLEGAL_ACTION)); // Paper - kick event cause return; } -@@ -1280,6 +1282,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -1276,6 +1278,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic if (byteTotal > byteAllowed) { ServerGamePacketListenerImpl.LOGGER.warn(this.player.getScoreboardName() + " tried to send too large of a book. Book Size: " + byteTotal + " - Allowed: "+ byteAllowed + " - Pages: " + pageList.size()); diff --git a/patches/server/0131-Fix-stuck-in-portals.patch b/patches/server/0131-Fix-stuck-in-portals.patch index 7ec4b35e6..0f0762de2 100644 --- a/patches/server/0131-Fix-stuck-in-portals.patch +++ b/patches/server/0131-Fix-stuck-in-portals.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Fix stuck in portals diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 2e9dcb9e4667ef51594508bebabc413edbe41a15..3996b6425ca6c6f329b1cc869fea73cf1dadb2eb 100644 +index 62fa71b3f9fe488c3b7d44d5c294894744317b96..6460f22d138dd8d2d5ebd1ed14056f28aa7f471e 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -1217,6 +1217,7 @@ public class ServerPlayer extends Player { +@@ -1215,6 +1215,7 @@ public class ServerPlayer extends Player { playerlist.sendPlayerPermissionLevel(this); worldserver1.removePlayerImmediately(this, Entity.RemovalReason.CHANGED_DIMENSION); this.unsetRemoved(); @@ -17,7 +17,7 @@ index 2e9dcb9e4667ef51594508bebabc413edbe41a15..3996b6425ca6c6f329b1cc869fea73cf // CraftBukkit end this.setLevel(worldserver); diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 0b1a8205f6dd6285c3cf190505e75ce1400bb9dd..9f9bcece63b99f2f23561dd0b3768e40cfd385fd 100644 +index 5deb1173c3fb25c6571ce60c9727a81caf1a2b77..20988e9fb54aa5cb027a681d2fd135ce80d3da36 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -2909,12 +2909,15 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { diff --git a/patches/server/0136-Dont-run-with-scissors.patch b/patches/server/0136-Dont-run-with-scissors.patch index 2d478c1a4..9960ea615 100644 --- a/patches/server/0136-Dont-run-with-scissors.patch +++ b/patches/server/0136-Dont-run-with-scissors.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Dont run with scissors! diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 93995f2b45ce1e8dc3cbca6ac0d4652ac83d3293..3098bcd3ef8dd4dee0d09f34af781e3767df4110 100644 +index 2c073391c51e07031efef02f3a2c27b87d7e41c8..1c406f667d2dbe209d90abe80dbc6f896da6e554 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -1688,6 +1688,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -1684,6 +1684,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic this.player.resetFallDistance(); } @@ -22,7 +22,7 @@ index 93995f2b45ce1e8dc3cbca6ac0d4652ac83d3293..3098bcd3ef8dd4dee0d09f34af781e37 this.player.checkMovementStatistics(this.player.getX() - d3, this.player.getY() - d4, this.player.getZ() - d5); this.lastGoodX = this.player.getX(); this.lastGoodY = this.player.getY(); -@@ -1721,6 +1728,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -1717,6 +1724,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic } // Paper end - optimise out extra getCubes diff --git a/patches/server/0139-Config-to-ignore-nearby-mobs-when-sleeping.patch b/patches/server/0139-Config-to-ignore-nearby-mobs-when-sleeping.patch index 9b890d134..e5beee560 100644 --- a/patches/server/0139-Config-to-ignore-nearby-mobs-when-sleeping.patch +++ b/patches/server/0139-Config-to-ignore-nearby-mobs-when-sleeping.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Config to ignore nearby mobs when sleeping diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 3996b6425ca6c6f329b1cc869fea73cf1dadb2eb..a7b720a2b79a1bc53c0f90c3dbfe9b68b0cfb3e0 100644 +index 6460f22d138dd8d2d5ebd1ed14056f28aa7f471e..2d57f2a15f0210a174b88dbca18f60ccc142f15c 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -1376,7 +1376,7 @@ public class ServerPlayer extends Player { +@@ -1374,7 +1374,7 @@ public class ServerPlayer extends Player { return entitymonster.isPreventingPlayerRest(this); }); diff --git a/patches/server/0148-Config-for-skipping-night.patch b/patches/server/0148-Config-for-skipping-night.patch index ac057380a..bfba2e63d 100644 --- a/patches/server/0148-Config-for-skipping-night.patch +++ b/patches/server/0148-Config-for-skipping-night.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Config for skipping night diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index 0ded829303669767df32964e89e4d8823d312b49..59ab71b191476d211739f7df0be0a165d633e0fd 100644 +index 46e507ba8816cdc9074ec9aadd5b4b2b22cb12d1..4dfd70e7f00147610a7d605c3843828b48fca313 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java -@@ -666,7 +666,7 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -664,7 +664,7 @@ public class ServerLevel extends Level implements WorldGenLevel { int i = this.getGameRules().getInt(GameRules.RULE_PLAYERS_SLEEPING_PERCENTAGE); long j; diff --git a/patches/server/0166-Configurable-broadcast-settings.patch b/patches/server/0166-Configurable-broadcast-settings.patch index cbdddd126..c62cb2050 100644 --- a/patches/server/0166-Configurable-broadcast-settings.patch +++ b/patches/server/0166-Configurable-broadcast-settings.patch @@ -17,10 +17,10 @@ index 897e761be8c1f79562f54101173fbba7656a37ec..ce42e91a95ccd42deff65e1942b918e9 // Paper end } diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index a7b720a2b79a1bc53c0f90c3dbfe9b68b0cfb3e0..f0923a7b1db1a77764dd13f1b2c86a5f4b76b555 100644 +index 2d57f2a15f0210a174b88dbca18f60ccc142f15c..4d984fc18bba2da2dd709440dbf845ee1586f677 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -955,6 +955,7 @@ public class ServerPlayer extends Player { +@@ -953,6 +953,7 @@ public class ServerPlayer extends Player { })); Team scoreboardteambase = this.getTeam(); diff --git a/patches/server/0185-Make-lightning-rod-range-configurable.patch b/patches/server/0185-Make-lightning-rod-range-configurable.patch index 91e5850d8..c1e5456e0 100644 --- a/patches/server/0185-Make-lightning-rod-range-configurable.patch +++ b/patches/server/0185-Make-lightning-rod-range-configurable.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Make lightning rod range configurable diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index 59ab71b191476d211739f7df0be0a165d633e0fd..2ec4e52f0a2cb48f88bf98f1f70d80752fa89a5a 100644 +index 4dfd70e7f00147610a7d605c3843828b48fca313..78d23c3b1dc891e6b64d33c1908aefee83113ce4 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java -@@ -997,7 +997,7 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -995,7 +995,7 @@ public class ServerLevel extends Level implements WorldGenLevel { return holder.is(PoiTypes.LIGHTNING_ROD); }, (blockposition1) -> { return blockposition1.getY() == this.getHeight(Heightmap.Types.WORLD_SURFACE, blockposition1.getX(), blockposition1.getZ()) - 1; diff --git a/patches/server/0187-Allow-player-join-full-server-by-permission.patch b/patches/server/0187-Allow-player-join-full-server-by-permission.patch index 2e8d6f500..d3312c3fa 100644 --- a/patches/server/0187-Allow-player-join-full-server-by-permission.patch +++ b/patches/server/0187-Allow-player-join-full-server-by-permission.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Allow player join full server by permission diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index cf72427cf13a23f76b812657abbfa6243ae13a82..23cea7dd67dd1890a8fd34c294d140b30e89f59c 100644 +index 79578c45c23048de0fbc1d0f09efb7b39629799d..f3fc72e1ddbb65daaab3b5fe1c6210434a434050 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -791,7 +791,7 @@ public abstract class PlayerList { +@@ -714,7 +714,7 @@ public abstract class PlayerList { event.disallow(PlayerLoginEvent.Result.KICK_BANNED, PaperAdventure.asAdventure(ichatmutablecomponent)); // Paper - Adventure } else { // return this.players.size() >= this.maxPlayers && !this.canBypassPlayerLimit(gameprofile) ? IChatBaseComponent.translatable("multiplayer.disconnect.server_full") : null; diff --git a/patches/server/0200-Customizable-sleeping-actionbar-messages.patch b/patches/server/0200-Customizable-sleeping-actionbar-messages.patch index c7a546f5b..b03cb181a 100644 --- a/patches/server/0200-Customizable-sleeping-actionbar-messages.patch +++ b/patches/server/0200-Customizable-sleeping-actionbar-messages.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Customizable sleeping actionbar messages diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index 2ec4e52f0a2cb48f88bf98f1f70d80752fa89a5a..3bd2f3501f859d387ea6645b0f731563016d59f5 100644 +index 78d23c3b1dc891e6b64d33c1908aefee83113ce4..435c9be4e44ae273b975d35ef5ca0d82677376eb 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java -@@ -1046,11 +1046,27 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -1044,11 +1044,27 @@ public class ServerLevel extends Level implements WorldGenLevel { if (this.canSleepThroughNights()) { if (!this.getServer().isSingleplayer() || this.getServer().isPublished()) { int i = this.getGameRules().getInt(GameRules.RULE_PLAYERS_SLEEPING_PERCENTAGE); diff --git a/patches/server/0206-Add-compass-command.patch b/patches/server/0206-Add-compass-command.patch index 4f6d1f3df..f2aab7d03 100644 --- a/patches/server/0206-Add-compass-command.patch +++ b/patches/server/0206-Add-compass-command.patch @@ -17,10 +17,10 @@ index b779b4a7118fbcc24752369a5944536f5ecccaf1..244f5b5a7a7e781c27d21477d798f65f if (environment.includeIntegrated) { diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index f0923a7b1db1a77764dd13f1b2c86a5f4b76b555..db7bf36474ac0e0a95b11ab212d9c866368a161b 100644 +index 4d984fc18bba2da2dd709440dbf845ee1586f677..3f642a1a6d74d80d78e06441b50769810b820364 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -273,6 +273,7 @@ public class ServerPlayer extends Player { +@@ -271,6 +271,7 @@ public class ServerPlayer extends Player { public boolean purpurClient = false; // Purpur public boolean acceptingResourcePack = false; // Purpur private boolean tpsBar = false; // Purpur @@ -28,7 +28,7 @@ index f0923a7b1db1a77764dd13f1b2c86a5f4b76b555..db7bf36474ac0e0a95b11ab212d9c866 public ServerPlayer(MinecraftServer server, ServerLevel world, GameProfile profile) { super(world, world.getSharedSpawnPos(), world.getSharedSpawnAngle(), profile); -@@ -513,6 +514,7 @@ public class ServerPlayer extends Player { +@@ -511,6 +512,7 @@ public class ServerPlayer extends Player { } if (nbt.contains("Purpur.TPSBar")) { this.tpsBar = nbt.getBoolean("Purpur.TPSBar"); } // Purpur @@ -36,7 +36,7 @@ index f0923a7b1db1a77764dd13f1b2c86a5f4b76b555..db7bf36474ac0e0a95b11ab212d9c866 } @Override -@@ -580,6 +582,7 @@ public class ServerPlayer extends Player { +@@ -578,6 +580,7 @@ public class ServerPlayer extends Player { this.getBukkitEntity().setExtraData(nbt); // CraftBukkit nbt.putBoolean("Purpur.TPSBar", this.tpsBar); // Purpur @@ -44,7 +44,7 @@ index f0923a7b1db1a77764dd13f1b2c86a5f4b76b555..db7bf36474ac0e0a95b11ab212d9c866 } // CraftBukkit start - World fallback code, either respawn location or global spawn -@@ -2697,5 +2700,13 @@ public class ServerPlayer extends Player { +@@ -2695,5 +2698,13 @@ public class ServerPlayer extends Player { public void tpsBar(boolean tpsBar) { this.tpsBar = tpsBar; } diff --git a/patches/server/0220-Option-for-if-rain-and-thunder-should-stop-on-sleep.patch b/patches/server/0220-Option-for-if-rain-and-thunder-should-stop-on-sleep.patch index 701981ca2..f35bfad45 100644 --- a/patches/server/0220-Option-for-if-rain-and-thunder-should-stop-on-sleep.patch +++ b/patches/server/0220-Option-for-if-rain-and-thunder-should-stop-on-sleep.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Option for if rain and thunder should stop on sleep diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index 3bd2f3501f859d387ea6645b0f731563016d59f5..9866bc90423dd6ab4827afb546963dc7befb9b1a 100644 +index 435c9be4e44ae273b975d35ef5ca0d82677376eb..03a9441b78d1470bbb460239cbe20478042bc02e 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java -@@ -1205,6 +1205,7 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -1203,6 +1203,7 @@ public class ServerLevel extends Level implements WorldGenLevel { private void resetWeatherCycle() { // CraftBukkit start @@ -16,7 +16,7 @@ index 3bd2f3501f859d387ea6645b0f731563016d59f5..9866bc90423dd6ab4827afb546963dc7 this.serverLevelData.setRaining(false, org.bukkit.event.weather.WeatherChangeEvent.Cause.SLEEP); // Paper - when passing the night // If we stop due to everyone sleeping we should reset the weather duration to some other random value. // Not that everyone ever manages to get the whole server to sleep at the same time.... -@@ -1212,6 +1213,7 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -1210,6 +1211,7 @@ public class ServerLevel extends Level implements WorldGenLevel { this.serverLevelData.setRainTime(0); } // CraftBukkit end diff --git a/patches/server/0222-Shift-right-click-to-use-exp-for-mending.patch b/patches/server/0222-Shift-right-click-to-use-exp-for-mending.patch index 57abbf53a..b31b3dee8 100644 --- a/patches/server/0222-Shift-right-click-to-use-exp-for-mending.patch +++ b/patches/server/0222-Shift-right-click-to-use-exp-for-mending.patch @@ -36,10 +36,10 @@ index 16f136dd8ed96a3eb7ae1cf9c6039b4f026fec25..744c936c3aa9bd7bcf43ac3d78a08ece + // Purpur end } diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 3098bcd3ef8dd4dee0d09f34af781e3767df4110..338608ad668b92f02d6ae138d215876fcd735e99 100644 +index 1c406f667d2dbe209d90abe80dbc6f896da6e554..aa31194b13fe0559e9a0ad1040abd9f3e5a91406 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2090,6 +2090,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2086,6 +2086,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic boolean cancelled; if (movingobjectposition == null || movingobjectposition.getType() != HitResult.Type.BLOCK) { diff --git a/patches/server/0233-Signs-allow-color-codes.patch b/patches/server/0233-Signs-allow-color-codes.patch index fc6456768..cd9d1a501 100644 --- a/patches/server/0233-Signs-allow-color-codes.patch +++ b/patches/server/0233-Signs-allow-color-codes.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Signs allow color codes diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index db7bf36474ac0e0a95b11ab212d9c866368a161b..05c442041e11d7a87359857ad9d6fed3b8132dd6 100644 +index 3f642a1a6d74d80d78e06441b50769810b820364..421493a14ac3908d4ae4032e4f19922598206135 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -1551,6 +1551,7 @@ public class ServerPlayer extends Player { +@@ -1549,6 +1549,7 @@ public class ServerPlayer extends Player { @Override public void openTextEdit(SignBlockEntity sign) { @@ -17,10 +17,10 @@ index db7bf36474ac0e0a95b11ab212d9c866368a161b..05c442041e11d7a87359857ad9d6fed3 this.connection.send(new ClientboundBlockUpdatePacket(this.level, sign.getBlockPos())); this.connection.send(new ClientboundOpenSignEditorPacket(sign.getBlockPos())); diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 338608ad668b92f02d6ae138d215876fcd735e99..e90bb1c52063e8747a8d05cb481d3447b74d31a0 100644 +index aa31194b13fe0559e9a0ad1040abd9f3e5a91406..740346bb3cab0b8451faf451529195ff930cd43a 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -3515,11 +3515,17 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -3511,11 +3511,17 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic for (int i = 0; i < signText.size(); ++i) { FilteredText filteredtext = (FilteredText) signText.get(i); diff --git a/patches/server/0249-Allow-void-trading.patch b/patches/server/0249-Allow-void-trading.patch index 36640d18c..e382bd45b 100644 --- a/patches/server/0249-Allow-void-trading.patch +++ b/patches/server/0249-Allow-void-trading.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Allow void trading diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index 9866bc90423dd6ab4827afb546963dc7befb9b1a..e2dd2917486ccdadc20de7df7b82f22fd3459fd3 100644 +index 03a9441b78d1470bbb460239cbe20478042bc02e..077ff3d7620e3c48aca59a92014dbdb7de15e79a 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java -@@ -2684,7 +2684,7 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -2682,7 +2682,7 @@ public class ServerLevel extends Level implements WorldGenLevel { // Spigot Start if (entity.getBukkitEntity() instanceof org.bukkit.inventory.InventoryHolder && (!(entity instanceof ServerPlayer) || entity.getRemovalReason() != Entity.RemovalReason.KILLED)) { // SPIGOT-6876: closeInventory clears death message // Paper start diff --git a/patches/server/0272-Option-to-disable-kick-for-out-of-order-chat.patch b/patches/server/0272-Option-to-disable-kick-for-out-of-order-chat.patch index 3f895970e..f730028aa 100644 --- a/patches/server/0272-Option-to-disable-kick-for-out-of-order-chat.patch +++ b/patches/server/0272-Option-to-disable-kick-for-out-of-order-chat.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Option to disable kick for out of order chat diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index e90bb1c52063e8747a8d05cb481d3447b74d31a0..6dfb1474278329231c1e64d48a9d895b45e07d0c 100644 +index 740346bb3cab0b8451faf451529195ff930cd43a..89bafc725eceaf5c8ce1beeb2cdb6c0107ad7e46 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2442,7 +2442,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2438,7 +2438,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic do { instant1 = (Instant) this.lastChatTimeStamp.get(); if (timestamp.isBefore(instant1)) { diff --git a/patches/server/0281-Remove-Timings.patch b/patches/server/0281-Remove-Timings.patch index 8c6ac719a..9f2459985 100644 --- a/patches/server/0281-Remove-Timings.patch +++ b/patches/server/0281-Remove-Timings.patch @@ -477,10 +477,10 @@ index c6f5d6756fa0e068a462d9c0ded12e0771abba37..2c23321c826d929981df51f2cc60cdcd // Paper end - use set of chunks requiring updates, rather than iterating every single one loaded // Paper start - controlled flush for entity tracker packets diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index e2dd2917486ccdadc20de7df7b82f22fd3459fd3..6169078be600a850d68c437a33fb5531f20ae4ec 100644 +index 077ff3d7620e3c48aca59a92014dbdb7de15e79a..ece55efcd566bcb9b06d305496ab745807cfe975 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java -@@ -689,7 +689,7 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -687,7 +687,7 @@ public class ServerLevel extends Level implements WorldGenLevel { this.updateSkyBrightness(); this.tickTime(); gameprofilerfiller.popPush("tickPending"); @@ -489,7 +489,7 @@ index e2dd2917486ccdadc20de7df7b82f22fd3459fd3..6169078be600a850d68c437a33fb5531 if (!this.isDebug()) { j = this.getGameTime(); gameprofilerfiller.push("blockTicks"); -@@ -698,20 +698,20 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -696,20 +696,20 @@ public class ServerLevel extends Level implements WorldGenLevel { this.fluidTicks.tick(j, 65536, this::tickFluid); gameprofilerfiller.pop(); } @@ -517,7 +517,7 @@ index e2dd2917486ccdadc20de7df7b82f22fd3459fd3..6169078be600a850d68c437a33fb5531 this.handlingTick = false; gameprofilerfiller.pop(); boolean flag = true || !this.players.isEmpty() || !this.getForcedChunks().isEmpty(); // CraftBukkit - this prevents entity cleanup, other issues on servers with no players -@@ -722,7 +722,7 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -720,7 +720,7 @@ public class ServerLevel extends Level implements WorldGenLevel { if (flag || this.emptyTime++ < 300) { gameprofilerfiller.push("entities"); @@ -526,7 +526,7 @@ index e2dd2917486ccdadc20de7df7b82f22fd3459fd3..6169078be600a850d68c437a33fb5531 if (this.dragonFight != null) { gameprofilerfiller.push("dragonFight"); this.dragonFight.tick(); -@@ -730,7 +730,7 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -728,7 +728,7 @@ public class ServerLevel extends Level implements WorldGenLevel { } org.spigotmc.ActivationRange.activateEntities(this); // Spigot @@ -535,7 +535,7 @@ index e2dd2917486ccdadc20de7df7b82f22fd3459fd3..6169078be600a850d68c437a33fb5531 this.entityTickList.forEach((entity) -> { entity.activatedPriorityReset = false; // Pufferfish - DAB if (!entity.isRemoved()) { -@@ -771,8 +771,8 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -769,8 +769,8 @@ public class ServerLevel extends Level implements WorldGenLevel { } } }); @@ -546,7 +546,7 @@ index e2dd2917486ccdadc20de7df7b82f22fd3459fd3..6169078be600a850d68c437a33fb5531 gameprofilerfiller.pop(); this.tickBlockEntities(); } -@@ -954,7 +954,7 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -952,7 +952,7 @@ public class ServerLevel extends Level implements WorldGenLevel { // Paper start - optimise random block ticking gameprofilerfiller.popPush("randomTick"); @@ -555,7 +555,7 @@ index e2dd2917486ccdadc20de7df7b82f22fd3459fd3..6169078be600a850d68c437a33fb5531 if (randomTickSpeed > 0) { LevelChunkSection[] sections = chunk.getSections(); int minSection = io.papermc.paper.util.WorldUtil.getMinSection(this); -@@ -988,7 +988,7 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -986,7 +986,7 @@ public class ServerLevel extends Level implements WorldGenLevel { } } // Paper end - optimise random block ticking @@ -564,7 +564,7 @@ index e2dd2917486ccdadc20de7df7b82f22fd3459fd3..6169078be600a850d68c437a33fb5531 gameprofilerfiller.pop(); } -@@ -1281,8 +1281,8 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -1279,8 +1279,8 @@ public class ServerLevel extends Level implements WorldGenLevel { // Spigot end // Paper start- timings final boolean isActive = org.spigotmc.ActivationRange.checkIfActive(entity); @@ -575,7 +575,7 @@ index e2dd2917486ccdadc20de7df7b82f22fd3459fd3..6169078be600a850d68c437a33fb5531 // Paper end - timings entity.setOldPosAndRot(); ProfilerFiller gameprofilerfiller = this.getProfiler(); -@@ -1298,7 +1298,7 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -1296,7 +1296,7 @@ public class ServerLevel extends Level implements WorldGenLevel { entity.postTick(); // CraftBukkit } else { entity.inactiveTick(); } // Paper - EAR 2 this.getProfiler().pop(); @@ -584,7 +584,7 @@ index e2dd2917486ccdadc20de7df7b82f22fd3459fd3..6169078be600a850d68c437a33fb5531 Iterator iterator = entity.getPassengers().iterator(); while (iterator.hasNext()) { -@@ -1321,8 +1321,8 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -1319,8 +1319,8 @@ public class ServerLevel extends Level implements WorldGenLevel { if (passenger instanceof Player || this.entityTickList.contains(passenger)) { // Paper - EAR 2 final boolean isActive = org.spigotmc.ActivationRange.checkIfActive(passenger); @@ -595,7 +595,7 @@ index e2dd2917486ccdadc20de7df7b82f22fd3459fd3..6169078be600a850d68c437a33fb5531 // Paper end passenger.setOldPosAndRot(); ++passenger.tickCount; -@@ -1352,7 +1352,7 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -1350,7 +1350,7 @@ public class ServerLevel extends Level implements WorldGenLevel { this.tickPassenger(passenger, entity2); } @@ -604,7 +604,7 @@ index e2dd2917486ccdadc20de7df7b82f22fd3459fd3..6169078be600a850d68c437a33fb5531 } } else { passenger.stopRiding(); -@@ -1372,14 +1372,14 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -1370,14 +1370,14 @@ public class ServerLevel extends Level implements WorldGenLevel { org.bukkit.Bukkit.getPluginManager().callEvent(new org.bukkit.event.world.WorldSaveEvent(getWorld())); } @@ -622,7 +622,7 @@ index e2dd2917486ccdadc20de7df7b82f22fd3459fd3..6169078be600a850d68c437a33fb5531 // Copied from save() // CraftBukkit start - moved from MinecraftServer.saveChunks -@@ -1391,7 +1391,7 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -1389,7 +1389,7 @@ public class ServerLevel extends Level implements WorldGenLevel { this.convertable.saveDataTag(this.server.registryAccess(), this.serverLevelData, this.server.getPlayerList().getSingleplayerData()); } // CraftBukkit end @@ -631,7 +631,7 @@ index e2dd2917486ccdadc20de7df7b82f22fd3459fd3..6169078be600a850d68c437a33fb5531 } // Paper end -@@ -1405,7 +1405,7 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -1403,7 +1403,7 @@ public class ServerLevel extends Level implements WorldGenLevel { if (!savingDisabled) { org.bukkit.Bukkit.getPluginManager().callEvent(new org.bukkit.event.world.WorldSaveEvent(getWorld())); // CraftBukkit @@ -640,7 +640,7 @@ index e2dd2917486ccdadc20de7df7b82f22fd3459fd3..6169078be600a850d68c437a33fb5531 if (progressListener != null) { progressListener.progressStartNoAbort(Component.translatable("menu.savingLevel")); } -@@ -1415,11 +1415,11 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -1413,11 +1413,11 @@ public class ServerLevel extends Level implements WorldGenLevel { progressListener.progressStage(Component.translatable("menu.savingChunks")); } @@ -656,10 +656,10 @@ index e2dd2917486ccdadc20de7df7b82f22fd3459fd3..6169078be600a850d68c437a33fb5531 } else if (close) { chunkproviderserver.close(false); } // Paper - rewrite chunk system diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 6dfb1474278329231c1e64d48a9d895b45e07d0c..fd835cd58213078df4a5a53ce710263d564644d1 100644 +index 89bafc725eceaf5c8ce1beeb2cdb6c0107ad7e46..92efc48a2cda63b6fac73261c12d12e58a11e5ca 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2579,7 +2579,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2575,7 +2575,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic } } // Paper End @@ -668,7 +668,7 @@ index 6dfb1474278329231c1e64d48a9d895b45e07d0c..fd835cd58213078df4a5a53ce710263d if ( org.spigotmc.SpigotConfig.logCommands ) // Spigot this.LOGGER.info(this.player.getScoreboardName() + " issued server command: " + s); -@@ -2589,7 +2589,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2585,7 +2585,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic this.cserver.getPluginManager().callEvent(event); if (event.isCancelled()) { @@ -677,7 +677,7 @@ index 6dfb1474278329231c1e64d48a9d895b45e07d0c..fd835cd58213078df4a5a53ce710263d return; } -@@ -2602,7 +2602,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2598,7 +2598,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic java.util.logging.Logger.getLogger(ServerGamePacketListenerImpl.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); return; } finally { @@ -687,10 +687,10 @@ index 6dfb1474278329231c1e64d48a9d895b45e07d0c..fd835cd58213078df4a5a53ce710263d } // CraftBukkit end diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 23cea7dd67dd1890a8fd34c294d140b30e89f59c..9cfe4f2ab57f6d17a64eda2c48fb59ab7aa14367 100644 +index f3fc72e1ddbb65daaab3b5fe1c6210434a434050..7d5ba99a674855967256b74fd9fd21749dcde8a3 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -1297,7 +1297,7 @@ public abstract class PlayerList { +@@ -1220,7 +1220,7 @@ public abstract class PlayerList { public void saveAll(int interval) { io.papermc.paper.util.MCUtil.ensureMain("Save Players" , () -> { // Paper - Ensure main @@ -699,7 +699,7 @@ index 23cea7dd67dd1890a8fd34c294d140b30e89f59c..9cfe4f2ab57f6d17a64eda2c48fb59ab int numSaved = 0; long now = MinecraftServer.currentTick; for (int i = 0; i < this.players.size(); ++i) { -@@ -1308,7 +1308,7 @@ public abstract class PlayerList { +@@ -1231,7 +1231,7 @@ public abstract class PlayerList { } // Paper end } diff --git a/patches/server/0282-Remove-Mojang-Profiler.patch b/patches/server/0282-Remove-Mojang-Profiler.patch index e36506e76..a50472bee 100644 --- a/patches/server/0282-Remove-Mojang-Profiler.patch +++ b/patches/server/0282-Remove-Mojang-Profiler.patch @@ -538,10 +538,10 @@ index 2c23321c826d929981df51f2cc60cdcdb649a43f..0ae45cf5a084fd412305e8b2f5dabe60 } diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index 6169078be600a850d68c437a33fb5531f20ae4ec..9aebb5166fcd4dbb247295ff0ca8461f83ab3d27 100644 +index ece55efcd566bcb9b06d305496ab745807cfe975..b396a329e753f42b3878736b6b14bafda02d3744 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java -@@ -656,12 +656,12 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -654,12 +654,12 @@ public class ServerLevel extends Level implements WorldGenLevel { } } // Paper end - optimise checkDespawn @@ -557,7 +557,7 @@ index 6169078be600a850d68c437a33fb5531f20ae4ec..9aebb5166fcd4dbb247295ff0ca8461f this.advanceWeatherCycle(); int i = this.getGameRules().getInt(GameRules.RULE_PLAYERS_SLEEPING_PERCENTAGE); long j; -@@ -688,32 +688,32 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -686,32 +686,32 @@ public class ServerLevel extends Level implements WorldGenLevel { this.updateSkyBrightness(); this.tickTime(); @@ -598,7 +598,7 @@ index 6169078be600a850d68c437a33fb5531f20ae4ec..9aebb5166fcd4dbb247295ff0ca8461f boolean flag = true || !this.players.isEmpty() || !this.getForcedChunks().isEmpty(); // CraftBukkit - this prevents entity cleanup, other issues on servers with no players if (flag) { -@@ -721,12 +721,12 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -719,12 +719,12 @@ public class ServerLevel extends Level implements WorldGenLevel { } if (flag || this.emptyTime++ < 300) { @@ -614,7 +614,7 @@ index 6169078be600a850d68c437a33fb5531f20ae4ec..9aebb5166fcd4dbb247295ff0ca8461f } org.spigotmc.ActivationRange.activateEntities(this); // Spigot -@@ -737,9 +737,9 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -735,9 +735,9 @@ public class ServerLevel extends Level implements WorldGenLevel { if (false && this.shouldDiscardEntity(entity)) { // CraftBukkit - We prevent spawning in general, so this butchering is not needed entity.discard(); } else { @@ -626,7 +626,7 @@ index 6169078be600a850d68c437a33fb5531f20ae4ec..9aebb5166fcd4dbb247295ff0ca8461f if (true || this.chunkSource.chunkMap.getDistanceManager().inEntityTickingRange(entity.chunkPosition().toLong())) { // Paper - now always true if in the ticking list Entity entity1 = entity.getVehicle(); -@@ -751,7 +751,7 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -749,7 +749,7 @@ public class ServerLevel extends Level implements WorldGenLevel { entity.stopRiding(); } @@ -635,7 +635,7 @@ index 6169078be600a850d68c437a33fb5531f20ae4ec..9aebb5166fcd4dbb247295ff0ca8461f // Pufferfish start - copied from this.guardEntityTick try { this.tickNonPassenger(entity); // Pufferfish - changed -@@ -766,20 +766,19 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -764,20 +764,19 @@ public class ServerLevel extends Level implements WorldGenLevel { // Paper end } // Pufferfish end @@ -659,7 +659,7 @@ index 6169078be600a850d68c437a33fb5531f20ae4ec..9aebb5166fcd4dbb247295ff0ca8461f } @Override -@@ -861,9 +860,9 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -859,9 +858,9 @@ public class ServerLevel extends Level implements WorldGenLevel { boolean flag = this.isRaining(); int j = chunkcoordintpair.getMinBlockX(); int k = chunkcoordintpair.getMinBlockZ(); @@ -671,7 +671,7 @@ index 6169078be600a850d68c437a33fb5531f20ae4ec..9aebb5166fcd4dbb247295ff0ca8461f final BlockPos.MutableBlockPos blockposition = this.chunkTickMutablePosition; // Paper - use mutable to reduce allocation rate, final to force compile fail on change if (!this.paperConfig().environment.disableThunder && flag && this.isThundering() && this.spigotConfig.thunderChance > 0 && /*this.random.nextInt(this.spigotConfig.thunderChance) == 0 &&*/ chunk.shouldDoLightning(this.random)) { // Spigot // Paper - disable thunder // Pufferfish - replace random with shouldDoLightning -@@ -901,7 +900,7 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -899,7 +898,7 @@ public class ServerLevel extends Level implements WorldGenLevel { } } @@ -680,7 +680,7 @@ index 6169078be600a850d68c437a33fb5531f20ae4ec..9aebb5166fcd4dbb247295ff0ca8461f int l; if (!this.paperConfig().environment.disableIceAndSnow && (this.currentIceAndSnowTick++ & 15) == 0) { // Paper - Disable ice and snow // Paper - optimise random ticking // Pufferfish - optimize further random ticking -@@ -953,7 +952,7 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -951,7 +950,7 @@ public class ServerLevel extends Level implements WorldGenLevel { } // Paper start - optimise random block ticking @@ -689,7 +689,7 @@ index 6169078be600a850d68c437a33fb5531f20ae4ec..9aebb5166fcd4dbb247295ff0ca8461f //timings.chunkTicksBlocks.startTiming(); // Paper // Purpur if (randomTickSpeed > 0) { LevelChunkSection[] sections = chunk.getSections(); -@@ -989,7 +988,7 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -987,7 +986,7 @@ public class ServerLevel extends Level implements WorldGenLevel { } // Paper end - optimise random block ticking //timings.chunkTicksBlocks.stopTiming(); // Paper // Purpur @@ -698,7 +698,7 @@ index 6169078be600a850d68c437a33fb5531f20ae4ec..9aebb5166fcd4dbb247295ff0ca8461f } public Optional findLightningRod(BlockPos pos) { -@@ -1285,19 +1284,19 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -1283,19 +1282,19 @@ public class ServerLevel extends Level implements WorldGenLevel { //try { // Purpur // Paper end - timings entity.setOldPosAndRot(); @@ -723,7 +723,7 @@ index 6169078be600a850d68c437a33fb5531f20ae4ec..9aebb5166fcd4dbb247295ff0ca8461f //} finally { timer.stopTiming(); } // Paper - timings // Purpur Iterator iterator = entity.getPassengers().iterator(); -@@ -1326,12 +1325,12 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -1324,12 +1323,12 @@ public class ServerLevel extends Level implements WorldGenLevel { // Paper end passenger.setOldPosAndRot(); ++passenger.tickCount; @@ -740,7 +740,7 @@ index 6169078be600a850d68c437a33fb5531f20ae4ec..9aebb5166fcd4dbb247295ff0ca8461f // Paper start - EAR 2 if (isActive) { passenger.rideTick(); -@@ -1343,7 +1342,7 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -1341,7 +1340,7 @@ public class ServerLevel extends Level implements WorldGenLevel { vehicle.positionRider(passenger); } // Paper end - EAR 2 @@ -750,10 +750,10 @@ index 6169078be600a850d68c437a33fb5531f20ae4ec..9aebb5166fcd4dbb247295ff0ca8461f while (iterator.hasNext()) { diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 05c442041e11d7a87359857ad9d6fed3b8132dd6..5e495c427abaae7476149c19a2131d5804aecab2 100644 +index 421493a14ac3908d4ae4032e4f19922598206135..48b09b1fe0d316277a46cab700d790a1d35d3fc4 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -1186,7 +1186,7 @@ public class ServerPlayer extends Player { +@@ -1184,7 +1184,7 @@ public class ServerPlayer extends Player { PortalInfo shapedetectorshape = this.findDimensionEntryPoint(worldserver); if (shapedetectorshape != null) { @@ -762,7 +762,7 @@ index 05c442041e11d7a87359857ad9d6fed3b8132dd6..5e495c427abaae7476149c19a2131d58 worldserver = shapedetectorshape.world; // CraftBukkit if (worldserver == null) { } else // CraftBukkit - empty to fall through to null to event if (resourcekey == LevelStem.OVERWORLD && worldserver.getTypeKey() == LevelStem.NETHER) { // CraftBukkit -@@ -1209,8 +1209,8 @@ public class ServerPlayer extends Player { +@@ -1207,8 +1207,8 @@ public class ServerPlayer extends Player { worldserver = ((CraftWorld) exit.getWorld()).getHandle(); // CraftBukkit end @@ -773,7 +773,7 @@ index 05c442041e11d7a87359857ad9d6fed3b8132dd6..5e495c427abaae7476149c19a2131d58 if (true) { // CraftBukkit this.isChangingDimension = true; // CraftBukkit - Set teleport invulnerability only if player changing worlds -@@ -1229,7 +1229,7 @@ public class ServerPlayer extends Player { +@@ -1227,7 +1227,7 @@ public class ServerPlayer extends Player { this.connection.teleport(exit); // CraftBukkit - use internal teleport without event this.connection.resetPosition(); worldserver.addDuringPortalTeleport(this); @@ -783,19 +783,19 @@ index 05c442041e11d7a87359857ad9d6fed3b8132dd6..5e495c427abaae7476149c19a2131d58 this.connection.send(new ClientboundPlayerAbilitiesPacket(this.getAbilities())); playerlist.sendLevelInfo(this, worldserver); diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index fd835cd58213078df4a5a53ce710263d564644d1..1f7b2bef85cb881cf5db0ff9a4df325612134179 100644 +index 92efc48a2cda63b6fac73261c12d12e58a11e5ca..816f60da1d9c4996cc6dd123400e17c4df4983d9 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -409,7 +409,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -405,7 +405,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic this.aboveGroundVehicleTickCount = 0; - }} // Paper - end if (valid) + } - this.server.getProfiler().push("keepAlive"); + //this.server.getProfiler().push("keepAlive"); // Purpur // Paper Start - give clients a longer time to respond to pings as per pre 1.12.2 timings // This should effectively place the keepalive handling back to "as it was" before 1.12.2 long currentTime = Util.getMillis(); -@@ -445,7 +445,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -441,7 +441,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic } // Paper end @@ -1009,7 +1009,7 @@ index 5725c6593480fada65facc29664a00a8cc073512..ccb1f998ae3122d1856d77149ff7e7df }; } diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 0bbf6c9879ebd286135cbf145c1eb8a95a1ef881..46a979fcafcd1492f63f7c0a8ac9a7c2a708b0a5 100644 +index 2e9add3cdaf72ed2bf86e1d22a5936fb54de3936..6fb411a6c4bb1414960a80817c11205e7f1c44c5 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -822,7 +822,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { @@ -1135,7 +1135,7 @@ index 0bbf6c9879ebd286135cbf145c1eb8a95a1ef881..46a979fcafcd1492f63f7c0a8ac9a7c2 } } else { diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 938b224c833c0bc678cb4a6f4c856d57f6778233..57c73ae309ea38c220c3016c9eb8900c78d8aa78 100644 +index 83aeda0a7a2579d894b2eec975941547b0ce67c3..147fb78f10b5eefe0da557306fecf8abb4c81539 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -398,7 +398,7 @@ public abstract class LivingEntity extends Entity { diff --git a/patches/server/0283-Add-more-logger-output-for-invalid-movement-kicks.patch b/patches/server/0283-Add-more-logger-output-for-invalid-movement-kicks.patch index 66cba8fff..84add398a 100644 --- a/patches/server/0283-Add-more-logger-output-for-invalid-movement-kicks.patch +++ b/patches/server/0283-Add-more-logger-output-for-invalid-movement-kicks.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add more logger output for invalid movement kicks diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 1f7b2bef85cb881cf5db0ff9a4df325612134179..86d7552acc7bea0e0a5af4c16b8a0dd3af4e6560 100644 +index 816f60da1d9c4996cc6dd123400e17c4df4983d9..a37849179a34d0ba5997f7d83c10bd1851135835 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -849,6 +849,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -845,6 +845,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic if (packet.getId() == this.awaitingTeleport) { if (this.awaitingPositionFromClient == null) { this.disconnect(Component.translatable("multiplayer.disconnect.invalid_player_movement"), org.bukkit.event.player.PlayerKickEvent.Cause.INVALID_PLAYER_MOVEMENT); // Paper - kick event cause @@ -16,7 +16,7 @@ index 1f7b2bef85cb881cf5db0ff9a4df325612134179..86d7552acc7bea0e0a5af4c16b8a0dd3 return; } -@@ -1429,8 +1430,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -1425,8 +1426,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic @Override public void handleMovePlayer(ServerboundMovePlayerPacket packet) { PacketUtils.ensureRunningOnSameThread(packet, this, this.player.getLevel()); diff --git a/patches/server/0292-Implement-ram-and-rambar-commands.patch b/patches/server/0292-Implement-ram-and-rambar-commands.patch index d08596bbe..658934876 100644 --- a/patches/server/0292-Implement-ram-and-rambar-commands.patch +++ b/patches/server/0292-Implement-ram-and-rambar-commands.patch @@ -18,10 +18,10 @@ index a6996259f9fcb2d6520ca45fa42b11c42824ef9d..1a6f3c602437eaedbc96f1d47d08ff3a if (environment.includeIntegrated) { diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 5e495c427abaae7476149c19a2131d5804aecab2..7f2a811505c2aeaad6e1a91a0719613a6694f77a 100644 +index 48b09b1fe0d316277a46cab700d790a1d35d3fc4..d62bf95fb067c2e2a4fc9b2757c636bd4ee75bea 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -272,6 +272,7 @@ public class ServerPlayer extends Player { +@@ -270,6 +270,7 @@ public class ServerPlayer extends Player { public org.bukkit.event.player.PlayerQuitEvent.QuitReason quitReason = null; // Paper - there are a lot of changes to do if we change all methods leading to the event public boolean purpurClient = false; // Purpur public boolean acceptingResourcePack = false; // Purpur @@ -29,7 +29,7 @@ index 5e495c427abaae7476149c19a2131d5804aecab2..7f2a811505c2aeaad6e1a91a0719613a private boolean tpsBar = false; // Purpur private boolean compassBar = false; // Purpur -@@ -513,6 +514,7 @@ public class ServerPlayer extends Player { +@@ -511,6 +512,7 @@ public class ServerPlayer extends Player { } } @@ -37,7 +37,7 @@ index 5e495c427abaae7476149c19a2131d5804aecab2..7f2a811505c2aeaad6e1a91a0719613a if (nbt.contains("Purpur.TPSBar")) { this.tpsBar = nbt.getBoolean("Purpur.TPSBar"); } // Purpur if (nbt.contains("Purpur.CompassBar")) { this.compassBar = nbt.getBoolean("Purpur.CompassBar"); } // Purpur } -@@ -581,6 +583,7 @@ public class ServerPlayer extends Player { +@@ -579,6 +581,7 @@ public class ServerPlayer extends Player { } this.getBukkitEntity().setExtraData(nbt); // CraftBukkit @@ -45,7 +45,7 @@ index 5e495c427abaae7476149c19a2131d5804aecab2..7f2a811505c2aeaad6e1a91a0719613a nbt.putBoolean("Purpur.TPSBar", this.tpsBar); // Purpur nbt.putBoolean("Purpur.CompassBar", this.compassBar); // Purpur } -@@ -2694,6 +2697,14 @@ public class ServerPlayer extends Player { +@@ -2692,6 +2695,14 @@ public class ServerPlayer extends Player { } }