diff --git a/src/main/java/mendedminecarts/mixin/placement/AbstractRailBlockMixin.java b/src/main/java/mendedminecarts/mixin/placement/AbstractRailBlockMixin.java index eaa7c24..fa75dc6 100644 --- a/src/main/java/mendedminecarts/mixin/placement/AbstractRailBlockMixin.java +++ b/src/main/java/mendedminecarts/mixin/placement/AbstractRailBlockMixin.java @@ -117,6 +117,9 @@ private void cancelUpdates(BlockState state, World world, BlockPos pos, BlockSta BlockPos noUpdatePos = NO_CONNECT_POS.get(); if (pos.equals(noUpdatePos)) { ci.cancel(); + if (this.forbidCurves) { + world.updateNeighbor(state, pos, this, pos, notify); + } } if (noUpdatePos != null) { diff --git a/src/main/java/mendedminecarts/mixin/placement/DetectorRailBlockMixin.java b/src/main/java/mendedminecarts/mixin/placement/DetectorRailBlockMixin.java index fd67da0..06f2a61 100644 --- a/src/main/java/mendedminecarts/mixin/placement/DetectorRailBlockMixin.java +++ b/src/main/java/mendedminecarts/mixin/placement/DetectorRailBlockMixin.java @@ -1,5 +1,6 @@ package mendedminecarts.mixin.placement; +import net.minecraft.block.AbstractRailBlock; import net.minecraft.block.BlockState; import net.minecraft.block.DetectorRailBlock; import net.minecraft.util.math.BlockPos; @@ -13,7 +14,11 @@ import static mendedminecarts.RailPlacementHelper.NO_CONNECT_POS; @Mixin(DetectorRailBlock.class) -public abstract class DetectorRailBlockMixin { +public abstract class DetectorRailBlockMixin extends AbstractRailBlock { + + protected DetectorRailBlockMixin(boolean forbidCurves, Settings settings) { + super(forbidCurves, settings); + } @Shadow protected abstract void updatePoweredStatus(World world, BlockPos pos, BlockState state); @@ -24,6 +29,7 @@ private void cancelUpdates(BlockState state, World world, BlockPos pos, BlockSta BlockPos noUpdatePos = NO_CONNECT_POS.get(); if (pos.equals(noUpdatePos)) { ci.cancel(); + world.updateNeighbor(state, pos, this, pos, notify); this.updatePoweredStatus(world, pos, state); }