diff --git a/sakura-server/minecraft-patches/features/0003-Load-Chunks-on-Movement.patch b/sakura-server/minecraft-patches/features/0003-Load-Chunks-on-Movement.patch index 684e74f..fcdd5b7 100644 --- a/sakura-server/minecraft-patches/features/0003-Load-Chunks-on-Movement.patch +++ b/sakura-server/minecraft-patches/features/0003-Load-Chunks-on-Movement.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Load Chunks on Movement diff --git a/ca/spottedleaf/moonrise/patches/collisions/CollisionUtil.java b/ca/spottedleaf/moonrise/patches/collisions/CollisionUtil.java -index 01cd38bba2deb6cf65c82b4e4ec352a2998fd339..5cc6fe6984d59a94c037b2c327a5d72b5a2a740d 100644 +index 01cd38bba2deb6cf65c82b4e4ec352a2998fd339..c9bafad13e831f7254f397629f07d3c92fc2a8bb 100644 --- a/ca/spottedleaf/moonrise/patches/collisions/CollisionUtil.java +++ b/ca/spottedleaf/moonrise/patches/collisions/CollisionUtil.java @@ -1885,6 +1885,7 @@ public final class CollisionUtil { @@ -16,7 +16,15 @@ index 01cd38bba2deb6cf65c82b4e4ec352a2998fd339..5cc6fe6984d59a94c037b2c327a5d72b public static boolean getCollisionsForBlocksOrWorldBorder(final Level world, final Entity entity, final AABB aabb, final List intoVoxel, final List intoAABB, -@@ -1936,6 +1937,7 @@ public final class CollisionUtil { +@@ -1919,6 +1920,7 @@ public final class CollisionUtil { + final BlockPos.MutableBlockPos mutablePos = new BlockPos.MutableBlockPos(); + final CollisionContext collisionShape = new LazyEntityCollisionContext(entity); + final boolean useEntityCollisionShape = LazyEntityCollisionContext.useEntityCollisionShape(world, entity); ++ final long gameTime = world.getGameTime(); // Sakura - load chunks on movement + + // special cases: + if (minBlockY > maxBlockY) { +@@ -1936,6 +1938,7 @@ public final class CollisionUtil { final int maxChunkZ = maxBlockZ >> 4; final boolean loadChunks = (collisionFlags & COLLISION_FLAG_LOAD_CHUNKS) != 0; @@ -24,7 +32,7 @@ index 01cd38bba2deb6cf65c82b4e4ec352a2998fd339..5cc6fe6984d59a94c037b2c327a5d72b final ChunkSource chunkSource = world.getChunkSource(); for (int currChunkZ = minChunkZ; currChunkZ <= maxChunkZ; ++currChunkZ) { -@@ -1954,6 +1956,16 @@ public final class CollisionUtil { +@@ -1954,6 +1957,16 @@ public final class CollisionUtil { continue; } diff --git a/sakura-server/minecraft-patches/features/0019-Collide-with-non-solid-blocks.patch b/sakura-server/minecraft-patches/features/0019-Collide-with-non-solid-blocks.patch index d548c52..dd97276 100644 --- a/sakura-server/minecraft-patches/features/0019-Collide-with-non-solid-blocks.patch +++ b/sakura-server/minecraft-patches/features/0019-Collide-with-non-solid-blocks.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Collide with non-solid blocks diff --git a/ca/spottedleaf/moonrise/patches/collisions/CollisionUtil.java b/ca/spottedleaf/moonrise/patches/collisions/CollisionUtil.java -index 82689f3a737a80c1c3fd5c46aa271e70fc7b8866..0e16ec857c6f9005f6a56b2a79493ce4eeec59a6 100644 +index 96009170f6ec0febc577867be3ee77433471c919..17940de16399033575c2c8031cdf1092f7b39ea2 100644 --- a/ca/spottedleaf/moonrise/patches/collisions/CollisionUtil.java +++ b/ca/spottedleaf/moonrise/patches/collisions/CollisionUtil.java @@ -1905,6 +1905,7 @@ public final class CollisionUtil { @@ -16,7 +16,7 @@ index 82689f3a737a80c1c3fd5c46aa271e70fc7b8866..0e16ec857c6f9005f6a56b2a79493ce4 public static boolean getCollisionsForBlocksOrWorldBorder(final Level world, final Entity entity, final AABB aabb, final List intoVoxel, final List intoAABB, -@@ -1957,6 +1958,7 @@ public final class CollisionUtil { +@@ -1958,6 +1959,7 @@ public final class CollisionUtil { final boolean loadChunks = (collisionFlags & COLLISION_FLAG_LOAD_CHUNKS) != 0; final boolean addTicket = (collisionFlags & COLLISION_FLAG_ADD_TICKET) != 0; // Sakura - load chunks on movement @@ -24,7 +24,7 @@ index 82689f3a737a80c1c3fd5c46aa271e70fc7b8866..0e16ec857c6f9005f6a56b2a79493ce4 final ChunkSource chunkSource = world.getChunkSource(); for (int currChunkZ = minChunkZ; currChunkZ <= maxChunkZ; ++currChunkZ) { -@@ -1999,7 +2001,7 @@ public final class CollisionUtil { +@@ -2000,7 +2002,7 @@ public final class CollisionUtil { continue; } @@ -33,7 +33,7 @@ index 82689f3a737a80c1c3fd5c46aa271e70fc7b8866..0e16ec857c6f9005f6a56b2a79493ce4 final int sectionAdjust = !hasSpecial ? 1 : 0; final PalettedContainer blocks = section.states; -@@ -2038,6 +2040,11 @@ public final class CollisionUtil { +@@ -2039,6 +2041,11 @@ public final class CollisionUtil { mutablePos.set(blockX, blockY, blockZ); if (useEntityCollisionShape) { blockCollision = collisionShape.getCollisionShape(blockData, world, mutablePos); diff --git a/sakura-server/minecraft-patches/features/0030-Optimise-block-counting-for-cannon-entities.patch b/sakura-server/minecraft-patches/features/0030-Optimise-block-counting-for-cannon-entities.patch index 167747b..0566630 100644 --- a/sakura-server/minecraft-patches/features/0030-Optimise-block-counting-for-cannon-entities.patch +++ b/sakura-server/minecraft-patches/features/0030-Optimise-block-counting-for-cannon-entities.patch @@ -5,19 +5,18 @@ Subject: [PATCH] Optimise block counting for cannon entities diff --git a/ca/spottedleaf/moonrise/patches/collisions/CollisionUtil.java b/ca/spottedleaf/moonrise/patches/collisions/CollisionUtil.java -index 0e16ec857c6f9005f6a56b2a79493ce4eeec59a6..1269bf2f22d162b96ace840aadb49907ddb14bce 100644 +index 17940de16399033575c2c8031cdf1092f7b39ea2..884ea2f49afc43c09af9c0b42d34f417bd14ec9e 100644 --- a/ca/spottedleaf/moonrise/patches/collisions/CollisionUtil.java +++ b/ca/spottedleaf/moonrise/patches/collisions/CollisionUtil.java -@@ -1940,6 +1940,8 @@ public final class CollisionUtil { - final BlockPos.MutableBlockPos mutablePos = new BlockPos.MutableBlockPos(); +@@ -1941,6 +1941,7 @@ public final class CollisionUtil { final CollisionContext collisionShape = new LazyEntityCollisionContext(entity); final boolean useEntityCollisionShape = LazyEntityCollisionContext.useEntityCollisionShape(world, entity); + final long gameTime = world.getGameTime(); // Sakura - load chunks on movement + final boolean cannonEntity = entity != null && (entity.isFallingBlock || entity.isPrimedTNT); // Sakura - optimise block counting for cannon entities -+ final long gameTime = world.getGameTime(); // special cases: if (minBlockY > maxBlockY) { -@@ -2003,15 +2005,19 @@ public final class CollisionUtil { +@@ -2004,15 +2005,19 @@ public final class CollisionUtil { final boolean hasSpecial = !fullBlocks && section.moonrise$hasSpecialCollidingBlocks(); // Sakura - collide with non-solid blocks final int sectionAdjust = !hasSpecial ? 1 : 0;