From 1fd37bdec4c60365eadc6c11917e004359b76e41 Mon Sep 17 00:00:00 2001 From: Encode42 Date: Fri, 10 Dec 2021 16:04:19 -0500 Subject: [PATCH] Updated Upstream (Paper) Upstream has released updates that appear to apply and compile correctly Paper Changes: PaperMC/Paper@1c779c2 Update to 1.18.1 (#7076) PaperMC/Paper@901fd94 [ci skip] Update README --- gradle.properties | 6 +++--- patches/server/0003-Purpur-config-files.patch | 4 ++-- patches/server/0004-Purpur-client-support.patch | 8 ++++---- patches/server/0006-Ridables.patch | 8 ++++---- patches/server/0011-AFK-API.patch | 16 ++++++++-------- .../server/0018-Player-invulnerabilities.patch | 8 ++++---- .../0021-Alternative-Keepalive-Handling.patch | 6 +++--- .../0026-Disable-outdated-build-check.patch | 4 ++-- .../0028-Zombie-horse-naturally-spawn.patch | 6 +++--- ...ding-mends-most-damages-equipment-first.patch | 4 ++-- .../server/0067-Implement-elytra-settings.patch | 6 +++--- patches/server/0068-Item-entity-immunities.patch | 4 ++-- .../server/0078-Allow-color-codes-in-books.patch | 10 +++++----- ...-toggling-special-MobSpawners-per-world.patch | 12 ++++++------ .../0105-Configurable-daylight-cycle.patch | 12 ++++++------ .../server/0129-PlayerBookTooLargeEvent.patch | 6 +++--- patches/server/0142-Dont-run-with-scissors.patch | 8 ++++---- .../server/0155-Config-for-skipping-night.patch | 6 +++--- ...163-Config-to-allow-for-unsafe-enchants.patch | 4 ++-- ...7-Bee-can-work-when-raining-or-at-night.patch | 6 +++--- ...4-Make-lightning-rod-range-configurable.patch | 4 ++-- .../0207-Store-placer-on-Block-when-placed.patch | 6 +++--- ...ustomizable-sleeping-actionbar-messages.patch | 4 ++-- ...f-rain-and-thunder-should-stop-on-sleep.patch | 6 +++--- ...hift-right-click-to-use-exp-for-mending.patch | 4 ++-- .../server/0244-Signs-allow-color-codes.patch | 4 ++-- 26 files changed, 86 insertions(+), 86 deletions(-) diff --git a/gradle.properties b/gradle.properties index 8e25bf2a9..1d2f2dd40 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,10 +1,10 @@ group = org.purpurmc.purpur -version = 1.18-R0.1-SNAPSHOT +version = 1.18.1-R0.1-SNAPSHOT -mcVersion = 1.18 +mcVersion = 1.18.1 packageVersion = 1_18_R1 -paperCommit = dce79f333c1f3f60335163d8fe1050d424722a92 +paperCommit = 901fd942f6f0cb69face80c30dc806da90670a7e org.gradle.caching = true org.gradle.parallel = true diff --git a/patches/server/0003-Purpur-config-files.patch b/patches/server/0003-Purpur-config-files.patch index 1a55c0ce4..502285457 100644 --- a/patches/server/0003-Purpur-config-files.patch +++ b/patches/server/0003-Purpur-config-files.patch @@ -153,10 +153,10 @@ index 310c3e1590465412af6905eab33193c6bf5e5e47..549577e31840ce5f32adb2c0909b915d public void restart() { org.spigotmc.RestartCommand.restart(); diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java -index deb33456b5b194a662cbdbacf17752c87f2cecaf..8806d26c8d121194dbb8b71edc92e6782a5ea2bb 100644 +index 55bae3efbc630be6d40d415509de4c3e744a5004..9d649923e28f4839106b336fce41bd3f4114faae 100644 --- a/src/main/java/org/bukkit/craftbukkit/Main.java +++ b/src/main/java/org/bukkit/craftbukkit/Main.java -@@ -155,6 +155,14 @@ public class Main { +@@ -153,6 +153,14 @@ public class Main { .describedAs("Jar file"); // Paper end diff --git a/patches/server/0004-Purpur-client-support.patch b/patches/server/0004-Purpur-client-support.patch index 4370303a1..246d0f178 100644 --- a/patches/server/0004-Purpur-client-support.patch +++ b/patches/server/0004-Purpur-client-support.patch @@ -5,7 +5,7 @@ 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 e0beb35868a564dbcc0369d0a56b94642a23436a..08cb39a9af8adbd048a91a7cfa76863c7b1a13af 100644 +index 7b23535a680d2a8534dcb8dd87770f66fb982c13..4b842e78d3e8fbca90f5f3d975bee654ec87d91d 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -254,6 +254,7 @@ public class ServerPlayer extends Player { @@ -17,10 +17,10 @@ index e0beb35868a564dbcc0369d0a56b94642a23436a..08cb39a9af8adbd048a91a7cfa76863c 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 eb7ac0b2a774dc7348eb2a94cc6c61792b47dd1d..93a49a423731b31b42e0d240e71f9fecb9ec3c18 100644 +index 057fcbc389e54e0c9f7a90a3e8b965cd46db9d58..7de5cf6d7ebd0ab14f1478d466cf53932bb62565 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -3124,6 +3124,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -3125,6 +3125,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 eb7ac0b2a774dc7348eb2a94cc6c61792b47dd1d..93a49a423731b31b42e0d240e71f9fec @Override public void handleCustomPayload(ServerboundCustomPayloadPacket packet) { -@@ -3148,6 +3149,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -3149,6 +3150,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/0006-Ridables.patch b/patches/server/0006-Ridables.patch index 0a1ab47a5..a48f8dce8 100644 --- a/patches/server/0006-Ridables.patch +++ b/patches/server/0006-Ridables.patch @@ -34,10 +34,10 @@ index 7ad6b7b3094156477570b738026d88cb0f0f4f9e..973ea150c2f8ac136736b4ae9f505491 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 a770b5abc7fc66b6de9f17dde192447686e70f4a..3035f1d357248f25c01ae8e20ca689bfa4130d80 100644 +index 28f605c3daa969c1a54745e552d55ecb874120a9..f7cfc6d5ad13dba64c2350fe3fac7f31471e8642 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java -@@ -208,6 +208,7 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -211,6 +211,7 @@ public class ServerLevel extends Level implements WorldGenLevel { public final UUID uuid; public boolean hasPhysicsEvent = true; // Paper public boolean hasEntityMoveEvent = false; // Paper @@ -73,10 +73,10 @@ index c516ad43cac2419bcf63e11eaa183785b462de5c..618595add09eef5381307ba2fe154adf + } diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 0ecae30242ce098267832633ed8cd28aedcd908d..104601ee18e9bbc4c89d33d58193d0c3799ffd56 100644 +index 7de5cf6d7ebd0ab14f1478d466cf53932bb62565..7aebd080238d7d0f789468c900e15a18f8cfb128 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2435,6 +2435,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -2436,6 +2436,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser ServerGamePacketListenerImpl.this.cserver.getPluginManager().callEvent(event); diff --git a/patches/server/0011-AFK-API.patch b/patches/server/0011-AFK-API.patch index 6358ee079..f2d2b54ff 100644 --- a/patches/server/0011-AFK-API.patch +++ b/patches/server/0011-AFK-API.patch @@ -5,7 +5,7 @@ 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 493c0540c02075d081a5ce404e480625632bd1a4..5a52828ea9fd29511f648243da8c46bc1a391434 100644 +index 618595add09eef5381307ba2fe154adfc97b2a0e..100d01814aca6cbb26c721f55851df27dc654880 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -1969,8 +1969,58 @@ public class ServerPlayer extends Player { @@ -68,10 +68,10 @@ index 493c0540c02075d081a5ce404e480625632bd1a4..5a52828ea9fd29511f648243da8c46bc 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 cbca17bc6890319fd8df725e53626b7a1e9c4576..ea3eaa94e853d7d5fd9f220fda6455117fe8697d 100644 +index 7aebd080238d7d0f789468c900e15a18f8cfb128..c170d014dc21d2ea94097a4d9c200bcac3896b62 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -293,6 +293,20 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -294,6 +294,20 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser private boolean justTeleported = false; private boolean hasMoved; // Spigot @@ -92,7 +92,7 @@ index cbca17bc6890319fd8df725e53626b7a1e9c4576..ea3eaa94e853d7d5fd9f220fda645511 public CraftPlayer getCraftPlayer() { return (this.player == null) ? null : (CraftPlayer) this.player.getBukkitEntity(); } -@@ -389,6 +403,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -390,6 +404,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 cbca17bc6890319fd8df725e53626b7a1e9c4576..ea3eaa94e853d7d5fd9f220fda645511 this.player.resetLastActionTime(); // CraftBukkit - SPIGOT-854 this.disconnect(new TranslatableComponent("multiplayer.disconnect.idling"), org.bukkit.event.player.PlayerKickEvent.Cause.IDLING); // Paper - kick event cause } -@@ -661,6 +681,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -662,6 +682,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser this.lastYaw = to.getYaw(); this.lastPitch = to.getPitch(); @@ -114,7 +114,7 @@ index cbca17bc6890319fd8df725e53626b7a1e9c4576..ea3eaa94e853d7d5fd9f220fda645511 // Skip the first time we do this if (true) { // Spigot - don't skip any move events Location oldTo = to.clone(); -@@ -1424,7 +1446,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -1425,7 +1447,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 flag1 = true; // Paper - diff on change, this should be moved wrongly @@ -123,7 +123,7 @@ index cbca17bc6890319fd8df725e53626b7a1e9c4576..ea3eaa94e853d7d5fd9f220fda645511 } this.player.absMoveTo(d0, d1, d2, f, f1); -@@ -1474,6 +1496,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -1475,6 +1497,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser this.lastYaw = to.getYaw(); this.lastPitch = to.getPitch(); @@ -276,7 +276,7 @@ index a596ac346cfbfcb428e995a97d55b74ae8caf87b..0a6de8a3761c3c16b4ff1fb35db5d20a private static void timingsSettings() { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index aa9a7f5cbc5d20192455d0f241a0703f46404ed8..95fd221fab18105fdf3082b48b9cbcc947089a03 100644 +index c250faf84817f67dea7f088fa2530be82fcf7688..3fdd013d88e1c4ef62b277ed71a3531e2db8253f 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -94,6 +94,24 @@ public class PurpurWorldConfig { diff --git a/patches/server/0018-Player-invulnerabilities.patch b/patches/server/0018-Player-invulnerabilities.patch index 5c3eac8c8..85ab120b6 100644 --- a/patches/server/0018-Player-invulnerabilities.patch +++ b/patches/server/0018-Player-invulnerabilities.patch @@ -5,7 +5,7 @@ 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 5a52828ea9fd29511f648243da8c46bc1a391434..3fc8b066d7f9ef807ad6a26df86abc40b1b81937 100644 +index 100d01814aca6cbb26c721f55851df27dc654880..7d8853191eadf5f5d909dcc0269740d6b5e64b8d 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -255,6 +255,7 @@ public class ServerPlayer extends Player { @@ -82,10 +82,10 @@ index 5a52828ea9fd29511f648243da8c46bc1a391434..3fc8b066d7f9ef807ad6a26df86abc40 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 ea3eaa94e853d7d5fd9f220fda6455117fe8697d..41690c6cd2cb787b3c075dcfd9400e711ce8e561 100644 +index c170d014dc21d2ea94097a4d9c200bcac3896b62..072a34d8f8a075f22c14634acd0dd50ec57b773c 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -1945,12 +1945,21 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -1946,12 +1946,21 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser @Override public void handleResourcePackResponse(ServerboundResourcePackPacket packet) { PacketUtils.ensureRunningOnSameThread(packet, this, this.player.getLevel()); @@ -146,7 +146,7 @@ index db49d331e76a0c86515cb06caba8d6e1853c77f4..e251821c59a2a07dc6e1b3f984641a0e // Purpur end } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 95fd221fab18105fdf3082b48b9cbcc947089a03..c97b56182233da2e366d092ae60c6a56e09e6e6d 100644 +index 3fdd013d88e1c4ef62b277ed71a3531e2db8253f..e5ba1b21c18c07297b69d1f8b1cb34cdb15135b2 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -99,6 +99,8 @@ public class PurpurWorldConfig { diff --git a/patches/server/0021-Alternative-Keepalive-Handling.patch b/patches/server/0021-Alternative-Keepalive-Handling.patch index 6d28c09f8..8c9b1025b 100644 --- a/patches/server/0021-Alternative-Keepalive-Handling.patch +++ b/patches/server/0021-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 41690c6cd2cb787b3c075dcfd9400e711ce8e561..e2975169d6987c3434064c12c62fa70e432a5e91 100644 +index 072a34d8f8a075f22c14634acd0dd50ec57b773c..c2e849f37c03839631f621065bf52b4c649e06c5 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -227,6 +227,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser @@ -16,7 +16,7 @@ index 41690c6cd2cb787b3c075dcfd9400e711ce8e561..e2975169d6987c3434064c12c62fa70e // 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 -@@ -371,6 +372,21 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -372,6 +373,21 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser long currentTime = Util.getMillis(); long elapsedTime = currentTime - this.keepAliveTime; @@ -38,7 +38,7 @@ index 41690c6cd2cb787b3c075dcfd9400e711ce8e561..e2975169d6987c3434064c12c62fa70e 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 -@@ -3116,6 +3132,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -3117,6 +3133,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser @Override public void handleKeepAlive(ServerboundKeepAlivePacket packet) { diff --git a/patches/server/0026-Disable-outdated-build-check.patch b/patches/server/0026-Disable-outdated-build-check.patch index e92c42dcc..358a8cab7 100644 --- a/patches/server/0026-Disable-outdated-build-check.patch +++ b/patches/server/0026-Disable-outdated-build-check.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Disable outdated build check diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java -index 8806d26c8d121194dbb8b71edc92e6782a5ea2bb..51c2e0e71a7b69835453c48911fc2be9f2323b7f 100644 +index 9d649923e28f4839106b336fce41bd3f4114faae..6f14a1b26e92d0170538ed60c6a651a031e7209e 100644 --- a/src/main/java/org/bukkit/craftbukkit/Main.java +++ b/src/main/java/org/bukkit/craftbukkit/Main.java -@@ -271,7 +271,7 @@ public class Main { +@@ -269,7 +269,7 @@ public class Main { System.setProperty(TerminalConsoleAppender.JLINE_OVERRIDE_PROPERTY, "false"); // Paper } diff --git a/patches/server/0028-Zombie-horse-naturally-spawn.patch b/patches/server/0028-Zombie-horse-naturally-spawn.patch index 6b94a1106..16e35353e 100644 --- a/patches/server/0028-Zombie-horse-naturally-spawn.patch +++ b/patches/server/0028-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 338fa80f3fde1918b8ccf23c017d386719d7ead8..963c249f2bcf2a264c9e4cd0961f11bb08f54d12 100644 +index f7cfc6d5ad13dba64c2350fe3fac7f31471e8642..ba095685ec775cb5a7ac9a5b7b0a91797f87b087 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java -@@ -747,9 +747,15 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -750,9 +750,15 @@ public class ServerLevel extends Level implements WorldGenLevel { boolean flag1 = this.getGameRules().getBoolean(GameRules.RULE_DOMOBSPAWNING) && this.random.nextDouble() < (double) difficultydamagescaler.getEffectiveDifficulty() * paperConfig.skeleHorseSpawnChance && !this.getBlockState(blockposition.below()).is(Blocks.LIGHTNING_ROD); // Paper if (flag1) { @@ -28,7 +28,7 @@ index 338fa80f3fde1918b8ccf23c017d386719d7ead8..963c249f2bcf2a264c9e4cd0961f11bb entityhorseskeleton.setPos((double) blockposition.getX(), (double) blockposition.getY(), (double) blockposition.getZ()); this.addFreshEntity(entityhorseskeleton, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.LIGHTNING); // CraftBukkit diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 01c33f5021905736b05fc33c268e42e4e82c2863..9db45abd1963ae7f48fe06f29fc4e3bf9e2cd983 100644 +index 2e4c26c580739696300eb3b986d3a23435d45b7e..db70f6b9f36810fd6bf3f6a801d7ea605ba423fb 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -1266,6 +1266,7 @@ public class PurpurWorldConfig { diff --git a/patches/server/0065-Mending-mends-most-damages-equipment-first.patch b/patches/server/0065-Mending-mends-most-damages-equipment-first.patch index fdad67c3d..815bdd7c3 100644 --- a/patches/server/0065-Mending-mends-most-damages-equipment-first.patch +++ b/patches/server/0065-Mending-mends-most-damages-equipment-first.patch @@ -18,10 +18,10 @@ index 8be7a3527018f9f6ecb91576c928c255b3089342..68072fae050fb83735725f3dc2525bfc if (entry != null) { ItemStack itemstack = (ItemStack) entry.getValue(); diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java -index f9b7292c2eb2588c9769fcd8f56cc8da5259e7ce..fd973d153a47a5911df7fdb183d7c9851cba1175 100644 +index 66f808cabcf6a9a6584849b285f1c60133adc7b4..2238fb40af8c95494b0aec84a5a24cdbf4165da6 100644 --- a/src/main/java/net/minecraft/world/item/ItemStack.java +++ b/src/main/java/net/minecraft/world/item/ItemStack.java -@@ -514,6 +514,16 @@ public final class ItemStack { +@@ -513,6 +513,16 @@ public final class ItemStack { return this.isDamageableItem() && this.getDamageValue() > 0; } diff --git a/patches/server/0067-Implement-elytra-settings.patch b/patches/server/0067-Implement-elytra-settings.patch index 11dff407e..1ca3b595e 100644 --- a/patches/server/0067-Implement-elytra-settings.patch +++ b/patches/server/0067-Implement-elytra-settings.patch @@ -54,10 +54,10 @@ index 543a08f920319a2547258640bafebb1e70af65c4..dd211aa7c4ef1e158933a89898b9e5bc itemStack.shrink(1); } else ((net.minecraft.server.level.ServerPlayer) user).getBukkitEntity().updateInventory(); diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java -index fd973d153a47a5911df7fdb183d7c9851cba1175..03c7746f3ab9212dec455d05c45c687645cdd9af 100644 +index 2238fb40af8c95494b0aec84a5a24cdbf4165da6..31ac7e1e5cc37cd9abf0ffd0bab1402f51bffed9 100644 --- a/src/main/java/net/minecraft/world/item/ItemStack.java +++ b/src/main/java/net/minecraft/world/item/ItemStack.java -@@ -543,7 +543,7 @@ public final class ItemStack { +@@ -542,7 +542,7 @@ public final class ItemStack { int j; if (amount > 0) { @@ -66,7 +66,7 @@ index fd973d153a47a5911df7fdb183d7c9851cba1175..03c7746f3ab9212dec455d05c45c6876 int k = 0; for (int l = 0; j > 0 && l < amount; ++l) { -@@ -597,6 +597,12 @@ public final class ItemStack { +@@ -596,6 +596,12 @@ public final class ItemStack { if (this.hurt(amount, entity.getRandom(), entity /*instanceof ServerPlayer ? (ServerPlayer) entity : null*/)) { // Paper - pass LivingEntity for EntityItemDamageEvent breakCallback.accept(entity); Item item = this.getItem(); diff --git a/patches/server/0068-Item-entity-immunities.patch b/patches/server/0068-Item-entity-immunities.patch index 70aa7b3a9..82ec4f166 100644 --- a/patches/server/0068-Item-entity-immunities.patch +++ b/patches/server/0068-Item-entity-immunities.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Item entity immunities diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java -index d8d1b8cd0104f1c916de443af291ec36988405c2..281f8e451af47f3155c7fc86bceb0c1df11e5394 100644 +index 0e474819c506e6d5e1731d49610c7cf472aa49c4..7f082df75ed430dafd45e2d42b9def901b002bc7 100644 --- a/src/main/java/net/minecraft/server/level/ChunkMap.java +++ b/src/main/java/net/minecraft/server/level/ChunkMap.java -@@ -2255,7 +2255,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider +@@ -2215,7 +2215,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider public class TrackedEntity { diff --git a/patches/server/0078-Allow-color-codes-in-books.patch b/patches/server/0078-Allow-color-codes-in-books.patch index 593610307..14ec3b92f 100644 --- a/patches/server/0078-Allow-color-codes-in-books.patch +++ b/patches/server/0078-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 e2975169d6987c3434064c12c62fa70e432a5e91..b754eda13b99ddc529ef62bf591dd35758c346d0 100644 +index c2e849f37c03839631f621065bf52b4c649e06c5..449f28ae5b6a3572c35d3fe4647ab2b7cf44662b 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -1218,13 +1218,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -1219,13 +1219,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser itemstack1.setTag(nbttagcompound.copy()); } @@ -28,7 +28,7 @@ index e2975169d6987c3434064c12c62fa70e432a5e91..b754eda13b99ddc529ef62bf591dd357 this.updateBookPages(pages, (s) -> { return Component.Serializer.toJson(new TextComponent(s)); -@@ -1236,10 +1239,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -1237,10 +1240,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser private void updateBookPages(List list, UnaryOperator unaryoperator, ItemStack itemstack, int slot, ItemStack handItem) { // CraftBukkit ListTag nbttaglist = new ListTag(); @@ -44,7 +44,7 @@ index e2975169d6987c3434064c12c62fa70e432a5e91..b754eda13b99ddc529ef62bf591dd357 Objects.requireNonNull(nbttaglist); stream.forEach(nbttaglist::add); -@@ -1249,10 +1255,10 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -1250,10 +1256,10 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser for (int j = list.size(); i < j; ++i) { TextFilter.FilteredText itextfilter_a = (TextFilter.FilteredText) list.get(i); @@ -57,7 +57,7 @@ index e2975169d6987c3434064c12c62fa70e432a5e91..b754eda13b99ddc529ef62bf591dd357 if (!s.equals(s1)) { nbttagcompound.putString(String.valueOf(i), (String) unaryoperator.apply(s1)); -@@ -1268,6 +1274,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -1269,6 +1275,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/0097-Allow-toggling-special-MobSpawners-per-world.patch b/patches/server/0097-Allow-toggling-special-MobSpawners-per-world.patch index d0dae6996..2eb319bd0 100644 --- a/patches/server/0097-Allow-toggling-special-MobSpawners-per-world.patch +++ b/patches/server/0097-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 963c249f2bcf2a264c9e4cd0961f11bb08f54d12..7c84f20ce15525c4b8af4f03e3d67af08f8e1a03 100644 +index ba095685ec775cb5a7ac9a5b7b0a91797f87b087..e0d2446a3e203a8980f2b4a8d45f677f5d7a7698 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java -@@ -81,6 +81,7 @@ import net.minecraft.world.entity.MobCategory; +@@ -83,6 +83,7 @@ import net.minecraft.world.entity.MobCategory; import net.minecraft.world.entity.ReputationEventHandler; import net.minecraft.world.entity.ai.navigation.PathNavigation; import net.minecraft.world.entity.ai.village.ReputationEventType; @@ -17,7 +17,7 @@ index 963c249f2bcf2a264c9e4cd0961f11bb08f54d12..7c84f20ce15525c4b8af4f03e3d67af0 import net.minecraft.world.entity.ai.village.poi.PoiManager; import net.minecraft.world.entity.ai.village.poi.PoiType; import net.minecraft.world.entity.animal.Animal; -@@ -88,7 +89,9 @@ import net.minecraft.world.entity.animal.WaterAnimal; +@@ -90,7 +91,9 @@ import net.minecraft.world.entity.animal.WaterAnimal; import net.minecraft.world.entity.animal.horse.SkeletonHorse; import net.minecraft.world.entity.boss.EnderDragonPart; import net.minecraft.world.entity.boss.enderdragon.EnderDragon; @@ -27,7 +27,7 @@ index 963c249f2bcf2a264c9e4cd0961f11bb08f54d12..7c84f20ce15525c4b8af4f03e3d67af0 import net.minecraft.world.entity.player.Player; import net.minecraft.world.entity.raid.Raid; import net.minecraft.world.entity.raid.Raids; -@@ -127,6 +130,8 @@ import net.minecraft.world.level.gameevent.GameEvent; +@@ -129,6 +132,8 @@ import net.minecraft.world.level.gameevent.GameEvent; import net.minecraft.world.level.gameevent.GameEventListenerRegistrar; import net.minecraft.world.level.gameevent.vibrations.VibrationPath; import net.minecraft.world.level.levelgen.Heightmap; @@ -36,7 +36,7 @@ index 963c249f2bcf2a264c9e4cd0961f11bb08f54d12..7c84f20ce15525c4b8af4f03e3d67af0 import net.minecraft.world.level.levelgen.feature.StructureFeature; import net.minecraft.world.level.levelgen.structure.BoundingBox; import net.minecraft.world.level.levelgen.structure.StructureCheck; -@@ -493,7 +498,24 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -496,7 +501,24 @@ public class ServerLevel extends Level implements WorldGenLevel { this.dragonParts = new Int2ObjectOpenHashMap(); this.tickTime = flag1; this.server = minecraftserver; @@ -94,7 +94,7 @@ index 323eea2bccacfcc85849b5d82c2b30d991e0c0d8..bb5918ff947eb4cc4d0c964b2a8a9166 if (NaturalSpawner.isSpawnPositionOk(SpawnPlacements.Type.ON_GROUND, world, blockposition2, EntityType.WANDERING_TRADER)) { blockposition1 = blockposition2; diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 6f8dcbaf5bd02b6ce1e613e69b51e29a1c891867..2a140b22698de57254978178cd5609bf6b63fb5d 100644 +index 60a56e14f11d064c1f24bfba2438d32444bf55ca..4d58a0e5911478e51d8046e3abf222694eab6b4c 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -73,6 +73,12 @@ public class PurpurWorldConfig { diff --git a/patches/server/0105-Configurable-daylight-cycle.patch b/patches/server/0105-Configurable-daylight-cycle.patch index 7839cbd9f..e01e429d1 100644 --- a/patches/server/0105-Configurable-daylight-cycle.patch +++ b/patches/server/0105-Configurable-daylight-cycle.patch @@ -18,10 +18,10 @@ index 689ad22925b2561f7c8db961743eb1f821dbb25f..fa3c960992cc240161817e54659d83fe public ClientboundSetTimePacket(long time, long timeOfDay, boolean doDaylightCycle) { this.gameTime = time % 192000; // Paper - fix guardian beam diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index 7c84f20ce15525c4b8af4f03e3d67af08f8e1a03..da197e74b1a7b5831b98628198879dd7fdeff074 100644 +index e0d2446a3e203a8980f2b4a8d45f677f5d7a7698..6742a56db677f46004ea8c54e724bc5f2c8b4e00 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java -@@ -203,6 +203,7 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -206,6 +206,7 @@ public class ServerLevel extends Level implements WorldGenLevel { private final StructureFeatureManager structureFeatureManager; private final StructureCheck structureCheck; private final boolean tickTime; @@ -29,7 +29,7 @@ index 7c84f20ce15525c4b8af4f03e3d67af08f8e1a03..da197e74b1a7b5831b98628198879dd7 // Paper start - execute chunk tasks mid tick public long lastMidTickExecuteFailure; // Paper end - execute chunk tasks mid tick -@@ -564,6 +565,7 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -567,6 +568,7 @@ public class ServerLevel extends Level implements WorldGenLevel { this.getCraftServer().addWorld(this.getWorld()); // CraftBukkit this.asyncChunkTaskManager = new com.destroystokyo.paper.io.chunk.ChunkTaskManager(this); // Paper @@ -37,7 +37,7 @@ index 7c84f20ce15525c4b8af4f03e3d67af08f8e1a03..da197e74b1a7b5831b98628198879dd7 } public void setWeatherParameters(int clearDuration, int rainDuration, boolean raining, boolean thundering) { -@@ -716,6 +718,18 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -719,6 +721,18 @@ 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)) { @@ -56,7 +56,7 @@ index 7c84f20ce15525c4b8af4f03e3d67af08f8e1a03..da197e74b1a7b5831b98628198879dd7 this.setDayTime(this.levelData.getDayTime() + 1L); } -@@ -724,6 +738,12 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -727,6 +741,12 @@ public class ServerLevel extends Level implements WorldGenLevel { public void setDayTime(long timeOfDay) { this.serverLevelData.setDayTime(timeOfDay); @@ -70,7 +70,7 @@ index 7c84f20ce15525c4b8af4f03e3d67af08f8e1a03..da197e74b1a7b5831b98628198879dd7 public void tickCustomSpawners(boolean spawnMonsters, boolean spawnAnimals) { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index eed7ae9bc36120e05a48c5f1c1ef61c101b720ef..41cd7abb09259eedfb8ea21d273b0cbb6d6ae35e 100644 +index 166d0a44bb5e9f690c740fb278a49471507de8f3..bc7753f9d7b2c6833916a7a7aef97e920a73bac9 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -105,6 +105,13 @@ public class PurpurWorldConfig { diff --git a/patches/server/0129-PlayerBookTooLargeEvent.patch b/patches/server/0129-PlayerBookTooLargeEvent.patch index 390098e6c..a7de76713 100644 --- a/patches/server/0129-PlayerBookTooLargeEvent.patch +++ b/patches/server/0129-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 b754eda13b99ddc529ef62bf591dd35758c346d0..5404735daf4d914d6981bc3c0ebafe087f8b6f37 100644 +index 449f28ae5b6a3572c35d3fe4647ab2b7cf44662b..6d8a12b0d568f87ea7d8e38ba75e0544db5078e9 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -1140,10 +1140,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -1141,10 +1141,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser int maxBookPageSize = com.destroystokyo.paper.PaperConfig.maxBookPageSize; double multiplier = Math.max(0.3D, Math.min(1D, com.destroystokyo.paper.PaperConfig.maxBookTotalSizeMultiplier)); long byteAllowed = maxBookPageSize; @@ -21,7 +21,7 @@ index b754eda13b99ddc529ef62bf591dd35758c346d0..5404735daf4d914d6981bc3c0ebafe08 server.scheduleOnMain(() -> this.disconnect("Book too large!", org.bukkit.event.player.PlayerKickEvent.Cause.ILLEGAL_ACTION)); // Paper - kick event cause return; } -@@ -1167,6 +1169,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -1168,6 +1170,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/0142-Dont-run-with-scissors.patch b/patches/server/0142-Dont-run-with-scissors.patch index 455302d8c..38b65122d 100644 --- a/patches/server/0142-Dont-run-with-scissors.patch +++ b/patches/server/0142-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 5404735daf4d914d6981bc3c0ebafe087f8b6f37..2380bab916cf628c928675229db0bbae76db92e2 100644 +index 6d8a12b0d568f87ea7d8e38ba75e0544db5078e9..6772febede955704eba60d4e3a0ca4b60485e4ad 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -1573,6 +1573,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -1574,6 +1574,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser this.player.resetFallDistance(); } @@ -22,7 +22,7 @@ index 5404735daf4d914d6981bc3c0ebafe087f8b6f37..2380bab916cf628c928675229db0bbae 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(); -@@ -1606,6 +1613,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -1607,6 +1614,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser } // Paper end - optimise out extra getCubes @@ -56,7 +56,7 @@ index 600b9e9bc6a9c92920c8ec28764e64dfc1fd6e3f..47eb362ba73bb20e738af6dea60e86ff public static String serverModName = "Purpur"; diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 2088887b61bfc02e1d00e645682879123df30e68..a34471e1164803565a4746284da4a75aa10274e8 100644 +index 088415ebd74e75a2e6917adb97e23e019c07f294..71a8f7960bc60626d88dc0e258d47db41c7b8cb8 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -157,6 +157,8 @@ public class PurpurWorldConfig { diff --git a/patches/server/0155-Config-for-skipping-night.patch b/patches/server/0155-Config-for-skipping-night.patch index 3088eac30..a5a194f40 100644 --- a/patches/server/0155-Config-for-skipping-night.patch +++ b/patches/server/0155-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 1719f7ad18dfa054dc8c73f184baabb361160175..f4f87fb9ce5ebdb44ae4568c4b0d151f5c108fee 100644 +index 6742a56db677f46004ea8c54e724bc5f2c8b4e00..95a2455f53d2615bdc0e7eb8b5366f9a3e369cf5 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java -@@ -604,7 +604,7 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -607,7 +607,7 @@ public class ServerLevel extends Level implements WorldGenLevel { int i = this.getGameRules().getInt(GameRules.RULE_PLAYERS_SLEEPING_PERCENTAGE); long j; @@ -18,7 +18,7 @@ index 1719f7ad18dfa054dc8c73f184baabb361160175..f4f87fb9ce5ebdb44ae4568c4b0d151f j = this.levelData.getDayTime() + 24000L; TimeSkipEvent event = new TimeSkipEvent(this.getWorld(), TimeSkipEvent.SkipReason.NIGHT_SKIP, (j - j % 24000L) - this.getDayTime()); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index f463c17192b609be4cbd66c8f475f3615cb5bf64..63e74fc0f42e5cfe2cb60434959d4c76e6b76093 100644 +index 0c913fcd0555c7fdfeb4de4186ea1aefd3ee3f36..c636ab51583cd3d62b2080896a91c9188b06f09d 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -312,6 +312,7 @@ public class PurpurWorldConfig { diff --git a/patches/server/0163-Config-to-allow-for-unsafe-enchants.patch b/patches/server/0163-Config-to-allow-for-unsafe-enchants.patch index f7c5b060c..4f95397ed 100644 --- a/patches/server/0163-Config-to-allow-for-unsafe-enchants.patch +++ b/patches/server/0163-Config-to-allow-for-unsafe-enchants.patch @@ -58,10 +58,10 @@ index 69d996fead45bcf9fe5a29727f7f0a7a162cdabe..3f786be9c9efc069a3a1bc457f024213 ((ServerPlayer) player).connection.send(new ClientboundContainerSetDataPacket(containerId, 0, cost.get())); } diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java -index 7ed8ae3a92d631dcfc155790dbc2fdd4a3e39d1c..03271cdffd99ab443904a5d1da05d79c0566cbb4 100644 +index 31ac7e1e5cc37cd9abf0ffd0bab1402f51bffed9..fd8d102ac8e84c4bfe6f4431bd1088b862cff752 100644 --- a/src/main/java/net/minecraft/world/item/ItemStack.java +++ b/src/main/java/net/minecraft/world/item/ItemStack.java -@@ -1149,6 +1149,12 @@ public final class ItemStack { +@@ -1148,6 +1148,12 @@ public final class ItemStack { return this.tag != null && this.tag.contains("Enchantments", 9) ? !this.tag.getList("Enchantments", 10).isEmpty() : false; } diff --git a/patches/server/0187-Bee-can-work-when-raining-or-at-night.patch b/patches/server/0187-Bee-can-work-when-raining-or-at-night.patch index f52d17cfa..8783feb4e 100644 --- a/patches/server/0187-Bee-can-work-when-raining-or-at-night.patch +++ b/patches/server/0187-Bee-can-work-when-raining-or-at-night.patch @@ -18,10 +18,10 @@ index 0f3848287798dcaa57a99b531202e23fe8d05744..9fa2359662079f406ca6204fa06d5dbf return flag && !this.isHiveNearFire(); } else { diff --git a/src/main/java/net/minecraft/world/level/block/entity/BeehiveBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/BeehiveBlockEntity.java -index 2f8e6fb9f811fcfa6b6ed4dd15fcb38f061c8491..5faa6386a5666593f7bfb68dc4f1f303cbe6fda8 100644 +index e5a397ec31cbd3ae85f3c37519811f5869cddc5a..f89729a2dc8b55712fe94d27ad5e8766c0ed7854 100644 --- a/src/main/java/net/minecraft/world/level/block/entity/BeehiveBlockEntity.java +++ b/src/main/java/net/minecraft/world/level/block/entity/BeehiveBlockEntity.java -@@ -197,7 +197,7 @@ public class BeehiveBlockEntity extends BlockEntity { +@@ -202,7 +202,7 @@ public class BeehiveBlockEntity extends BlockEntity { } private static boolean releaseBee(Level world, BlockPos blockposition, BlockState iblockdata, BeehiveBlockEntity.BeeData tileentitybeehive_hivebee, @Nullable List list, BeehiveBlockEntity.BeeReleaseStatus tileentitybeehive_releasestatus, @Nullable BlockPos blockposition1, boolean force) { @@ -31,7 +31,7 @@ index 2f8e6fb9f811fcfa6b6ed4dd15fcb38f061c8491..5faa6386a5666593f7bfb68dc4f1f303 return false; } else { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index c15b2234f3e670990e0ca70054967da349f347eb..361bf78d87631d164b11831a8fc551eaa1a3615b 100644 +index 0bff4ac90f1256bad935d1964d4d365c163beea9..07d2e7c062a1bc1e58de6fb14d4be516818151f8 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -748,6 +748,8 @@ public class PurpurWorldConfig { diff --git a/patches/server/0194-Make-lightning-rod-range-configurable.patch b/patches/server/0194-Make-lightning-rod-range-configurable.patch index f405892a8..7d98b0e55 100644 --- a/patches/server/0194-Make-lightning-rod-range-configurable.patch +++ b/patches/server/0194-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 75301b4bcd62e7091bf164d04f1a517d17643274..56ae23fdd7880dd7ad5ef5be369972f74cf83f08 100644 +index 95a2455f53d2615bdc0e7eb8b5366f9a3e369cf5..2eba2af9bb3fb0aaa9b2f5af6ae5fd207e1db93d 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java -@@ -893,7 +893,7 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -896,7 +896,7 @@ public class ServerLevel extends Level implements WorldGenLevel { return villageplacetype == PoiType.LIGHTNING_ROD; }, (blockposition1) -> { return blockposition1.getY() == this.getLevel().getHeight(Heightmap.Types.WORLD_SURFACE, blockposition1.getX(), blockposition1.getZ()) - 1; diff --git a/patches/server/0207-Store-placer-on-Block-when-placed.patch b/patches/server/0207-Store-placer-on-Block-when-placed.patch index d08dbc92f..0af584ce0 100644 --- a/patches/server/0207-Store-placer-on-Block-when-placed.patch +++ b/patches/server/0207-Store-placer-on-Block-when-placed.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Store placer on Block when placed diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java -index e82f465536a7f99e2dcbc7aeea1d5d2c93807351..5478fb15d9a9e6b916a9f20740205e502b28d77e 100644 +index fd8d102ac8e84c4bfe6f4431bd1088b862cff752..28b1873989293b5e5d05f04a2bacbb9f0f5e5a2b 100644 --- a/src/main/java/net/minecraft/world/item/ItemStack.java +++ b/src/main/java/net/minecraft/world/item/ItemStack.java -@@ -383,6 +383,7 @@ public final class ItemStack { +@@ -382,6 +382,7 @@ public final class ItemStack { world.preventPoiUpdated = true; // CraftBukkit - SPIGOT-5710 for (BlockState blockstate : blocks) { blockstate.update(true, false); @@ -16,7 +16,7 @@ index e82f465536a7f99e2dcbc7aeea1d5d2c93807351..5478fb15d9a9e6b916a9f20740205e50 } world.preventPoiUpdated = false; -@@ -412,6 +413,7 @@ public final class ItemStack { +@@ -411,6 +412,7 @@ public final class ItemStack { if (!(block.getBlock() instanceof BaseEntityBlock)) { // Containers get placed automatically block.getBlock().onPlace(block, world, newblockposition, oldBlock, true, itemactioncontext); // Paper - pass itemactioncontext } diff --git a/patches/server/0209-Customizable-sleeping-actionbar-messages.patch b/patches/server/0209-Customizable-sleeping-actionbar-messages.patch index e0e060989..1feba25cf 100644 --- a/patches/server/0209-Customizable-sleeping-actionbar-messages.patch +++ b/patches/server/0209-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 56ae23fdd7880dd7ad5ef5be369972f74cf83f08..5418cb8489869f5c1881937c7b5a98532fd9991e 100644 +index 2eba2af9bb3fb0aaa9b2f5af6ae5fd207e1db93d..40466cdbd97228662a1eeb3bb08e8172bf344410 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java -@@ -942,11 +942,29 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -945,11 +945,29 @@ 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/0231-Option-for-if-rain-and-thunder-should-stop-on-sleep.patch b/patches/server/0231-Option-for-if-rain-and-thunder-should-stop-on-sleep.patch index 0435cf8ef..f56c55d0f 100644 --- a/patches/server/0231-Option-for-if-rain-and-thunder-should-stop-on-sleep.patch +++ b/patches/server/0231-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 5418cb8489869f5c1881937c7b5a98532fd9991e..fcb4fd7420d7c001c989cd12b35d2857c1fe386b 100644 +index 40466cdbd97228662a1eeb3bb08e8172bf344410..1eed6e330118954796d4d642bd78c896d95eb496 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java -@@ -1103,6 +1103,7 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -1106,6 +1106,7 @@ public class ServerLevel extends Level implements WorldGenLevel { private void resetWeatherCycle() { // CraftBukkit start @@ -16,7 +16,7 @@ index 5418cb8489869f5c1881937c7b5a98532fd9991e..fcb4fd7420d7c001c989cd12b35d2857 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.... -@@ -1110,6 +1111,7 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -1113,6 +1114,7 @@ public class ServerLevel extends Level implements WorldGenLevel { this.serverLevelData.setRainTime(0); } // CraftBukkit end diff --git a/patches/server/0233-Shift-right-click-to-use-exp-for-mending.patch b/patches/server/0233-Shift-right-click-to-use-exp-for-mending.patch index f6566b3b0..1aff8726d 100644 --- a/patches/server/0233-Shift-right-click-to-use-exp-for-mending.patch +++ b/patches/server/0233-Shift-right-click-to-use-exp-for-mending.patch @@ -36,10 +36,10 @@ index 61d0fcaf3c96a2b241b35b2b21104b9fbf403160..c5c7fd414953fb432549e46918fe7e32 + // 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 379b437e45d4ae299118914d3525437d5e3737ff..ae8450fa09cb481d14db81364553d16e542aa182 100644 +index 6772febede955704eba60d4e3a0ca4b60485e4ad..21c27218de3bc6b0397900201e2f7eb124d1163c 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -1941,6 +1941,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -1942,6 +1942,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser boolean cancelled; if (movingobjectposition == null || movingobjectposition.getType() != HitResult.Type.BLOCK) { diff --git a/patches/server/0244-Signs-allow-color-codes.patch b/patches/server/0244-Signs-allow-color-codes.patch index 284a0ae52..fcbf30017 100644 --- a/patches/server/0244-Signs-allow-color-codes.patch +++ b/patches/server/0244-Signs-allow-color-codes.patch @@ -17,10 +17,10 @@ index e2e83d8b39ddb154c0e69b63d5b996644926ac43..a9885f92e0a3494b27376a7a01edbd0e 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 ae8450fa09cb481d14db81364553d16e542aa182..bea4a6d594b1fb266cbbe0a107f1a0a91d6fe682 100644 +index 21c27218de3bc6b0397900201e2f7eb124d1163c..b4d53228dfceecea8b79413806ddba1fb96e819a 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -3139,11 +3139,15 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -3140,11 +3140,15 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser } // Paper end