diff --git a/gradle.properties b/gradle.properties index 64eb5a863..d740e2788 100644 --- a/gradle.properties +++ b/gradle.properties @@ -2,7 +2,7 @@ group = org.purpurmc.purpur version = 1.20.4-R0.1-SNAPSHOT mcVersion = 1.20.4 -paperCommit = 7ccefdcd6cf6f467a3212fa02a75a8b9322f3582 +paperCommit = 4939f8711884901ddf1c56337f606de71cdae78d 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 46177b6b7..974e869ea 100644 --- a/patches/server/0001-Pufferfish-Server-Changes.patch +++ b/patches/server/0001-Pufferfish-Server-Changes.patch @@ -20,7 +20,7 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . diff --git a/build.gradle.kts b/build.gradle.kts -index 376e8983fdfdbb6c3e5fd8ad0f6a05e655b622bf..658e9b4590a82d179907feea04e129fdba9a2f42 100644 +index ce3747d8d2a8f4327766cf23d5aaa72cfcb380bc..998429d65a001d5d54a3e9cf53c8314c9ea26d2c 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -13,8 +13,12 @@ configurations.named(log4jPlugins.compileClasspathConfigurationName) { @@ -52,7 +52,7 @@ index 376e8983fdfdbb6c3e5fd8ad0f6a05e655b622bf..658e9b4590a82d179907feea04e129fd testImplementation("io.github.classgraph:classgraph:4.8.47") // Paper - mob goal test testImplementation("org.junit.jupiter:junit-jupiter:5.10.0") testImplementation("org.hamcrest:hamcrest:2.2") -@@ -57,6 +68,14 @@ dependencies { +@@ -58,6 +69,14 @@ dependencies { } val craftbukkitPackageVersion = "1_20_R3" // Paper @@ -67,7 +67,7 @@ index 376e8983fdfdbb6c3e5fd8ad0f6a05e655b622bf..658e9b4590a82d179907feea04e129fd tasks.jar { archiveClassifier.set("dev") -@@ -69,7 +88,7 @@ tasks.jar { +@@ -70,7 +89,7 @@ tasks.jar { attributes( "Main-Class" to "org.bukkit.craftbukkit.Main", "Implementation-Title" to "CraftBukkit", @@ -76,7 +76,7 @@ index 376e8983fdfdbb6c3e5fd8ad0f6a05e655b622bf..658e9b4590a82d179907feea04e129fd "Implementation-Vendor" to date, // Paper "Specification-Title" to "Bukkit", "Specification-Version" to project.version, -@@ -209,7 +228,5 @@ val runtimeClasspathForRunDev = sourceSets.main.flatMap { src -> +@@ -210,7 +229,5 @@ val runtimeClasspathForRunDev = sourceSets.main.flatMap { src -> } tasks.registerRunTask("runDev") { description = "Spin up a non-relocated Mojang-mapped test server" @@ -1794,10 +1794,10 @@ index 6934e9dac0d69c043b73b7c46d59f2d39b37c67f..dbe612427b894df9da1335b94163ba9b if (this.isRainingAt(blockposition)) { diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 6d943b5c38932de5fc3abb28618bf518c36edb47..9b7ee7a5a3c52a931e9db1c84f9941c5d9619d49 100644 +index ab5b259d8f72022c875cae73be25fe2da346c6b3..90910646031a73e1254fb844efdb9c8e32ec4233 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -1139,6 +1139,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -1135,6 +1135,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl @Override public void handleEditBook(ServerboundEditBookPacket packet) { @@ -2074,7 +2074,7 @@ index 09e8445a3f8c6b3ebc852a75a9a25b41a51ba659..dc11683ee4d8a6b7a1c42bcae36dc6e8 private String descriptionId; @Nullable diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 902c0e7f2a167845f46adef4578bc71ca8cabfe8..a66dc9c1fcaa0e89e00c78f2cd2fd6bf537a790b 100644 +index aceee33eebd4d5f89e62a42910ec51843f33843b..aa9696facf7780313c322d01928aab7e6c92cc99 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -142,7 +142,6 @@ import org.bukkit.event.entity.EntityTeleportEvent; @@ -2980,7 +2980,7 @@ index a61d7cd2b078fe511ff00344197b6ea11feebfb2..7041394d366e6145369d032a0a14f047 public static void entityInside(Level world, BlockPos pos, BlockState state, Entity entity, HopperBlockEntity blockEntity) { diff --git a/src/main/java/net/minecraft/world/level/block/entity/RandomizableContainerBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/RandomizableContainerBlockEntity.java -index a94300a457b25f0e33a8eeabba6dd5720ca9ab1e..b41635dd0569ff7df909df492d3e850aef7214be 100644 +index f52ccd4f3e062af3c7cc6eaea5b074a3bbd21690..a5cd70b6ada2b44f64db0985483ee5eadc67003f 100644 --- a/src/main/java/net/minecraft/world/level/block/entity/RandomizableContainerBlockEntity.java +++ b/src/main/java/net/minecraft/world/level/block/entity/RandomizableContainerBlockEntity.java @@ -94,12 +94,7 @@ public abstract class RandomizableContainerBlockEntity extends BaseContainerBloc diff --git a/patches/server/0002-Rebrand.patch b/patches/server/0002-Rebrand.patch index 23a3da893..313c7f105 100644 --- a/patches/server/0002-Rebrand.patch +++ b/patches/server/0002-Rebrand.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Rebrand diff --git a/build.gradle.kts b/build.gradle.kts -index 658e9b4590a82d179907feea04e129fdba9a2f42..f253b340d75302fda8e59a2ad113f652c2417869 100644 +index 998429d65a001d5d54a3e9cf53c8314c9ea26d2c..3caad009206da9c8161f549af0c3437923f6aa4a 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -13,12 +13,12 @@ configurations.named(log4jPlugins.compileClasspathConfigurationName) { @@ -36,7 +36,7 @@ index 658e9b4590a82d179907feea04e129fdba9a2f42..f253b340d75302fda8e59a2ad113f652 testImplementation("io.github.classgraph:classgraph:4.8.47") // Paper - mob goal test testImplementation("org.junit.jupiter:junit-jupiter:5.10.0") testImplementation("org.hamcrest:hamcrest:2.2") -@@ -88,7 +92,7 @@ tasks.jar { +@@ -89,7 +93,7 @@ tasks.jar { attributes( "Main-Class" to "org.bukkit.craftbukkit.Main", "Implementation-Title" to "CraftBukkit", @@ -45,7 +45,7 @@ index 658e9b4590a82d179907feea04e129fdba9a2f42..f253b340d75302fda8e59a2ad113f652 "Implementation-Vendor" to date, // Paper "Specification-Title" to "Bukkit", "Specification-Version" to project.version, -@@ -172,7 +176,7 @@ fun TaskContainer.registerRunTask( +@@ -173,7 +177,7 @@ fun TaskContainer.registerRunTask( name: String, block: JavaExec.() -> Unit ): TaskProvider = register(name) { diff --git a/patches/server/0003-Fix-pufferfish-issues.patch b/patches/server/0003-Fix-pufferfish-issues.patch index 9fa74dca5..70635abfe 100644 --- a/patches/server/0003-Fix-pufferfish-issues.patch +++ b/patches/server/0003-Fix-pufferfish-issues.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Fix pufferfish issues diff --git a/build.gradle.kts b/build.gradle.kts -index f253b340d75302fda8e59a2ad113f652c2417869..0c92d10f334f82d196e065c0811d0c1f48887377 100644 +index 3caad009206da9c8161f549af0c3437923f6aa4a..6bceca84bd073e25fc9aa19b8b713a2873713696 100644 --- a/build.gradle.kts +++ b/build.gradle.kts -@@ -232,5 +232,7 @@ val runtimeClasspathForRunDev = sourceSets.main.flatMap { src -> +@@ -233,5 +233,7 @@ val runtimeClasspathForRunDev = sourceSets.main.flatMap { src -> } tasks.registerRunTask("runDev") { description = "Spin up a non-relocated Mojang-mapped test server" diff --git a/patches/server/0008-Ridables.patch b/patches/server/0008-Ridables.patch index d1b9cd956..f181c6fc9 100644 --- a/patches/server/0008-Ridables.patch +++ b/patches/server/0008-Ridables.patch @@ -66,10 +66,10 @@ index d39a3359249e2a312da0645d5abb625d98fe4034..44409eed0b603a1e8203a35ff0263d36 public void doTick() { diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 9b7ee7a5a3c52a931e9db1c84f9941c5d9619d49..671757b90c21d2c7e9eeb24340e6b820e3d1a99e 100644 +index 90910646031a73e1254fb844efdb9c8e32ec4233..88eaf67ee621e06025f23657fe870cc2c9cb9b8f 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2722,6 +2722,8 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -2718,6 +2718,8 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl ServerGamePacketListenerImpl.this.cserver.getPluginManager().callEvent(event); @@ -190,7 +190,7 @@ index 1bb8b6e91c44cd13411d96d749fa64835c75a267..75c278b67ad2b78766efd8f89c4c2ca7 protected ParticleOptions getInkParticle() { return ParticleTypes.GLOW_SQUID_INK; diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index a66dc9c1fcaa0e89e00c78f2cd2fd6bf537a790b..dfc7b015da2a553122f98677c12636a84ce90a1f 100644 +index aa9696facf7780313c322d01928aab7e6c92cc99..5436e9645426e01f2cae2f567fe3353ae1717ede 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -217,9 +217,9 @@ public abstract class LivingEntity extends Entity implements Attackable { @@ -4492,7 +4492,7 @@ index 61162ecd43dc5e6f7898daecdec49f444e6d869b..bfd69abf24d788b5e539498d56ade57f if (flag && !this.isSilent()) { this.level().playSound((Player) null, this.getX(), this.getY(), this.getZ(), SoundEvents.STRIDER_EAT, this.getSoundSource(), 1.0F, 1.0F + (this.random.nextFloat() - this.random.nextFloat()) * 0.2F); diff --git a/src/main/java/net/minecraft/world/entity/monster/Vex.java b/src/main/java/net/minecraft/world/entity/monster/Vex.java -index 30ea3f64234fd1fda8dada3c7fb12be0730322a8..841fba3edf697647f59d0485b751c83625cccc83 100644 +index f443006c1e32feee97b32312814e2447a50c45e2..b676f6c814d63e950af192a56ab5a4bf5f14a7d6 100644 --- a/src/main/java/net/minecraft/world/entity/monster/Vex.java +++ b/src/main/java/net/minecraft/world/entity/monster/Vex.java @@ -63,6 +63,50 @@ public class Vex extends Monster implements TraceableEntity { @@ -5204,7 +5204,7 @@ index 8698104e3eb98e2cc5da5de87a8f538860c1d91d..39ae3335866669be54f31ee6cd10d41b + // Purpur end } diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 347bd2482c89e06716121bd7d05941203bab2a8b..aa89fcab22c7ad0c9425f5ae65cc2c6b150579cc 100644 +index d677759ac6b6d3cfe5a2af76dc1f0034b216ac2d..2d47fd8290c9712bbf720452f5ffe134b1941d8c 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -591,6 +591,15 @@ public class CraftEventFactory { diff --git a/patches/server/0012-AFK-API.patch b/patches/server/0012-AFK-API.patch index 702be370d..7ba17a034 100644 --- a/patches/server/0012-AFK-API.patch +++ b/patches/server/0012-AFK-API.patch @@ -78,7 +78,7 @@ index 44409eed0b603a1e8203a35ff0263d360d81be32..cdb3cf1b9a809e3936164dbbcf9ccdfc 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 671757b90c21d2c7e9eeb24340e6b820e3d1a99e..cf2c47ad32539865c94dc768c9fe592086b85a4e 100644 +index 88eaf67ee621e06025f23657fe870cc2c9cb9b8f..56589f5c674670534ecf0b97c73c97e302716b9c 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -324,6 +324,20 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl @@ -124,7 +124,7 @@ index 671757b90c21d2c7e9eeb24340e6b820e3d1a99e..cf2c47ad32539865c94dc768c9fe5920 Location oldTo = to.clone(); PlayerMoveEvent event = new PlayerMoveEvent(player, from, to); this.cserver.getPluginManager().callEvent(event); -@@ -1509,7 +1531,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -1505,7 +1527,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl if (!event.isAllowed()) { movedWrongly = true; if (event.getLogWarning()) @@ -133,7 +133,7 @@ index 671757b90c21d2c7e9eeb24340e6b820e3d1a99e..cf2c47ad32539865c94dc768c9fe5920 } } -@@ -1576,6 +1598,8 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -1572,6 +1594,8 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl this.lastYaw = to.getYaw(); this.lastPitch = to.getPitch(); diff --git a/patches/server/0071-Allow-color-codes-in-books.patch b/patches/server/0071-Allow-color-codes-in-books.patch index aef067107..0be3d03d3 100644 --- a/patches/server/0071-Allow-color-codes-in-books.patch +++ b/patches/server/0071-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 5323fa77e8b4e489286a61c50fbaa4f8088f9988..cd740e4f7555a33f16bbec51e02130dbc7bb00ac 100644 +index 56589f5c674670534ecf0b97c73c97e302716b9c..39950e314ee9373c9b2a7a70dac1977ee7a303bf 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -1249,13 +1249,16 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -1245,13 +1245,16 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl itemstack1.setTag(nbttagcompound.copy()); } @@ -28,7 +28,7 @@ index 5323fa77e8b4e489286a61c50fbaa4f8088f9988..cd740e4f7555a33f16bbec51e02130db this.updateBookPages(pages, (s) -> { return Component.Serializer.toJson(Component.literal(s)); -@@ -1267,10 +1270,13 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -1263,10 +1266,13 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl private void updateBookPages(List list, UnaryOperator unaryoperator, ItemStack itemstack, int slot, ItemStack handItem) { // CraftBukkit ListTag nbttaglist = new ListTag(); @@ -44,7 +44,7 @@ index 5323fa77e8b4e489286a61c50fbaa4f8088f9988..cd740e4f7555a33f16bbec51e02130db Objects.requireNonNull(nbttaglist); stream.forEach(nbttaglist::add); -@@ -1280,11 +1286,11 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -1276,11 +1282,11 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl for (int j = list.size(); i < j; ++i) { FilteredText filteredtext = (FilteredText) list.get(i); @@ -58,7 +58,7 @@ index 5323fa77e8b4e489286a61c50fbaa4f8088f9988..cd740e4f7555a33f16bbec51e02130db } } -@@ -1297,6 +1303,16 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -1293,6 +1299,16 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl this.player.getInventory().setItem(slot, CraftEventFactory.handleEditBookEvent(this.player, slot, handItem, itemstack)); // CraftBukkit // Paper - Don't ignore result (see other callsite for handleEditBookEvent) } diff --git a/patches/server/0072-Entity-lifespan.patch b/patches/server/0072-Entity-lifespan.patch index df437c26a..b90a1c164 100644 --- a/patches/server/0072-Entity-lifespan.patch +++ b/patches/server/0072-Entity-lifespan.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Entity lifespan diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index cd740e4f7555a33f16bbec51e02130dbc7bb00ac..01d9a2aa583280dc3bbb035205798c09e905677a 100644 +index 39950e314ee9373c9b2a7a70dac1977ee7a303bf..17d3d4caa010c97d0c78f6286140cb44c75a8b40 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2749,6 +2749,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -2745,6 +2745,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl AABB axisalignedbb = entity.getBoundingBox(); if (axisalignedbb.distanceToSqr(this.player.getEyePosition()) < ServerGamePacketListenerImpl.MAX_INTERACTION_DISTANCE) { @@ -17,7 +17,7 @@ index cd740e4f7555a33f16bbec51e02130dbc7bb00ac..01d9a2aa583280dc3bbb035205798c09 private void performInteraction(InteractionHand enumhand, ServerGamePacketListenerImpl.EntityInteraction playerconnection_a, PlayerInteractEntityEvent event) { // CraftBukkit ItemStack itemstack = ServerGamePacketListenerImpl.this.player.getItemInHand(enumhand); diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java -index e9b82e27730221778e38d3417d58484b139d40af..8a8ddfffe83554352f1e97fd33e8afd4bb4d82c0 100644 +index 6c6d31ca2321499b1834e16545b6af9436c96b37..431f9a872a1195d6014ff9e87eef9c85396edbe3 100644 --- a/src/main/java/net/minecraft/world/entity/Mob.java +++ b/src/main/java/net/minecraft/world/entity/Mob.java @@ -136,6 +136,7 @@ public abstract class Mob extends LivingEntity implements Targeting { @@ -94,7 +94,7 @@ index e9b82e27730221778e38d3417d58484b139d40af..8a8ddfffe83554352f1e97fd33e8afd4 } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 61aaa72034c4b8b964b65aab7b9edb4d3471bf93..f88bcb94067626daf8fe080f85de15dc81536fee 100644 +index 55ae989ae13ae9c0730f6f8df5f7eba52a560b1f..9ba3a90e1af9c733949c52988c56c05af46356e8 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -125,6 +125,11 @@ public class PurpurWorldConfig { diff --git a/patches/server/0098-Furnace-uses-lava-from-underneath.patch b/patches/server/0098-Furnace-uses-lava-from-underneath.patch index f6092ad88..2dd5b5a93 100644 --- a/patches/server/0098-Furnace-uses-lava-from-underneath.patch +++ b/patches/server/0098-Furnace-uses-lava-from-underneath.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Furnace uses lava from underneath diff --git a/src/main/java/net/minecraft/world/level/block/entity/AbstractFurnaceBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/AbstractFurnaceBlockEntity.java -index 5eaab97a0c3b93a44a45e2ed11033fe01c0c95c2..4fa77dbb02b5b2ad679f022ad10702453af0d178 100644 +index 89d06253b00604114e543ebbe12a9993ae95dc41..c5bbb83f54d942d438ce8cf3a060ef2184069b88 100644 --- a/src/main/java/net/minecraft/world/level/block/entity/AbstractFurnaceBlockEntity.java +++ b/src/main/java/net/minecraft/world/level/block/entity/AbstractFurnaceBlockEntity.java @@ -44,6 +44,7 @@ import net.minecraft.world.level.Level; @@ -16,7 +16,7 @@ index 5eaab97a0c3b93a44a45e2ed11033fe01c0c95c2..4fa77dbb02b5b2ad679f022ad1070245 import net.minecraft.world.phys.Vec3; // CraftBukkit start import org.bukkit.craftbukkit.block.CraftBlock; -@@ -325,6 +326,21 @@ public abstract class AbstractFurnaceBlockEntity extends BaseContainerBlockEntit +@@ -330,6 +331,21 @@ public abstract class AbstractFurnaceBlockEntity extends BaseContainerBlockEntit } ItemStack itemstack = (ItemStack) blockEntity.items.get(1); @@ -38,7 +38,7 @@ index 5eaab97a0c3b93a44a45e2ed11033fe01c0c95c2..4fa77dbb02b5b2ad679f022ad1070245 boolean flag2 = !((ItemStack) blockEntity.items.get(0)).isEmpty(); boolean flag3 = !itemstack.isEmpty(); -@@ -410,6 +426,7 @@ public abstract class AbstractFurnaceBlockEntity extends BaseContainerBlockEntit +@@ -415,6 +431,7 @@ public abstract class AbstractFurnaceBlockEntity extends BaseContainerBlockEntit setChanged(world, pos, state); } @@ -47,7 +47,7 @@ index 5eaab97a0c3b93a44a45e2ed11033fe01c0c95c2..4fa77dbb02b5b2ad679f022ad1070245 private static boolean canBurn(RegistryAccess registryManager, @Nullable RecipeHolder recipe, NonNullList slots, int count) { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index a468de219bfc2c6304d57368c36851b39363b5bb..79daa10d7fe58b8ddc428bc57b0f8227490da839 100644 +index ff057de0327eeb15d374c923729dafac5d811f2a..666ff3e30e09c91653bf51041afc95799c8955fe 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -409,6 +409,17 @@ public class PurpurWorldConfig { diff --git a/patches/server/0119-PlayerBookTooLargeEvent.patch b/patches/server/0119-PlayerBookTooLargeEvent.patch index f37e2f43a..f40326c75 100644 --- a/patches/server/0119-PlayerBookTooLargeEvent.patch +++ b/patches/server/0119-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 01d9a2aa583280dc3bbb035205798c09e905677a..e3d6323a8e11ec68fecb88c723b2de5cbb030a10 100644 +index 17d3d4caa010c97d0c78f6286140cb44c75a8b40..79034a8fdf8d8d71056bec84b05ad70ae5ceb99e 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -1169,10 +1169,15 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -1165,10 +1165,15 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl int maxBookPageSize = io.papermc.paper.configuration.GlobalConfiguration.get().itemValidation.bookSize.pageMax; double multiplier = Math.max(0.3D, Math.min(1D, io.papermc.paper.configuration.GlobalConfiguration.get().itemValidation.bookSize.totalMultiplier)); long byteAllowed = maxBookPageSize; @@ -24,7 +24,7 @@ index 01d9a2aa583280dc3bbb035205798c09e905677a..e3d6323a8e11ec68fecb88c723b2de5c server.scheduleOnMain(() -> this.disconnect("Book too large!", org.bukkit.event.player.PlayerKickEvent.Cause.ILLEGAL_ACTION)); // Paper - kick event cause return; } -@@ -1196,6 +1201,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -1192,6 +1197,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl 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/0132-Dont-run-with-scissors.patch b/patches/server/0132-Dont-run-with-scissors.patch index bd278a77e..4676b5315 100644 --- a/patches/server/0132-Dont-run-with-scissors.patch +++ b/patches/server/0132-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 32f33eb8b99ad4655cf021b7cf16eb15fe96ba59..4220c1b4e44ecf67653fe5a50a209866ddafd3bf 100644 +index 79034a8fdf8d8d71056bec84b05ad70ae5ceb99e..cac4127571c514a6f7697f31eb7d1edeca47d99a 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -1657,6 +1657,13 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -1653,6 +1653,13 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl this.player.resetFallDistance(); } @@ -22,7 +22,7 @@ index 32f33eb8b99ad4655cf021b7cf16eb15fe96ba59..4220c1b4e44ecf67653fe5a50a209866 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(); -@@ -1696,6 +1703,13 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -1692,6 +1699,13 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl return false; } // Paper end - optimise out extra getCubes diff --git a/patches/server/0212-Shift-right-click-to-use-exp-for-mending.patch b/patches/server/0212-Shift-right-click-to-use-exp-for-mending.patch index aa4aa2f68..9badb2061 100644 --- a/patches/server/0212-Shift-right-click-to-use-exp-for-mending.patch +++ b/patches/server/0212-Shift-right-click-to-use-exp-for-mending.patch @@ -36,10 +36,10 @@ index 1aa98f8ff062a906035c62875c454aeb0bc6f179..f8edb6b0d119582cf404b9931adc0948 + // 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 0a5de5984f402aa49324ebc691bf8f84682aa680..1b2836737a38eb11e484c6073a6a33f5bc16d4e1 100644 +index cac4127571c514a6f7697f31eb7d1edeca47d99a..5e17a72dbe105a1a0221d857b6da39a855127aab 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2055,6 +2055,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -2051,6 +2051,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl boolean cancelled; if (movingobjectposition == null || movingobjectposition.getType() != HitResult.Type.BLOCK) { @@ -48,7 +48,7 @@ index 0a5de5984f402aa49324ebc691bf8f84682aa680..1b2836737a38eb11e484c6073a6a33f5 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 dd17cf2aabd7a778c481aa036258b91a27229998..100d0a10c83d69cfeca0b88572f9838682fc5cef 100644 +index da270cdc4afe91c65513469b04b4d247066a05ec..83da28a7edb4b101138034ed6ac71a0ae36a091b 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -411,6 +411,7 @@ public class PurpurWorldConfig { diff --git a/patches/server/0257-Option-to-disable-kick-for-out-of-order-chat.patch b/patches/server/0257-Option-to-disable-kick-for-out-of-order-chat.patch index 664ea897c..003f1e1c7 100644 --- a/patches/server/0257-Option-to-disable-kick-for-out-of-order-chat.patch +++ b/patches/server/0257-Option-to-disable-kick-for-out-of-order-chat.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Option to disable kick for out of order chat diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 1b2836737a38eb11e484c6073a6a33f5bc16d4e1..8aad8c78869b644f0111e9b2265c128633386787 100644 +index 5e17a72dbe105a1a0221d857b6da39a855127aab..7dec861f49e7db0ac7cf4f4942881f237ebcd61f 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -1720,7 +1720,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -1716,7 +1716,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl do { if (!iterator.hasNext()) { diff --git a/patches/server/0264-Remove-Timings.patch b/patches/server/0264-Remove-Timings.patch index e90aa25c7..67b7ac987 100644 --- a/patches/server/0264-Remove-Timings.patch +++ b/patches/server/0264-Remove-Timings.patch @@ -214,7 +214,7 @@ index 0088180c3574ace7eb4170c385d2ca9fc098d6f3..b1d2464fc151d4c636c3c2dc4e7b9446 this.profiler.popPush("send chunks"); iterator = this.playerList.getPlayers().iterator(); diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java -index 655b49f74139d960b81985e3c2eae23004f1e7e4..014883b1f7acf32a00e03da87862cabefefdf5f9 100644 +index 952b312c35b1c0d015e9d08646ee42d91f8bf1e3..957473abe92bdcdfe46c936f5331fc3e480eb156 100644 --- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java +++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java @@ -523,7 +523,7 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface @@ -630,10 +630,10 @@ index 009d077f979d5ae85b359f3829038015af347429..b4b256721b7a5d25deec717123501a16 } else if (close) { chunkproviderserver.close(false); } // Paper - rewrite chunk system diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 8aad8c78869b644f0111e9b2265c128633386787..a5913c1b5c7cfb1db482d21607e264bea2862114 100644 +index 7dec861f49e7db0ac7cf4f4942881f237ebcd61f..19b4a69a3062870b831c37728cab8376d3340d54 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2460,7 +2460,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -2456,7 +2456,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl public void handleCommand(String s) { // Paper - private -> public org.spigotmc.AsyncCatcher.catchOp("Command Dispatched Async: " + s); // Paper - Add async catcher @@ -642,7 +642,7 @@ index 8aad8c78869b644f0111e9b2265c128633386787..a5913c1b5c7cfb1db482d21607e264be if ( org.spigotmc.SpigotConfig.logCommands ) // Spigot this.LOGGER.info(this.player.getScoreboardName() + " issued server command: " + s); -@@ -2470,7 +2470,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -2466,7 +2466,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl this.cserver.getPluginManager().callEvent(event); if (event.isCancelled()) { @@ -651,7 +651,7 @@ index 8aad8c78869b644f0111e9b2265c128633386787..a5913c1b5c7cfb1db482d21607e264be return; } -@@ -2483,7 +2483,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -2479,7 +2479,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl java.util.logging.Logger.getLogger(ServerGamePacketListenerImpl.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); return; } finally { diff --git a/patches/server/0266-Add-more-logger-output-for-invalid-movement-kicks.patch b/patches/server/0266-Add-more-logger-output-for-invalid-movement-kicks.patch index 34066e4dd..5ef8024ed 100644 --- a/patches/server/0266-Add-more-logger-output-for-invalid-movement-kicks.patch +++ b/patches/server/0266-Add-more-logger-output-for-invalid-movement-kicks.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add more logger output for invalid movement kicks diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index a5913c1b5c7cfb1db482d21607e264bea2862114..e38de89141ee2f61966abdd81bd00a2d671ef949 100644 +index 19b4a69a3062870b831c37728cab8376d3340d54..4cb24be39cdb223cfeb34c102bdc707f3850033b 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -733,6 +733,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl @@ -16,7 +16,7 @@ index a5913c1b5c7cfb1db482d21607e264bea2862114..e38de89141ee2f61966abdd81bd00a2d return; } -@@ -1368,8 +1369,16 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -1364,8 +1365,16 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl @Override public void handleMovePlayer(ServerboundMovePlayerPacket packet) { PacketUtils.ensureRunningOnSameThread(packet, this, this.player.serverLevel()); diff --git a/patches/server/0275-Add-item-packet-serialize-event.patch b/patches/server/0275-Add-item-packet-serialize-event.patch index cde976b34..8edb72a24 100644 --- a/patches/server/0275-Add-item-packet-serialize-event.patch +++ b/patches/server/0275-Add-item-packet-serialize-event.patch @@ -48,10 +48,10 @@ index 8384f72d408f6f31c4c8a1ba47b8caba600faaad..b1dd8d66a524254a270a725f5f7a46f2 while (iterator.hasNext()) { ServerLevel worldserver = (ServerLevel) iterator.next(); diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index e38de89141ee2f61966abdd81bd00a2d671ef949..5b37a0bc513a68e0696362fa53633c125eb1fa8b 100644 +index 4cb24be39cdb223cfeb34c102bdc707f3850033b..b7803d6753d28f174b8a6e5b31eccfa44b94c6be 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -3369,6 +3369,12 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -3365,6 +3365,12 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl } } }