From d032415ca6fd0736d7cb0da28e3134b957fb83a0 Mon Sep 17 00:00:00 2001 From: Kevin Raneri Date: Mon, 20 Mar 2023 17:44:07 -0400 Subject: [PATCH] Update to 1.19.4 --- build.gradle.kts | 6 +-- gradle.properties | 6 +-- patches/api/0001-Add-Sentry.patch | 4 +- patches/api/0004-Add-SIMD-utilities.patch | 4 +- patches/server/0001-Pufferfish-branding.patch | 12 +++--- patches/server/0004-Add-SIMD-utilities.patch | 4 +- .../0006-Add-option-to-disable-books.patch | 4 +- .../server/0008-Optimize-suffocation.patch | 8 ++-- .../server/0009-Optimize-mob-spawning.patch | 8 ++-- ...cing-for-EntityLiving-hasLineOfSight.patch | 10 ++--- ...pelessRecipes-comparison-for-Vanilla.patch | 6 +-- ...0013-Reduce-projectile-chunk-loading.patch | 4 +- ...check-for-spooky-season-once-an-hour.patch | 4 +- ...ve-ThreadUnsafeRandom-Initialization.patch | 8 ++-- .../0017-Dynamic-Activation-of-Brain.patch | 36 ++++++++-------- ...ve-iterators-from-inventory-contains.patch | 6 +-- ...-for-plugins-not-shutting-down-tasks.patch | 4 +- ...-Cache-climbing-check-for-activation.patch | 10 ++--- ...26-Config-to-disable-method-profiler.patch | 8 ++-- .../0027-Use-array-for-gamerule-storage.patch | 10 ++--- ...ove-container-checking-with-a-bitset.patch | 41 +++++++++---------- ...er-checking-for-useless-move-packets.patch | 14 +++---- ...er-to-use-fast-item-merge-raytracing.patch | 4 +- ...e-aging-cache-for-biome-temperatures.patch | 4 +- .../0033-Ensure-level-height-is-inlined.patch | 8 ++-- ...hread-unsafe-random-for-mob-spawning.patch | 6 +-- ...reams-and-iterators-from-range-check.patch | 6 +-- ...-streams-from-getting-nearby-players.patch | 6 +-- .../0039-Reduce-entity-allocations.patch | 4 +- ...040-Remove-lambda-from-ticking-guard.patch | 6 +-- ...ce-entity-fluid-lookups-if-no-fluids.patch | 10 ++--- ...oal-selector-during-inactive-ticking.patch | 4 +- patches/server/0043-Entity-TTL.patch | 8 ++-- ...-option-to-disable-out-of-order-chat.patch | 4 +- 34 files changed, 143 insertions(+), 144 deletions(-) diff --git a/build.gradle.kts b/build.gradle.kts index 496b85e..cb754c5 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -3,7 +3,7 @@ import io.papermc.paperweight.util.constants.PAPERCLIP_CONFIG plugins { java id("com.github.johnrengelman.shadow") version "8.1.0" apply false - id("io.papermc.paperweight.patcher") version "1.5.2" + id("io.papermc.paperweight.patcher") version "1.5.3" } repositories { @@ -15,8 +15,8 @@ repositories { dependencies { remapper("net.fabricmc:tiny-remapper:0.8.6:fat") - decompiler("net.minecraftforge:forgeflower:2.0.605.1") - paperclip("io.papermc:paperclip:3.0.2") + decompiler("net.minecraftforge:forgeflower:2.0.627.2") + paperclip("io.papermc:paperclip:3.0.3") } subprojects { diff --git a/gradle.properties b/gradle.properties index fd4d53a..5a8c1c9 100644 --- a/gradle.properties +++ b/gradle.properties @@ -3,6 +3,6 @@ org.gradle.caching=true org.gradle.vfs.watch=false group=gg.pufferfish.pufferfish -version=1.19.3-R0.1-SNAPSHOT -mcVersion=1.19.3 -paperRef=155aa36d89b260ef5841615899299756b5983c0a +version=1.19.4-R0.1-SNAPSHOT +mcVersion=1.19.4 +paperRef=e8b82590d0c3dd57ac1728b236117d2fcd531c4f diff --git a/patches/api/0001-Add-Sentry.patch b/patches/api/0001-Add-Sentry.patch index 8acb44a..9948081 100644 --- a/patches/api/0001-Add-Sentry.patch +++ b/patches/api/0001-Add-Sentry.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add Sentry diff --git a/build.gradle.kts b/build.gradle.kts -index 9421e45653e68922a51cf0071792e6fa7999d0b8..b385787e126ffd2563f02d8876780e6e0fc68ca3 100644 +index cad12a2632b9ebb569280441c42869685db1f31a..48d254cd1ee3dc13846ce283cdae5938865607fd 100644 --- a/build.gradle.kts +++ b/build.gradle.kts -@@ -41,6 +41,7 @@ dependencies { +@@ -42,6 +42,7 @@ dependencies { apiAndDocs("net.kyori:adventure-text-logger-slf4j") api("org.apache.logging.log4j:log4j-api:2.17.1") api("org.slf4j:slf4j-api:1.8.0-beta4") diff --git a/patches/api/0004-Add-SIMD-utilities.patch b/patches/api/0004-Add-SIMD-utilities.patch index 403c3e8..be814f6 100644 --- a/patches/api/0004-Add-SIMD-utilities.patch +++ b/patches/api/0004-Add-SIMD-utilities.patch @@ -8,10 +8,10 @@ and API spec stability is NOT guaranteed. If you use this in plugins, they WILL break eventually. diff --git a/build.gradle.kts b/build.gradle.kts -index 28ad50e03c55336bd7a467516f31b398a74cbd2a..4e78a535b528a87ad0ec9c361541c79854929c6e 100644 +index 48d254cd1ee3dc13846ce283cdae5938865607fd..b83e2c5a0a094002d12aee55ec0cf8d12bf33f3e 100644 --- a/build.gradle.kts +++ b/build.gradle.kts -@@ -85,6 +85,13 @@ val generateApiVersioningFile by tasks.registering { +@@ -86,6 +86,13 @@ val generateApiVersioningFile by tasks.registering { } } diff --git a/patches/server/0001-Pufferfish-branding.patch b/patches/server/0001-Pufferfish-branding.patch index aca8780..117285b 100644 --- a/patches/server/0001-Pufferfish-branding.patch +++ b/patches/server/0001-Pufferfish-branding.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Pufferfish branding Update branding diff --git a/build.gradle.kts b/build.gradle.kts -index 1919a8e9cb7c995b2a9c876ff4980bdc98977133..70316602339c9676fbb9f631214473c6e845d7f4 100644 +index 9cf389defdaeb887e9cad4f0fed3f3b95667b238..397aeeef65c823c507b4287e89bb1d27449432b4 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -7,8 +7,12 @@ plugins { @@ -204,10 +204,10 @@ index 0000000000000000000000000000000000000000..e877921370f6009a4bd204d9b17d2d58 +} \ No newline at end of file diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 753a917d34a1e1c1521a8916bc8e44a6acd90a46..6b5e0833176e343ce4caf99e64a3cb94d22d215c 100644 +index 4450d825a5474da211f0e83f845d8c7129fa08aa..2c9ff8990e5c7a03db22a1ad345c022ab0733801 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -1654,7 +1654,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop { diff --git a/patches/server/0006-Add-option-to-disable-books.patch b/patches/server/0006-Add-option-to-disable-books.patch index ccefb38..516de66 100644 --- a/patches/server/0006-Add-option-to-disable-books.patch +++ b/patches/server/0006-Add-option-to-disable-books.patch @@ -29,10 +29,10 @@ index 5b7fe3d6c2169d07b79a0937e889fc847962fdfe..ac56a5ba83184ee7b24b58cc25aa3d5a + } diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 08cb3db28f13c352a162009deeb28ee637e98d2a..64e666e612694fedaed05ce7aec8e86a75fa7c29 100644 +index 2d8488b9aa088b6d5f0c7e557b8ad0b29bc4cd88..c960dbbf158171ee39a4a407f194c2ee9095559d 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -1204,6 +1204,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -1206,6 +1206,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic @Override public void handleEditBook(ServerboundEditBookPacket packet) { diff --git a/patches/server/0008-Optimize-suffocation.patch b/patches/server/0008-Optimize-suffocation.patch index 41b037a..c7d6e74 100644 --- a/patches/server/0008-Optimize-suffocation.patch +++ b/patches/server/0008-Optimize-suffocation.patch @@ -35,19 +35,19 @@ index ac56a5ba83184ee7b24b58cc25aa3d5aa953caee..9a8896f51be5028724563cd505478247 + } diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 864ab97b7a6c62c376ca38dbbc65bc9406dfd62b..91e6491fc31e57743e4178dded34b3ee8c799426 100644 +index dcfb71b5a53df789e366fea2080921d677549a2e..645f957359967b168b40550b16ba880718a59465 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -402,7 +402,7 @@ public abstract class LivingEntity extends Entity { +@@ -397,7 +397,7 @@ public abstract class LivingEntity extends Entity implements Attackable { boolean flag = this instanceof net.minecraft.world.entity.player.Player; if (!this.level.isClientSide) { - if (this.isInWall()) { + if ((!gg.pufferfish.pufferfish.PufferfishConfig.enableSuffocationOptimization || (tickCount % 10 == 0 && couldPossiblyBeHurt(1.0F))) && this.isInWall()) { // Pufferfish - optimize suffocation - this.hurt(DamageSource.IN_WALL, 1.0F); + this.hurt(this.damageSources().inWall(), 1.0F); } else if (flag && !this.level.getWorldBorder().isWithinBounds(this.getBoundingBox())) { double d0 = this.level.getWorldBorder().getDistanceToBorder(this) + this.level.getWorldBorder().getDamageSafeZone(); -@@ -1327,6 +1327,15 @@ public abstract class LivingEntity extends Entity { +@@ -1321,6 +1321,15 @@ public abstract class LivingEntity extends Entity implements Attackable { return this.getHealth() <= 0.0F; } diff --git a/patches/server/0009-Optimize-mob-spawning.patch b/patches/server/0009-Optimize-mob-spawning.patch index c535a29..1d9eff7 100644 --- a/patches/server/0009-Optimize-mob-spawning.patch +++ b/patches/server/0009-Optimize-mob-spawning.patch @@ -43,10 +43,10 @@ index 9a8896f51be5028724563cd5054782477868edef..b3dba80e30268f85befd2495cbf5bc5f + } diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 5dcc3b80b4a13944b39458802362a6bb1a5fbe41..9134d6b655cbf7f4e71c33abde4dabd231c6b470 100644 +index 2c9ff8990e5c7a03db22a1ad345c022ab0733801..70086d05b02bc0949317b03dddf6e246ae7249b7 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -309,6 +309,8 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop. diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 7fff06eeac35b666936b1c0903234bc823d380c2..e2ff40386204eecf68a999690c2caa18d6410b29 100644 +index 645f957359967b168b40550b16ba880718a59465..775c4bc04c8464b66855901b7aae5dce574eb4df 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -3656,7 +3656,10 @@ public abstract class LivingEntity extends Entity { +@@ -3618,7 +3618,10 @@ public abstract class LivingEntity extends Entity implements Attackable { Vec3 vec3d1 = new Vec3(entity.getX(), entity.getEyeY(), entity.getZ()); // Paper - diff on change - used in CraftLivingEntity#hasLineOfSight(Location) and CraftWorld#lineOfSightExists @@ -43,7 +43,7 @@ index 7fff06eeac35b666936b1c0903234bc823d380c2..e2ff40386204eecf68a999690c2caa18 } diff --git a/src/main/java/net/minecraft/world/level/BlockGetter.java b/src/main/java/net/minecraft/world/level/BlockGetter.java -index d1eefa6ef3e9abfe7af4d8310aa64465fa2d5463..0f4aa330e5b179bb706a31917c671f165e22b9cd 100644 +index 2ee9e8e3c1a28c1823de8e1fe421cc1f3e72f384..cf4a8084158b10bf047d418dda375f8c1fd3216e 100644 --- a/src/main/java/net/minecraft/world/level/BlockGetter.java +++ b/src/main/java/net/minecraft/world/level/BlockGetter.java @@ -73,6 +73,16 @@ public interface BlockGetter extends LevelHeightAccessor { @@ -64,10 +64,10 @@ index d1eefa6ef3e9abfe7af4d8310aa64465fa2d5463..0f4aa330e5b179bb706a31917c671f16 default BlockHitResult clip(ClipContext raytrace1, BlockPos blockposition) { // Paper start - Prevent raytrace from loading chunks diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java -index 3cbf801b2e5420c0e870f73788deb550e49ad54d..6254f5b78dbb9f66833043d81aa83f964308627d 100644 +index 973ecd50f9cb6b86c353586e84d15dcb118ccb60..34f11b6dc53a75da1fa416283e1cd1969eb1d50d 100644 --- a/src/main/java/net/minecraft/world/level/Level.java +++ b/src/main/java/net/minecraft/world/level/Level.java -@@ -407,6 +407,91 @@ public abstract class Level implements LevelAccessor, AutoCloseable { +@@ -413,6 +413,91 @@ public abstract class Level implements LevelAccessor, AutoCloseable { return null; } diff --git a/patches/server/0012-Simpler-ShapelessRecipes-comparison-for-Vanilla.patch b/patches/server/0012-Simpler-ShapelessRecipes-comparison-for-Vanilla.patch index a46d6a4..0997c43 100644 --- a/patches/server/0012-Simpler-ShapelessRecipes-comparison-for-Vanilla.patch +++ b/patches/server/0012-Simpler-ShapelessRecipes-comparison-for-Vanilla.patch @@ -24,10 +24,10 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . diff --git a/src/main/java/net/minecraft/world/item/crafting/ShapelessRecipe.java b/src/main/java/net/minecraft/world/item/crafting/ShapelessRecipe.java -index e7c06d98532160499f2610f69de27e30a326b16f..830622bd92431df5bc4a57fe6785689f8585e14b 100644 +index f4f3f3a19d3cadaef1ae1a47daa68251a983dcf2..8da06f8bea0239c5206d5d4f4ff48bdeb0a89f9d 100644 --- a/src/main/java/net/minecraft/world/item/crafting/ShapelessRecipe.java +++ b/src/main/java/net/minecraft/world/item/crafting/ShapelessRecipe.java -@@ -26,8 +26,13 @@ public class ShapelessRecipe implements CraftingRecipe { +@@ -27,8 +27,13 @@ public class ShapelessRecipe implements CraftingRecipe { final CraftingBookCategory category; final ItemStack result; final NonNullList ingredients; @@ -41,7 +41,7 @@ index e7c06d98532160499f2610f69de27e30a326b16f..830622bd92431df5bc4a57fe6785689f this.id = id; this.group = group; this.category = category; -@@ -81,6 +86,28 @@ public class ShapelessRecipe implements CraftingRecipe { +@@ -82,6 +87,28 @@ public class ShapelessRecipe implements CraftingRecipe { } public boolean matches(CraftingContainer inventory, Level world) { diff --git a/patches/server/0013-Reduce-projectile-chunk-loading.patch b/patches/server/0013-Reduce-projectile-chunk-loading.patch index 1be8afe..05f283f 100644 --- a/patches/server/0013-Reduce-projectile-chunk-loading.patch +++ b/patches/server/0013-Reduce-projectile-chunk-loading.patch @@ -40,10 +40,10 @@ index b3dba80e30268f85befd2495cbf5bc5f59a57cde..0b7a43b6f2ec9a69281ff38f9bef6e33 } + diff --git a/src/main/java/net/minecraft/world/entity/projectile/Projectile.java b/src/main/java/net/minecraft/world/entity/projectile/Projectile.java -index 66476b33cede1e44db5ec166a0cea81f82ffe47a..5ccd7dc0a093277d3ea09c0fe8be03c0073ee1a8 100644 +index 8b2a3a8482018b7db7de81bc295862f783e17ce5..e6f87e1e3c99195ed11c81162cb54e7f5750c4ba 100644 --- a/src/main/java/net/minecraft/world/entity/projectile/Projectile.java +++ b/src/main/java/net/minecraft/world/entity/projectile/Projectile.java -@@ -43,6 +43,36 @@ public abstract class Projectile extends Entity { +@@ -44,6 +44,36 @@ public abstract class Projectile extends Entity implements TraceableEntity { super(type, world); } diff --git a/patches/server/0014-Only-check-for-spooky-season-once-an-hour.patch b/patches/server/0014-Only-check-for-spooky-season-once-an-hour.patch index d26cfcb..f7d8d64 100644 --- a/patches/server/0014-Only-check-for-spooky-season-once-an-hour.patch +++ b/patches/server/0014-Only-check-for-spooky-season-once-an-hour.patch @@ -20,10 +20,10 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . diff --git a/src/main/java/net/minecraft/world/entity/ambient/Bat.java b/src/main/java/net/minecraft/world/entity/ambient/Bat.java -index 320c558bbe80d4bbc641e895ec43cfa2b45e8d70..1572a81ce1718964d795f2a2a411402f88901c73 100644 +index f5efdf59617d43de18a2267351fa784c0be3ae83..59338d739b6130f667d151bc27646c4a346886a2 100644 --- a/src/main/java/net/minecraft/world/entity/ambient/Bat.java +++ b/src/main/java/net/minecraft/world/entity/ambient/Bat.java -@@ -256,13 +256,22 @@ public class Bat extends AmbientCreature { +@@ -251,13 +251,22 @@ public class Bat extends AmbientCreature { } } diff --git a/patches/server/0015-Move-ThreadUnsafeRandom-Initialization.patch b/patches/server/0015-Move-ThreadUnsafeRandom-Initialization.patch index 893e383..a526b2c 100644 --- a/patches/server/0015-Move-ThreadUnsafeRandom-Initialization.patch +++ b/patches/server/0015-Move-ThreadUnsafeRandom-Initialization.patch @@ -8,7 +8,7 @@ require it to be initialized earlier. By moving it to the superclass, we initialize it earlier, ensuring that it is available sooner. diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index 54c2b7fba83d6f06dba95b1bb5b487a02048d6e6..76122db852ae2f75ec3a65b255f9b4af2b3a771f 100644 +index 5a5ff40df37db9cbd53c584ed26a3ce4888b29c0..f82a25e91dff03d41ddf952e3abf6feaf368abb6 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java @@ -793,7 +793,7 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -21,15 +21,15 @@ index 54c2b7fba83d6f06dba95b1bb5b487a02048d6e6..76122db852ae2f75ec3a65b255f9b4af 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 6254f5b78dbb9f66833043d81aa83f964308627d..71873149f040e1ce15ea7c278a846fe12797bc82 100644 +index 34f11b6dc53a75da1fa416283e1cd1969eb1d50d..9df45355a56885bc142563a5e5022afc0391e665 100644 --- a/src/main/java/net/minecraft/world/level/Level.java +++ b/src/main/java/net/minecraft/world/level/Level.java -@@ -270,6 +270,8 @@ public abstract class Level implements LevelAccessor, AutoCloseable { +@@ -274,6 +274,8 @@ public abstract class Level implements LevelAccessor, AutoCloseable { public abstract ResourceKey getTypeKey(); + protected final io.papermc.paper.util.math.ThreadUnsafeRandom randomTickRandom = new io.papermc.paper.util.math.ThreadUnsafeRandom(java.util.concurrent.ThreadLocalRandom.current().nextLong()); // Pufferfish - move thread unsafe random initialization + - protected Level(WritableLevelData worlddatamutable, ResourceKey resourcekey, 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 - Async-Anti-Xray - Pass executor + 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 - 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 diff --git a/patches/server/0017-Dynamic-Activation-of-Brain.patch b/patches/server/0017-Dynamic-Activation-of-Brain.patch index 33ba4e5..dfee835 100644 --- a/patches/server/0017-Dynamic-Activation-of-Brain.patch +++ b/patches/server/0017-Dynamic-Activation-of-Brain.patch @@ -84,7 +84,7 @@ index 0b7a43b6f2ec9a69281ff38f9bef6e33878be3f8..bd3ca0af0f50b2bf1f1b95d4578c1b05 +} \ No newline at end of file diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index 2d78c8ca87f341c4b05db27a2cdd27ac437764b2..942e829114d73a12ef43cf972d77fa5a445ebb80 100644 +index 430bd8ce9b5d796885fc1ad48260361013205100..db05e68407f56675d0a86dc4459cdb2b3b784961 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java @@ -709,6 +709,7 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -96,10 +96,10 @@ index 2d78c8ca87f341c4b05db27a2cdd27ac437764b2..942e829114d73a12ef43cf972d77fa5a if (false && this.shouldDiscardEntity(entity)) { // CraftBukkit - We prevent spawning in general, so this butchering is not needed entity.discard(); diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 9e4403614c1ae40ef580ef0525442f5492106584..7bdf545f4c1065ba9d94dfd878af0d91fb51c417 100644 +index 91dec8c834879f39ee8ec68abc38e3d5702e627a..3abe1bb84359f9b0c57ac484d0031a1b23510f38 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -414,6 +414,11 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -415,6 +415,11 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { return this.originWorld; } // Paper end @@ -112,10 +112,10 @@ index 9e4403614c1ae40ef580ef0525442f5492106584..7bdf545f4c1065ba9d94dfd878af0d91 return this.yRot; } diff --git a/src/main/java/net/minecraft/world/entity/EntityType.java b/src/main/java/net/minecraft/world/entity/EntityType.java -index e5cd4b7609243669c9d84ff8a4988c209e6101aa..8ca7181dcf742cf33d4a44387c168eafeadd8da4 100644 +index ceacc0d383e2ee674783d3c0a7df0a951595faca..559bce4bbcc03117f52dc2810bad5becddf14a8e 100644 --- a/src/main/java/net/minecraft/world/entity/EntityType.java +++ b/src/main/java/net/minecraft/world/entity/EntityType.java -@@ -293,6 +293,7 @@ public class EntityType implements FeatureElement, EntityTypeT +@@ -300,6 +300,7 @@ public class EntityType implements FeatureElement, EntityTypeT private final boolean canSpawnFarFromPlayer; private final int clientTrackingRange; private final int updateInterval; @@ -124,10 +124,10 @@ index e5cd4b7609243669c9d84ff8a4988c209e6101aa..8ca7181dcf742cf33d4a44387c168eaf private String descriptionId; @Nullable diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java -index 49b983064ea810382b6112f5dc7f93ba4e5710bd..c85f5545e4246c63088b13a5884e74b8f6e00289 100644 +index 02cb6b8c1d59855ff4a8aad3024fe12007eca0ee..28268bcfdd4dc21f12d1493c288e2960d483058a 100644 --- a/src/main/java/net/minecraft/world/entity/Mob.java +++ b/src/main/java/net/minecraft/world/entity/Mob.java -@@ -214,10 +214,10 @@ public abstract class Mob extends LivingEntity { +@@ -219,10 +219,10 @@ public abstract class Mob extends LivingEntity implements Targeting { @Override public void inactiveTick() { super.inactiveTick(); @@ -140,7 +140,7 @@ index 49b983064ea810382b6112f5dc7f93ba4e5710bd..c85f5545e4246c63088b13a5884e74b8 this.targetSelector.tick(); } } -@@ -878,16 +878,20 @@ public abstract class Mob extends LivingEntity { +@@ -907,16 +907,20 @@ public abstract class Mob extends LivingEntity implements Targeting { if (i % 2 != 0 && this.tickCount > 1) { this.level.getProfiler().push("targetSelector"); @@ -198,10 +198,10 @@ index b738ee2d3801fadfd09313f05ae24593e56b0ec6..1635818fc4b1788c0d397085239df6dd public boolean hasTasks() { for (WrappedGoal task : this.availableGoals) { diff --git a/src/main/java/net/minecraft/world/entity/animal/allay/Allay.java b/src/main/java/net/minecraft/world/entity/animal/allay/Allay.java -index c0084b1f146a4697194c421519537e612ff737c0..c66a214dfbde7fd8e7a68efaa82ac260178f297f 100644 +index 9b57d2b766f2de2d3fb4a3b5ef4df8d6756a1942..a41d8101c960163803179d3717889aee6182d0bb 100644 --- a/src/main/java/net/minecraft/world/entity/animal/allay/Allay.java +++ b/src/main/java/net/minecraft/world/entity/animal/allay/Allay.java -@@ -228,9 +228,11 @@ public class Allay extends PathfinderMob implements InventoryCarrier { +@@ -223,9 +223,11 @@ public class Allay extends PathfinderMob implements InventoryCarrier { return 0.4F; } @@ -214,7 +214,7 @@ index c0084b1f146a4697194c421519537e612ff737c0..c66a214dfbde7fd8e7a68efaa82ac260 this.level.getProfiler().pop(); this.level.getProfiler().push("allayActivityUpdate"); diff --git a/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java b/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java -index 0d7f951e3837de7553d93f3d4525276048feb405..02219f5ca614fefffa1ceb3c7036dfe1c90c8676 100644 +index a4e98b02175da96472474b8d7ad5975ce4d2fc43..38d21943fb2940f53c2d0ac2c3b94a6f0e46e700 100644 --- a/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java +++ b/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java @@ -285,9 +285,11 @@ public class Axolotl extends Animal implements LerpingModel, VariantHolder { - return this.getDeltaMovement().horizontalDistanceSqr() > 1.0E-6D && this.isInWaterOrBubble(); +@@ -167,9 +167,11 @@ public class Frog extends Animal implements VariantHolder { + return true; } + private int behaviorTick = 0; // Pufferfish @@ -262,7 +262,7 @@ index 9058f9f2e561cda9f475f33218bf7a78297de4bc..e591b0a09f5a8475b3ec9cd28bd5d5b6 this.level.getProfiler().pop(); this.level.getProfiler().push("tadpoleActivityUpdate"); diff --git a/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java b/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java -index e9f7c08ae3ea9c578971b1ede88788572c20e277..0f365b9dbb160d90ddf5fcd40895305df48ce916 100644 +index cfa904d42734d0fb0c1ed8b18f4d8bc131027962..4fdc3bd591b6df4c28901e4571aa23baf034d885 100644 --- a/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java +++ b/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java @@ -188,9 +188,11 @@ public class Goat extends Animal { @@ -310,7 +310,7 @@ index afa7ecfa8453da510ec5ccecb1ceeb1d9893d259..b401fb4f276ca81b4bb18426ee56abed this.level.getProfiler().pop(); PiglinAi.updateActivity(this); diff --git a/src/main/java/net/minecraft/world/entity/monster/warden/Warden.java b/src/main/java/net/minecraft/world/entity/monster/warden/Warden.java -index 1ae7408048f951cb94d7cfbea60efc5567b1af84..904826ea563bd2eb469f403df459def62cc1b5e6 100644 +index b2b63d9df3c07696f47281e9be74f1799f50b93e..907d77dd74066c723238155b42028a811365b1f8 100644 --- a/src/main/java/net/minecraft/world/entity/monster/warden/Warden.java +++ b/src/main/java/net/minecraft/world/entity/monster/warden/Warden.java @@ -270,11 +270,13 @@ public class Warden extends Monster implements VibrationListener.VibrationListen @@ -328,7 +328,7 @@ index 1ae7408048f951cb94d7cfbea60efc5567b1af84..904826ea563bd2eb469f403df459def6 this.level.getProfiler().pop(); super.customServerAiStep(); diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java -index 18eac340386a396c9850f53f30d20a41c1437788..76a9da8209d557b913c49ccd281bf147b9ac4fa4 100644 +index 6023b9eb3001e1a98ab8b970d853c4e7c7603f4d..5402a084ef5fe0b3cfea897a90cffade1eff5b66 100644 --- a/src/main/java/net/minecraft/world/entity/npc/Villager.java +++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java @@ -140,6 +140,8 @@ public class Villager extends AbstractVillager implements ReputationEventHandler @@ -360,7 +360,7 @@ index 18eac340386a396c9850f53f30d20a41c1437788..76a9da8209d557b913c49ccd281bf147 if (this.assignProfessionWhenSpawned) { this.assignProfessionWhenSpawned = false; diff --git a/src/main/java/org/spigotmc/ActivationRange.java b/src/main/java/org/spigotmc/ActivationRange.java -index 1b42c98956342832c37f0aa266f85271daa4ba5b..55a4d21a062ceb59e5eeba6361c4d28de19edbdf 100644 +index e881584d38dc354204479863f004e974a0ac6c07..faff5357e1c205a9ab36ee04c78ea9d7a484b1a1 100644 --- a/src/main/java/org/spigotmc/ActivationRange.java +++ b/src/main/java/org/spigotmc/ActivationRange.java @@ -38,6 +38,10 @@ import co.aikar.timings.MinecraftTimings; diff --git a/patches/server/0021-Remove-iterators-from-inventory-contains.patch b/patches/server/0021-Remove-iterators-from-inventory-contains.patch index b6dc206..6c8715b 100644 --- a/patches/server/0021-Remove-iterators-from-inventory-contains.patch +++ b/patches/server/0021-Remove-iterators-from-inventory-contains.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Remove iterators from inventory contains diff --git a/src/main/java/net/minecraft/world/entity/player/Inventory.java b/src/main/java/net/minecraft/world/entity/player/Inventory.java -index a1a625a8dacf4d2bbf75ddd90dce1b1be663c919..23e375c9a6955d03e0fc9be91ff0403251c8216c 100644 +index 27c028ab6b1edb6e413af3bbaa27bf30f2d85540..302ca7391109c10e81a7745504b3c530bc3be6ad 100644 --- a/src/main/java/net/minecraft/world/entity/player/Inventory.java +++ b/src/main/java/net/minecraft/world/entity/player/Inventory.java -@@ -681,6 +681,8 @@ public class Inventory implements Container, Nameable { +@@ -682,6 +682,8 @@ public class Inventory implements Container, Nameable { } public boolean contains(ItemStack stack) { @@ -17,7 +17,7 @@ index a1a625a8dacf4d2bbf75ddd90dce1b1be663c919..23e375c9a6955d03e0fc9be91ff04032 Iterator iterator = this.compartments.iterator(); while (iterator.hasNext()) { -@@ -695,6 +697,18 @@ public class Inventory implements Container, Nameable { +@@ -696,6 +698,18 @@ public class Inventory implements Container, Nameable { } } } diff --git a/patches/server/0023-More-debug-for-plugins-not-shutting-down-tasks.patch b/patches/server/0023-More-debug-for-plugins-not-shutting-down-tasks.patch index 2fa2f80..7f5a3b0 100644 --- a/patches/server/0023-More-debug-for-plugins-not-shutting-down-tasks.patch +++ b/patches/server/0023-More-debug-for-plugins-not-shutting-down-tasks.patch @@ -5,10 +5,10 @@ Subject: [PATCH] More debug for plugins not shutting down tasks diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 1a114d326463a37ae78b6e2034a3d9b608f92d6f..7ddf52de4b095f63c75b696008fcdde6345fc3c8 100644 +index 0f76cd4ce0faa577c97c2e4ef9868518b323cfbc..b2d94582037c091bd6a04451bf62b3f9c4923d19 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -1048,6 +1048,11 @@ public final class CraftServer implements Server { +@@ -1043,6 +1043,11 @@ public final class CraftServer implements Server { plugin.getDescription().getName(), "This plugin is not properly shutting down its async tasks when it is being shut down. This task may throw errors during the final shutdown logs and might not complete before process dies." )); diff --git a/patches/server/0025-Cache-climbing-check-for-activation.patch b/patches/server/0025-Cache-climbing-check-for-activation.patch index 89f4074..d2283c4 100644 --- a/patches/server/0025-Cache-climbing-check-for-activation.patch +++ b/patches/server/0025-Cache-climbing-check-for-activation.patch @@ -5,18 +5,18 @@ Subject: [PATCH] Cache climbing check for activation diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index e2ff40386204eecf68a999690c2caa18d6410b29..d134e88ae9aa2bd0b2b51056bfcc37941c713002 100644 +index 775c4bc04c8464b66855901b7aae5dce574eb4df..791f672b30f2a4d3b329e2ce0f4fb9c2ca627b01 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -143,7 +143,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 -import co.aikar.timings.MinecraftTimings; // Paper - public abstract class LivingEntity extends Entity { + public abstract class LivingEntity extends Entity implements Attackable { -@@ -1943,6 +1942,20 @@ public abstract class LivingEntity extends Entity { +@@ -1938,6 +1937,20 @@ public abstract class LivingEntity extends Entity implements Attackable { return this.lastClimbablePos; } @@ -38,7 +38,7 @@ index e2ff40386204eecf68a999690c2caa18d6410b29..d134e88ae9aa2bd0b2b51056bfcc3794 if (this.isSpectator()) { return false; diff --git a/src/main/java/org/spigotmc/ActivationRange.java b/src/main/java/org/spigotmc/ActivationRange.java -index 55a4d21a062ceb59e5eeba6361c4d28de19edbdf..b87756d9a7b04ea2613208984b2583eca3f32af6 100644 +index faff5357e1c205a9ab36ee04c78ea9d7a484b1a1..63d3fcc45be732a4cd2dc8b5347d860fd6577bdd 100644 --- a/src/main/java/org/spigotmc/ActivationRange.java +++ b/src/main/java/org/spigotmc/ActivationRange.java @@ -314,7 +314,7 @@ public class ActivationRange diff --git a/patches/server/0026-Config-to-disable-method-profiler.patch b/patches/server/0026-Config-to-disable-method-profiler.patch index e4b3920..a47c69d 100644 --- a/patches/server/0026-Config-to-disable-method-profiler.patch +++ b/patches/server/0026-Config-to-disable-method-profiler.patch @@ -22,10 +22,10 @@ index 9ff0f60f03a532dabb8740ad5c44e068d5a9c8bf..03ef5e6b578aa1e9391e891d3e005b30 + +} diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 673e82f0d9b161d46178ceea4f14f53d17d9841c..33a5e900c2cab99c311fa5f5b71a609cf8f802cb 100644 +index 70086d05b02bc0949317b03dddf6e246ae7249b7..6d5e9400892b86562519a893349ca55e566bfb24 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -2240,6 +2240,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop RULE_LAVA_SOURCE_CONVERSION = GameRules.register("lavaSourceConversion", GameRules.Category.UPDATES, GameRules.BooleanValue.create(false)); +@@ -100,6 +100,7 @@ public class GameRules { public static final GameRules.Key RULE_GLOBAL_SOUND_EVENTS = GameRules.register("globalSoundEvents", GameRules.Category.MISC, GameRules.BooleanValue.create(true)); + public static final GameRules.Key RULE_DO_VINES_SPREAD = GameRules.register("doVinesSpread", GameRules.Category.UPDATES, GameRules.BooleanValue.create(true)); private final Map, GameRules.Value> rules; + private final GameRules.Value[] gameruleArray; private static > GameRules.Key register(String name, GameRules.Category category, GameRules.Type type) { GameRules.Key gamerules_gamerulekey = new GameRules.Key<>(name, category); -@@ -116,17 +117,33 @@ public class GameRules { +@@ -118,17 +119,33 @@ public class GameRules { } public GameRules() { @@ -53,7 +53,7 @@ index 663c1d8c1611af915a1bae733920dd75ad73feb1..c15e4d95baacd30f9614dc5526dc8fc1 } public CompoundTag createTag() { -@@ -185,6 +202,10 @@ public class GameRules { +@@ -187,6 +204,10 @@ public class GameRules { } public static final class Key> { diff --git a/patches/server/0029-Improve-container-checking-with-a-bitset.patch b/patches/server/0029-Improve-container-checking-with-a-bitset.patch index 5f296b4..b45eb25 100644 --- a/patches/server/0029-Improve-container-checking-with-a-bitset.patch +++ b/patches/server/0029-Improve-container-checking-with-a-bitset.patch @@ -160,19 +160,19 @@ index 241fec02e6869c638d3a160819b32173a081467b..6a8f9e8f5bf108674c47018def28906e public int getContainerSize() { return this.container1.getContainerSize() + this.container2.getContainerSize(); diff --git a/src/main/java/net/minecraft/world/Container.java b/src/main/java/net/minecraft/world/Container.java -index 540bc9500c35c0db719b00aa26f6fb3a1b08ed9f..806cb760822a99316b08ad95ff8922df717050e2 100644 +index 04b1531572e8fff1e46fe1c94e7fc863841e0f66..47ddc42f2b63d9d3fae5ae6ea93d418352d76c94 100644 --- a/src/main/java/net/minecraft/world/Container.java +++ b/src/main/java/net/minecraft/world/Container.java -@@ -2,6 +2,8 @@ package net.minecraft.world; - +@@ -3,6 +3,8 @@ package net.minecraft.world; import java.util.Set; import java.util.function.Predicate; + import net.minecraft.core.BlockPos; + +import net.minecraft.core.Direction; // Pufferfish import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; -@@ -10,6 +12,63 @@ import org.bukkit.craftbukkit.entity.CraftHumanEntity; +@@ -13,6 +15,63 @@ import org.bukkit.craftbukkit.entity.CraftHumanEntity; // CraftBukkit end public interface Container extends Clearable { @@ -235,9 +235,9 @@ index 540bc9500c35c0db719b00aa26f6fb3a1b08ed9f..806cb760822a99316b08ad95ff8922df + // Pufferfish end int LARGE_MAX_STACK_SIZE = 64; - + int DEFAULT_DISTANCE_LIMIT = 8; diff --git a/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecartContainer.java b/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecartContainer.java -index cc74eeb45913fab03e85969957215d2811252a83..086feb19f11a6c646b5a1a06aef4df05a4beae8b 100644 +index 08f027cdcaeeca7b545483cb8c5eb8d13e4933b9..992ff554643b149d9c6101562a9754a84263ed7e 100644 --- a/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecartContainer.java +++ b/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecartContainer.java @@ -27,7 +27,10 @@ import org.bukkit.inventory.InventoryHolder; @@ -362,10 +362,10 @@ index a71414397bd45ee7bcacfeef0041d80dfa25f114..d66806565770cb03a21794f99e5c4b0f @Override diff --git a/src/main/java/net/minecraft/world/level/block/entity/HopperBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/HopperBlockEntity.java -index d76603c4172aa10889949c6c2acff05fee02a13d..1378b9ccd2369506cbd24ad1fc12718a7c28c031 100644 +index cba114f554644a37339c93026630c66c43f524b9..746b71ea96ecc441afd45cc779a1777c15d58ff2 100644 --- a/src/main/java/net/minecraft/world/level/block/entity/HopperBlockEntity.java +++ b/src/main/java/net/minecraft/world/level/block/entity/HopperBlockEntity.java -@@ -45,7 +45,10 @@ public class HopperBlockEntity extends RandomizableContainerBlockEntity implemen +@@ -47,7 +47,10 @@ public class HopperBlockEntity extends RandomizableContainerBlockEntity implemen public static final int MOVE_ITEM_SPEED = 8; public static final int HOPPER_CONTAINER_SIZE = 5; @@ -376,7 +376,7 @@ index d76603c4172aa10889949c6c2acff05fee02a13d..1378b9ccd2369506cbd24ad1fc12718a private int cooldownTime; private long tickedGameTime; -@@ -81,14 +84,37 @@ public class HopperBlockEntity extends RandomizableContainerBlockEntity implemen +@@ -83,14 +86,37 @@ public class HopperBlockEntity extends RandomizableContainerBlockEntity implemen public HopperBlockEntity(BlockPos pos, BlockState state) { super(BlockEntityType.HOPPER, pos, state); @@ -416,7 +416,7 @@ index d76603c4172aa10889949c6c2acff05fee02a13d..1378b9ccd2369506cbd24ad1fc12718a if (!this.tryLoadLootTable(nbt)) { ContainerHelper.loadAllItems(nbt, this.items); } -@@ -160,7 +186,7 @@ public class HopperBlockEntity extends RandomizableContainerBlockEntity implemen +@@ -162,7 +188,7 @@ public class HopperBlockEntity extends RandomizableContainerBlockEntity implemen flag = HopperBlockEntity.ejectItems(world, pos, state, (Container) blockEntity, blockEntity); // CraftBukkit } @@ -425,7 +425,7 @@ index d76603c4172aa10889949c6c2acff05fee02a13d..1378b9ccd2369506cbd24ad1fc12718a flag |= booleansupplier.getAsBoolean(); } -@@ -408,12 +434,18 @@ public class HopperBlockEntity extends RandomizableContainerBlockEntity implemen +@@ -451,11 +477,18 @@ public class HopperBlockEntity extends RandomizableContainerBlockEntity implemen } private static boolean isFullContainer(Container inventory, Direction direction) { @@ -437,16 +437,16 @@ index d76603c4172aa10889949c6c2acff05fee02a13d..1378b9ccd2369506cbd24ad1fc12718a } private static boolean isEmptyContainer(Container inv, Direction facing) { - // Paper start - return allMatch(inv, facing, IS_EMPTY_TEST); ++ // Paper start + // Pufferfish start - use bitsets + //return allMatch(inv, facing, IS_EMPTY_TEST); + return inv.isCompletelyEmpty(facing); + // Pufferfish end } - private static boolean allMatch(Container iinventory, Direction enumdirection, java.util.function.BiPredicate test) { - if (iinventory instanceof WorldlyContainer) { -@@ -592,7 +624,7 @@ public class HopperBlockEntity extends RandomizableContainerBlockEntity implemen + + public static boolean suckInItems(Level world, Hopper hopper) { +@@ -636,7 +669,7 @@ public class HopperBlockEntity extends RandomizableContainerBlockEntity implemen if (HopperBlockEntity.canPlaceItemInContainer(to, stack, slot, side)) { boolean flag = false; @@ -455,7 +455,7 @@ index d76603c4172aa10889949c6c2acff05fee02a13d..1378b9ccd2369506cbd24ad1fc12718a if (itemstack1.isEmpty()) { // Spigot start - SPIGOT-6693, InventorySubcontainer#setItem -@@ -745,7 +777,10 @@ public class HopperBlockEntity extends RandomizableContainerBlockEntity implemen +@@ -813,7 +846,10 @@ public class HopperBlockEntity extends RandomizableContainerBlockEntity implemen @Override protected void setItems(NonNullList list) { @@ -468,21 +468,20 @@ index d76603c4172aa10889949c6c2acff05fee02a13d..1378b9ccd2369506cbd24ad1fc12718a 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 d559f93a9a09bac414dd5d58afccad42c127f09b..13e749a3c40f0b2cc002f13675a9a56eedbefdac 100644 +index 79b01e32f89defb6b78f4764600d33d4945af592..6d62cc8fb347ccafd51df05896e616995990f005 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 -@@ -96,13 +96,8 @@ public abstract class RandomizableContainerBlockEntity extends BaseContainerBloc +@@ -97,12 +97,7 @@ public abstract class RandomizableContainerBlockEntity extends BaseContainerBloc public boolean isEmpty() { this.unpackLootTable((Player)null); // Paper start -- for (ItemStack itemStack : this.getItems()) { +- for (final ItemStack itemStack : this.getItems()) { - if (!itemStack.isEmpty()) { - return false; - } - } +- return true; + return this.isCompletelyEmpty(null); // Pufferfish - use super // Paper end -- return true; } - @Override diff --git a/patches/server/0030-Better-checking-for-useless-move-packets.patch b/patches/server/0030-Better-checking-for-useless-move-packets.patch index 0a556d8..f5ee5e8 100644 --- a/patches/server/0030-Better-checking-for-useless-move-packets.patch +++ b/patches/server/0030-Better-checking-for-useless-move-packets.patch @@ -5,20 +5,20 @@ Subject: [PATCH] Better checking for useless move packets diff --git a/src/main/java/net/minecraft/server/level/ServerEntity.java b/src/main/java/net/minecraft/server/level/ServerEntity.java -index 190e9761087baec5827d722a8281f0ffb6798341..50cf4d200bc2892f2140c9929193b4b20ad2bd17 100644 +index b7fd8e70413c38923d0719aff803449e392383ac..d5cb594f0b17ec9dc1a19cdb99bba553e70171be 100644 --- a/src/main/java/net/minecraft/server/level/ServerEntity.java +++ b/src/main/java/net/minecraft/server/level/ServerEntity.java -@@ -170,6 +170,7 @@ public class ServerEntity { - boolean flag4 = k < -32768L || k > 32767L || l < -32768L || l > 32767L || i1 < -32768L || i1 > 32767L; +@@ -185,6 +185,7 @@ public class ServerEntity { + boolean flag6 = k < -32768L || k > 32767L || l < -32768L || l > 32767L || i1 < -32768L || i1 > 32767L; - if (!flag4 && this.teleportDelay <= 400 && !this.wasRiding && this.wasOnGround == this.entity.isOnGround() && !(io.papermc.paper.configuration.GlobalConfiguration.get().collisions.sendFullPosForHardCollidingEntities && this.entity.hardCollides())) { // Paper - send full pos for hard colliding entities to prevent collision problems due to desync + if (!flag6 && this.teleportDelay <= 400 && !this.wasRiding && this.wasOnGround == this.entity.isOnGround() && !(io.papermc.paper.configuration.GlobalConfiguration.get().collisions.sendFullPosForHardCollidingEntities && this.entity.hardCollides())) { // Paper - send full pos for hard colliding entities to prevent collision problems due to desync + if (flag2 || flag3 || this.entity instanceof AbstractArrow) { // Pufferfish if ((!flag2 || !flag3) && !(this.entity instanceof AbstractArrow)) { if (flag2) { packet1 = new ClientboundMoveEntityPacket.Pos(this.entity.getId(), (short) ((int) k), (short) ((int) l), (short) ((int) i1), this.entity.isOnGround()); -@@ -179,6 +180,7 @@ public class ServerEntity { - } else { - packet1 = new ClientboundMoveEntityPacket.PosRot(this.entity.getId(), (short) ((int) k), (short) ((int) l), (short) ((int) i1), (byte) i, (byte) j, this.entity.isOnGround()); +@@ -198,6 +199,7 @@ public class ServerEntity { + flag4 = true; + flag5 = true; } + } // Pufferfish } else { diff --git a/patches/server/0031-Patch-Paper-to-use-fast-item-merge-raytracing.patch b/patches/server/0031-Patch-Paper-to-use-fast-item-merge-raytracing.patch index 51fd351..0243d38 100644 --- a/patches/server/0031-Patch-Paper-to-use-fast-item-merge-raytracing.patch +++ b/patches/server/0031-Patch-Paper-to-use-fast-item-merge-raytracing.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Patch Paper to use fast item merge raytracing 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 f0ccdfbd7d7be8c6e302609accf8fe9cac8885c4..c58496c84b2b3f86890050813041fa49711f3a01 100644 +index d47b3ac633e7936d30abfda6fc46c2c7412d76fe..453f0f7042bdf204db73be139aa36f211c5455e7 100644 --- a/src/main/java/net/minecraft/world/entity/item/ItemEntity.java +++ b/src/main/java/net/minecraft/world/entity/item/ItemEntity.java -@@ -255,10 +255,16 @@ public class ItemEntity extends Entity { +@@ -264,10 +264,16 @@ public class ItemEntity extends Entity implements TraceableEntity { if (entityitem.isMergable()) { // Paper Start - Fix items merging through walls if (this.level.paperConfig().fixes.fixItemsMergingThroughWalls) { diff --git a/patches/server/0032-Use-aging-cache-for-biome-temperatures.patch b/patches/server/0032-Use-aging-cache-for-biome-temperatures.patch index eb9ea5a..b1b5d35 100644 --- a/patches/server/0032-Use-aging-cache-for-biome-temperatures.patch +++ b/patches/server/0032-Use-aging-cache-for-biome-temperatures.patch @@ -130,7 +130,7 @@ index 0000000000000000000000000000000000000000..a7f297ebb569f7c1f205e967ca485be7 + } +} diff --git a/src/main/java/net/minecraft/world/level/biome/Biome.java b/src/main/java/net/minecraft/world/level/biome/Biome.java -index ca259e278ad10347567c021376abca0287610432..021f7c44285b13a0904c09ea7210f2a5d10c7c61 100644 +index 65012a12e1430956ef55ced56773e6354ac26444..ed439b7e94646141c93a7dd3704d1cdeb5c27e16 100644 --- a/src/main/java/net/minecraft/world/level/biome/Biome.java +++ b/src/main/java/net/minecraft/world/level/biome/Biome.java @@ -66,14 +66,20 @@ public final class Biome { @@ -155,7 +155,7 @@ index ca259e278ad10347567c021376abca0287610432..021f7c44285b13a0904c09ea7210f2a5 }); }); -@@ -114,17 +120,15 @@ public final class Biome { +@@ -118,17 +124,15 @@ public final class Biome { @Deprecated public float getTemperature(BlockPos blockPos) { long l = blockPos.asLong(); diff --git a/patches/server/0033-Ensure-level-height-is-inlined.patch b/patches/server/0033-Ensure-level-height-is-inlined.patch index 6c2bf92..afb70be 100644 --- a/patches/server/0033-Ensure-level-height-is-inlined.patch +++ b/patches/server/0033-Ensure-level-height-is-inlined.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Ensure level height is inlined diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java -index e737f67c7482f5245fe34413ac2583739c5b744c..e78a322ee9d1d57c1db57a1899d39a266abddec5 100644 +index c9854b28be7cd9a533e2775c7363d2d33c7f06a4..46da2e103b2a661b9047278cce92aecfc3ae2981 100644 --- a/src/main/java/net/minecraft/world/level/Level.java +++ b/src/main/java/net/minecraft/world/level/Level.java -@@ -272,6 +272,15 @@ public abstract class Level implements LevelAccessor, AutoCloseable { +@@ -276,6 +276,15 @@ public abstract class Level implements LevelAccessor, AutoCloseable { protected final io.papermc.paper.util.math.ThreadUnsafeRandom randomTickRandom = new io.papermc.paper.util.math.ThreadUnsafeRandom(java.util.concurrent.ThreadLocalRandom.current().nextLong()); // Pufferfish - move thread unsafe random initialization @@ -21,10 +21,10 @@ index e737f67c7482f5245fe34413ac2583739c5b744c..e78a322ee9d1d57c1db57a1899d39a26 + @Override public final int getHeight() { return this.height; } + // Pufferfish end + - protected Level(WritableLevelData worlddatamutable, ResourceKey resourcekey, 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 - Async-Anti-Xray - Pass executor + 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 - 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 -@@ -294,6 +303,13 @@ public abstract class Level implements LevelAccessor, AutoCloseable { +@@ -298,6 +307,13 @@ public abstract class Level implements LevelAccessor, AutoCloseable { }); final DimensionType dimensionmanager = (DimensionType) holder.value(); diff --git a/patches/server/0034-Use-thread-unsafe-random-for-mob-spawning.patch b/patches/server/0034-Use-thread-unsafe-random-for-mob-spawning.patch index 1ddcaab..505de02 100644 --- a/patches/server/0034-Use-thread-unsafe-random-for-mob-spawning.patch +++ b/patches/server/0034-Use-thread-unsafe-random-for-mob-spawning.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Use thread unsafe random for mob spawning diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java -index e78a322ee9d1d57c1db57a1899d39a266abddec5..6272a0ffc321bc672ce1c3c94b52253fc07751a2 100644 +index 46da2e103b2a661b9047278cce92aecfc3ae2981..6884b646fdbeb0e54be4ab221c11a63854a41a37 100644 --- a/src/main/java/net/minecraft/world/level/Level.java +++ b/src/main/java/net/minecraft/world/level/Level.java -@@ -270,7 +270,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable { +@@ -274,7 +274,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable { public abstract ResourceKey getTypeKey(); @@ -18,7 +18,7 @@ index e78a322ee9d1d57c1db57a1899d39a266abddec5..6272a0ffc321bc672ce1c3c94b52253f // Pufferfish start - ensure these get inlined private final int minBuildHeight, minSection, height, maxBuildHeight, maxSection; diff --git a/src/main/java/net/minecraft/world/level/NaturalSpawner.java b/src/main/java/net/minecraft/world/level/NaturalSpawner.java -index 01b21f520ef1c834b9bafc3de85c1fa4fcf539d6..5521418fa307b3eeb4f02a10c39f05b360d1d06e 100644 +index 15d266fc97eb73338f4f6fb2cfe25d6861e79810..6180679d922ea61d05d452971ec2d506a724d3c3 100644 --- a/src/main/java/net/minecraft/world/level/NaturalSpawner.java +++ b/src/main/java/net/minecraft/world/level/NaturalSpawner.java @@ -417,12 +417,12 @@ public final class NaturalSpawner { diff --git a/patches/server/0035-Remove-streams-and-iterators-from-range-check.patch b/patches/server/0035-Remove-streams-and-iterators-from-range-check.patch index 77889bb..959f406 100644 --- a/patches/server/0035-Remove-streams-and-iterators-from-range-check.patch +++ b/patches/server/0035-Remove-streams-and-iterators-from-range-check.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Remove streams and iterators from range check diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java -index 7aa247fd9dabe79d7b7f0b18a6f82ac926440c70..d939b1e3bc101e66bc1019cf49d8079665dadfcc 100644 +index 02abc76333e8244cfcaa052a7df948b68079559a..3ce4dbf4eed442d89d6bbc8e4c6a000172041da5 100644 --- a/src/main/java/net/minecraft/server/level/ChunkMap.java +++ b/src/main/java/net/minecraft/server/level/ChunkMap.java -@@ -1624,8 +1624,28 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider +@@ -1637,8 +1637,28 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider return ChunkMap.this.level.getServer().getScaledTrackingDistance(initialDistance); } @@ -37,7 +37,7 @@ index 7aa247fd9dabe79d7b7f0b18a6f82ac926440c70..d939b1e3bc101e66bc1019cf49d80796 Iterator iterator = this.entity.getIndirectPassengers().iterator(); while (iterator.hasNext()) { -@@ -1637,6 +1657,9 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider +@@ -1650,6 +1670,9 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider i = j; } } diff --git a/patches/server/0036-Remove-streams-from-getting-nearby-players.patch b/patches/server/0036-Remove-streams-from-getting-nearby-players.patch index 6139d9d..49d8f60 100644 --- a/patches/server/0036-Remove-streams-from-getting-nearby-players.patch +++ b/patches/server/0036-Remove-streams-from-getting-nearby-players.patch @@ -7,10 +7,10 @@ This results in a 3% improvement at 20,000 entities, but more importantly is the heaviest part of the entity tracker currently. diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 7bdf545f4c1065ba9d94dfd878af0d91fb51c417..69e0c2a4253e0ba16a78815167ca5496005ba3d1 100644 +index 3abe1bb84359f9b0c57ac484d0031a1b23510f38..9b6c55f37915e2750bb87b7e9602cda020f035e4 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -493,17 +493,36 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -494,17 +494,36 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { this.isLegacyTrackingEntity = isLegacyTrackingEntity; } @@ -48,7 +48,7 @@ index 7bdf545f4c1065ba9d94dfd878af0d91fb51c417..69e0c2a4253e0ba16a78815167ca5496 for (Entity passenger : passengers) { org.spigotmc.TrackingRange.TrackingRangeType passengerType = passenger.trackingRangeType; int passengerRange = chunkMap.getEntityTrackerRange(passengerType.ordinal()); -@@ -512,6 +531,9 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -513,6 +532,9 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { range = passengerRange; } } diff --git a/patches/server/0039-Reduce-entity-allocations.patch b/patches/server/0039-Reduce-entity-allocations.patch index 62b5776..b326704 100644 --- a/patches/server/0039-Reduce-entity-allocations.patch +++ b/patches/server/0039-Reduce-entity-allocations.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Reduce entity allocations diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 69e0c2a4253e0ba16a78815167ca5496005ba3d1..61d1e4459bc44835092a5cef0b7a8ed27ab40b38 100644 +index 9b6c55f37915e2750bb87b7e9602cda020f035e4..9f63a4f348a8ba2ae34ee17f0ffc4c754dacb0f1 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -417,6 +417,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -418,6 +418,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { // Pufferfish start public boolean activatedPriorityReset = false; // DAB public int activatedPriority = gg.pufferfish.pufferfish.PufferfishConfig.maximumActivationPrio; // golf score diff --git a/patches/server/0040-Remove-lambda-from-ticking-guard.patch b/patches/server/0040-Remove-lambda-from-ticking-guard.patch index 65bbedd..8c5de55 100644 --- a/patches/server/0040-Remove-lambda-from-ticking-guard.patch +++ b/patches/server/0040-Remove-lambda-from-ticking-guard.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Remove lambda from ticking guard diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index 942e829114d73a12ef43cf972d77fa5a445ebb80..53198ebfa30273c5ddc1bb4324f5174ff99f688d 100644 +index db05e68407f56675d0a86dc4459cdb2b3b784961..ff2862bf1f511196d1e911e2584262ed728e9a81 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java @@ -729,7 +729,20 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -31,10 +31,10 @@ index 942e829114d73a12ef43cf972d77fa5a445ebb80..53198ebfa30273c5ddc1bb4324f5174f } } diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java -index 624c3ea027d3b5b19f846e5bdf851e3e5d3a0565..eb0a31c885ea64da00abcd5e67083392138b1ca0 100644 +index 6884b646fdbeb0e54be4ab221c11a63854a41a37..6aec1983a0236d6aa0507a2b3ad1c08b3330f0fc 100644 --- a/src/main/java/net/minecraft/world/level/Level.java +++ b/src/main/java/net/minecraft/world/level/Level.java -@@ -1022,13 +1022,13 @@ public abstract class Level implements LevelAccessor, AutoCloseable { +@@ -1028,13 +1028,13 @@ public abstract class Level implements LevelAccessor, AutoCloseable { try { tickConsumer.accept(entity); MinecraftServer.getServer().executeMidTickTasks(); // Paper - execute chunk tasks mid tick diff --git a/patches/server/0041-Reduce-entity-fluid-lookups-if-no-fluids.patch b/patches/server/0041-Reduce-entity-fluid-lookups-if-no-fluids.patch index 1e1ea22..bc218ed 100644 --- a/patches/server/0041-Reduce-entity-fluid-lookups-if-no-fluids.patch +++ b/patches/server/0041-Reduce-entity-fluid-lookups-if-no-fluids.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Reduce entity fluid lookups if no fluids diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 61d1e4459bc44835092a5cef0b7a8ed27ab40b38..a03ed3eccc0913b7df68bc5920aee6fe65b4676d 100644 +index 9f63a4f348a8ba2ae34ee17f0ffc4c754dacb0f1..31c92569fe373f256517820babd8f0e0bf1eaa60 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -4120,16 +4120,18 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -4184,16 +4184,18 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { } public boolean updateFluidHeightAndDoFluidPushing(TagKey tag, double speed) { @@ -34,7 +34,7 @@ index 61d1e4459bc44835092a5cef0b7a8ed27ab40b38..a03ed3eccc0913b7df68bc5920aee6fe double d1 = 0.0D; boolean flag = this.isPushedByFluid(); boolean flag1 = false; -@@ -4137,14 +4139,61 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -4201,14 +4203,61 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { int k1 = 0; BlockPos.MutableBlockPos blockposition_mutableblockposition = new BlockPos.MutableBlockPos(); @@ -102,7 +102,7 @@ index 61d1e4459bc44835092a5cef0b7a8ed27ab40b38..a03ed3eccc0913b7df68bc5920aee6fe if (d2 >= axisalignedbb.minY) { flag1 = true; -@@ -4166,9 +4215,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -4230,9 +4279,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { // CraftBukkit end } } @@ -116,7 +116,7 @@ index 61d1e4459bc44835092a5cef0b7a8ed27ab40b38..a03ed3eccc0913b7df68bc5920aee6fe if (vec3d.length() > 0.0D) { if (k1 > 0) { 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 b0c9fce9d4e06cac139e341d218d0b6aac1f1943..f25467ad1c5bac7eaef4b63b2845ad04d7c76e4e 100644 +index 1b80a91fa36c59a31b57ef7ef4a68eacbb0f17f5..b5e118456af6421ae3f85cb8232dc97a8b2d46b7 100644 --- a/src/main/java/net/minecraft/world/level/chunk/LevelChunkSection.java +++ b/src/main/java/net/minecraft/world/level/chunk/LevelChunkSection.java @@ -27,6 +27,7 @@ public class LevelChunkSection { diff --git a/patches/server/0042-Throttle-goal-selector-during-inactive-ticking.patch b/patches/server/0042-Throttle-goal-selector-during-inactive-ticking.patch index fcb9f74..8709ff9 100644 --- a/patches/server/0042-Throttle-goal-selector-during-inactive-ticking.patch +++ b/patches/server/0042-Throttle-goal-selector-during-inactive-ticking.patch @@ -23,10 +23,10 @@ index 03ef5e6b578aa1e9391e891d3e005b30925eb5a8..32b1d27550d297c7dfe00e3d91fcda8b public static URI profileWebUrl; private static void profilerOptions() { diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java -index c85f5545e4246c63088b13a5884e74b8f6e00289..94b45579dc371ee980565aed2f5dee78ebd44427 100644 +index 28268bcfdd4dc21f12d1493c288e2960d483058a..636e601b004a412d02e5be86e97d489b52c28e1b 100644 --- a/src/main/java/net/minecraft/world/entity/Mob.java +++ b/src/main/java/net/minecraft/world/entity/Mob.java -@@ -210,11 +210,13 @@ public abstract class Mob extends LivingEntity { +@@ -215,11 +215,13 @@ public abstract class Mob extends LivingEntity implements Targeting { return this.lookControl; } diff --git a/patches/server/0043-Entity-TTL.patch b/patches/server/0043-Entity-TTL.patch index f8e66b4..84f908e 100644 --- a/patches/server/0043-Entity-TTL.patch +++ b/patches/server/0043-Entity-TTL.patch @@ -44,10 +44,10 @@ index 32b1d27550d297c7dfe00e3d91fcda8b752f6279..4a1a0dd4aab35a368185db3e70963539 public static boolean throttleInactiveGoalSelectorTick; private static void inactiveGoalSelectorThrottle() { diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index a03ed3eccc0913b7df68bc5920aee6fe65b4676d..6a9c0f0b4b749c5907a274d6a83254284d8763bb 100644 +index 31c92569fe373f256517820babd8f0e0bf1eaa60..8a2429f915da389360dcb16609fef7701b4a863a 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -816,6 +816,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -817,6 +817,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { // CraftBukkit end public void baseTick() { @@ -61,10 +61,10 @@ index a03ed3eccc0913b7df68bc5920aee6fe65b4676d..6a9c0f0b4b749c5907a274d6a8325428 if (firstTick && this instanceof net.minecraft.world.entity.NeutralMob neutralMob) neutralMob.tickInitialPersistentAnger(level); // Paper - Update last hurt when ticking this.feetBlockState = null; diff --git a/src/main/java/net/minecraft/world/entity/EntityType.java b/src/main/java/net/minecraft/world/entity/EntityType.java -index 8ca7181dcf742cf33d4a44387c168eafeadd8da4..4f3708f5f5dcb6af8225bda1cc9204a6d974665f 100644 +index 559bce4bbcc03117f52dc2810bad5becddf14a8e..8af0918d3a62de58a4b2af55022c812bb0e46092 100644 --- a/src/main/java/net/minecraft/world/entity/EntityType.java +++ b/src/main/java/net/minecraft/world/entity/EntityType.java -@@ -294,6 +294,7 @@ public class EntityType implements FeatureElement, EntityTypeT +@@ -301,6 +301,7 @@ public class EntityType implements FeatureElement, EntityTypeT private final int clientTrackingRange; private final int updateInterval; public boolean dabEnabled = false; // Pufferfish diff --git a/patches/server/0044-Add-option-to-disable-out-of-order-chat.patch b/patches/server/0044-Add-option-to-disable-out-of-order-chat.patch index 538f210..2090fb1 100644 --- a/patches/server/0044-Add-option-to-disable-out-of-order-chat.patch +++ b/patches/server/0044-Add-option-to-disable-out-of-order-chat.patch @@ -21,10 +21,10 @@ index 4a1a0dd4aab35a368185db3e7096353956e8a93b..e0076044d0a29e33ee297fe6180a0414 } diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 38886a155a12dca873ad0bf21496ce5d2c79874b..c89e430cfddb431ee1d20e59f8bd60e3a3a952b9 100644 +index c960dbbf158171ee39a4a407f194c2ee9095559d..24d48fb4a63c2db19c7f957ad2260415fe1db9fe 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2353,6 +2353,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2347,6 +2347,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic } private boolean updateChatOrder(Instant timestamp) {