mirror of
https://github.com/Samsuik/Sakura.git
synced 2025-12-26 18:29:07 +00:00
Fix load chunks on movement diff
This commit is contained in:
@@ -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<VoxelShape> intoVoxel, final List<AABB> 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;
|
||||
}
|
||||
|
||||
|
||||
@@ -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<VoxelShape> intoVoxel, final List<AABB> 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<BlockState> 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);
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user