mirror of
https://github.com/Creators-of-Create/Create.git
synced 2024-12-27 07:27:15 +01:00
Merge pull request #4678 from Matt5981/mc1.19/dev
Add checks on contraption disassembly for Sculk Sensors/Shriekers.
This commit is contained in:
commit
b3d829b60f
1 changed files with 11 additions and 1 deletions
|
@ -1047,6 +1047,10 @@ public abstract class Contraption {
|
|||
if (state.hasProperty(SlidingDoorBlock.VISIBLE))
|
||||
state = state.setValue(SlidingDoorBlock.VISIBLE, !state.getValue(SlidingDoorBlock.OPEN))
|
||||
.setValue(SlidingDoorBlock.POWERED, false);
|
||||
// Stop Sculk shriekers from getting "stuck" if moved mid-shriek.
|
||||
if(state.is(Blocks.SCULK_SHRIEKER)){
|
||||
state = Blocks.SCULK_SHRIEKER.defaultBlockState();
|
||||
}
|
||||
|
||||
world.setBlock(targetPos, state, Block.UPDATE_MOVE_BY_PISTON | Block.UPDATE_ALL);
|
||||
|
||||
|
@ -1060,6 +1064,12 @@ public abstract class Contraption {
|
|||
BlockEntity tileEntity = world.getBlockEntity(targetPos);
|
||||
|
||||
CompoundTag tag = block.nbt;
|
||||
|
||||
// Temporary fix: Calling load(CompoundTag tag) on a Sculk sensor causes it to not react to vibrations.
|
||||
if(state.is(Blocks.SCULK_SENSOR) || state.is(Blocks.SCULK_SHRIEKER)){
|
||||
tag = null;
|
||||
}
|
||||
|
||||
if (tileEntity != null)
|
||||
tag = NBTProcessors.process(tileEntity, tag, false);
|
||||
if (tileEntity != null && tag != null) {
|
||||
|
|
Loading…
Reference in a new issue