From a21f907cededc1a0ff925050ee6aecca5d56aa4a Mon Sep 17 00:00:00 2001 From: BillyGalbreath Date: Tue, 1 Feb 2022 07:49:14 -0600 Subject: [PATCH] Updated Upstream (Paper & Pufferfish) Upstream has released updates that appear to apply and compile correctly Paper Changes: PaperMC/Paperr@41263d9 [ci skip] Update paperweight to 1.3.4 PaperMC/Paperr@3109dd8 Updated Upstream (Bukkit/CraftBukkit) (#7428) PaperMC/Paperr@17eb884 Use a CHM for StructureTemplate.Pallete cache PaperMC/Paperr@f79c0da Updated Upstream (Bukkit/CraftBukkit) PaperMC/Paperr@2121aed Rebuild patches Pufferfish Changes: pufferfish-gg/Pufferfishr@9aa81a5 Update Upstream (Paper) pufferfish-gg/Pufferfishr@809bd9f Update Upstream (Paper) pufferfish-gg/Pufferfishr@f053fd3 Update Upstream (Paper) pufferfish-gg/Pufferfishr@5bf8730 Update Upstream (Paper) pufferfish-gg/Pufferfishr@c4a780f Update Upstream (Paper) pufferfish-gg/Pufferfishr@99a590b Fix lightning pufferfish-gg/Pufferfishr@3e75ff0 Updated Upstream (Paper) pufferfish-gg/Pufferfishr@110966e Updated Upstream (Paper) pufferfish-gg/Pufferfishr@b6b58c4 Update Upstream (Paper misc-perf branch) --- build.gradle.kts | 5 +- gradle.properties | 2 +- .../0001-Pufferfish-Server-Changes.patch | 68 +++++++++---------- patches/server/0002-Rebrand.patch | 4 +- .../server/0004-Purpur-client-support.patch | 12 ++-- patches/server/0006-Ridables.patch | 20 +++--- patches/server/0008-Timings-stuff.patch | 8 +-- patches/server/0011-AFK-API.patch | 16 ++--- .../0013-Configurable-server-mod-name.patch | 6 +- .../0018-Player-invulnerabilities.patch | 12 ++-- .../0021-Alternative-Keepalive-Handling.patch | 6 +- .../0028-Zombie-horse-naturally-spawn.patch | 4 +- .../server/0068-Item-entity-immunities.patch | 8 +-- ...-Add-allow-water-in-end-world-option.patch | 6 +- .../0078-Allow-color-codes-in-books.patch | 10 +-- .../0105-Configurable-daylight-cycle.patch | 12 ++-- ...ptimise-player-list-ticksSpread-out-.patch | 6 +- .../server/0129-PlayerBookTooLargeEvent.patch | 6 +- ...0134-Add-EntityTeleportHinderedEvent.patch | 6 +- .../server/0142-Dont-run-with-scissors.patch | 8 +-- .../server/0192-Flying-Fall-Damage-API.patch | 4 +- ...ake-lightning-rod-range-configurable.patch | 6 +- ...omizable-sleeping-actionbar-messages.patch | 6 +- .../0227-Extended-OfflinePlayer-API.patch | 4 +- ...ain-and-thunder-should-stop-on-sleep.patch | 8 +-- ...t-right-click-to-use-exp-for-mending.patch | 6 +- .../server/0242-Signs-allow-color-codes.patch | 8 +-- patches/server/0258-Allow-void-trading.patch | 6 +- ...ont-eat-blocks-in-non-ticking-chunks.patch | 4 +- .../server/0262-Max-joins-per-second.patch | 6 +- 30 files changed, 142 insertions(+), 141 deletions(-) diff --git a/build.gradle.kts b/build.gradle.kts index d74b5b871..eb5a8e3a6 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -4,7 +4,7 @@ plugins { java `maven-publish` id("com.github.johnrengelman.shadow") version "7.1.2" apply false - id("io.papermc.paperweight.patcher") version "1.3.3" + id("io.papermc.paperweight.patcher") version "1.3.4" } repositories { @@ -17,7 +17,7 @@ repositories { } dependencies { - remapper("net.fabricmc:tiny-remapper:0.7.0:fat") + remapper("net.fabricmc:tiny-remapper:0.8.1:fat") decompiler("net.minecraftforge:forgeflower:1.5.498.22") paperclip("io.papermc:paperclip:3.0.2") } @@ -67,6 +67,7 @@ paperweight { decompileRepo.set("https://files.minecraftforge.net/maven/") usePaperUpstream(providers.gradleProperty("paperCommit")) { + url.set(github("pufferfish-gg", "Paper")) withPaperPatcher { apiPatchDir.set(layout.projectDirectory.dir("patches/api")) apiOutputDir.set(layout.projectDirectory.dir("Purpur-API")) diff --git a/gradle.properties b/gradle.properties index d017ada6b..42bc2fc1e 100644 --- a/gradle.properties +++ b/gradle.properties @@ -4,7 +4,7 @@ version = 1.18.1-R0.1-SNAPSHOT mcVersion = 1.18.1 packageVersion = 1_18_R1 -paperCommit = 2e99e5e6771f032bc14eb607ce0186ca4ae050d9 +paperCommit = a3fb6f62a97ec2180b1e85b7026fca4c9f6ac570 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 38f3dee2d..599e08745 100644 --- a/patches/server/0001-Pufferfish-Server-Changes.patch +++ b/patches/server/0001-Pufferfish-Server-Changes.patch @@ -63,10 +63,10 @@ index 028f6a1795ceb99d1760c73b0980238677b4b8bc..0f194168f5fca8eb768bca3ce953f280 "Specification-Title" to "Bukkit", "Specification-Version" to project.version, diff --git a/src/main/java/co/aikar/timings/TimingsExport.java b/src/main/java/co/aikar/timings/TimingsExport.java -index 5e3b7fb2e0b7608610555cd23e7ad25a05883181..26bde1c22363ddbdbe4127d14bae54e17b0d7393 100644 +index 1cb0aae3e0c619a715766e0fa604dfd9a8caefcc..d3bb2a3ead944a89330bbced6812df73d174d061 100644 --- a/src/main/java/co/aikar/timings/TimingsExport.java +++ b/src/main/java/co/aikar/timings/TimingsExport.java -@@ -227,7 +227,8 @@ public class TimingsExport extends Thread { +@@ -231,7 +231,8 @@ public class TimingsExport extends Thread { parent.put("config", createObject( pair("spigot", mapAsJSON(Bukkit.spigot().getSpigotConfig(), null)), pair("bukkit", mapAsJSON(Bukkit.spigot().getBukkitConfig(), null)), @@ -99,7 +99,7 @@ index 218f5bafeed8551b55b91c7fccaf6935c8b631ca..f2fe6ea3719ff8b2913b7a3a939d7a5b metrics.addCustomChart(new Metrics.DrilldownPie("java_version", () -> { Map> map = new HashMap<>(); diff --git a/src/main/java/com/destroystokyo/paper/PaperConfig.java b/src/main/java/com/destroystokyo/paper/PaperConfig.java -index 61ea1c9881ea30c05580044af9496a65fe95d94e..8d205a841c2d77dd57e1f2d189686f6f7426896c 100644 +index 4a14eb59541347aa8e9504ac156e9b63d1bdfd69..499d5d5a35323571571911969cc9bac3b90cec99 100644 --- a/src/main/java/com/destroystokyo/paper/PaperConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java @@ -232,6 +232,15 @@ public class PaperConfig { @@ -2123,7 +2123,7 @@ index 9c111d479bbcc101886c12950c97f10941125ae7..90018506da9e900d448a1fc43b3213ac public static CompletableFuture> sequenceFailFast(List> futures) { diff --git a/src/main/java/net/minecraft/server/MCUtil.java b/src/main/java/net/minecraft/server/MCUtil.java -index b61abf227a04b4565c2525e5f469db30c3a545a5..f99d189f461921d37581e2fc1382af60921b0660 100644 +index 7bddc7517356cc74104dcc5c7c55522a53f2596f..d6a57cdad2c92521a800cb18d060d9d6d627a8c0 100644 --- a/src/main/java/net/minecraft/server/MCUtil.java +++ b/src/main/java/net/minecraft/server/MCUtil.java @@ -209,7 +209,7 @@ public final class MCUtil { @@ -2136,7 +2136,7 @@ index b61abf227a04b4565c2525e5f469db30c3a545a5..f99d189f461921d37581e2fc1382af60 public static long getCoordinateKey(final ChunkPos pair) { diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index c4e8e6af67b57406012612b617a7dcaa6e391d09..5025b0b47e980b3f28dea9535c7dbc273753bb96 100644 +index 887243394fc2578fbcfd3dd150921e221f2d8475..3ec35d19f63832ee465a54518219184a14bb08e2 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -310,6 +310,8 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop S spin(Function serverFactory) { AtomicReference atomicreference = new AtomicReference(); -@@ -1709,7 +1711,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop loadedChunkMap = new Long2ObjectOpenHashMap<>(8192, 0.5f); private final LevelChunk[] lastLoadedChunks = new LevelChunk[4 * 4]; @@ -2252,7 +2252,7 @@ index 9a07ccbd12675e501a9aebf89ab85adf6fb658ba..f51fcaba69c9ddc27130ab615526e05b private static int getChunkCacheKey(int x, int z) { return x & 3 | ((z & 3) << 2); -@@ -975,6 +978,7 @@ public class ServerChunkCache extends ChunkSource { +@@ -970,6 +973,7 @@ public class ServerChunkCache extends ChunkSource { ProfilerFiller gameprofilerfiller = this.level.getProfiler(); gameprofilerfiller.push("pollingChunks"); @@ -2260,7 +2260,7 @@ index 9a07ccbd12675e501a9aebf89ab85adf6fb658ba..f51fcaba69c9ddc27130ab615526e05b int k = this.level.getGameRules().getInt(GameRules.RULE_RANDOMTICKING); boolean flag1 = level.ticksPerAnimalSpawns != 0L && worlddata.getGameTime() % level.ticksPerAnimalSpawns == 0L; // CraftBukkit -@@ -984,18 +988,25 @@ public class ServerChunkCache extends ChunkSource { +@@ -979,18 +983,25 @@ public class ServerChunkCache extends ChunkSource { // Paper start - per player mob spawning NaturalSpawner.SpawnState spawnercreature_d; // moved down if ((this.spawnFriendlies || this.spawnEnemies) && this.chunkMap.playerMobDistanceMap != null) { // don't count mobs when animals and monsters are disabled @@ -2292,9 +2292,9 @@ index 9a07ccbd12675e501a9aebf89ab85adf6fb658ba..f51fcaba69c9ddc27130ab615526e05b gameprofilerfiller.popPush("filteringLoadedChunks"); // Paper - moved down this.level.timings.chunkTicks.startTiming(); // Paper -@@ -1037,8 +1048,8 @@ public class ServerChunkCache extends ChunkSource { +@@ -1028,8 +1039,8 @@ public class ServerChunkCache extends ChunkSource { - if ((true || this.level.isPositionEntityTicking(chunkcoordintpair)) && this.chunkMap.anyPlayerCloseEnoughForSpawning(holder, chunkcoordintpair, false)) { // Paper - optimise anyPlayerCloseEnoughForSpawning & optimise chunk tick iteration + if ((true || this.level.isPositionEntityTicking(chunkcoordintpair)) && this.chunkMap.anyPlayerCloseEnoughForSpawning(holder, chunkcoordintpair, false)) { // Paper - optimise anyPlayerCloseEnoughForSpawning // Paper - replace player chunk loader system chunk1.incrementInhabitedTime(j); - if (flag2 && (this.spawnEnemies || this.spawnFriendlies) && this.level.getWorldBorder().isWithinBounds(chunkcoordintpair) && this.chunkMap.anyPlayerCloseEnoughForSpawning(holder, chunkcoordintpair, true)) { // Spigot // Paper - optimise anyPlayerCloseEnoughForSpawning & optimise chunk tick iteration - NaturalSpawner.spawnForChunk(this.level, chunk1, spawnercreature_d, this.spawnFriendlies, this.spawnEnemies, flag1); @@ -2302,8 +2302,8 @@ index 9a07ccbd12675e501a9aebf89ab85adf6fb658ba..f51fcaba69c9ddc27130ab615526e05b + NaturalSpawner.spawnForChunk(this.level, chunk1, lastSpawnState, this.spawnFriendlies, this.spawnEnemies, flag1); // Pufferfish } - if (this.level.shouldTickBlocksAt(chunkcoordintpair.toLong())) { -@@ -1085,6 +1096,30 @@ public class ServerChunkCache extends ChunkSource { + if ((true || this.level.shouldTickBlocksAt(chunkcoordintpair.toLong()))) { // Paper - replace player chunk loader system +@@ -1091,6 +1102,30 @@ public class ServerChunkCache extends ChunkSource { } // Paper end - controlled flush for entity tracker packets } @@ -2355,7 +2355,7 @@ index 9a6c67b614944f841813ec2892381c3342bc365c..e80176708db486190dd527e3ade5fc69 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 a2abb8aa1a257ccd2b5dbddc037fffc6eb600758..8cdacd7ed9a26e6757eeff89545fde21ddb80fd2 100644 +index 403a6fadbeff41e67618393ac7034d32c02af7b8..59d57108f38f38e03cd8b69a53c3e9d40179599a 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java @@ -667,7 +667,20 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -2380,7 +2380,7 @@ index a2abb8aa1a257ccd2b5dbddc037fffc6eb600758..8cdacd7ed9a26e6757eeff89545fde21 gameprofilerfiller.pop(); } } -@@ -729,9 +742,11 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -732,9 +745,11 @@ public class ServerLevel extends Level implements WorldGenLevel { } // Paper start - optimise random block ticking private final BlockPos.MutableBlockPos chunkTickMutablePosition = new BlockPos.MutableBlockPos(); @@ -2393,7 +2393,7 @@ index a2abb8aa1a257ccd2b5dbddc037fffc6eb600758..8cdacd7ed9a26e6757eeff89545fde21 public void tickChunk(LevelChunk chunk, int randomTickSpeed) { ChunkPos chunkcoordintpair = chunk.getPos(); boolean flag = this.isRaining(); -@@ -742,7 +757,7 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -745,7 +760,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 @@ -2402,7 +2402,7 @@ index a2abb8aa1a257ccd2b5dbddc037fffc6eb600758..8cdacd7ed9a26e6757eeff89545fde21 blockposition.set(this.findLightningTargetAround(this.getBlockRandomPos(j, 0, k, 15))); // Paper if (this.isRainingAt(blockposition)) { DifficultyInstance difficultydamagescaler = this.getCurrentDifficultyAt(blockposition); -@@ -766,7 +781,7 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -769,7 +784,7 @@ public class ServerLevel extends Level implements WorldGenLevel { } gameprofilerfiller.popPush("iceandsnow"); @@ -2412,10 +2412,10 @@ index a2abb8aa1a257ccd2b5dbddc037fffc6eb600758..8cdacd7ed9a26e6757eeff89545fde21 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 5c9310fe424943a7256f6f77c414147384bad0aa..2cb12547c778fe439536e2e2aa479d4a25ab4a6e 100644 +index 23eddc502816e84ab25366c7d5710ce2e660c7a0..cb35f2f1f2f4d568bc59ce5c08ab3b908533264c 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -1110,6 +1110,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -1116,6 +1116,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser @Override public void handleEditBook(ServerboundEditBookPacket packet) { @@ -3376,7 +3376,7 @@ index e7ca5d6fb8922e7e8065864f736b06056be080a0..6c9e574851b518242dbbee9bce954b44 final String id; private final GameRules.Category category; diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java -index 4247dcb003626535dbb997f48ad9f61380bd17e9..90aa1d75b5c23e5ee27ceae9f6ef90de913a6601 100644 +index 89bc9f452556bafdcd8b76668639ee33c383596e..a98d115b7dccd836fa2c0f50333730db6f388aff 100644 --- a/src/main/java/net/minecraft/world/level/Level.java +++ b/src/main/java/net/minecraft/world/level/Level.java @@ -308,6 +308,15 @@ public abstract class Level implements LevelAccessor, AutoCloseable { @@ -3501,7 +3501,7 @@ index 4247dcb003626535dbb997f48ad9f61380bd17e9..90aa1d75b5c23e5ee27ceae9f6ef90de public boolean isInWorldBounds(BlockPos pos) { return pos.isInsideBuildHeightAndWorldBoundsHorizontal(this); // Paper - use better/optimized check } -@@ -969,13 +1070,13 @@ public abstract class Level implements LevelAccessor, AutoCloseable { +@@ -974,13 +1075,13 @@ public abstract class Level implements LevelAccessor, AutoCloseable { try { tickConsumer.accept(entity); MinecraftServer.getServer().executeMidTickTasks(); // Paper - execute chunk tasks mid tick @@ -3517,7 +3517,7 @@ index 4247dcb003626535dbb997f48ad9f61380bd17e9..90aa1d75b5c23e5ee27ceae9f6ef90de // Paper end } } -@@ -1437,6 +1538,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable { +@@ -1442,6 +1543,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable { } public ProfilerFiller getProfiler() { @@ -3808,7 +3808,7 @@ index ed3518fe7c841d9e1a9c97626acaa3d765a6d76f..da00f75ccc9f8c2e2174d4450479202a @Override diff --git a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java -index 7567a8bf848c82b27383f084056cb43c41df6d0c..9e9cdabefce3767a2e482f7cc5eb69c635ea17a7 100644 +index b47c4c9e9b82030cd82d72fe90d7c8bf558d6b28..087be9acfa77d3fd0216e5983aa62149e668cfc7 100644 --- a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java +++ b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java @@ -94,6 +94,18 @@ public class LevelChunk extends ChunkAccess { @@ -3839,7 +3839,7 @@ index 7567a8bf848c82b27383f084056cb43c41df6d0c..9e9cdabefce3767a2e482f7cc5eb69c6 public org.bukkit.Chunk bukkitChunk; diff --git a/src/main/java/net/minecraft/world/level/chunk/LevelChunkSection.java b/src/main/java/net/minecraft/world/level/chunk/LevelChunkSection.java -index d5ceebee36885c6470917bc1d0952733e983f030..ed71c57fe629f01b21694b8875b8defd89a9fee6 100644 +index e962db693510dc261d6456706a459929369f2510..16874e3c7c8e2577f3661cb3a459c63ea061b2d8 100644 --- a/src/main/java/net/minecraft/world/level/chunk/LevelChunkSection.java +++ b/src/main/java/net/minecraft/world/level/chunk/LevelChunkSection.java @@ -25,6 +25,9 @@ public class LevelChunkSection { @@ -3852,7 +3852,7 @@ index d5ceebee36885c6470917bc1d0952733e983f030..ed71c57fe629f01b21694b8875b8defd public final com.destroystokyo.paper.util.maplist.IBlockDataList tickingList = new com.destroystokyo.paper.util.maplist.IBlockDataList(); // Paper public LevelChunkSection(int chunkPos, PalettedContainer blockStateContainer, PalettedContainer biomeContainer) { -@@ -91,6 +94,7 @@ public class LevelChunkSection { +@@ -195,6 +198,7 @@ public class LevelChunkSection { if (!fluid.isEmpty()) { --this.tickingFluidCount; @@ -3860,15 +3860,15 @@ index d5ceebee36885c6470917bc1d0952733e983f030..ed71c57fe629f01b21694b8875b8defd } if (!state.isAir()) { -@@ -105,6 +109,7 @@ public class LevelChunkSection { +@@ -209,6 +213,7 @@ public class LevelChunkSection { if (!fluid1.isEmpty()) { ++this.tickingFluidCount; + ++this.fluidStateCount; // Pufferfish } - return iblockdata1; -@@ -155,6 +160,7 @@ public class LevelChunkSection { + this.updateKnownBlockInfo(x | (z << 4) | (y << 8), iblockdata1, state); // Paper +@@ -260,6 +265,7 @@ public class LevelChunkSection { if (fluid.isRandomlyTicking()) { this.tickingFluidCount = (short) (this.tickingFluidCount + 1); // Paper } diff --git a/patches/server/0002-Rebrand.patch b/patches/server/0002-Rebrand.patch index 2e95ba47a..a627d6212 100644 --- a/patches/server/0002-Rebrand.patch +++ b/patches/server/0002-Rebrand.patch @@ -167,7 +167,7 @@ index cc0576e8e5e1dc77c22856f0f9c4376b6bf36677..6654c5a547cb49bce98d6b0feed9a245 stringbuilder.append(CrashReport.getErrorComment()); stringbuilder.append("\n\n"); diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 5025b0b47e980b3f28dea9535c7dbc273753bb96..61d3ed736314d68322585cb6266a47fd17a4a4b4 100644 +index 3ec35d19f63832ee465a54518219184a14bb08e2..596a130a94865806b0b2340d303b25fae71986b7 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -1021,7 +1021,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop 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 2cb12547c778fe439536e2e2aa479d4a25ab4a6e..38de81f8696ed658d002427d002f22b28e3a6122 100644 +index cb35f2f1f2f4d568bc59ce5c08ab3b908533264c..ec09ea159a75c33ef9ecbd1d424a2eb81baabdc4 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -3145,6 +3145,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -3151,6 +3151,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 2cb12547c778fe439536e2e2aa479d4a25ab4a6e..38de81f8696ed658d002427d002f22b2 @Override public void handleCustomPayload(ServerboundCustomPayloadPacket packet) { -@@ -3169,6 +3170,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -3175,6 +3176,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 } @@ -43,10 +43,10 @@ index 2cb12547c778fe439536e2e2aa479d4a25ab4a6e..38de81f8696ed658d002427d002f22b2 try { byte[] data = new byte[packet.data.readableBytes()]; diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 8cac6f49b23841414fbcc7f3a158a7342b382496..06df88f71bb17b37d72ba6b08c0438b7b8d8808f 100644 +index e204ddd09c8fa8d1e6f7cfcc064e6561ed19bdb3..062a489133f53a446abecb1cf213dee695d8322b 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -2661,4 +2661,11 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2685,4 +2685,11 @@ public class CraftPlayer extends CraftHumanEntity implements Player { return this.spigot; } // Spigot end diff --git a/patches/server/0006-Ridables.patch b/patches/server/0006-Ridables.patch index 79dfda19a..cc224a7b3 100644 --- a/patches/server/0006-Ridables.patch +++ b/patches/server/0006-Ridables.patch @@ -22,10 +22,10 @@ index 14610e6144ec144ebbec6fb0945c67bb0ea86795..6833eb5dc7aa64bef1b3b38de5e282bd super(x, y, z); } diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 61d3ed736314d68322585cb6266a47fd17a4a4b4..044b1d5d17fe4554ceefbdd893ef23dba4b999d9 100644 +index 596a130a94865806b0b2340d303b25fae71986b7..f7e76dc842ac226b94ba552ad412cf0dba149394 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -1589,6 +1589,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop 0; // Paper worldserver.hasEntityMoveEvent = io.papermc.paper.event.entity.EntityMoveEvent.getHandlerList().getRegisteredListeners().length > 0; // Paper @@ -34,7 +34,7 @@ index 61d3ed736314d68322585cb6266a47fd17a4a4b4..044b1d5d17fe4554ceefbdd893ef23db 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 8cdacd7ed9a26e6757eeff89545fde21ddb80fd2..cd01b2f06b0dd34c3261d84beead96bba76cf825 100644 +index 59d57108f38f38e03cd8b69a53c3e9d40179599a..2d2c1ac2c40605e9a6228c81e5e50a31a3e2c4af 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java @@ -211,6 +211,7 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -46,7 +46,7 @@ index 8cdacd7ed9a26e6757eeff89545fde21ddb80fd2..cd01b2f06b0dd34c3261d84beead96bb return new Throwable(entity + " Added to world at " + new java.util.Date()); } diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index c516ad43cac2419bcf63e11eaa183785b462de5c..618595add09eef5381307ba2fe154adfc97b2a0e 100644 +index 20548a1e7a4d56162ec906646cff3159fc98c817..652f7207edb51e2523caaced2bc8bdd98f884ecf 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -662,6 +662,15 @@ public class ServerPlayer extends Player { @@ -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 38de81f8696ed658d002427d002f22b28e3a6122..39bf75a7ba276f25e39573f084786dd5c046f51c 100644 +index ec09ea159a75c33ef9ecbd1d424a2eb81baabdc4..298cf742ac8dd03783fee6019663b22209d4f539 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2456,6 +2456,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -2462,6 +2462,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser ServerGamePacketListenerImpl.this.cserver.getPluginManager().callEvent(event); @@ -2573,7 +2573,7 @@ index 305a891e4b51d1031d9e9238ff00e2ea7de8d954..84625d09df800fcfd477fc493fb5f824 protected void defineSynchedData() { } diff --git a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java -index e17a3afa41fd628d2c4a3637ae19418e258a99b8..9846b882ae67131f3602845419c52c1350a214ce 100644 +index b74cdaecb361851b0662002c8ec8f196ab1275bd..3a9c958c838bbc68003818bbc1fa990344636119 100644 --- a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java +++ b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java @@ -102,6 +102,7 @@ public class EnderDragon extends Mob implements Enemy { @@ -2722,7 +2722,7 @@ index e17a3afa41fd628d2c4a3637ae19418e258a99b8..9846b882ae67131f3602845419c52c13 this.dragonFight.updateDragon(this); } diff --git a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java -index ede0ced64d74d71547d1b8bb6853c5aacc1b486a..4b541ebd4e9d0ef178aacd3006393ff114a30e79 100644 +index c0ee9915c971482e765d91b4f85d65c3a1f526eb..5f1583c8a0ab7ebfd715de314f7cfae0754e1ece 100644 --- a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java +++ b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java @@ -85,6 +85,7 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob @@ -4592,7 +4592,7 @@ index 35f0203d260c11b729c30e6241316fda4b70bfd7..cd70d228a690485c7f379d0744262907 } diff --git a/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java b/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java -index 415c8a8142867974dfc4722bac933257a28efc1b..b74a2dd32481dd2135b4aa4b860cf9e1b743af66 100644 +index 5c6b2bc734c4f49395856975ff77bfbae2b0e85a..8371ddd1a6cc5245d996c3c4b4c2248f20df7b98 100644 --- a/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java +++ b/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java @@ -75,6 +75,23 @@ public class ZombieVillager extends Zombie implements VillagerDataHolder { @@ -4998,7 +4998,7 @@ index 519b17fac445b7118f5493508bddccd368dadcde..cd6db807c50f9b6269b54a69b6601837 event = new EntityDamageEvent(damagee.getBukkitEntity(), cause, modifiers, modifierFunctions); } diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java -index 96802b86828522006d4a25ab61e6630173688679..ebdd323b4aa341b5adc84a6260b9f76222395fb4 100644 +index b3bfc56859d00f9e27bd1d230dd19b92985b5718..e8150d1bec60f7e32d5475c8402fd7b53df359e7 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java @@ -167,4 +167,9 @@ public class PurpurConfig { diff --git a/patches/server/0008-Timings-stuff.patch b/patches/server/0008-Timings-stuff.patch index 4ace542c5..b6c70450f 100644 --- a/patches/server/0008-Timings-stuff.patch +++ b/patches/server/0008-Timings-stuff.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Timings stuff diff --git a/src/main/java/co/aikar/timings/TimingsExport.java b/src/main/java/co/aikar/timings/TimingsExport.java -index 26bde1c22363ddbdbe4127d14bae54e17b0d7393..0f4b41fd7037f380f759a93f9ef70b4860816ad1 100644 +index d3bb2a3ead944a89330bbced6812df73d174d061..aa906caf51d81b26a5565a92ea24fb79c920a73a 100644 --- a/src/main/java/co/aikar/timings/TimingsExport.java +++ b/src/main/java/co/aikar/timings/TimingsExport.java -@@ -225,10 +225,14 @@ public class TimingsExport extends Thread { +@@ -229,10 +229,14 @@ public class TimingsExport extends Thread { // Information on the users Config parent.put("config", createObject( @@ -26,7 +26,7 @@ index 26bde1c22363ddbdbe4127d14bae54e17b0d7393..0f4b41fd7037f380f759a93f9ef70b48 )); new TimingsExport(listeners, parent, history).start(); -@@ -269,6 +273,19 @@ public class TimingsExport extends Thread { +@@ -273,6 +277,19 @@ public class TimingsExport extends Thread { return timingsCost; } @@ -47,7 +47,7 @@ index 26bde1c22363ddbdbe4127d14bae54e17b0d7393..0f4b41fd7037f380f759a93f9ef70b48 JSONObject object = new JSONObject(); diff --git a/src/main/java/com/destroystokyo/paper/PaperConfig.java b/src/main/java/com/destroystokyo/paper/PaperConfig.java -index 2a19037d3ad734d1cf746d02b72926dd702fd23a..cbae8e7a2ee67e5a8f07f8d9b9bf4be30e760928 100644 +index 499d5d5a35323571571911969cc9bac3b90cec99..107809776c08a005fa3f0346e42c9d92e753c411 100644 --- a/src/main/java/com/destroystokyo/paper/PaperConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java @@ -243,6 +243,12 @@ public class PaperConfig { diff --git a/patches/server/0011-AFK-API.patch b/patches/server/0011-AFK-API.patch index c06519566..82392cbc3 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 618595add09eef5381307ba2fe154adfc97b2a0e..100d01814aca6cbb26c721f55851df27dc654880 100644 +index 652f7207edb51e2523caaced2bc8bdd98f884ecf..60f28bc4bc0453cf3a87ae992275c0cb1c6c881f 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,7 +68,7 @@ index 618595add09eef5381307ba2fe154adfc97b2a0e..100d01814aca6cbb26c721f55851df27 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 39bf75a7ba276f25e39573f084786dd5c046f51c..d29dc1dc6b4f052c9ea54e69f07a649f30a6ed42 100644 +index 298cf742ac8dd03783fee6019663b22209d4f539..8b80ed58d4d7942efb203daa43a6477e2bda6673 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -295,6 +295,20 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser @@ -114,7 +114,7 @@ index 39bf75a7ba276f25e39573f084786dd5c046f51c..d29dc1dc6b4f052c9ea54e69f07a649f // Skip the first time we do this if (true) { // Spigot - don't skip any move events Location oldTo = to.clone(); -@@ -1440,7 +1462,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -1446,7 +1468,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 39bf75a7ba276f25e39573f084786dd5c046f51c..d29dc1dc6b4f052c9ea54e69f07a649f } this.player.absMoveTo(d0, d1, d2, f, f1); -@@ -1490,6 +1512,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -1496,6 +1518,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser this.lastYaw = to.getYaw(); this.lastPitch = to.getPitch(); @@ -200,7 +200,7 @@ index a706ab000eba2d996862a73a3bd38f1971b31b82..fd83ec264d2d2dabadd50a73065ba615 public boolean processClick(InteractionHand hand) { Entity vehicle = getRootVehicle(); diff --git a/src/main/java/net/minecraft/world/level/EntityGetter.java b/src/main/java/net/minecraft/world/level/EntityGetter.java -index 6df710cecea9a5c91ccf8bdaec60bdc88a601777..6b0cee0bd6218492b184f94a84da9acffc4f9d26 100644 +index 1f4b72a0aca200b2e0860449c718e6e607d2fc47..e1dd8932594780b07db13f68efa117eb34b6563f 100644 --- a/src/main/java/net/minecraft/world/level/EntityGetter.java +++ b/src/main/java/net/minecraft/world/level/EntityGetter.java @@ -157,7 +157,7 @@ public interface EntityGetter { @@ -213,7 +213,7 @@ index 6df710cecea9a5c91ccf8bdaec60bdc88a601777..6b0cee0bd6218492b184f94a84da9acf if (range < 0.0D || d < range * range) { return true; diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 06df88f71bb17b37d72ba6b08c0438b7b8d8808f..81b85d93ce94ffa3dfddf70feff7c9c2ab5c6b37 100644 +index 062a489133f53a446abecb1cf213dee695d8322b..3560bb641bb96c94431f743c8956a75e901988be 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -431,10 +431,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @@ -233,7 +233,7 @@ index 06df88f71bb17b37d72ba6b08c0438b7b8d8808f..81b85d93ce94ffa3dfddf70feff7c9c2 for (ServerPlayer player : (List) server.getHandle().players) { if (player.getBukkitEntity().canSee(this)) { player.connection.send(new ClientboundPlayerInfoPacket(ClientboundPlayerInfoPacket.Action.UPDATE_DISPLAY_NAME, this.getHandle())); -@@ -2667,5 +2672,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2691,5 +2696,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player { public boolean usesPurpurClient() { return getHandle().purpurClient; } @@ -255,7 +255,7 @@ index 06df88f71bb17b37d72ba6b08c0438b7b8d8808f..81b85d93ce94ffa3dfddf70feff7c9c2 // Purpur end } diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java -index f9f0585c86f5d421d0265c8e9b24610e6e8e4533..6f743cdf0e68fe393ca4bbb19d97d9ac2796b6ea 100644 +index 1717eb5f8fdaf8432113a297602f2eaa10559583..ef8f2dd75b04534c454205cadf2bb5b0fbc5764b 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java @@ -169,8 +169,16 @@ public class PurpurConfig { diff --git a/patches/server/0013-Configurable-server-mod-name.patch b/patches/server/0013-Configurable-server-mod-name.patch index 0568d574e..1a00c841b 100644 --- a/patches/server/0013-Configurable-server-mod-name.patch +++ b/patches/server/0013-Configurable-server-mod-name.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Configurable server mod name diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 54ce8f0b9219790f6317c3eb95b81cadd64ac9b7..9d28c613cacc050ac62c89f6f742ee99cdb99649 100644 +index f7e76dc842ac226b94ba552ad412cf0dba149394..0eed0dc8aa52a8ea16e47f7183ba7b4235ce362a 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -1712,7 +1712,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop= 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 -@@ -3137,6 +3153,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -3143,6 +3159,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser @Override public void handleKeepAlive(ServerboundKeepAlivePacket packet) { @@ -56,7 +56,7 @@ index 948b65411e1a0f25887ebb7ba58c2bd597f0a28f..08d06ffe52ad77a86e5f1966d5085668 if (this.keepAlivePending && packet.getId() == this.keepAliveChallenge) { int i = (int) (Util.getMillis() - this.keepAliveTime); diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java -index c35585458042b75b82950fe2f0c06b5930d98563..7abbdaa54ce3b9471792e4f71842e363b903c2fa 100644 +index 3b417ecebe7bb621aee76d5155d97695c826f4a6..8124b27f043beb763d70881593a883e06ea59f6e 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java @@ -191,6 +191,11 @@ public class PurpurConfig { diff --git a/patches/server/0028-Zombie-horse-naturally-spawn.patch b/patches/server/0028-Zombie-horse-naturally-spawn.patch index 80354aaf0..b86e9ad12 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 cd01b2f06b0dd34c3261d84beead96bba76cf825..2f8efdd72ee3ef12ce8223b73281f4170ad1bbf1 100644 +index 2d2c1ac2c40605e9a6228c81e5e50a31a3e2c4af..ec3dcaff9406182b62d975d733ec572531cd1386 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java -@@ -765,9 +765,15 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -768,9 +768,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) { diff --git a/patches/server/0068-Item-entity-immunities.patch b/patches/server/0068-Item-entity-immunities.patch index 4b6834fd3..291a00a12 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 e8d9a4fc14e38d40b8a1d02752447fb98cfb4e72..35bb7a3502c90462eb2d67e23bddb18030f40ad1 100644 +index ca07ba8eb33f1b4f10aba9f4b4c7c1078f80f61b..5ce3feae48e97eaa64798a401e399adc3c8f57f8 100644 --- a/src/main/java/net/minecraft/server/level/ChunkMap.java +++ b/src/main/java/net/minecraft/server/level/ChunkMap.java -@@ -2230,7 +2230,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider +@@ -2190,7 +2190,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider public class TrackedEntity { @@ -31,7 +31,7 @@ index e80176708db486190dd527e3ade5fc690ceb39f7..e3d7a80f8c4b68933875ef90006b7977 public ServerEntity(ServerLevel worldserver, Entity entity, int i, boolean flag, Consumer> consumer, Set trackedPlayers) { this.trackedPlayers = trackedPlayers; diff --git a/src/main/java/net/minecraft/world/entity/item/ItemEntity.java b/src/main/java/net/minecraft/world/entity/item/ItemEntity.java -index 3ad87457cc1279540b5b633216aa0161e6e9b1b2..cc5396761d67a7d9e9fcc5959caf1f9330d8a6af 100644 +index 7889c9832c6a1ac2afebe4e1030495b3ea52fc2b..ee5d8fc20dc761d71eaebb6d0a7ecbbe611bcdd4 100644 --- a/src/main/java/net/minecraft/world/entity/item/ItemEntity.java +++ b/src/main/java/net/minecraft/world/entity/item/ItemEntity.java @@ -54,6 +54,12 @@ public class ItemEntity extends Entity { @@ -147,7 +147,7 @@ index 8d56f0ab748373e55c0166b92382c126fe8e5381..0637e074dbe4a10bc19e7bf9dd79e2d9 + // Purpur end } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 4d2f8fc1ee5ca497b19621b633124c28e1e5e4d2..703a41c7c90124d8b8aa925a3f494ca61a268a92 100644 +index 17c17fb1607eb7804a2c284da861a672d9894367..7dd9e436b50019bb16a61314cf6798b6a5b2580b 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -124,6 +124,49 @@ public class PurpurWorldConfig { diff --git a/patches/server/0077-Add-allow-water-in-end-world-option.patch b/patches/server/0077-Add-allow-water-in-end-world-option.patch index 19825cbcc..75c9caa7c 100644 --- a/patches/server/0077-Add-allow-water-in-end-world-option.patch +++ b/patches/server/0077-Add-allow-water-in-end-world-option.patch @@ -27,10 +27,10 @@ index a3f04f66c66f40068792da3ef0e75e7df102b0e0..e4ee273568502f4cf4d85c5d50d5d63c return true; diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java -index 37884e05689288d56ef0efe92296b80ef6093b3c..e5e4fa1865cdd903a4c543b79b4d30a2f067742d 100644 +index 7f71a6fe6087630987ae1815ce45dfa45e52f684..9abaecd72e40fe3629bb044e087e968c756ca337 100644 --- a/src/main/java/net/minecraft/world/level/Level.java +++ b/src/main/java/net/minecraft/world/level/Level.java -@@ -1598,4 +1598,14 @@ public abstract class Level implements LevelAccessor, AutoCloseable { +@@ -1603,4 +1603,14 @@ public abstract class Level implements LevelAccessor, AutoCloseable { public boolean shouldDelayFallingBlockEntityRemoval(Entity.RemovalReason reason) { return false; } @@ -68,7 +68,7 @@ index 2676cddca511ea775766cec0001269407599df6e..1dacd2e3a9340420c9b4443cc2f8a3c6 } else { world.setBlockAndUpdate(pos, Blocks.WATER.defaultBlockState()); diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java -index 4a2c8deefe9259b974be33a0d648a17a98845122..a372fa3b3220a9b449d836cad3612f328aec0cab 100644 +index 9fa6d8f3e5a5f22fc84b64d28021fb84f3d18669..b1c72d8427a9e80cf3fac84cd88e31523cbfd8a2 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java @@ -237,6 +237,11 @@ public class PurpurConfig { diff --git a/patches/server/0078-Allow-color-codes-in-books.patch b/patches/server/0078-Allow-color-codes-in-books.patch index ef63bc0c3..18a4df9cb 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 a1079a9f524e9efcc0b29b1c1b5f4e5aefa9ec85..8b16168b7c670edd251057712b1f6075133ceb8b 100644 +index da74c6e0e7f3fdba9b29195c17510e33ebe4cac2..8cb641008f9def46cb74b4be224b3daba64ccefe 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -1234,13 +1234,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -1240,13 +1240,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser itemstack1.setTag(nbttagcompound.copy()); } @@ -28,7 +28,7 @@ index a1079a9f524e9efcc0b29b1c1b5f4e5aefa9ec85..8b16168b7c670edd251057712b1f6075 this.updateBookPages(pages, (s) -> { return Component.Serializer.toJson(new TextComponent(s)); -@@ -1252,10 +1255,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -1258,10 +1261,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 a1079a9f524e9efcc0b29b1c1b5f4e5aefa9ec85..8b16168b7c670edd251057712b1f6075 Objects.requireNonNull(nbttaglist); stream.forEach(nbttaglist::add); -@@ -1265,10 +1271,10 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -1271,10 +1277,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 a1079a9f524e9efcc0b29b1c1b5f4e5aefa9ec85..8b16168b7c670edd251057712b1f6075 if (!s.equals(s1)) { nbttagcompound.putString(String.valueOf(i), (String) unaryoperator.apply(s1)); -@@ -1284,6 +1290,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -1290,6 +1296,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/0105-Configurable-daylight-cycle.patch b/patches/server/0105-Configurable-daylight-cycle.patch index dd1c6d8d9..7f409942b 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/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 095d855c20622a74daf83e90a230a50c1a3669cf..884a6b777102877ab9af50f6f1df39213b672fe7 100644 +index 20fd8a043ea8e8221aab94479ffb73c4fba290e5..47fbe4f3877756d88d5b914bb43c06d3a136a288 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -1585,7 +1585,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop packet) { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 4eee85bf2222f56e7ed4b57566692431706e22e2..9648c73f44da548104cefcc385a884113b772405 100644 +index 95e7d60e2f56bdadf2d5cebe125774f9d5a458e8..f885129cc7739cb249ba4998a41dbf8e95f43c81 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -1601,7 +1601,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1625,7 +1625,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @Override public boolean canSee(org.bukkit.entity.Entity entity) { diff --git a/patches/server/0129-PlayerBookTooLargeEvent.patch b/patches/server/0129-PlayerBookTooLargeEvent.patch index e8c690335..579b652d3 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 8b16168b7c670edd251057712b1f6075133ceb8b..d069a2816eab77223ba355449a149b3b1e465b60 100644 +index 8cb641008f9def46cb74b4be224b3daba64ccefe..0586314f02595d73b8268e03d650b6b2d0756dc8 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -1156,10 +1156,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -1162,10 +1162,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 8b16168b7c670edd251057712b1f6075133ceb8b..d069a2816eab77223ba355449a149b3b server.scheduleOnMain(() -> this.disconnect("Book too large!", org.bukkit.event.player.PlayerKickEvent.Cause.ILLEGAL_ACTION)); // Paper - kick event cause return; } -@@ -1183,6 +1185,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -1189,6 +1191,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/0134-Add-EntityTeleportHinderedEvent.patch b/patches/server/0134-Add-EntityTeleportHinderedEvent.patch index c25b233f4..2a743f670 100644 --- a/patches/server/0134-Add-EntityTeleportHinderedEvent.patch +++ b/patches/server/0134-Add-EntityTeleportHinderedEvent.patch @@ -78,7 +78,7 @@ index 500a4013ce525c0474fe3991457d4c2a50ceb7ed..74de26d72e705041318beee0ebef59d6 blockEntity.teleportCooldown = 100; diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index c2581fb017f6579e59bd25e46b781aa95985abb2..e888e630176f30d773155019fb17aed8095538a1 100644 +index e14754778ca53d30fdfe7c06e31b02f88a82b765..b6ae2d263d107d5a81ea6a66fcd229b2584a9959 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java @@ -562,6 +562,10 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { @@ -93,10 +93,10 @@ index c2581fb017f6579e59bd25e46b781aa95985abb2..e888e630176f30d773155019fb17aed8 } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 633adead3769b9a1169f25634f5bed7de9fd7c38..80ebaccb78c9b57cf529c5cf2bea80363494f8b1 100644 +index f885129cc7739cb249ba4998a41dbf8e95f43c81..355cb7a3e250158730b3cef8ae3a085262e58115 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -1011,6 +1011,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1035,6 +1035,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player { } if (entity.isVehicle()) { diff --git a/patches/server/0142-Dont-run-with-scissors.patch b/patches/server/0142-Dont-run-with-scissors.patch index 3ea5f2cb3..f7b2e83e7 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 b631ff5750179d7dd598f00247f51521a54f03a3..0f8244a6c68db6c277bfeac6e06e5d239664bfb6 100644 +index 0586314f02595d73b8268e03d650b6b2d0756dc8..dc55854d7bc91923fca3ae86e24708c0d1c53a9c 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -1589,6 +1589,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -1595,6 +1595,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser this.player.resetFallDistance(); } @@ -22,7 +22,7 @@ index b631ff5750179d7dd598f00247f51521a54f03a3..0f8244a6c68db6c277bfeac6e06e5d23 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(); -@@ -1622,6 +1629,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -1628,6 +1635,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser } // Paper end - optimise out extra getCubes @@ -68,7 +68,7 @@ index bf888a3dc060476d386d23244e2db6be70b436c4..4bf67cdbe9516e4d167ddcfca3d0c033 if (cause != null) { diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java -index bc0634f634526ef878dfb12cf3103c226b98bb22..9caca4599d9db887929b191aa85f5501891f9393 100644 +index 7280f023ddb2d6b1737a987bfacb4e57d0524d67..a6836b07f50baf1920d2b2491bd0685ed271c911 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java @@ -176,6 +176,7 @@ public class PurpurConfig { diff --git a/patches/server/0192-Flying-Fall-Damage-API.patch b/patches/server/0192-Flying-Fall-Damage-API.patch index 1f835953a..8aa8e4f0c 100644 --- a/patches/server/0192-Flying-Fall-Damage-API.patch +++ b/patches/server/0192-Flying-Fall-Damage-API.patch @@ -26,10 +26,10 @@ index 2004f291610c0089aab92e863b439ca25bf77a47..f88d187dc16c8a0b997b6ee26bf17ea6 } else { if (fallDistance >= 2.0F) { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index ee491a6829c6cd5af64052a55c2478c3442d1895..ccc9061f927de4a2aad8de46aec27b346a352392 100644 +index 355cb7a3e250158730b3cef8ae3a085262e58115..6ab040777b2b642893ac765eb77acaabf79d83f1 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -2712,5 +2712,14 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2736,5 +2736,14 @@ public class CraftPlayer extends CraftHumanEntity implements Player { public void setSpawnInvulnerableTicks(int spawnInvulnerableTime) { getHandle().spawnInvulnerableTime = spawnInvulnerableTime; } diff --git a/patches/server/0193-Make-lightning-rod-range-configurable.patch b/patches/server/0193-Make-lightning-rod-range-configurable.patch index 5a246380d..f8be3dfaf 100644 --- a/patches/server/0193-Make-lightning-rod-range-configurable.patch +++ b/patches/server/0193-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 763c414511c5660e7071fb6863e6f96428de2798..595ba2805aea2030be38703a4150e48a7e4199f5 100644 +index 582ec7c61769f34d05420651822982c1b2e56fc9..c12992fd526eba166499c5c73b4c76c18b3b77a1 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java -@@ -915,7 +915,7 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -918,7 +918,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; @@ -18,7 +18,7 @@ index 763c414511c5660e7071fb6863e6f96428de2798..595ba2805aea2030be38703a4150e48a return optional.map((blockposition1) -> { return blockposition1.above(1); diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java -index 315e96a09ef9f0e68b5255d041bc919f14895f31..ae9f4571a1fb3cb0d6d525f091b56f83eeac2f2a 100644 +index 31d584da3cfd753aafa3c5608bfbcce7087d190c..2071939fbf57e711fa1c871a1382425a43f700ec 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java @@ -263,6 +263,7 @@ public class PurpurConfig { diff --git a/patches/server/0208-Customizable-sleeping-actionbar-messages.patch b/patches/server/0208-Customizable-sleeping-actionbar-messages.patch index 784617faa..9438441a1 100644 --- a/patches/server/0208-Customizable-sleeping-actionbar-messages.patch +++ b/patches/server/0208-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 595ba2805aea2030be38703a4150e48a7e4199f5..47bc9a51fa8ad5c3b100e4baff2cb243e9a22f35 100644 +index c12992fd526eba166499c5c73b4c76c18b3b77a1..c35100c0bc1b2e57679ab8ce2ff8bc24888d06b5 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java -@@ -964,11 +964,29 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -967,11 +967,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); @@ -40,7 +40,7 @@ index 595ba2805aea2030be38703a4150e48a7e4199f5..47bc9a51fa8ad5c3b100e4baff2cb243 } diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java -index 80e00f96b4561c4d6bc69a01a25d568aff44f45f..3d857d6dcc93e622311252e1bfa66106fbbdb372 100644 +index f4c29c3c9a1c177bae3efcdd3af16a4cc0aac372..5d34299ae21bcefa75d98de0bf2882ae1e92cece 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java @@ -179,6 +179,8 @@ public class PurpurConfig { diff --git a/patches/server/0227-Extended-OfflinePlayer-API.patch b/patches/server/0227-Extended-OfflinePlayer-API.patch index 1a53b4c7f..7a2797cfb 100644 --- a/patches/server/0227-Extended-OfflinePlayer-API.patch +++ b/patches/server/0227-Extended-OfflinePlayer-API.patch @@ -223,10 +223,10 @@ index 88bc0807e8bf66a65422f85f1112336334eb3de2..d0e822b329085b9d0a42276c3cacd6cb + // Purpur end - OfflinePlayer API } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index ccc9061f927de4a2aad8de46aec27b346a352392..5abecfec78f2249555b327db214384d3400275b5 100644 +index 6ab040777b2b642893ac765eb77acaabf79d83f1..8d7fcd128b497a6366a0710a1176e63b41a25cdc 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -1975,6 +1975,28 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1999,6 +1999,28 @@ public class CraftPlayer extends CraftHumanEntity implements Player { return this.getHandle().getAbilities().walkingSpeed * 2f; } diff --git a/patches/server/0229-Option-for-if-rain-and-thunder-should-stop-on-sleep.patch b/patches/server/0229-Option-for-if-rain-and-thunder-should-stop-on-sleep.patch index 91c5e025e..1d70325d7 100644 --- a/patches/server/0229-Option-for-if-rain-and-thunder-should-stop-on-sleep.patch +++ b/patches/server/0229-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 47bc9a51fa8ad5c3b100e4baff2cb243e9a22f35..97b7a044fc8cdc9df4eda929070b3e8087430919 100644 +index c35100c0bc1b2e57679ab8ce2ff8bc24888d06b5..79371c88f3f5a392cce7c8306a9d2772919a8863 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java -@@ -1125,6 +1125,7 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -1128,6 +1128,7 @@ public class ServerLevel extends Level implements WorldGenLevel { private void resetWeatherCycle() { // CraftBukkit start @@ -16,7 +16,7 @@ index 47bc9a51fa8ad5c3b100e4baff2cb243e9a22f35..97b7a044fc8cdc9df4eda929070b3e80 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.... -@@ -1132,6 +1133,7 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -1135,6 +1136,7 @@ public class ServerLevel extends Level implements WorldGenLevel { this.serverLevelData.setRainTime(0); } // CraftBukkit end @@ -25,7 +25,7 @@ index 47bc9a51fa8ad5c3b100e4baff2cb243e9a22f35..97b7a044fc8cdc9df4eda929070b3e80 // CraftBukkit start // If we stop due to everyone sleeping we should reset the weather duration to some other random value. diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 8d63f5a8100792946d898a1caa715e34631d16d0..b1545bf97518fd60b54a5a52aec9a2a1d88f3691 100644 +index 24f78e964f39104be5f5eb6c961a7d98bfbeb362..6ecdae838b988bd7b40dea9cbb4d17965d31d17f 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -133,6 +133,8 @@ public class PurpurWorldConfig { diff --git a/patches/server/0231-Shift-right-click-to-use-exp-for-mending.patch b/patches/server/0231-Shift-right-click-to-use-exp-for-mending.patch index 331d7cdf4..5bbfdd8a2 100644 --- a/patches/server/0231-Shift-right-click-to-use-exp-for-mending.patch +++ b/patches/server/0231-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 fb9fbd708ab8aa9690f8c61182a1590c56b3ee6d..b7499782b5968c33ad530b1557f03ed3a7d0451a 100644 +index dc55854d7bc91923fca3ae86e24708c0d1c53a9c..f05912f1dea06105a2c3b2248e19d640f082dbc3 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -1960,6 +1960,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -1966,6 +1966,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser boolean cancelled; if (movingobjectposition == null || movingobjectposition.getType() != HitResult.Type.BLOCK) { @@ -48,7 +48,7 @@ index fb9fbd708ab8aa9690f8c61182a1590c56b3ee6d..b7499782b5968c33ad530b1557f03ed3 cancelled = event.useItemInHand() == Event.Result.DENY; } else { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 3b1d8e8663c5a377567ccd2946839fb3fd66a1f5..e777d8fe1e503547763de30706655896767349ae 100644 +index 01d047ef27f14129e3a56a9a7046649dbe6ca142..27662839ca797f13296bcad00575991be3fa646c 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -404,6 +404,7 @@ public class PurpurWorldConfig { diff --git a/patches/server/0242-Signs-allow-color-codes.patch b/patches/server/0242-Signs-allow-color-codes.patch index 67be15d05..30e59532b 100644 --- a/patches/server/0242-Signs-allow-color-codes.patch +++ b/patches/server/0242-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 e2e83d8b39ddb154c0e69b63d5b996644926ac43..a9885f92e0a3494b27376a7a01edbd0e22a31708 100644 +index f300589fad36c5c9768474a13db74144b760c2a5..61b0b0a847042557d7b9cd20f0ad51f0ff1751b8 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -1496,6 +1496,7 @@ public class ServerPlayer extends Player { @@ -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 e441ee919bad34476b73a649aaad23d523f9aecd..858d590a68c9ed5a7162252bc36a76a95d7cb89c 100644 +index f05912f1dea06105a2c3b2248e19d640f082dbc3..28c75287e8b104bc3673420e902e2efe5eb7c9b2 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -3160,11 +3160,15 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -3166,11 +3166,15 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser } // Paper end @@ -70,7 +70,7 @@ index 6371176fba41218a209ea59b4cafe5b2d4a685fd..7666bca74f4f68bb4e902ec2eb7c4895 public CompoundTag getUpdateTag() { return this.saveWithoutMetadata(); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index a37c61807883ed31032a47794b3259fa78e887a6..9f3e5b797bbb00035093915a8a6277b3be4fb9b8 100644 +index 7b76d4f6ad4425b38f018f5dd1632b4801804013..f701ef5e6e58ce89d94fd0e5f2ae26721b0bd66b 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -924,8 +924,10 @@ public class PurpurWorldConfig { diff --git a/patches/server/0258-Allow-void-trading.patch b/patches/server/0258-Allow-void-trading.patch index 83b7ca8b4..82824a5a0 100644 --- a/patches/server/0258-Allow-void-trading.patch +++ b/patches/server/0258-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 97b7a044fc8cdc9df4eda929070b3e8087430919..70bbd689e60901b76e9c1d2aab470e09beaf389b 100644 +index 79371c88f3f5a392cce7c8306a9d2772919a8863..72909d206e6535a0f7f896bdf28b78266bb46878 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java -@@ -2564,7 +2564,7 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -2567,7 +2567,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 @@ -18,7 +18,7 @@ index 97b7a044fc8cdc9df4eda929070b3e8087430919..70bbd689e60901b76e9c1d2aab470e09 } // Paper end diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index fc0352be0e7ed7f5ed6a90c2952bccd2ebee018b..9e9c0b4ea3247d676f351cc1ef1f246c3b3eb297 100644 +index 0f03c0e7c9b22f0144730153eb70f82fe8df4a35..e9b1fccdde19d543dd02a08889dd37c6a8ebcb60 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -414,6 +414,7 @@ public class PurpurWorldConfig { diff --git a/patches/server/0259-Dont-eat-blocks-in-non-ticking-chunks.patch b/patches/server/0259-Dont-eat-blocks-in-non-ticking-chunks.patch index 520d56323..28b0fd764 100644 --- a/patches/server/0259-Dont-eat-blocks-in-non-ticking-chunks.patch +++ b/patches/server/0259-Dont-eat-blocks-in-non-ticking-chunks.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Dont eat blocks in non ticking chunks diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java -index 35bb7a3502c90462eb2d67e23bddb18030f40ad1..892d4914efe022619d061fc3e4b8a29a0adf6b68 100644 +index 5ce3feae48e97eaa64798a401e399adc3c8f57f8..ef34a8a6cf82202f79a918b6f117ecbd6249f044 100644 --- a/src/main/java/net/minecraft/server/level/ChunkMap.java +++ b/src/main/java/net/minecraft/server/level/ChunkMap.java -@@ -1748,7 +1748,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider +@@ -1741,7 +1741,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider return this.anyPlayerCloseEnoughForSpawning(this.getUpdatingChunkIfPresent(chunkcoordintpair.toLong()), chunkcoordintpair, reducedRange); } diff --git a/patches/server/0262-Max-joins-per-second.patch b/patches/server/0262-Max-joins-per-second.patch index d554c286b..9cf581ee1 100644 --- a/patches/server/0262-Max-joins-per-second.patch +++ b/patches/server/0262-Max-joins-per-second.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Max joins per second When this option is set to true the `max-joins-per-tick` setting in paper.yml will be used per second instead of per tick diff --git a/src/main/java/net/minecraft/network/Connection.java b/src/main/java/net/minecraft/network/Connection.java -index 81dde0efc1a06420c0791520b9e40b24dd1f0318..bf053d317981a49b33f5d1f80feabbc40650a15f 100644 +index 7b8f9cf06833860d0fc02399822e6aea214883ed..03701c154e7bfad5314f3ed0e51866a292a08175 100644 --- a/src/main/java/net/minecraft/network/Connection.java +++ b/src/main/java/net/minecraft/network/Connection.java -@@ -503,11 +503,20 @@ public class Connection extends SimpleChannelInboundHandler> { +@@ -532,11 +532,20 @@ public class Connection extends SimpleChannelInboundHandler> { private static final int MAX_PER_TICK = com.destroystokyo.paper.PaperConfig.maxJoinsPerTick; // Paper private static int joinAttemptsThisTick; // Paper private static int currTick; // Paper @@ -31,7 +31,7 @@ index 81dde0efc1a06420c0791520b9e40b24dd1f0318..bf053d317981a49b33f5d1f80feabbc4 } // Paper end diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java -index a9dcc82be19c89c3d66c1662a0273fd763507287..b211c90a7e0a614760e2a6f7c27cbfd6fe1cf9bd 100644 +index df7a687114789836e5248a88a43cfbc4d3c8a5ac..ea2b2a2c7aa311826cd78d80dd139b9aa0b83849 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java @@ -420,8 +420,10 @@ public class PurpurConfig {