diff --git a/gradle.properties b/gradle.properties index 4fd644fa7..b206b14d7 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,7 +1,7 @@ group = org.purpurmc.purpur version = 1.19-R0.1-SNAPSHOT -paperCommit = e1c2939c11184b2d337d28086a8030104b9e34cb +paperCommit = acd50c5287deba895bb2ee5a4f431b1d274fb8d7 org.gradle.caching = true org.gradle.parallel = true diff --git a/patches/server/0003-Purpur-client-support.patch b/patches/server/0003-Purpur-client-support.patch index a6222faab..c32dcbf0a 100644 --- a/patches/server/0003-Purpur-client-support.patch +++ b/patches/server/0003-Purpur-client-support.patch @@ -17,10 +17,10 @@ index c816bae0227d0a1d38d9d20343e727ef2f30a8c0..b4bfee6b20e030db74b697d0f47eecaf public double lastEntitySpawnRadiusSquared; // Paper - optimise isOutsideRange, this field is in blocks public final com.destroystokyo.paper.util.misc.PooledLinkedHashSets.PooledObjectLinkedOpenHashSet cachedSingleHashSet; // Paper diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 92defe9bcaff461c41fabf7db706141011c1141d..12b454e50f65b6bdbbec8b3d149881c2a27c7e34 100644 +index 03507b5ac5908962e9ebc4b98f53f23110573baa..ec60f7b80c0443fa5baf5acb1829a64b563049ff 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -3371,6 +3371,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -3372,6 +3372,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser 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 92defe9bcaff461c41fabf7db706141011c1141d..12b454e50f65b6bdbbec8b3d149881c2 @Override public void handleCustomPayload(ServerboundCustomPayloadPacket packet) { -@@ -3395,6 +3396,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -3396,6 +3397,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser 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/0005-Ridables.patch b/patches/server/0005-Ridables.patch index 9b71a5935..6016779d7 100644 --- a/patches/server/0005-Ridables.patch +++ b/patches/server/0005-Ridables.patch @@ -34,7 +34,7 @@ index 9df1401eb9361df0532b8f5fbfbb46e9923ae558..0d024cf636e0a6fa430fc6f920375e9e 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 50f0fa0ebfe5b34af6ce8162d18bd0f7b1a57fb1..3d209313c594f1f2f9beb5c47894b30f7e0b0fd7 100644 +index c18363c8d582a88cbc80842c9e50acb1b941ba14..190e453e5d30e028520e36b651480caa4457d5ff 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java @@ -217,6 +217,7 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -66,10 +66,10 @@ index cfc3645215b18f76514acfdab63718adcdc5d938..7a28ac8d31ed5712e6fb2fbd59c72be5 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 12b454e50f65b6bdbbec8b3d149881c2a27c7e34..57e7c37aaa118e1fd4f933f66d10338ece4bb635 100644 +index ec60f7b80c0443fa5baf5acb1829a64b563049ff..e3f900e33096ff5636f5ed6d39531e05a05f6593 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2658,6 +2658,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -2659,6 +2659,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser ServerGamePacketListenerImpl.this.cserver.getPluginManager().callEvent(event); @@ -3192,7 +3192,7 @@ index 1b1305f5eaf5710b72c57ab4c3953e703a23f1e0..869a2ee5e0775cc477fb56063dfa4ce4 } diff --git a/src/main/java/net/minecraft/world/entity/monster/ElderGuardian.java b/src/main/java/net/minecraft/world/entity/monster/ElderGuardian.java -index 0da2eecda83ba4e4acd4dd0603c77066d4fd060f..1bf856171a9eccf77857232a30d6327b9d8017c6 100644 +index d02286d553c600fe7e75f48e278e380d21c5b868..82b03488178962eb74fe252d561ba8cee32eda95 100644 --- a/src/main/java/net/minecraft/world/entity/monster/ElderGuardian.java +++ b/src/main/java/net/minecraft/world/entity/monster/ElderGuardian.java @@ -33,6 +33,23 @@ public class ElderGuardian extends Guardian { @@ -4926,7 +4926,7 @@ index 5b92c2ca03baed38f7d41a73fae7dd23ce541d43..3cc9dab362141fdf61bdcd542ffa5e5c + // Purpur end } diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 389bf0d695dccb1d2547d61d62be97376e2505f9..25ba267fb0bdfc2e74471593574f56d542178234 100644 +index 1d8ec0f85ec42f2dcd9405df83b526ae1c59de6f..d437630610b3561029a88a075ab3ed0ad3abcfe2 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -543,6 +543,15 @@ public class CraftEventFactory { @@ -4953,7 +4953,7 @@ index 389bf0d695dccb1d2547d61d62be97376e2505f9..25ba267fb0bdfc2e74471593574f56d5 } event.setCancelled(cancelled); -@@ -1083,6 +1093,7 @@ public class CraftEventFactory { +@@ -1085,6 +1095,7 @@ public class CraftEventFactory { } else { entity.lastDamageCancelled = true; // SPIGOT-5339, SPIGOT-6252, SPIGOT-6777: Keep track if the event was canceled } @@ -4961,7 +4961,7 @@ index 389bf0d695dccb1d2547d61d62be97376e2505f9..25ba267fb0bdfc2e74471593574f56d5 return event; } -@@ -1142,6 +1153,7 @@ public class CraftEventFactory { +@@ -1144,6 +1155,7 @@ public class CraftEventFactory { EntityDamageEvent event; if (damager != null) { event = new EntityDamageByEntityEvent(damager.getBukkitEntity(), damagee.getBukkitEntity(), cause, modifiers, modifierFunctions, critical); // Paper - add critical damage API diff --git a/patches/server/0010-AFK-API.patch b/patches/server/0010-AFK-API.patch index b6267887b..080707cc3 100644 --- a/patches/server/0010-AFK-API.patch +++ b/patches/server/0010-AFK-API.patch @@ -68,10 +68,10 @@ index 7a28ac8d31ed5712e6fb2fbd59c72be5855165fe..79c4da6fb1cad621454b08e64f5da796 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 57e7c37aaa118e1fd4f933f66d10338ece4bb635..602979d0d85cff155d50780ce2471de0806ae63a 100644 +index e3f900e33096ff5636f5ed6d39531e05a05f6593..b67bd2d606e44804f51478847e01da18f0d64349 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -312,6 +312,20 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -313,6 +313,20 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser private boolean justTeleported = false; private boolean hasMoved; // Spigot @@ -92,7 +92,7 @@ index 57e7c37aaa118e1fd4f933f66d10338ece4bb635..602979d0d85cff155d50780ce2471de0 public CraftPlayer getCraftPlayer() { return (this.player == null) ? null : (CraftPlayer) this.player.getBukkitEntity(); } -@@ -413,6 +427,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -414,6 +428,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser } 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. @@ -105,7 +105,7 @@ index 57e7c37aaa118e1fd4f933f66d10338ece4bb635..602979d0d85cff155d50780ce2471de0 this.player.resetLastActionTime(); // CraftBukkit - SPIGOT-854 this.disconnect(Component.translatable("multiplayer.disconnect.idling"), org.bukkit.event.player.PlayerKickEvent.Cause.IDLING); // Paper - kick event cause } -@@ -702,6 +722,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -703,6 +723,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser this.lastYaw = to.getYaw(); this.lastPitch = to.getPitch(); @@ -114,7 +114,7 @@ index 57e7c37aaa118e1fd4f933f66d10338ece4bb635..602979d0d85cff155d50780ce2471de0 // Skip the first time we do this if (true) { // Spigot - don't skip any move events Location oldTo = to.clone(); -@@ -1477,7 +1499,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -1478,7 +1500,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser 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 @@ -123,7 +123,7 @@ index 57e7c37aaa118e1fd4f933f66d10338ece4bb635..602979d0d85cff155d50780ce2471de0 } this.player.absMoveTo(d0, d1, d2, f, f1); -@@ -1527,6 +1549,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -1528,6 +1550,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser this.lastYaw = to.getYaw(); this.lastPitch = to.getPitch(); diff --git a/patches/server/0017-Player-invulnerabilities.patch b/patches/server/0017-Player-invulnerabilities.patch index d4e33c1a8..93fcf67b4 100644 --- a/patches/server/0017-Player-invulnerabilities.patch +++ b/patches/server/0017-Player-invulnerabilities.patch @@ -82,10 +82,10 @@ index 79c4da6fb1cad621454b08e64f5da79678d21dc5..3a665115eb3da35fa7f5bd1b01b15c55 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 602979d0d85cff155d50780ce2471de0806ae63a..d9005d3bd9f78fca0f5d7b8b64c74c6af0f8fd68 100644 +index b67bd2d606e44804f51478847e01da18f0d64349..194c352c1d038ca9726aecfd944b38d572bd2c02 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2001,12 +2001,21 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -2002,12 +2002,21 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser @Override public void handleResourcePackResponse(ServerboundResourcePackPacket packet) { PacketUtils.ensureRunningOnSameThread(packet, this, this.player.getLevel()); diff --git a/patches/server/0020-Alternative-Keepalive-Handling.patch b/patches/server/0020-Alternative-Keepalive-Handling.patch index e0103367d..b0e0f891a 100644 --- a/patches/server/0020-Alternative-Keepalive-Handling.patch +++ b/patches/server/0020-Alternative-Keepalive-Handling.patch @@ -5,10 +5,10 @@ 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 ae2b5d6ab0f18935c51ac94f5c5de32535a4241a..8359d93dbc4b0ee45741da62ed0e2b29e5b6c2b8 100644 +index 194c352c1d038ca9726aecfd944b38d572bd2c02..b48b16e7e4a451c8a1603b2f89ff59c91947211e 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -244,6 +244,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -245,6 +245,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser private long keepAliveTime = Util.getMillis(); private boolean keepAlivePending; private long keepAliveChallenge; @@ -16,7 +16,7 @@ index ae2b5d6ab0f18935c51ac94f5c5de32535a4241a..8359d93dbc4b0ee45741da62ed0e2b29 // 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 -@@ -395,6 +396,21 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -396,6 +397,21 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser long currentTime = Util.getMillis(); long elapsedTime = currentTime - this.keepAliveTime; @@ -38,7 +38,7 @@ index ae2b5d6ab0f18935c51ac94f5c5de32535a4241a..8359d93dbc4b0ee45741da62ed0e2b29 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 -@@ -3356,6 +3372,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -3357,6 +3373,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser @Override public void handleKeepAlive(ServerboundKeepAlivePacket packet) { diff --git a/patches/server/0076-Allow-color-codes-in-books.patch b/patches/server/0076-Allow-color-codes-in-books.patch index 022a53025..626f0ba5a 100644 --- a/patches/server/0076-Allow-color-codes-in-books.patch +++ b/patches/server/0076-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 7e290e96bdad4301fbc93b9c58b3a4dcb4ad83f6..19a98e6d3c3db6ac7f27adac766d6c8fbe3df491 100644 +index b48b16e7e4a451c8a1603b2f89ff59c91947211e..de5fd575e12a3a991cb907675f256324d0147aef 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -1271,13 +1271,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -1272,13 +1272,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser itemstack1.setTag(nbttagcompound.copy()); } @@ -28,7 +28,7 @@ index 7e290e96bdad4301fbc93b9c58b3a4dcb4ad83f6..19a98e6d3c3db6ac7f27adac766d6c8f this.updateBookPages(pages, (s) -> { return Component.Serializer.toJson(Component.literal(s)); -@@ -1289,10 +1292,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -1290,10 +1293,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser public void updateBookPages(List> list, UnaryOperator unaryoperator, ItemStack itemstack, int slot, ItemStack handItem) { // CraftBukkit ListTag nbttaglist = new ListTag(); @@ -44,7 +44,7 @@ index 7e290e96bdad4301fbc93b9c58b3a4dcb4ad83f6..19a98e6d3c3db6ac7f27adac766d6c8f Objects.requireNonNull(nbttaglist); stream.forEach(nbttaglist::add); -@@ -1302,11 +1308,11 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -1303,11 +1309,11 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser for (int j = list.size(); i < j; ++i) { FilteredText filteredtext = (FilteredText) list.get(i); @@ -58,7 +58,7 @@ index 7e290e96bdad4301fbc93b9c58b3a4dcb4ad83f6..19a98e6d3c3db6ac7f27adac766d6c8f } } -@@ -1319,6 +1325,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -1320,6 +1326,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser 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/0077-Entity-lifespan.patch b/patches/server/0077-Entity-lifespan.patch index e6ed6fb91..6efabcca1 100644 --- a/patches/server/0077-Entity-lifespan.patch +++ b/patches/server/0077-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 816be58e98b26443b371ec5333d3878f1e66751b..ca27c557ab3e71f894f31131fa54860a82294d0d 100644 +index de5fd575e12a3a991cb907675f256324d0147aef..d4e821e30a1151e71d2e4d87a74f5468929356da 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2713,6 +2713,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -2714,6 +2714,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser } if (entity.distanceToSqr(this.player.getEyePosition()) < ServerGamePacketListenerImpl.MAX_INTERACTION_DISTANCE) { @@ -17,7 +17,7 @@ index 816be58e98b26443b371ec5333d3878f1e66751b..ca27c557ab3e71f894f31131fa54860a private void performInteraction(InteractionHand enumhand, ServerGamePacketListenerImpl.EntityInteraction playerconnection_a, PlayerInteractEntityEvent event) { // CraftBukkit ItemStack itemstack = ServerGamePacketListenerImpl.this.player.getItemInHand(enumhand).copy(); diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java -index 00911f1bc7ecbad931a9db83da071f4c684aba45..345c4c7087da5745995a76e3786d1f8173580b3b 100644 +index 741bd85f10afb7b6f79213d5270af8e27741ad62..5385c1b97cd2a85b43e75ef1dfae770879f29954 100644 --- a/src/main/java/net/minecraft/world/entity/Mob.java +++ b/src/main/java/net/minecraft/world/entity/Mob.java @@ -134,6 +134,7 @@ public abstract class Mob extends LivingEntity { diff --git a/patches/server/0126-PlayerBookTooLargeEvent.patch b/patches/server/0126-PlayerBookTooLargeEvent.patch index 30a0577fc..5f7c0d812 100644 --- a/patches/server/0126-PlayerBookTooLargeEvent.patch +++ b/patches/server/0126-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 f84de4c184ad43e5241c42d3bf0e0cc59bf45226..88454772d8b865c54872b3d797eaba360e030974 100644 +index d4e821e30a1151e71d2e4d87a74f5468929356da..966e06237b51759f548f6dfb64ae94ce3de7afab 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -1193,10 +1193,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -1194,10 +1194,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser 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 f84de4c184ad43e5241c42d3bf0e0cc59bf45226..88454772d8b865c54872b3d797eaba36 server.scheduleOnMain(() -> this.disconnect("Book too large!", org.bukkit.event.player.PlayerKickEvent.Cause.ILLEGAL_ACTION)); // Paper - kick event cause return; } -@@ -1220,6 +1222,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -1221,6 +1223,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser 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/0139-Dont-run-with-scissors.patch b/patches/server/0139-Dont-run-with-scissors.patch index a7fff3eff..6db80d008 100644 --- a/patches/server/0139-Dont-run-with-scissors.patch +++ b/patches/server/0139-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 535c4577c4fead700061020f0b946c0ee191f768..70b9a030a93946a1298ee9594fdd5217ef5a6bca 100644 +index 966e06237b51759f548f6dfb64ae94ce3de7afab..a0e784c3f58e1b335d5a12a20e7079be9069dd62 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -1625,6 +1625,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -1626,6 +1626,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser this.player.resetFallDistance(); } @@ -22,7 +22,7 @@ index 535c4577c4fead700061020f0b946c0ee191f768..70b9a030a93946a1298ee9594fdd5217 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(); -@@ -1658,6 +1665,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -1659,6 +1666,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser } // Paper end - optimise out extra getCubes @@ -55,10 +55,10 @@ index c4088446d30c3b25cf196f51fd394cd056be0495..8b03b8e58e16ab9b677ba14cf1d09b41 private boolean bypassArmor; private boolean bypassInvul; diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 97108c2317a38e11d45fdbef448dca5cb3ddad1c..8f77f17fc8e2ce8e877b050e08fdc024e4e21184 100644 +index d437630610b3561029a88a075ab3ed0ad3abcfe2..019e095647225f3d61f0759c8787171a45acdaca 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -@@ -1128,6 +1128,10 @@ public class CraftEventFactory { +@@ -1130,6 +1130,10 @@ public class CraftEventFactory { cause = DamageCause.FREEZE; } else if (source == DamageSource.GENERIC) { cause = DamageCause.CUSTOM; diff --git a/patches/server/0226-Shift-right-click-to-use-exp-for-mending.patch b/patches/server/0226-Shift-right-click-to-use-exp-for-mending.patch index e7f791527..5d0013853 100644 --- a/patches/server/0226-Shift-right-click-to-use-exp-for-mending.patch +++ b/patches/server/0226-Shift-right-click-to-use-exp-for-mending.patch @@ -36,10 +36,10 @@ index 5204b8157a45468a314bbcd2703896b9316128ac..4fb8ced22cb9f106fbe39ca233a844a7 + // 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 70b9a030a93946a1298ee9594fdd5217ef5a6bca..1c91159b2909d302c35ee8f074295bada7e50c36 100644 +index a0e784c3f58e1b335d5a12a20e7079be9069dd62..03e9478ca06ce6327bcaa49e897a088ca6c6f467 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -1997,6 +1997,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -1998,6 +1998,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser boolean cancelled; if (movingobjectposition == null || movingobjectposition.getType() != HitResult.Type.BLOCK) { diff --git a/patches/server/0237-Signs-allow-color-codes.patch b/patches/server/0237-Signs-allow-color-codes.patch index caab0f16b..5d926c6fb 100644 --- a/patches/server/0237-Signs-allow-color-codes.patch +++ b/patches/server/0237-Signs-allow-color-codes.patch @@ -5,7 +5,7 @@ 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 fb213ef136c6aff278426ade1ecd301407980016..f4aef2553bc50669772c27b3423706776fc92bcc 100644 +index 758a8dee43ae85bfb239de6f1749dbb3e0e3cbfd..8dddae2edeb4b586b94a9f4131acbe53c5105170 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -1510,6 +1510,7 @@ public class ServerPlayer extends Player { @@ -17,10 +17,10 @@ index fb213ef136c6aff278426ade1ecd301407980016..f4aef2553bc50669772c27b342370677 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 e93dea51a27bf58560a9be7f0a5f3b68fd6cc51c..acd2277505b7f49caa991064c1a46ca6465d779d 100644 +index 03e9478ca06ce6327bcaa49e897a088ca6c6f467..69e64c1c24076c4929f824a1d282a221bb0a005c 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -3380,11 +3380,17 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -3381,11 +3381,17 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser for (int i = 0; i < signText.size(); ++i) { FilteredText filteredtext = (signText.get(i)).map(Component::literal); // CraftBukkit - decompile error @@ -42,7 +42,7 @@ index e93dea51a27bf58560a9be7f0a5f3b68fd6cc51c..acd2277505b7f49caa991064c1a46ca6 SignChangeEvent event = new SignChangeEvent((org.bukkit.craftbukkit.block.CraftBlock) player.getWorld().getBlockAt(x, y, z), this.player.getBukkitEntity(), lines); this.cserver.getPluginManager().callEvent(event); diff --git a/src/main/java/net/minecraft/world/level/block/entity/SignBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/SignBlockEntity.java -index 517f9c6df4427f21ebac17a298a57e28d53e6fd0..3dfd00e65b8c42d0823b754031bb6028e25c24ff 100644 +index 6c96c3dde4e1b1b1b6952841edb41006e73737e9..c02cf76cce353aff189b3e0a967e88f7b15d1b1f 100644 --- a/src/main/java/net/minecraft/world/level/block/entity/SignBlockEntity.java +++ b/src/main/java/net/minecraft/world/level/block/entity/SignBlockEntity.java @@ -184,6 +184,23 @@ public class SignBlockEntity extends BlockEntity implements CommandSource { // C diff --git a/patches/server/0271-Stonecutter-damage.patch b/patches/server/0271-Stonecutter-damage.patch index 51e895279..04acf5faa 100644 --- a/patches/server/0271-Stonecutter-damage.patch +++ b/patches/server/0271-Stonecutter-damage.patch @@ -65,10 +65,10 @@ index 444bec169c0cd5fe1a23f1d14fae1a10ca3d67c4..6b6093608e3fe97e72a1db5ad2a95b28 } else if (blockState.is(Blocks.HONEY_BLOCK)) { return BlockPathTypes.STICKY_HONEY; diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 8f77f17fc8e2ce8e877b050e08fdc024e4e21184..5ab4a37fcdd74924e70f8de1ffafdb231e1ab317 100644 +index 019e095647225f3d61f0759c8787171a45acdaca..13a5d4338ca2a9ea9a9c520687bc1d5bfac91dea 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -@@ -1052,6 +1052,10 @@ public class CraftEventFactory { +@@ -1054,6 +1054,10 @@ public class CraftEventFactory { cause = DamageCause.MAGIC; } else if (source == DamageSource.IN_FIRE) { cause = DamageCause.FIRE;