diff --git a/gradle.properties b/gradle.properties index f0b35ada..986bbafd 100644 --- a/gradle.properties +++ b/gradle.properties @@ -4,6 +4,6 @@ version=1.20.4-R0.1-SNAPSHOT mcVersion=1.20.4 packageVersion=1_20_R3 org.gradle.jvmargs=-Xmx2G -paperRef=b3c81089ae26cc3ad2e7388c7b64457f3f83c98a +paperRef=c5d168cef92148a6799141832fdb5f95732c1a38 preVersion=false updatingMinecraft=false \ No newline at end of file diff --git a/patches/server/0002-Delete-Timings.patch b/patches/server/0002-Delete-Timings.patch index 1ca9b203..7b9615a3 100644 --- a/patches/server/0002-Delete-Timings.patch +++ b/patches/server/0002-Delete-Timings.patch @@ -856,7 +856,7 @@ index 3e2d5dcd62775b6ed7c0ce0ba51a71b635b1d644..d0a487f0d563181818c5670749e8dd3a } catch (Exception exception) { label25: diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index b6058a9a51f0be9cf36e3226023e6b2f61c7e82b..93412c3eb947afb1ad6ee8dba9864b2d310e0624 100644 +index 41ae5cccc1388c27a88ab9d142d3e4834c5ab97d..61e0e14b74c6585a9d157cae3db9c5c3a69b393f 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -3,9 +3,6 @@ package net.minecraft.server; @@ -1575,10 +1575,10 @@ index 6934e9dac0d69c043b73b7c46d59f2d39b37c67f..8e43a6817e9101b6dcc956e3b6f4bcff } 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 8ca5d7c1bfacb1b47aa680eee167af08d0396ae0..062c5a2988bfbe52d73e3a88aee02298d85ed4f9 100644 +index 2562ea3b63b055319a775c12ff327d127f8039c3..f3b33fca6bc6c9c827cab78488b5aec782e92969 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2380,7 +2380,6 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -2379,7 +2379,6 @@ 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 @@ -1586,7 +1586,7 @@ index 8ca5d7c1bfacb1b47aa680eee167af08d0396ae0..062c5a2988bfbe52d73e3a88aee02298 if ( org.spigotmc.SpigotConfig.logCommands ) // Spigot this.LOGGER.info(this.player.getScoreboardName() + " issued server command: " + s); -@@ -2390,20 +2389,14 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -2389,20 +2388,14 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl this.cserver.getPluginManager().callEvent(event); if (event.isCancelled()) { @@ -1609,7 +1609,7 @@ index 8ca5d7c1bfacb1b47aa680eee167af08d0396ae0..062c5a2988bfbe52d73e3a88aee02298 } // CraftBukkit end diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index e0ee45036b9bf14a6e2013fe291cde0402b85b1f..257b4fd11d398513a61485ab2019b30eb0d2c9ac 100644 +index 91feb12732564c90656da487664dbc12e55397fc..6104f952b9138b0030aebd23c23fdeccc88e567d 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -1,6 +1,5 @@ @@ -1636,7 +1636,7 @@ index e0ee45036b9bf14a6e2013fe291cde0402b85b1f..257b4fd11d398513a61485ab2019b30e } diff --git a/src/main/java/net/minecraft/world/entity/EntityType.java b/src/main/java/net/minecraft/world/entity/EntityType.java -index edc723ea5ca3a325106e7af38c60dbf9f0f5fb77..ddb763dfa813a6b6c3d924511ee9965c1435e2ee 100644 +index 09e8445a3f8c6b3ebc852a75a9a25b41a51ba659..22d19f1ca47a79be2c41775c5564535b8adcfcec 100644 --- a/src/main/java/net/minecraft/world/entity/EntityType.java +++ b/src/main/java/net/minecraft/world/entity/EntityType.java @@ -331,10 +331,6 @@ public class EntityType implements FeatureElement, EntityTypeT @@ -1650,7 +1650,7 @@ index edc723ea5ca3a325106e7af38c60dbf9f0f5fb77..ddb763dfa813a6b6c3d924511ee9965c // Paper end this.builtInRegistryHolder = BuiltInRegistries.ENTITY_TYPE.createIntrusiveHolder(this); this.factory = factory; -@@ -695,12 +691,6 @@ public class EntityType implements FeatureElement, EntityTypeT +@@ -691,12 +687,6 @@ public class EntityType implements FeatureElement, EntityTypeT return this.updateInterval; } @@ -1664,10 +1664,10 @@ index edc723ea5ca3a325106e7af38c60dbf9f0f5fb77..ddb763dfa813a6b6c3d924511ee9965c return this != EntityType.PLAYER && this != EntityType.LLAMA_SPIT && this != EntityType.WITHER && this != EntityType.BAT && this != EntityType.ITEM_FRAME && this != EntityType.GLOW_ITEM_FRAME && this != EntityType.LEASH_KNOT && this != EntityType.PAINTING && this != EntityType.END_CRYSTAL && this != EntityType.EVOKER_FANGS; } diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 6071451339080bbdd98fb634791a56988984c8bc..640cf73adf6d5dedf41b0a083cc34b3ba9bb8f2b 100644 +index 6523795e715e5d472739e9bc6433143115c3de8f..179d96358f935a7717c6a7a4cd6e64b60d76bb34 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; +@@ -141,7 +141,6 @@ import org.bukkit.event.entity.EntityTeleportEvent; import org.bukkit.event.player.PlayerItemConsumeEvent; // CraftBukkit end @@ -1751,21 +1751,10 @@ index fcdb9bde8e1605e30dde3e580491522d4b62cdc0..b68c69a7ab71926ecf478d8daa5ec5ac } diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java -index 8f437225d2a4e08ca47873cd42277d9f0f9f5529..1d2ef62752b15e5f08536ccd20d0a5a19b218702 100644 +index 19f23a6c8fb5c02843c27fb8a242ec9d0d1b538b..7d6244820295186d5887da9eba36859406c6e3c6 100644 --- a/src/main/java/net/minecraft/world/level/Level.java +++ b/src/main/java/net/minecraft/world/level/Level.java -@@ -1,10 +1,7 @@ - package net.minecraft.world.level; - --import co.aikar.timings.Timing; --import co.aikar.timings.Timings; - import com.destroystokyo.paper.event.server.ServerExceptionEvent; - import com.destroystokyo.paper.exception.ServerInternalException; --import com.google.common.base.MoreObjects; - import com.google.common.collect.Lists; - import com.mojang.serialization.Codec; - import java.io.IOException; -@@ -17,7 +14,6 @@ import java.util.function.Supplier; +@@ -12,7 +12,6 @@ import java.util.function.Supplier; import javax.annotation.Nullable; import net.minecraft.CrashReport; import net.minecraft.CrashReportCategory; @@ -1773,7 +1762,7 @@ index 8f437225d2a4e08ca47873cd42277d9f0f9f5529..1d2ef62752b15e5f08536ccd20d0a5a1 import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.core.Holder; -@@ -38,7 +34,6 @@ import net.minecraft.server.level.ServerLevel; +@@ -33,7 +32,6 @@ import net.minecraft.server.level.ServerLevel; import net.minecraft.sounds.SoundEvent; import net.minecraft.sounds.SoundEvents; import net.minecraft.sounds.SoundSource; @@ -1781,7 +1770,7 @@ index 8f437225d2a4e08ca47873cd42277d9f0f9f5529..1d2ef62752b15e5f08536ccd20d0a5a1 import net.minecraft.util.Mth; import net.minecraft.util.RandomSource; import net.minecraft.util.profiling.ProfilerFiller; -@@ -47,8 +42,6 @@ import net.minecraft.world.TickRateManager; +@@ -42,8 +40,6 @@ import net.minecraft.world.TickRateManager; import net.minecraft.world.damagesource.DamageSource; import net.minecraft.world.damagesource.DamageSources; import net.minecraft.world.entity.Entity; @@ -1790,7 +1779,7 @@ index 8f437225d2a4e08ca47873cd42277d9f0f9f5529..1d2ef62752b15e5f08536ccd20d0a5a1 import net.minecraft.world.entity.item.ItemEntity; import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.ItemStack; -@@ -94,17 +87,14 @@ import net.minecraft.network.protocol.game.ClientboundSetBorderSizePacket; +@@ -89,17 +85,14 @@ import net.minecraft.network.protocol.game.ClientboundSetBorderSizePacket; import net.minecraft.network.protocol.game.ClientboundSetBorderWarningDelayPacket; import net.minecraft.network.protocol.game.ClientboundSetBorderWarningDistancePacket; import org.bukkit.Bukkit; @@ -1808,7 +1797,7 @@ index 8f437225d2a4e08ca47873cd42277d9f0f9f5529..1d2ef62752b15e5f08536ccd20d0a5a1 // CraftBukkit end public abstract class Level implements LevelAccessor, AutoCloseable { -@@ -178,7 +168,6 @@ public abstract class Level implements LevelAccessor, AutoCloseable { +@@ -173,7 +166,6 @@ public abstract class Level implements LevelAccessor, AutoCloseable { // Paper end - add paper world config public final com.destroystokyo.paper.antixray.ChunkPacketBlockController chunkPacketBlockController; // Paper - Anti-Xray @@ -1816,7 +1805,7 @@ index 8f437225d2a4e08ca47873cd42277d9f0f9f5529..1d2ef62752b15e5f08536ccd20d0a5a1 public static BlockPos lastPhysicsProblem; // Spigot private org.spigotmc.TickLimiter entityLimiter; private org.spigotmc.TickLimiter tileLimiter; -@@ -294,7 +283,6 @@ public abstract class Level implements LevelAccessor, AutoCloseable { +@@ -289,7 +281,6 @@ public abstract class Level implements LevelAccessor, AutoCloseable { public void onBorderSetDamageSafeZOne(WorldBorder border, double safeZoneRadius) {} }); // CraftBukkit end @@ -1824,7 +1813,7 @@ index 8f437225d2a4e08ca47873cd42277d9f0f9f5529..1d2ef62752b15e5f08536ccd20d0a5a1 this.keepSpawnInMemory = this.paperConfig().spawn.keepSpawnLoaded; // Paper - Option to keep spawn chunks loaded this.entityLimiter = new org.spigotmc.TickLimiter(this.spigotConfig.entityMaxTickTime); this.tileLimiter = new org.spigotmc.TickLimiter(this.spigotConfig.tileMaxTickTime); -@@ -1265,15 +1253,12 @@ public abstract class Level implements LevelAccessor, AutoCloseable { +@@ -1260,15 +1251,12 @@ public abstract class Level implements LevelAccessor, AutoCloseable { ProfilerFiller gameprofilerfiller = this.getProfiler(); gameprofilerfiller.push("blockEntities"); @@ -1840,7 +1829,7 @@ index 8f437225d2a4e08ca47873cd42277d9f0f9f5529..1d2ef62752b15e5f08536ccd20d0a5a1 // Spigot start // Iterator iterator = this.blockEntityTickers.iterator(); boolean flag = this.tickRateManager().runsNormally(); -@@ -1302,9 +1287,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable { +@@ -1297,9 +1285,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable { } this.blockEntityTickers.removeAll(toRemove); // Paper - Fix MC-117075 @@ -1851,7 +1840,7 @@ index 8f437225d2a4e08ca47873cd42277d9f0f9f5529..1d2ef62752b15e5f08536ccd20d0a5a1 this.spigotConfig.currentPrimedTnt = 0; // Spigot } diff --git a/src/main/java/net/minecraft/world/level/NaturalSpawner.java b/src/main/java/net/minecraft/world/level/NaturalSpawner.java -index 17e9f3a30e287faf210e08dc7eb177a70f049f43..40731adc1b85727d83aeab29b0ebde7fc366584c 100644 +index da7489986848316fed029b71d1bc4e1248c9c9a8..140c9e6c7bd5e2e52c586ab6954edbc790e6e02b 100644 --- a/src/main/java/net/minecraft/world/level/NaturalSpawner.java +++ b/src/main/java/net/minecraft/world/level/NaturalSpawner.java @@ -133,7 +133,6 @@ public final class NaturalSpawner { @@ -1871,7 +1860,7 @@ index 17e9f3a30e287faf210e08dc7eb177a70f049f43..40731adc1b85727d83aeab29b0ebde7f } diff --git a/src/main/java/net/minecraft/world/level/block/Block.java b/src/main/java/net/minecraft/world/level/block/Block.java -index 73d6f881a7d4d8ff96040d34ac502e5b0937d577..e815d53c327709d977045e016f8d2e9338500002 100644 +index 22036ed3ea0629bc12981a8d91a03e55cc2117d6..3212771ac19044ca37bf60e231eac5615a9c240e 100644 --- a/src/main/java/net/minecraft/world/level/block/Block.java +++ b/src/main/java/net/minecraft/world/level/block/Block.java @@ -103,13 +103,6 @@ public class Block extends BlockBehaviour implements ItemLike { @@ -2104,7 +2093,7 @@ index b3e1adeb932da9b3bed16acd94e2f16da48a7c72..e9798517b9211c50a20ea5c69603aab3 } } diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index 4e1390b9244aeb745ffd3fd1257bc74248722515..e0eb1cd5cd439a538105719eb215307fc3705012 100644 +index ca5312febcdd467889ad725c0263367bc5fe69f6..e77482def28fbd930b49913fb68f48212bc9b4a8 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java @@ -212,7 +212,6 @@ public final class CraftMagicNumbers implements UnsafeValues { diff --git a/patches/server/0010-Fakeplayer-support.patch b/patches/server/0010-Fakeplayer-support.patch index 4b44ce6b..80346d3e 100644 --- a/patches/server/0010-Fakeplayer-support.patch +++ b/patches/server/0010-Fakeplayer-support.patch @@ -17,7 +17,7 @@ index a327973e37b5b8d4e15683ef24548482ac3dc3d5..65d82963d611a6dbbd7ca58d363854e4 Set> set = (Set) playerAdvancements.criterionData.get(this); // Paper - fix AdvancementDataPlayer leak if (set != null && !set.isEmpty()) { diff --git a/src/main/java/net/minecraft/network/Connection.java b/src/main/java/net/minecraft/network/Connection.java -index b189aeb8646b5385c7cca0c4babfcb071a642220..d6179829579a07c29565d024f53069375be53fb7 100644 +index 4716f8bd8a64d4f20f0d5957c1e7fabf63020f43..13b0a965eaee5ba2f6da420c3c02dc719fa73dd6 100644 --- a/src/main/java/net/minecraft/network/Connection.java +++ b/src/main/java/net/minecraft/network/Connection.java @@ -339,6 +339,14 @@ public class Connection extends SimpleChannelInboundHandler> { @@ -36,7 +36,7 @@ index b189aeb8646b5385c7cca0c4babfcb071a642220..d6179829579a07c29565d024f5306937 if (this.packetListener != null) { throw new IllegalStateException("Listener already set"); diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 3ab53e1eee43c048ec89f8bda610e35efa5a52aa..487cc5b0d980d9e910695440fb7da8704fdb2b72 100644 +index 77e952a502bebfb31311b47ceed0b88118278d4a..91d82c02eb152e3565e52fc1e01ce37855a39bdd 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -663,6 +663,8 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop= world.paperConfig().entities.behavior.playerInsomniaStartTicks) { // Paper - Ability to control player's insomnia and phantoms BlockPos blockposition1 = blockposition.above(20 + randomsource.nextInt(15)).east(-10 + randomsource.nextInt(21)).south(-10 + randomsource.nextInt(21)); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 08368c1cddaf96a329e8034ee9ab52ac03b1dd88..52ab6030ebbffbe42979bee57cc6e26d30067e09 100644 +index c21cc6231cfd6d542fc0ceaa4d62541709c1e3a8..1c79abf5952c29301bc9d83cd20a81696085fbf0 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -259,6 +259,7 @@ import org.yaml.snakeyaml.constructor.SafeConstructor; diff --git a/patches/server/0013-Add-isShrink-to-EntityResurrectEvent.patch b/patches/server/0013-Add-isShrink-to-EntityResurrectEvent.patch index 69f7505f..aef99b7c 100644 --- a/patches/server/0013-Add-isShrink-to-EntityResurrectEvent.patch +++ b/patches/server/0013-Add-isShrink-to-EntityResurrectEvent.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add isShrink to EntityResurrectEvent diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 640cf73adf6d5dedf41b0a083cc34b3ba9bb8f2b..3e84707fe7eace5c249eb2a1299ea841356bfc78 100644 +index 179d96358f935a7717c6a7a4cd6e64b60d76bb34..f7c08415b99289d0cfb522121bbec1dbb3929119 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -1613,12 +1613,12 @@ public abstract class LivingEntity extends Entity implements Attackable { @@ -23,7 +23,7 @@ index 640cf73adf6d5dedf41b0a083cc34b3ba9bb8f2b..3e84707fe7eace5c249eb2a1299ea841 itemstack1.shrink(1); } if (itemstack != null && this instanceof ServerPlayer) { -@@ -4543,3 +4543,4 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -4544,3 +4544,4 @@ public abstract class LivingEntity extends Entity implements Attackable { } } diff --git a/patches/server/0014-Budding-Amethyst-can-push-by-piston.patch b/patches/server/0014-Budding-Amethyst-can-push-by-piston.patch index ca2d8f7d..ce456138 100644 --- a/patches/server/0014-Budding-Amethyst-can-push-by-piston.patch +++ b/patches/server/0014-Budding-Amethyst-can-push-by-piston.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Budding Amethyst can push by piston diff --git a/src/main/java/net/minecraft/world/level/block/Block.java b/src/main/java/net/minecraft/world/level/block/Block.java -index e815d53c327709d977045e016f8d2e9338500002..6214df7dc09b2e50c2dcf2d60b3a02cc39329e2c 100644 +index 3212771ac19044ca37bf60e231eac5615a9c240e..ee6cb4042421a74095473360126f6d083513934b 100644 --- a/src/main/java/net/minecraft/world/level/block/Block.java +++ b/src/main/java/net/minecraft/world/level/block/Block.java -@@ -602,6 +602,12 @@ public class Block extends BlockBehaviour implements ItemLike { +@@ -603,6 +603,12 @@ public class Block extends BlockBehaviour implements ItemLike { } // Spigot end @@ -38,7 +38,7 @@ index 7f58c9f5935cd14ea1096de14633f653eb486d7e..b83efe46ecb3ebf2b3d0c4499eec2905 + // Leaves end - budding amethyst can push by piston } diff --git a/src/main/java/net/minecraft/world/level/block/state/BlockBehaviour.java b/src/main/java/net/minecraft/world/level/block/state/BlockBehaviour.java -index 97a9fbbe6d8435e88e5fe716770e4034ab0db7a7..6c237de3572e060342d79f31c79e3e459b73762a 100644 +index 2892e586146cbc560f0bcf4b9af6d0575cb0a82e..ebba87e53105ee68a6f030476a2def609e668fb3 100644 --- a/src/main/java/net/minecraft/world/level/block/state/BlockBehaviour.java +++ b/src/main/java/net/minecraft/world/level/block/state/BlockBehaviour.java @@ -1157,7 +1157,7 @@ public abstract class BlockBehaviour implements FeatureElement { diff --git a/patches/server/0022-Optimize-suffocation.patch b/patches/server/0022-Optimize-suffocation.patch index 40449591..449622a9 100644 --- a/patches/server/0022-Optimize-suffocation.patch +++ b/patches/server/0022-Optimize-suffocation.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Optimize suffocation This patch is Powered by Pufferfish(https://github.com/pufferfish-gg/Pufferfish) diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index ffc10deeb66a7038b38c10dd0c38f7f2cd2be22d..63d5bef6fcbb5ba00112130aa364be2185b00434 100644 +index f7c08415b99289d0cfb522121bbec1dbb3929119..d704db7227fee370d0df87a7efe24b0ede2b1de8 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -412,7 +412,7 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -411,7 +411,7 @@ public abstract class LivingEntity extends Entity implements Attackable { boolean flag = this instanceof net.minecraft.world.entity.player.Player; if (!this.level().isClientSide) { diff --git a/patches/server/0024-Move-ThreadUnsafeRandom-Initialization.patch b/patches/server/0024-Move-ThreadUnsafeRandom-Initialization.patch index 33bab777..05d8d634 100644 --- a/patches/server/0024-Move-ThreadUnsafeRandom-Initialization.patch +++ b/patches/server/0024-Move-ThreadUnsafeRandom-Initialization.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Move ThreadUnsafeRandom Initialization This patch is Powered by Pufferfish(https://github.com/pufferfish-gg/Pufferfish) diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index 384327f4a77e0fd92a5de35c4beba767143bbc36..d046ffa452a6fe2f2f35a961fec792f27ed6df38 100644 +index f6dc8abe82c2d35193572e26d481df99b516dd1e..c9e578cd3d941fa343cc957805df882b51e0761f 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java @@ -965,7 +965,7 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -19,10 +19,10 @@ index 384327f4a77e0fd92a5de35c4beba767143bbc36..d046ffa452a6fe2f2f35a961fec792f2 public void tickChunk(LevelChunk chunk, int randomTickSpeed) { diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java -index 111d28fc2e26783a714b10f91877b09f5e8f8fa1..0a44fddad2f90983ae46bd6465e7ee857a702674 100644 +index 7d6244820295186d5887da9eba36859406c6e3c6..7a41ed311fd2841bf965bc510008f47ea1a59026 100644 --- a/src/main/java/net/minecraft/world/level/Level.java +++ b/src/main/java/net/minecraft/world/level/Level.java -@@ -201,6 +201,8 @@ public abstract class Level implements LevelAccessor, AutoCloseable { +@@ -199,6 +199,8 @@ public abstract class Level implements LevelAccessor, AutoCloseable { public abstract ResourceKey getTypeKey(); @@ -31,7 +31,7 @@ index 111d28fc2e26783a714b10f91877b09f5e8f8fa1..0a44fddad2f90983ae46bd6465e7ee85 protected Level(WritableLevelData worlddatamutable, ResourceKey resourcekey, RegistryAccess iregistrycustom, Holder holder, Supplier supplier, boolean flag, boolean flag1, long i, int j, org.bukkit.generator.ChunkGenerator gen, org.bukkit.generator.BiomeProvider biomeProvider, org.bukkit.World.Environment env, java.util.function.Function paperWorldConfigCreator, java.util.concurrent.Executor executor) { // Paper - create paper world config; Async-Anti-Xray: Pass executor this.spigotConfig = new org.spigotmc.SpigotWorldConfig(((net.minecraft.world.level.storage.PrimaryLevelData) worlddatamutable).getLevelName()); // Spigot this.paperConfig = paperWorldConfigCreator.apply(this.spigotConfig); // Paper - create paper world config -@@ -293,6 +295,12 @@ public abstract class Level implements LevelAccessor, AutoCloseable { +@@ -291,6 +293,12 @@ public abstract class Level implements LevelAccessor, AutoCloseable { // Paper end - optimise collisions } diff --git a/patches/server/0027-Use-thread-unsafe-random-for-mob-spawning.patch b/patches/server/0027-Use-thread-unsafe-random-for-mob-spawning.patch index c0cca6c9..42db9fb8 100644 --- a/patches/server/0027-Use-thread-unsafe-random-for-mob-spawning.patch +++ b/patches/server/0027-Use-thread-unsafe-random-for-mob-spawning.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Use thread unsafe random for mob spawning This patch is Powered by Pufferfish(https://github.com/pufferfish-gg/Pufferfish) diff --git a/src/main/java/net/minecraft/world/level/NaturalSpawner.java b/src/main/java/net/minecraft/world/level/NaturalSpawner.java -index aec5396b7dea8ba45f82f487719d42a1ab0794ec..5eded2322d604c3a304194926a740818631f36de 100644 +index 140c9e6c7bd5e2e52c586ab6954edbc790e6e02b..93fbf20c6e5ded31570415c30b837f5dc0dd5d42 100644 --- a/src/main/java/net/minecraft/world/level/NaturalSpawner.java +++ b/src/main/java/net/minecraft/world/level/NaturalSpawner.java -@@ -429,12 +429,21 @@ public final class NaturalSpawner { +@@ -425,12 +425,21 @@ public final class NaturalSpawner { private static BlockPos getRandomPosWithin(Level world, LevelChunk chunk) { ChunkPos chunkcoordintpair = chunk.getPos(); diff --git a/patches/server/0028-Config-to-disable-method-profiler.patch b/patches/server/0028-Config-to-disable-method-profiler.patch index 2ac48b13..6fbc49d9 100644 --- a/patches/server/0028-Config-to-disable-method-profiler.patch +++ b/patches/server/0028-Config-to-disable-method-profiler.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Config to disable method profiler This patch is Powered by Pufferfish(https://github.com/pufferfish-gg/Pufferfish) diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 487cc5b0d980d9e910695440fb7da8704fdb2b72..ae7df33164a4a6d0bc453ec0f45cd023d21a32ae 100644 +index 91d82c02eb152e3565e52fc1e01ce37855a39bdd..e1ef234f54bc3335c11add788d41db10f2eb1e2d 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -2417,6 +2417,11 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop 0) { int i2 = (l1 + 40 + world.getDifficulty().getId() * 7) / (i + 30); -@@ -345,6 +346,11 @@ public class FireBlock extends BaseFireBlock { +@@ -344,6 +345,11 @@ public class FireBlock extends BaseFireBlock { } private int getIgniteOdds(LevelReader world, BlockPos pos) { @@ -37,7 +37,7 @@ index 8c0db5219ff30bdfae61b4b9f6033c8e28d21ee1..227434f1800f6716c20dc284f98045a8 if (!world.isEmptyBlock(pos)) { return 0; } else { -@@ -353,10 +359,20 @@ public class FireBlock extends BaseFireBlock { +@@ -352,10 +358,20 @@ public class FireBlock extends BaseFireBlock { int j = aenumdirection.length; for (int k = 0; k < j; ++k) { diff --git a/patches/server/0087-Cache-BlockStatePairKey-hash.patch b/patches/server/0087-Cache-BlockStatePairKey-hash.patch index 78ad54f4..e882717f 100644 --- a/patches/server/0087-Cache-BlockStatePairKey-hash.patch +++ b/patches/server/0087-Cache-BlockStatePairKey-hash.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Cache BlockStatePairKey hash This patch is Powered by Gale(https://github.com/GaleMC/Gale) diff --git a/src/main/java/net/minecraft/world/level/block/Block.java b/src/main/java/net/minecraft/world/level/block/Block.java -index f755e6f958cecc665201adac3bc06f12fd9e73f8..c498d397938c973608634867366aea8bfad7b3c9 100644 +index feab3cc5724a1fc44374a30c75dca9e3a3721adc..10c0fdfec1fcec3f9f7897685b2c7e00dc291b2d 100644 --- a/src/main/java/net/minecraft/world/level/block/Block.java +++ b/src/main/java/net/minecraft/world/level/block/Block.java -@@ -640,11 +640,18 @@ public class Block extends BlockBehaviour implements ItemLike { +@@ -641,11 +641,18 @@ public class Block extends BlockBehaviour implements ItemLike { private final BlockState first; private final BlockState second; private final Direction direction; @@ -28,7 +28,7 @@ index f755e6f958cecc665201adac3bc06f12fd9e73f8..c498d397938c973608634867366aea8b } public boolean equals(Object object) { -@@ -660,11 +667,17 @@ public class Block extends BlockBehaviour implements ItemLike { +@@ -661,11 +668,17 @@ public class Block extends BlockBehaviour implements ItemLike { } public int hashCode() { diff --git a/patches/server/0090-Reduce-array-allocations.patch b/patches/server/0090-Reduce-array-allocations.patch index 8f688e76..74408964 100644 --- a/patches/server/0090-Reduce-array-allocations.patch +++ b/patches/server/0090-Reduce-array-allocations.patch @@ -202,7 +202,7 @@ index ff13d67151c50ea11a45117e524c7524e2b1a202..c25d23c9c2ed887ce9ae7f07cd8aa0d1 @Override diff --git a/src/main/java/net/minecraft/network/Connection.java b/src/main/java/net/minecraft/network/Connection.java -index d6179829579a07c29565d024f53069375be53fb7..6d0cf98fccd7b4e9b970b4d2f9d13c29c53044b3 100644 +index 13b0a965eaee5ba2f6da420c3c02dc719fa73dd6..94f4339c0876feedd896527bdb7ce2d40d61d04e 100644 --- a/src/main/java/net/minecraft/network/Connection.java +++ b/src/main/java/net/minecraft/network/Connection.java @@ -57,6 +57,7 @@ import org.apache.commons.lang3.Validate; @@ -257,10 +257,10 @@ index 678410cd734cd7e3e3b999b7908f2e3f25f23a13..1240121d732a9697ec6bffcc459a00c7 return ret; } diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index baab58d4c62ffbcd105ec82d45ce20d7b832dfaa..ca3419c659e230bc43a86b17ae7dae4982c4ac3d 100644 +index 6fb9627e5eb5873b4bc085ee4c6bc7052acad2e0..63c4a3b555575e2ebb19c6ab8459cf6617c24e27 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -243,6 +243,7 @@ import org.bukkit.inventory.EquipmentSlot; +@@ -242,6 +242,7 @@ import org.bukkit.inventory.EquipmentSlot; import org.bukkit.inventory.InventoryView; import org.bukkit.inventory.SmithingInventory; // CraftBukkit end @@ -268,7 +268,7 @@ index baab58d4c62ffbcd105ec82d45ce20d7b832dfaa..ca3419c659e230bc43a86b17ae7dae49 public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl implements ServerGamePacketListener, ServerPlayerConnection, TickablePacketListener { -@@ -778,7 +779,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -777,7 +778,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl // PacketUtils.ensureRunningOnSameThread(packet, this, this.player.serverLevel()); // Paper - AsyncTabCompleteEvent; run this async // CraftBukkit start if (this.chatSpamTickCount.addAndGet(io.papermc.paper.configuration.GlobalConfiguration.get().spamLimiter.tabSpamIncrement) > io.papermc.paper.configuration.GlobalConfiguration.get().spamLimiter.tabSpamLimit && !this.server.getPlayerList().isOp(this.player.getGameProfile())) { // Paper - configurable tab spam limits @@ -277,7 +277,7 @@ index baab58d4c62ffbcd105ec82d45ce20d7b832dfaa..ca3419c659e230bc43a86b17ae7dae49 return; } // CraftBukkit end -@@ -790,7 +791,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -789,7 +790,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl // Paper start - rewrite chunk system int index; if (packet.getCommand().length() > 64 && ((index = packet.getCommand().indexOf(' ')) == -1 || index >= 64)) { @@ -286,17 +286,8 @@ index baab58d4c62ffbcd105ec82d45ce20d7b832dfaa..ca3419c659e230bc43a86b17ae7dae49 return; } // Paper end - rewrite chunk system -@@ -3191,7 +3192,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl - // Paper start - auto recipe limit - if (!org.bukkit.Bukkit.isPrimaryThread()) { - if (this.recipeSpamPackets.addAndGet(io.papermc.paper.configuration.GlobalConfiguration.get().spamLimiter.recipeSpamIncrement) > io.papermc.paper.configuration.GlobalConfiguration.get().spamLimiter.recipeSpamLimit) { -- this.server.scheduleOnMain(() -> this.disconnect(net.minecraft.network.chat.Component.translatable("disconnect.spam", new Object[0]), org.bukkit.event.player.PlayerKickEvent.Cause.SPAM)); // Paper - kick event cause -+ this.server.scheduleOnMain(() -> this.disconnect(net.minecraft.network.chat.Component.translatable("disconnect.spam", ArrayConstants.emptyObjectArray), org.bukkit.event.player.PlayerKickEvent.Cause.SPAM)); // Paper - kick event cause // Leaves - reduce array allocations - return; - } - } diff --git a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java -index f92d240e2984b0b49d09662ff33f5c524605ed47..3094c8e5cca90865d4f063e4db0d395ff1ee9265 100644 +index c5fa9f4d28f9a7f64a50a902ee5e631bfc00119c..4f93d69b51f91e25f1ee00300b553311ce9c2f7d 100644 --- a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java @@ -44,6 +44,7 @@ import org.bukkit.craftbukkit.util.Waitable; @@ -328,7 +319,7 @@ index f92d240e2984b0b49d09662ff33f5c524605ed47..3094c8e5cca90865d4f063e4db0d395f final String s; diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 5f67d9e77aab73056328ba48c50f678c1e0f7262..d9848bbe9c1874f85c4d774e24fea60261251ccb 100644 +index 823fd92c38263278673a8c9639952466c51ca16c..3bec06ed4b47af1b40ba4fef264ef7b3d643fbf1 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -122,6 +122,7 @@ import org.bukkit.event.player.PlayerSpawnChangeEvent; @@ -339,15 +330,6 @@ index 5f67d9e77aab73056328ba48c50f678c1e0f7262..d9848bbe9c1874f85c4d774e24fea602 public abstract class PlayerList { -@@ -733,7 +734,7 @@ public abstract class PlayerList { - while (iterator.hasNext()) { - entityplayer = (ServerPlayer) iterator.next(); - this.save(entityplayer); // CraftBukkit - Force the player's inventory to be saved -- entityplayer.connection.disconnect(Component.translatable("multiplayer.disconnect.duplicate_login", new Object[0]), org.bukkit.event.player.PlayerKickEvent.Cause.DUPLICATE_LOGIN); // Paper - kick event cause -+ entityplayer.connection.disconnect(Component.translatable("multiplayer.disconnect.duplicate_login", ArrayConstants.emptyObjectArray), org.bukkit.event.player.PlayerKickEvent.Cause.DUPLICATE_LOGIN); // Paper - kick event cause // Leaves - reduce array allocations - } - - // Instead of kicking then returning, we need to store the kick reason diff --git a/src/main/java/net/minecraft/server/players/StoredUserList.java b/src/main/java/net/minecraft/server/players/StoredUserList.java index 35f973cc2c0989256fa21abaf0327c2f36dbe4c9..a9ece1225fa302843423006f610889cd9773fbfb 100644 --- a/src/main/java/net/minecraft/server/players/StoredUserList.java @@ -398,10 +380,10 @@ index 2e324276ea4cd9e528c6a3f9a9ba394b378fe075..8d949983a30f27a60982f6b406151408 private EquipmentSlot(EquipmentSlot.Type type, int entityId, int armorStandId, String name) { this.type = type; diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 3d4211c5af1a9b4495dc0aeead51a6f5fe72bf06..efa7d206009700cffd72e09bb910e56195511bdb 100644 +index ae32dfaa06295ae2bd046fa6303439810dec0ed8..1798cf02f4805fc69da5eab7041b517b59c50788 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -3144,7 +3144,7 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -3145,7 +3145,7 @@ public abstract class LivingEntity extends Entity implements Attackable { @Nullable private Map collectEquipmentChanges() { Map map = null; @@ -506,10 +488,10 @@ index 6c2e8049c2197ddc912c1a0fc99c87beae81e25b..be13baa7b51c4ad377b50d8ca8f7cfad private static Enchantment register(String name, Enchantment enchantment) { return Registry.register(BuiltInRegistries.ENCHANTMENT, name, enchantment); diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java -index bc1c548f08884609c9b6a94106ccb50a11f77caa..1fb210a4af574ba5ad54a547e3965a3a45b9cea9 100644 +index dc439ab9e7224d36cda22e2acb11fe7f346ef849..e94489ae3c93b9ff19a56163835afd0c6f342fc1 100644 --- a/src/main/java/net/minecraft/world/level/Level.java +++ b/src/main/java/net/minecraft/world/level/Level.java -@@ -97,6 +97,7 @@ import org.bukkit.craftbukkit.util.CraftSpawnCategory; +@@ -95,6 +95,7 @@ import org.bukkit.craftbukkit.util.CraftSpawnCategory; import org.bukkit.entity.SpawnCategory; import org.bukkit.event.block.BlockPhysicsEvent; // CraftBukkit end @@ -517,7 +499,7 @@ index bc1c548f08884609c9b6a94106ccb50a11f77caa..1fb210a4af574ba5ad54a547e3965a3a public abstract class Level implements LevelAccessor, AutoCloseable { -@@ -1860,7 +1861,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable { +@@ -1858,7 +1859,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable { public org.bukkit.entity.Entity[] getChunkEntities(int chunkX, int chunkZ) { io.papermc.paper.world.ChunkEntitySlices slices = ((ServerLevel)this).getEntityLookup().getChunk(chunkX, chunkZ); if (slices == null) { @@ -527,7 +509,7 @@ index bc1c548f08884609c9b6a94106ccb50a11f77caa..1fb210a4af574ba5ad54a547e3965a3a return slices.getChunkEntities(); } diff --git a/src/main/java/net/minecraft/world/level/block/ComposterBlock.java b/src/main/java/net/minecraft/world/level/block/ComposterBlock.java -index d78fe4081bc2938326066e0afddb4a6c833a4bf7..4246f6edb9f4989227fb3c3709f8e22eeeb44f4b 100644 +index f9084e2605d7403721fe6b714bfad051f932aaef..07d9620768150444b3cc1e288ab8ad079b213317 100644 --- a/src/main/java/net/minecraft/world/level/block/ComposterBlock.java +++ b/src/main/java/net/minecraft/world/level/block/ComposterBlock.java @@ -44,6 +44,7 @@ import net.minecraft.world.phys.shapes.VoxelShape; diff --git a/patches/server/0096-Check-frozen-ticks-before-landing-block.patch b/patches/server/0096-Check-frozen-ticks-before-landing-block.patch index 7e9a9aa1..aa1e1494 100644 --- a/patches/server/0096-Check-frozen-ticks-before-landing-block.patch +++ b/patches/server/0096-Check-frozen-ticks-before-landing-block.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Check frozen ticks before landing block This patch is Powered by Gale(https://github.com/GaleMC/Gale) diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 7e6f28c0d10e70acdaedb06314f1f5fc67e86de4..55d43a0cca18ec1274e417bdf199c048a0c5138c 100644 +index 1798cf02f4805fc69da5eab7041b517b59c50788..a95b73f5e0d2a0bde8771c9239992fe1d0c33e09 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -581,11 +581,11 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -580,11 +580,11 @@ public abstract class LivingEntity extends Entity implements Attackable { } protected void tryAddFrost() { diff --git a/patches/server/0108-Replay-Mod-API.patch b/patches/server/0108-Replay-Mod-API.patch index 6ab63300..72fa3f21 100644 --- a/patches/server/0108-Replay-Mod-API.patch +++ b/patches/server/0108-Replay-Mod-API.patch @@ -94,7 +94,7 @@ index 676a1499747b071515479130875157263d3a8352..e5ef298dc1df9cc42b3d349939a966b7 if (((List) object).size() >= i) { return (List) object; diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index db16f74e87d62aba9f7cb2926935cbce1d724d48..21a8c6987cf919fa40a215244efc0ecdc00498c4 100644 +index 693e3c15bd3bcba53d162c2cd2a742e29e4798f7..0f904af56854b8b8da01220bbcca3e044c730848 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -1596,7 +1596,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop { return player.getGameProfile().getName(); diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index ca3419c659e230bc43a86b17ae7dae4982c4ac3d..26106dda0dfd70071994e329e8894b6f17a16a89 100644 +index 63c4a3b555575e2ebb19c6ab8459cf6617c24e27..7dd5ebe30b94d3bc7d49b0e328d3d9a693f23463 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -300,7 +300,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -299,7 +299,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl super(server, connection, clientData, player); // CraftBukkit this.chunkSender = new PlayerChunkSender(connection.isMemoryConnection()); // Leaves start - fakeplayer @@ -146,7 +146,7 @@ index ca3419c659e230bc43a86b17ae7dae4982c4ac3d..26106dda0dfd70071994e329e8894b6f } else { connection.setListener(this); diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index d9848bbe9c1874f85c4d774e24fea60261251ccb..f5e64399b9be6e7db3a9dd11d47ed918b5bbff06 100644 +index 3bec06ed4b47af1b40ba4fef264ef7b3d643fbf1..fdb4f4f8079ed680fc8deb068a5e2f0c867b548e 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -123,6 +123,7 @@ import org.bukkit.event.player.PlayerSpawnChangeEvent; @@ -369,7 +369,7 @@ index d9848bbe9c1874f85c4d774e24fea60261251ccb..f5e64399b9be6e7db3a9dd11d47ed918 } } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 52ab6030ebbffbe42979bee57cc6e26d30067e09..54610e61b83e43d35ad9f0b496a730ce261466c0 100644 +index 1c79abf5952c29301bc9d83cd20a81696085fbf0..9fb10025823a2452c925135d9d139fb91605589c 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -260,6 +260,7 @@ import org.yaml.snakeyaml.error.MarkedYAMLException; diff --git a/patches/server/0121-Disable-moved-wrongly-threshold.patch b/patches/server/0121-Disable-moved-wrongly-threshold.patch index 9ce1f1b5..51da3ace 100644 --- a/patches/server/0121-Disable-moved-wrongly-threshold.patch +++ b/patches/server/0121-Disable-moved-wrongly-threshold.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Disable moved wrongly threshold diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index de8bf759b74c8969d12b38c952f48633966d5b74..1c7408e5eac4869c492b2d4d79faf76fad1ae940 100644 +index 7dd5ebe30b94d3bc7d49b0e328d3d9a693f23463..1dc0010cb700f7302e8b3764f9f2851706086a2d 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -556,7 +556,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -555,7 +555,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl } // Paper end - Prevent moving into unloaded chunks @@ -17,7 +17,7 @@ index de8bf759b74c8969d12b38c952f48633966d5b74..1c7408e5eac4869c492b2d4d79faf76f // CraftBukkit end ServerGamePacketListenerImpl.LOGGER.warn("{} (vehicle of {}) moved too quickly! {},{},{}", new Object[]{entity.getName().getString(), this.player.getName().getString(), d6, d7, d8}); this.send(new ClientboundMoveVehiclePacket(entity)); -@@ -592,7 +592,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -591,7 +591,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl d10 = d6 * d6 + d7 * d7 + d8 * d8; boolean flag2 = false; @@ -26,7 +26,7 @@ index de8bf759b74c8969d12b38c952f48633966d5b74..1c7408e5eac4869c492b2d4d79faf76f flag2 = true; // Paper - diff on change, this should be moved wrongly ServerGamePacketListenerImpl.LOGGER.warn("{} (vehicle of {}) moved wrongly! {}", new Object[]{entity.getName().getString(), this.player.getName().getString(), Math.sqrt(d10)}); } -@@ -1423,7 +1423,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -1422,7 +1422,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl io.papermc.paper.event.player.PlayerFailMoveEvent event = fireFailMove(io.papermc.paper.event.player.PlayerFailMoveEvent.FailReason.MOVED_TOO_QUICKLY, toX, toY, toZ, toYaw, toPitch, true); if (!event.isAllowed()) { @@ -35,7 +35,7 @@ index de8bf759b74c8969d12b38c952f48633966d5b74..1c7408e5eac4869c492b2d4d79faf76f ServerGamePacketListenerImpl.LOGGER.warn("{} moved too quickly! {},{},{}", new Object[]{this.player.getName().getString(), d6, d7, d8}); this.teleport(this.player.getX(), this.player.getY(), this.player.getZ(), this.player.getYRot(), this.player.getXRot()); return; -@@ -1493,7 +1493,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -1492,7 +1492,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl d10 = d6 * d6 + d7 * d7 + d8 * d8; boolean movedWrongly = false; // Paper - Add fail move event; rename diff --git a/patches/server/0128-No-TNT-place-update.patch b/patches/server/0128-No-TNT-place-update.patch index a27379a6..b6e1d045 100644 --- a/patches/server/0128-No-TNT-place-update.patch +++ b/patches/server/0128-No-TNT-place-update.patch @@ -5,7 +5,7 @@ Subject: [PATCH] No TNT place update diff --git a/src/main/java/net/minecraft/world/level/block/TntBlock.java b/src/main/java/net/minecraft/world/level/block/TntBlock.java -index 8eaf1eaf0f739a12baf6e3e9fe32c007eaba20ae..b12bb23089f66bc12a64d50a10377254c9be39c6 100644 +index 5fa5e8c838720eb1491aea73d462f4bc7d779956..b2835cabbe6235d6e7a99349bdd22a7244f2b38a 100644 --- a/src/main/java/net/minecraft/world/level/block/TntBlock.java +++ b/src/main/java/net/minecraft/world/level/block/TntBlock.java @@ -48,7 +48,7 @@ public class TntBlock extends Block { @@ -15,5 +15,5 @@ index 8eaf1eaf0f739a12baf6e3e9fe32c007eaba20ae..b12bb23089f66bc12a64d50a10377254 - if (world.hasNeighborSignal(pos) && CraftEventFactory.callTNTPrimeEvent(world, pos, PrimeCause.REDSTONE, null, null)) { // CraftBukkit - TNTPrimeEvent + if (!top.leavesmc.leaves.LeavesConfig.noTNTPlaceUpdate && world.hasNeighborSignal(pos) && CraftEventFactory.callTNTPrimeEvent(world, pos, PrimeCause.REDSTONE, null, null)) { // CraftBukkit - TNTPrimeEvent // Leaves - No tnt place update // Paper start - TNTPrimeEvent - org.bukkit.block.Block tntBlock = io.papermc.paper.util.MCUtil.toBukkitBlock(world, pos); + org.bukkit.block.Block tntBlock = org.bukkit.craftbukkit.block.CraftBlock.at(world, pos); if (!new com.destroystokyo.paper.event.block.TNTPrimeEvent(tntBlock, com.destroystokyo.paper.event.block.TNTPrimeEvent.PrimeReason.REDSTONE, null).callEvent()) { diff --git a/patches/server/0129-Placing-locked-hopper-no-longer-send-NC-updates.patch b/patches/server/0129-Placing-locked-hopper-no-longer-send-NC-updates.patch index 6bcf3773..69d0197c 100644 --- a/patches/server/0129-Placing-locked-hopper-no-longer-send-NC-updates.patch +++ b/patches/server/0129-Placing-locked-hopper-no-longer-send-NC-updates.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Placing locked hopper no longer send NC updates diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java -index 1fb210a4af574ba5ad54a547e3965a3a45b9cea9..15e54727f24f682ecce289725f1c82ca69537ec6 100644 +index e94489ae3c93b9ff19a56163835afd0c6f342fc1..d8b222f4421649c7f0b7282fdafb8b026278bee4 100644 --- a/src/main/java/net/minecraft/world/level/Level.java +++ b/src/main/java/net/minecraft/world/level/Level.java -@@ -51,6 +51,7 @@ import net.minecraft.world.level.biome.BiomeManager; +@@ -49,6 +49,7 @@ import net.minecraft.world.level.biome.BiomeManager; import net.minecraft.world.level.block.BaseFireBlock; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.Blocks; @@ -16,7 +16,7 @@ index 1fb210a4af574ba5ad54a547e3965a3a45b9cea9..15e54727f24f682ecce289725f1c82ca import net.minecraft.world.level.block.entity.BlockEntity; import net.minecraft.world.level.block.entity.TickingBlockEntity; import net.minecraft.world.level.block.state.BlockState; -@@ -1025,7 +1026,9 @@ public abstract class Level implements LevelAccessor, AutoCloseable { +@@ -1023,7 +1024,9 @@ public abstract class Level implements LevelAccessor, AutoCloseable { } if ((i & 1) != 0) {