diff --git a/gradle.properties b/gradle.properties index 625fd09..0e97c58 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,7 +1,7 @@ group = me.earthme.luminol version = 1.20.6-R0.1-SNAPSHOT -foliaCommit = 36e5e836e8b72e39462545709fc656e69bfb53cf +foliaCommit = d79708296e75ee4f26e78c2925f6e7d4217d0575 org.gradle.caching = true org.gradle.parallel = true diff --git a/patches/api/0003-KioCG-Chunk-API.patch b/patches/api/0003-KioCG-Chunk-API.patch index 6ee6033..bb7786a 100644 --- a/patches/api/0003-KioCG-Chunk-API.patch +++ b/patches/api/0003-KioCG-Chunk-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] KioCG Chunk API diff --git a/src/main/java/org/bukkit/Chunk.java b/src/main/java/org/bukkit/Chunk.java -index d547ae2b20c58bc703de4532b3b591dd34ddb1c6..8721954514f813d0a1200935e27a3ac00ceca135 100644 +index bc8b5bc17706250b8535b1b309134843d2ce2bb1..1cfe84ad1094e3c4fab96487f328be53e035a64c 100644 --- a/src/main/java/org/bukkit/Chunk.java +++ b/src/main/java/org/bukkit/Chunk.java -@@ -377,4 +377,6 @@ public interface Chunk extends PersistentDataHolder { +@@ -389,4 +389,6 @@ public interface Chunk extends PersistentDataHolder { */ UNLOADED; } @@ -16,10 +16,10 @@ index d547ae2b20c58bc703de4532b3b591dd34ddb1c6..8721954514f813d0a1200935e27a3ac0 + long getChunkHotAvg(); // KioCG } diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index 6c327a07bf8a6aa11a2d7dad12b2830acc539484..d66a165ca910bf47da837fb166e5c295325ef9a8 100644 +index eb34f22e973fe46529eb93f435f5bf7f85091404..b2d23eeb24d1132607cf68c2a6eec352db321fa2 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -3806,4 +3806,6 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -3854,4 +3854,6 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM @Override Spigot spigot(); // Spigot end diff --git a/patches/server/0004-Add-config-for-server-mod-name.patch b/patches/server/0004-Add-config-for-server-mod-name.patch index 4e52ba3..f520db9 100644 --- a/patches/server/0004-Add-config-for-server-mod-name.patch +++ b/patches/server/0004-Add-config-for-server-mod-name.patch @@ -47,10 +47,10 @@ index 0000000000000000000000000000000000000000..94e7c8910e3623163528a844fd7a08b3 + } +} diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 4c9c227c1395744128f347e9303f8a13667a4aa3..45f96e545a1a9883c9925d49f5eb69968313a0e9 100644 +index 355c8408da189a4805e206db0932c41f940930f0..3a6d567ee9db93606aec30255400dff4f9f87b05 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -2019,7 +2019,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop teleportComplete) { io.papermc.paper.util.TickThread.ensureTickThread(this, "Cannot teleport entity async"); diff --git a/patches/server/0020-Kaiiju-Vanilla-end-portal-teleportation.patch b/patches/server/0020-Kaiiju-Vanilla-end-portal-teleportation.patch index fec0756..160f8f5 100644 --- a/patches/server/0020-Kaiiju-Vanilla-end-portal-teleportation.patch +++ b/patches/server/0020-Kaiiju-Vanilla-end-portal-teleportation.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Kaiiju Vanilla end portal teleportation diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 7112c529a652b6ab6a418b3a44fc1f075061cc74..643631e11c88285f33d050bf7b4b1e2f63b5c992 100644 +index 816196016cad939c033a583e326ffff3894dca29..a424a9c9921eabca90bd7a49946e5814d4aea8dd 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -4240,12 +4240,17 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -4245,12 +4245,17 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess targetPos, 16, // load 16 blocks to be safe from block physics ca.spottedleaf.concurrentutil.executor.standard.PrioritisedExecutor.Priority.HIGH, (chunks) -> { @@ -28,7 +28,7 @@ index 7112c529a652b6ab6a418b3a44fc1f075061cc74..643631e11c88285f33d050bf7b4b1e2f ); } ); -@@ -4432,6 +4437,10 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -4437,6 +4442,10 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess if (!this.canPortalAsync(takePassengers)) { return false; } @@ -39,7 +39,7 @@ index 7112c529a652b6ab6a418b3a44fc1f075061cc74..643631e11c88285f33d050bf7b4b1e2f Vec3 initialPosition = this.position(); ChunkPos initialPositionChunk = new ChunkPos( -@@ -4490,7 +4499,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -4495,7 +4504,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess // place passengerTree.root.placeInAsync( originWorld, destination, Entity.TELEPORT_FLAG_LOAD_CHUNK | (takePassengers ? Entity.TELEPORT_FLAG_TELEPORT_PASSENGERS : 0L), diff --git a/patches/server/0023-Pufferfish-Cache-climbing-check-for-activation.patch b/patches/server/0023-Pufferfish-Cache-climbing-check-for-activation.patch index 714672b..b4d9e41 100644 --- a/patches/server/0023-Pufferfish-Cache-climbing-check-for-activation.patch +++ b/patches/server/0023-Pufferfish-Cache-climbing-check-for-activation.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Pufferfish Cache climbing check for activation diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 643631e11c88285f33d050bf7b4b1e2f63b5c992..94c9f407f526b2d43cf61725b414b113de03c67d 100644 +index a424a9c9921eabca90bd7a49946e5814d4aea8dd..76911946c4ad5c87abc4a82c20d52a2e755801ef 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -312,7 +312,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -311,7 +311,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess public double yo; public double zo; private Vec3 position; @@ -18,10 +18,10 @@ index 643631e11c88285f33d050bf7b4b1e2f63b5c992..94c9f407f526b2d43cf61725b414b113 private Vec3 deltaMovement; private float yRot; diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index a7c0527dd7a8cc30bb42e7ce1342b3f11862ee81..89ff6f509a59b484977ffbdb4e4132a46ca4bbaa 100644 +index ed628d38136534b3391c0a06b9c892a922710235..b3f0de04a7448a31a87d50f630dd4d929a6b6f37 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -2069,6 +2069,20 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -2053,6 +2053,20 @@ public abstract class LivingEntity extends Entity implements Attackable { return this.lastClimbablePos; } diff --git a/patches/server/0029-Pufferfish-Reduce-entity-fluid-lookups-if-no-fluids.patch b/patches/server/0029-Pufferfish-Reduce-entity-fluid-lookups-if-no-fluids.patch index 3065e77..a2813fd 100644 --- a/patches/server/0029-Pufferfish-Reduce-entity-fluid-lookups-if-no-fluids.patch +++ b/patches/server/0029-Pufferfish-Reduce-entity-fluid-lookups-if-no-fluids.patch @@ -31,10 +31,10 @@ index 0000000000000000000000000000000000000000..0523b3da3fb254bce1998bae6410c632 + } +} diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 94c9f407f526b2d43cf61725b414b113de03c67d..46369f332765d5995d7d6884d9b0dd3151729160 100644 +index 76911946c4ad5c87abc4a82c20d52a2e755801ef..19d901c4560be4c44adc6513adca95c9ac4e0b95 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -5320,6 +5320,11 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -5325,6 +5325,11 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess if (this.touchingUnloadedChunk()) { return false; } else { @@ -46,7 +46,7 @@ index 94c9f407f526b2d43cf61725b414b113de03c67d..46369f332765d5995d7d6884d9b0dd31 AABB axisalignedbb = this.getBoundingBox().deflate(0.001D); int i = Mth.floor(axisalignedbb.minX); int j = Mth.ceil(axisalignedbb.maxX); -@@ -5393,6 +5398,133 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -5398,6 +5403,133 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess } } diff --git a/patches/server/0031-Pufferfish-Entity-TTL.patch b/patches/server/0031-Pufferfish-Entity-TTL.patch index 5f935b9..44ebd5d 100644 --- a/patches/server/0031-Pufferfish-Entity-TTL.patch +++ b/patches/server/0031-Pufferfish-Entity-TTL.patch @@ -49,10 +49,10 @@ index 0000000000000000000000000000000000000000..15697d69659b6e1e776acf5094684b5f + } +} diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 94bac805d032015587e88b4de3cf7064a534e736..5caa390a167c770f657f142fe3355d127fc95cce 100644 +index 19d901c4560be4c44adc6513adca95c9ac4e0b95..053e9204104a886f4b7e828b7c5e0d277c44d676 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -856,6 +856,12 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -855,6 +855,12 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess } public void tick() { diff --git a/patches/server/0033-Pufferfish-Dynamic-Activation-of-Brain.patch b/patches/server/0033-Pufferfish-Dynamic-Activation-of-Brain.patch index ef5441d..01acb48 100644 --- a/patches/server/0033-Pufferfish-Dynamic-Activation-of-Brain.patch +++ b/patches/server/0033-Pufferfish-Dynamic-Activation-of-Brain.patch @@ -83,10 +83,10 @@ index 6b8cbf681203c20eebb214c5c0b0fe0374aa30dc..12c46e7a3f6a8675921d95dee97ece4a 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 5caa390a167c770f657f142fe3355d127fc95cce..18c6fe66fa944f5e5b7892df4d8fef4c7346d3bc 100644 +index 053e9204104a886f4b7e828b7c5e0d277c44d676..a999e3204d89ce2107026940cec7399360739ef0 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -483,6 +483,11 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -482,6 +482,11 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess // Folia - region ticking // Paper end - optimise entity tracking @@ -111,7 +111,7 @@ index aa2bb97ef305ed234a11b05e665ac1062b571591..29699e51b3e791a1a82a19c95fd6a3f3 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 8345d8431e1c05639f14919b9bad1029249a5f50..208f0995479df5741ff780df607451f27c6f91af 100644 +index a6c1d59085e0c58d9d1996d9e905bc24a3678e0c..fae60501284a68238c53ffc19075d46ac49cfdaa 100644 --- a/src/main/java/net/minecraft/world/entity/Mob.java +++ b/src/main/java/net/minecraft/world/entity/Mob.java @@ -249,10 +249,10 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Targeti @@ -233,7 +233,7 @@ index 290d41136f5ec7671bc4990dfe50da0a770c124d..0d34e9e0f7ce35c3c28a9216cf3cdd5e 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 02e49c7ae5e120302b6479cf3e3934b9217eebf0..81c9f1c2895adedec246732df9f9dadddfa5f345 100644 +index 376bcbc189008464f4d518c1e07643431ba96306..07bdea8a7d6706839a758afe0242202c7e841416 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 @@ -190,9 +190,11 @@ public class Goat extends Animal { diff --git a/patches/server/0036-Pufferfish-Improve-container-checking-with-a-bitset.patch b/patches/server/0036-Pufferfish-Improve-container-checking-with-a-bitset.patch index e988c15..def387e 100644 --- a/patches/server/0036-Pufferfish-Improve-container-checking-with-a-bitset.patch +++ b/patches/server/0036-Pufferfish-Improve-container-checking-with-a-bitset.patch @@ -1,6 +1,6 @@ From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: MrHua269 -Date: Mon, 25 Mar 2024 13:48:33 +0000 +Date: Thu, 20 Jun 2024 04:46:56 +0000 Subject: [PATCH] Pufferfish Improve container checking with a bitset @@ -237,7 +237,7 @@ index f402dbbfe3a443e6bc51f88b85abe937852b52f0..541cb29a10e2c87a8214ff5beadb71bc float DEFAULT_DISTANCE_BUFFER = 4.0F; 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 2704389bc3ec6dbbf1b568a4380972f8c0d62d15..c53cdaa59da87d96e34f06185b1f73e56a5bfc6c 100644 +index 9549eee0d92f322bd5232abd7e695213660c2e22..2cd8ac8840c2c0346fbf209c5ae3bb67eb3905e8 100644 --- a/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecartContainer.java +++ b/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecartContainer.java @@ -30,7 +30,10 @@ import org.bukkit.inventory.InventoryHolder; @@ -251,7 +251,7 @@ index 2704389bc3ec6dbbf1b568a4380972f8c0d62d15..c53cdaa59da87d96e34f06185b1f73e5 @Nullable public ResourceKey lootTable; public long lootTableSeed; -@@ -92,12 +95,18 @@ public abstract class AbstractMinecartContainer extends AbstractMinecart impleme +@@ -86,12 +89,18 @@ public abstract class AbstractMinecartContainer extends AbstractMinecart impleme protected AbstractMinecartContainer(EntityType type, Level world) { super(type, world); @@ -272,10 +272,10 @@ index 2704389bc3ec6dbbf1b568a4380972f8c0d62d15..c53cdaa59da87d96e34f06185b1f73e5 } @Override -@@ -166,6 +175,10 @@ public abstract class AbstractMinecartContainer extends AbstractMinecart impleme +@@ -158,6 +167,10 @@ public abstract class AbstractMinecartContainer extends AbstractMinecart impleme + @Override protected void readAdditionalSaveData(CompoundTag nbt) { super.readAdditionalSaveData(nbt); - this.lootableData.loadNbt(nbt); // Paper + // Pufferfish start + this.itemStacksOptimized = new gg.airplane.structs.ItemListWithBitset(this.getContainerSize()); + this.itemStacks = this.itemStacksOptimized.nonNullList; diff --git a/patches/server/0038-Gale-Don-t-load-chunks-to-activate-climbing-entities.patch b/patches/server/0038-Gale-Don-t-load-chunks-to-activate-climbing-entities.patch index ba566a2..8bb2bbc 100644 --- a/patches/server/0038-Gale-Don-t-load-chunks-to-activate-climbing-entities.patch +++ b/patches/server/0038-Gale-Don-t-load-chunks-to-activate-climbing-entities.patch @@ -31,10 +31,10 @@ index 0000000000000000000000000000000000000000..ed62d25d6cd6dfcf8c5db20ced36eb3d + } +} diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 2be071c9c4a0e9e32d08f0694903e6b25aa35042..f946655347a3a2b83351e67c9be4beb0d63de32d 100644 +index a999e3204d89ce2107026940cec7399360739ef0..cb531ab68cee6bc1a24309290771eb39de2dc276 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -5595,6 +5595,16 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -5600,6 +5600,16 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess return this.inBlockState; } @@ -52,10 +52,10 @@ index 2be071c9c4a0e9e32d08f0694903e6b25aa35042..f946655347a3a2b83351e67c9be4beb0 return this.chunkPosition; } diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 2a7172c987812347e308ae1ed86b3fd430ef04e9..0eb73b666fe161fc148e0c0dc2da3362f8452187 100644 +index 216af15f706f777bd6350cdd2187a8e7c98dfa21..76758de966bba1eab9e10ecf6063303e01e80e49 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -2089,19 +2089,43 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -2073,19 +2073,43 @@ public abstract class LivingEntity extends Entity implements Attackable { public boolean onClimableCached() { if (!this.blockPosition().equals(this.lastClimbingPosition)) { diff --git a/patches/server/0039-Gale-Optimize-sun-burn-tick.patch b/patches/server/0039-Gale-Optimize-sun-burn-tick.patch index f1bba8a..bc13d07 100644 --- a/patches/server/0039-Gale-Optimize-sun-burn-tick.patch +++ b/patches/server/0039-Gale-Optimize-sun-burn-tick.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Gale Optimize sun burn tick diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index a9e32fba699c718011abc52d91ec7158ab22b5ea..f3c1a5b5880aefd1b3121be27172735134016437 100644 +index cb531ab68cee6bc1a24309290771eb39de2dc276..bc16167dccaf865b831885a1b32f42ab60229fe4 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -311,7 +311,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -310,7 +310,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess public double xo; public double yo; public double zo; @@ -17,7 +17,7 @@ index a9e32fba699c718011abc52d91ec7158ab22b5ea..f3c1a5b5880aefd1b3121be271727351 public BlockPos blockPosition; // Pufferfish - private->public private ChunkPos chunkPosition; private Vec3 deltaMovement; -@@ -2121,9 +2121,17 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -2120,9 +2120,17 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess /** @deprecated */ @Deprecated public float getLightLevelDependentMagicValue() { @@ -37,7 +37,7 @@ index a9e32fba699c718011abc52d91ec7158ab22b5ea..f3c1a5b5880aefd1b3121be271727351 this.absMoveTo(x, y, z); this.setYRot(yaw % 360.0F); diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java -index 78619c2ce66c34c4866755aa8c6c9ae18d594498..26362c7fa4fcc39f40c2736fd14647542e7161e2 100644 +index 03cf4ef6fd09de13709400dc508266c2b3d99330..4e0335d683334b0c6ee4dbf16d93f4e0392cf8d4 100644 --- a/src/main/java/net/minecraft/world/entity/Mob.java +++ b/src/main/java/net/minecraft/world/entity/Mob.java @@ -1869,13 +1869,29 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Targeti diff --git a/patches/server/0041-Gale-Don-t-trigger-lootable-refresh-for-non-player-i.patch b/patches/server/0041-Gale-Don-t-trigger-lootable-refresh-for-non-player-i.patch deleted file mode 100644 index dbe11bc..0000000 --- a/patches/server/0041-Gale-Don-t-trigger-lootable-refresh-for-non-player-i.patch +++ /dev/null @@ -1,19 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: MrHua269 -Date: Sun, 28 Jan 2024 09:31:27 +0000 -Subject: [PATCH] Gale Don't trigger lootable refresh for non-player - interaction - - -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 17da915ffa638500a83b67db0940a7b9a9b333a1..e47c9481f39426e1767e73275edbf9a1d298caea 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 -@@ -74,6 +74,7 @@ public abstract class RandomizableContainerBlockEntity extends BaseContainerBloc - - @Override - public void unpackLootTable(@org.jetbrains.annotations.Nullable final Player player) { -+ if (player == null) return; // Gale - EMC - don't trigger lootable refresh for non-player interaction - // Copied from super with changes, always check the original method - net.minecraft.world.level.Level level = this.getLevel(); - BlockPos blockPos = this.getBlockPos(); diff --git a/patches/server/0042-Gale-Use-platform-math-functions.patch b/patches/server/0041-Gale-Use-platform-math-functions.patch similarity index 100% rename from patches/server/0042-Gale-Use-platform-math-functions.patch rename to patches/server/0041-Gale-Use-platform-math-functions.patch diff --git a/patches/server/0043-Gale-Skip-entity-move-if-movement-is-zero.patch b/patches/server/0042-Gale-Skip-entity-move-if-movement-is-zero.patch similarity index 86% rename from patches/server/0043-Gale-Skip-entity-move-if-movement-is-zero.patch rename to patches/server/0042-Gale-Skip-entity-move-if-movement-is-zero.patch index 4cfe269..f69ce69 100644 --- a/patches/server/0043-Gale-Skip-entity-move-if-movement-is-zero.patch +++ b/patches/server/0042-Gale-Skip-entity-move-if-movement-is-zero.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Gale Skip entity move if movement is zero diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index f3c1a5b5880aefd1b3121be27172735134016437..d975134fe5dd38a8655406a39821593f055b7381 100644 +index bc16167dccaf865b831885a1b32f42ab60229fe4..99978531e19eb9d5a14354b7e518d609e2389b5a 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -320,6 +320,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -319,6 +319,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess public float yRotO; public float xRotO; private AABB bb; @@ -16,7 +16,7 @@ index f3c1a5b5880aefd1b3121be27172735134016437..d975134fe5dd38a8655406a39821593f public boolean onGround; public boolean horizontalCollision; public boolean verticalCollision; -@@ -1144,6 +1145,11 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -1143,6 +1144,11 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess //Luminol end public void move(MoverType movementType, Vec3 movement) { @@ -28,7 +28,7 @@ index f3c1a5b5880aefd1b3121be27172735134016437..d975134fe5dd38a8655406a39821593f final Vec3 originalMovement = movement; // Paper - Expose pre-collision velocity // Paper start - detailed watchdog information io.papermc.paper.util.TickThread.ensureTickThread("Cannot move an entity off-main"); -@@ -5006,6 +5012,11 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -5011,6 +5017,11 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess } public final void setBoundingBox(AABB boundingBox) { diff --git a/patches/server/0044-Gale-Optimize-world-generation-chunk-and-block-acces.patch b/patches/server/0043-Gale-Optimize-world-generation-chunk-and-block-acces.patch similarity index 98% rename from patches/server/0044-Gale-Optimize-world-generation-chunk-and-block-acces.patch rename to patches/server/0043-Gale-Optimize-world-generation-chunk-and-block-acces.patch index 6bb36ef..c72e9f9 100644 --- a/patches/server/0044-Gale-Optimize-world-generation-chunk-and-block-acces.patch +++ b/patches/server/0043-Gale-Optimize-world-generation-chunk-and-block-acces.patch @@ -106,7 +106,7 @@ index 0000000000000000000000000000000000000000..f2f10b651e4fbecdd1ea1bc28ebf40d6 + +} diff --git a/src/main/java/net/minecraft/server/level/WorldGenRegion.java b/src/main/java/net/minecraft/server/level/WorldGenRegion.java -index 888cf5257fba032b9edd95a89e71ca8b4ed1fb81..dc89751d1ddd71fb98657abfdb67da7f395ef3db 100644 +index b17bb9b9387b9efa5cc7513e36ea896b17712cae..8f90d1571f019c637176ffc6403a3b2506dcd6a6 100644 --- a/src/main/java/net/minecraft/server/level/WorldGenRegion.java +++ b/src/main/java/net/minecraft/server/level/WorldGenRegion.java @@ -86,6 +86,10 @@ public class WorldGenRegion implements WorldGenLevel { diff --git a/patches/server/0045-Gale-Optimize-noise-generation.patch b/patches/server/0044-Gale-Optimize-noise-generation.patch similarity index 100% rename from patches/server/0045-Gale-Optimize-noise-generation.patch rename to patches/server/0044-Gale-Optimize-noise-generation.patch diff --git a/patches/server/0046-Gale-Faster-chunk-serialization.patch b/patches/server/0045-Gale-Faster-chunk-serialization.patch similarity index 100% rename from patches/server/0046-Gale-Faster-chunk-serialization.patch rename to patches/server/0045-Gale-Faster-chunk-serialization.patch diff --git a/patches/server/0047-Gale-Reduce-lambda-and-Optional-allocation-in-Entity.patch b/patches/server/0046-Gale-Reduce-lambda-and-Optional-allocation-in-Entity.patch similarity index 100% rename from patches/server/0047-Gale-Reduce-lambda-and-Optional-allocation-in-Entity.patch rename to patches/server/0046-Gale-Reduce-lambda-and-Optional-allocation-in-Entity.patch diff --git a/patches/server/0048-Gale-Replace-throttle-tracker-map-with-optimized-col.patch b/patches/server/0047-Gale-Replace-throttle-tracker-map-with-optimized-col.patch similarity index 100% rename from patches/server/0048-Gale-Replace-throttle-tracker-map-with-optimized-col.patch rename to patches/server/0047-Gale-Replace-throttle-tracker-map-with-optimized-col.patch diff --git a/patches/server/0049-Sparkly-Paper-Optimize-canSee-checks.patch b/patches/server/0048-Sparkly-Paper-Optimize-canSee-checks.patch similarity index 95% rename from patches/server/0049-Sparkly-Paper-Optimize-canSee-checks.patch rename to patches/server/0048-Sparkly-Paper-Optimize-canSee-checks.patch index 5b501fe..527a4a6 100644 --- a/patches/server/0049-Sparkly-Paper-Optimize-canSee-checks.patch +++ b/patches/server/0048-Sparkly-Paper-Optimize-canSee-checks.patch @@ -18,7 +18,7 @@ index c547d51eebd965f2be7ac45bc0981626c0515ef1..b7d91b7e8eb31f838cf540246f2d9b9c } // CraftBukkit end diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index ed4bdf27c38d881fd3896a736652686ff9107f16..eb5ec3637aedb643801f369e43d39ef987546ce0 100644 +index 28583ad8117167400faf3ca0dc4bc9f3f44dbedb..a3d4dc232d011c262d85028351191ac2b8547398 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -198,7 +198,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @@ -30,7 +30,7 @@ index ed4bdf27c38d881fd3896a736652686ff9107f16..eb5ec3637aedb643801f369e43d39ef9 private final Set unlistedEntities = new HashSet<>(); // Paper - Add Listing API for Player private static final WeakHashMap> pluginWeakReferences = new WeakHashMap<>(); private int hash = 0; -@@ -2233,9 +2233,16 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2234,9 +2234,16 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @Override public boolean canSee(org.bukkit.entity.Entity entity) { diff --git a/patches/server/0050-Threaded-region-start-tick-and-finished-tick-event.patch b/patches/server/0049-Threaded-region-start-tick-and-finished-tick-event.patch similarity index 100% rename from patches/server/0050-Threaded-region-start-tick-and-finished-tick-event.patch rename to patches/server/0049-Threaded-region-start-tick-and-finished-tick-event.patch diff --git a/patches/server/0051-Purpur-use-alternative-keep-alive.patch b/patches/server/0050-Purpur-use-alternative-keep-alive.patch similarity index 100% rename from patches/server/0051-Purpur-use-alternative-keep-alive.patch rename to patches/server/0050-Purpur-use-alternative-keep-alive.patch diff --git a/patches/server/0052-Fix-MC-2025.patch b/patches/server/0051-Fix-MC-2025.patch similarity index 90% rename from patches/server/0052-Fix-MC-2025.patch rename to patches/server/0051-Fix-MC-2025.patch index 9511ed3..8aeaae9 100644 --- a/patches/server/0052-Fix-MC-2025.patch +++ b/patches/server/0051-Fix-MC-2025.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Fix-MC-2025 diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index d975134fe5dd38a8655406a39821593f055b7381..546063255bf29cba839d73cf2778a798150658f5 100644 +index 99978531e19eb9d5a14354b7e518d609e2389b5a..94a5ac99de0b51de426b9929e82d16e12290267e 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -2608,6 +2608,16 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -2607,6 +2607,16 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess nbttagcompound.putBoolean("Paper.FreezeLock", true); } // Paper end @@ -25,7 +25,7 @@ index d975134fe5dd38a8655406a39821593f055b7381..546063255bf29cba839d73cf2778a798 return nbttagcompound; } catch (Throwable throwable) { CrashReport crashreport = CrashReport.forThrowable(throwable, "Saving entity NBT"); -@@ -2685,6 +2695,13 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -2684,6 +2694,13 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess this.reapplyPosition(); } diff --git a/patches/server/0053-KioCG-Chunk-API.patch b/patches/server/0052-KioCG-Chunk-API.patch similarity index 94% rename from patches/server/0053-KioCG-Chunk-API.patch rename to patches/server/0052-KioCG-Chunk-API.patch index 420dbc0..a15c4b9 100644 --- a/patches/server/0053-KioCG-Chunk-API.patch +++ b/patches/server/0052-KioCG-Chunk-API.patch @@ -102,10 +102,10 @@ index 0000000000000000000000000000000000000000..53b4397997bc9b9b9d88e48304b37a25 + } +} diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 97016c309d0a0fc13d733269f7dfb81ca0d8c574..e169a9d4c2e633fdba3fe425e2f3f766d2200af5 100644 +index ac0312d5d496ee5599ff6b002196d98b42385309..d43831210937108563035ab8137ab27694a7c465 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -1699,6 +1699,17 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop