From e9656a2ba8417d625e9abcb0441c3093926500b1 Mon Sep 17 00:00:00 2001 From: gnembon Date: Mon, 7 Mar 2022 22:26:03 +0100 Subject: [PATCH] fix unclosed chests, fixes #1352 --- src/main/java/carpet/mixins/Level_movableBEMixin.java | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/main/java/carpet/mixins/Level_movableBEMixin.java b/src/main/java/carpet/mixins/Level_movableBEMixin.java index bea6f625..770caefd 100644 --- a/src/main/java/carpet/mixins/Level_movableBEMixin.java +++ b/src/main/java/carpet/mixins/Level_movableBEMixin.java @@ -11,6 +11,7 @@ import net.minecraft.world.level.LevelAccessor; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.EntityBlock; import net.minecraft.world.level.block.entity.BlockEntity; +import net.minecraft.world.level.block.entity.LidBlockEntity; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.chunk.LevelChunk; import org.spongepowered.asm.mixin.Final; @@ -64,9 +65,17 @@ public abstract class Level_movableBEMixin implements WorldInterface, LevelAcces BlockState blockState_2; if (newBlockEntity != null && block_1 instanceof EntityBlock) + { blockState_2 = ((WorldChunkInterface) worldChunk_1).setBlockStateWithBlockEntity(blockPos_1, blockState_1, newBlockEntity, (int_1 & 64) != 0); + if (newBlockEntity instanceof LidBlockEntity) + { + scheduleTick(blockPos_1, block_1, 5); + } + } else + { blockState_2 = worldChunk_1.setBlockState(blockPos_1, blockState_1, (int_1 & 64) != 0); + } if (blockState_2 == null) {