9
0
mirror of https://github.com/LeavesMC/Leaves.git synced 2026-01-04 15:41:31 +00:00

fix: make cce possible again

This commit is contained in:
MC_XiaoHei
2025-05-18 09:26:12 +00:00
parent 918e68c5fd
commit 259cb3ebbc
2 changed files with 26 additions and 2 deletions

View File

@@ -125,3 +125,27 @@ index bbb1abfbfe7afd7b631cf269c1e338697cd016d2..8ec5731b0cfd5b987cb464d7b2d737f3
// CraftBukkit start
protected void onPlace(BlockState state, Level level, BlockPos pos, BlockState oldState, boolean movedByPiston, @Nullable net.minecraft.world.item.context.UseOnContext context) {
this.onPlace(state, level, pos, oldState, movedByPiston);
diff --git a/net/minecraft/world/level/chunk/LevelChunk.java b/net/minecraft/world/level/chunk/LevelChunk.java
index 9714752bfe7019b2578b3b993801d797d642ff96..5f498005408ac11eb373e42712c26a4a66f7d961 100644
--- a/net/minecraft/world/level/chunk/LevelChunk.java
+++ b/net/minecraft/world/level/chunk/LevelChunk.java
@@ -394,6 +394,10 @@ public class LevelChunk extends ChunkAccess implements ca.spottedleaf.moonrise.p
boolean flag = !blockState.is(block);
boolean flag1 = (flags & 64) != 0;
boolean flag2 = (flags & 256) == 0;
+ // Leaves start - behaviour 1.21.4-
+ if (org.leavesmc.leaves.LeavesConfig.modify.oldMC.updater.oldBlockEntityBehaviour && (flag || block instanceof BaseRailBlock) && this.level instanceof ServerLevel serverLevel && ((flags & 1) != 0 || flag1)) {
+ blockState.affectNeighborsAfterRemoval(serverLevel, pos, flag1);
+ } // Leaves end - behaviour 1.21.4-
if (flag && blockState.hasBlockEntity()) {
if (!this.level.isClientSide && flag2) {
BlockEntity blockEntity = this.level.getBlockEntity(pos);
@@ -405,7 +409,7 @@ public class LevelChunk extends ChunkAccess implements ca.spottedleaf.moonrise.p
this.removeBlockEntity(pos);
}
- if ((flag || block instanceof BaseRailBlock) && this.level instanceof ServerLevel serverLevel && ((flags & 1) != 0 || flag1)) {
+ if (!org.leavesmc.leaves.LeavesConfig.modify.oldMC.updater.oldBlockEntityBehaviour && (flag || block instanceof BaseRailBlock) && this.level instanceof ServerLevel serverLevel && ((flags & 1) != 0 || flag1)) { // Leaves - behaviour 1.21.4-
blockState.affectNeighborsAfterRemoval(serverLevel, pos, flag1);
}

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Do not prevent block entity and entity crash at LevelChunk
diff --git a/net/minecraft/world/level/chunk/LevelChunk.java b/net/minecraft/world/level/chunk/LevelChunk.java
index 9714752bfe7019b2578b3b993801d797d642ff96..3b866f4cd08134406c59c6ed71a648f00e643554 100644
index 5f498005408ac11eb373e42712c26a4a66f7d961..5f0abcbd4d53d7aa909aa29b891e0df3ac872c13 100644
--- a/net/minecraft/world/level/chunk/LevelChunk.java
+++ b/net/minecraft/world/level/chunk/LevelChunk.java
@@ -938,12 +938,14 @@ public class LevelChunk extends ChunkAccess implements ca.spottedleaf.moonrise.p
@@ -942,12 +942,14 @@ public class LevelChunk extends ChunkAccess implements ca.spottedleaf.moonrise.p
profilerFiller.pop();
} catch (Throwable var5) {