From 2e1bcdb6198d4eeb294b63511df339125a14f903 Mon Sep 17 00:00:00 2001 From: simibubi <31564874+simibubi@users.noreply.github.com> Date: Thu, 21 Sep 2023 20:43:09 +0200 Subject: [PATCH] Frame breaker - Rollers no longer break blocks adjacent to blocks tagged minecraft:portals --- .../contraptions/actors/roller/RollerMovementBehaviour.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/main/java/com/simibubi/create/content/contraptions/actors/roller/RollerMovementBehaviour.java b/src/main/java/com/simibubi/create/content/contraptions/actors/roller/RollerMovementBehaviour.java index 36d4a2739..d54a12bcf 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/actors/roller/RollerMovementBehaviour.java +++ b/src/main/java/com/simibubi/create/content/contraptions/actors/roller/RollerMovementBehaviour.java @@ -33,6 +33,7 @@ import com.simibubi.create.content.trains.graph.TrackGraph; import com.simibubi.create.foundation.item.ItemHelper; import com.simibubi.create.foundation.utility.BlockHelper; import com.simibubi.create.foundation.utility.Couple; +import com.simibubi.create.foundation.utility.Iterate; import com.simibubi.create.foundation.utility.Pair; import com.simibubi.create.foundation.utility.VecHelper; import com.simibubi.create.infrastructure.config.AllConfigs; @@ -101,6 +102,11 @@ public class RollerMovementBehaviour extends BlockBreakingMovementBehaviour { @Override public boolean canBreak(Level world, BlockPos breakingPos, BlockState state) { + for (Direction side : Iterate.directions) + if (world.getBlockState(breakingPos.relative(side)) + .is(BlockTags.PORTALS)) + return false; + return super.canBreak(world, breakingPos, state) && !state.getCollisionShape(world, breakingPos) .isEmpty() && !AllBlocks.TRACK.has(state); }