From cb45d5d7de8d7ca98c8f206e1bbab35ef29d6689 Mon Sep 17 00:00:00 2001 From: paulevsGitch Date: Mon, 14 Dec 2020 17:24:11 +0300 Subject: [PATCH] Chorus plant flower fix --- .../mixin/common/ChorusFlowerBlockMixin.java | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/main/java/ru/betterend/mixin/common/ChorusFlowerBlockMixin.java b/src/main/java/ru/betterend/mixin/common/ChorusFlowerBlockMixin.java index 55457012..6c354ff5 100644 --- a/src/main/java/ru/betterend/mixin/common/ChorusFlowerBlockMixin.java +++ b/src/main/java/ru/betterend/mixin/common/ChorusFlowerBlockMixin.java @@ -18,6 +18,7 @@ import net.minecraft.block.ChorusFlowerBlock; import net.minecraft.block.ChorusPlantBlock; import net.minecraft.block.ShapeContext; import net.minecraft.server.world.ServerWorld; +import net.minecraft.state.property.Properties; import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.Direction; import net.minecraft.util.shape.VoxelShape; @@ -86,4 +87,14 @@ public abstract class ChorusFlowerBlockMixin extends Block { public VoxelShape getOutlineShape(BlockState state, BlockView view, BlockPos pos, ShapeContext ePos) { return state.get(ChorusFlowerBlock.AGE) == 5 ? SHAPE_HALF : SHAPE_FULL; } + + @Inject(method = "die", at = @At("HEAD"), cancellable = true) + private void beOnDie(World world, BlockPos pos, CallbackInfo info) { + BlockState down = world.getBlockState(pos.down()); + if (down.isOf(Blocks.CHORUS_PLANT) || down.isIn(EndTags.GEN_TERRAIN)) { + world.setBlockState(pos, this.getDefaultState().with(Properties.AGE_5, 5), 2); + world.syncWorldEvent(1034, pos, 0); + } + info.cancel(); + } }