mirror of
https://github.com/LeavesMC/Leaves.git
synced 2025-12-19 14:59:32 +00:00
91 lines
5.3 KiB
Diff
91 lines
5.3 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: violetc <58360096+s-yh-china@users.noreply.github.com>
|
|
Date: Wed, 14 Aug 2024 01:48:14 +0800
|
|
Subject: [PATCH] Old BlockEntity behaviour
|
|
|
|
|
|
diff --git a/net/minecraft/world/level/block/ChiseledBookShelfBlock.java b/net/minecraft/world/level/block/ChiseledBookShelfBlock.java
|
|
index 1411c6b0471281827b9d21958c0c7d962809898f..2aa08b7da25f159640e0640482d40c69b060bb9f 100644
|
|
--- a/net/minecraft/world/level/block/ChiseledBookShelfBlock.java
|
|
+++ b/net/minecraft/world/level/block/ChiseledBookShelfBlock.java
|
|
@@ -192,7 +192,14 @@ public class ChiseledBookShelfBlock extends BaseEntityBlock {
|
|
}
|
|
|
|
chiseledBookShelfBlockEntity.clearContent();
|
|
- flag = true;
|
|
+ // Leaves start - behaviour 1.21.1-
|
|
+ if (org.leavesmc.leaves.LeavesConfig.modify.oldMC.updater.oldBlockEntityBehaviour) {
|
|
+ flag = false;
|
|
+ level.updateNeighbourForOutputSignal(pos, this);
|
|
+ } else {
|
|
+ flag = true;
|
|
+ }
|
|
+ // Leaves end - behaviour 1.21.1-
|
|
} else {
|
|
flag = false;
|
|
}
|
|
diff --git a/net/minecraft/world/level/block/LecternBlock.java b/net/minecraft/world/level/block/LecternBlock.java
|
|
index 82fcae1f8b4149f13adf5118287718812518f8bf..d6e4e2f9d762d512d22a4da3736f997d2cd9624d 100644
|
|
--- a/net/minecraft/world/level/block/LecternBlock.java
|
|
+++ b/net/minecraft/world/level/block/LecternBlock.java
|
|
@@ -237,10 +237,11 @@ public class LecternBlock extends BaseEntityBlock {
|
|
this.popBook(state, level, pos);
|
|
}
|
|
|
|
- super.onRemove(state, level, pos, newState, isMoving);
|
|
+ if (!org.leavesmc.leaves.LeavesConfig.modify.oldMC.updater.oldBlockEntityBehaviour) super.onRemove(state, level, pos, newState, isMoving); // Leaves - behaviour 1.21.1-
|
|
if (state.getValue(POWERED)) {
|
|
updateBelow(level, pos, state);
|
|
}
|
|
+ if (org.leavesmc.leaves.LeavesConfig.modify.oldMC.updater.oldBlockEntityBehaviour) super.onRemove(state, level, pos, newState, isMoving); // Leaves - behaviour 1.21.1-
|
|
}
|
|
}
|
|
|
|
diff --git a/net/minecraft/world/level/block/SculkSensorBlock.java b/net/minecraft/world/level/block/SculkSensorBlock.java
|
|
index 2fd1bae800b7dca0a58b572095e2c58012412481..237e5a48dc345cae90aa9921251fe48d1c2470e1 100644
|
|
--- a/net/minecraft/world/level/block/SculkSensorBlock.java
|
|
+++ b/net/minecraft/world/level/block/SculkSensorBlock.java
|
|
@@ -138,10 +138,11 @@ public class SculkSensorBlock extends BaseEntityBlock implements SimpleWaterlogg
|
|
@Override
|
|
protected void onRemove(BlockState state, Level level, BlockPos pos, BlockState newState, boolean movedByPiston) {
|
|
if (!state.is(newState.getBlock())) {
|
|
- super.onRemove(state, level, pos, newState, movedByPiston);
|
|
+ if (!org.leavesmc.leaves.LeavesConfig.modify.oldMC.updater.oldBlockEntityBehaviour) super.onRemove(state, level, pos, newState, movedByPiston); // Leaves - behaviour 1.21.1-
|
|
if (getPhase(state) == SculkSensorPhase.ACTIVE) {
|
|
updateNeighbours(level, pos, state);
|
|
}
|
|
+ if (org.leavesmc.leaves.LeavesConfig.modify.oldMC.updater.oldBlockEntityBehaviour) super.onRemove(state, level, pos, newState, movedByPiston); // Leaves - behaviour 1.21.1-
|
|
}
|
|
}
|
|
|
|
diff --git a/net/minecraft/world/level/block/ShulkerBoxBlock.java b/net/minecraft/world/level/block/ShulkerBoxBlock.java
|
|
index fca50f68625050daabcae3a3b615cf88cce41111..a5786b13f21781c2e85a6a7910ce42005f8951c8 100644
|
|
--- a/net/minecraft/world/level/block/ShulkerBoxBlock.java
|
|
+++ b/net/minecraft/world/level/block/ShulkerBoxBlock.java
|
|
@@ -178,10 +178,11 @@ public class ShulkerBoxBlock extends BaseEntityBlock {
|
|
protected void onRemove(BlockState state, Level level, BlockPos pos, BlockState newState, boolean isMoving) {
|
|
if (!state.is(newState.getBlock())) {
|
|
BlockEntity blockEntity = level.getBlockEntity(pos);
|
|
- super.onRemove(state, level, pos, newState, isMoving);
|
|
+ if (!org.leavesmc.leaves.LeavesConfig.modify.oldMC.updater.oldBlockEntityBehaviour) super.onRemove(state, level, pos, newState, isMoving); // Leaves - behaviour 1.21.1-
|
|
if (blockEntity instanceof ShulkerBoxBlockEntity) {
|
|
level.updateNeighbourForOutputSignal(pos, state.getBlock());
|
|
}
|
|
+ if (org.leavesmc.leaves.LeavesConfig.modify.oldMC.updater.oldBlockEntityBehaviour) super.onRemove(state, level, pos, newState, isMoving); // Leaves - behaviour 1.21.1-
|
|
}
|
|
}
|
|
|
|
diff --git a/net/minecraft/world/level/block/entity/BlockEntity.java b/net/minecraft/world/level/block/entity/BlockEntity.java
|
|
index 77618757c0e678532dbab814aceed83f7f1cd892..fa78fc79b6000832d8623e632d845cf942496428 100644
|
|
--- a/net/minecraft/world/level/block/entity/BlockEntity.java
|
|
+++ b/net/minecraft/world/level/block/entity/BlockEntity.java
|
|
@@ -55,7 +55,7 @@ public abstract class BlockEntity {
|
|
}
|
|
|
|
public boolean isValidBlockState(BlockState state) {
|
|
- return this.type.isValid(state);
|
|
+ return org.leavesmc.leaves.LeavesConfig.modify.oldMC.updater.oldBlockEntityBehaviour || this.type.isValid(state); // Leaves - behaviour 1.21.1-
|
|
}
|
|
|
|
public static BlockPos getPosFromTag(CompoundTag tag) {
|