From 182375bfe8368e0466f75ab738e2efd6b34d2f6a Mon Sep 17 00:00:00 2001 From: YoungOnion <39562198+YoungOnionMC@users.noreply.github.com> Date: Fri, 6 Dec 2024 00:23:29 -0700 Subject: [PATCH] Force Centered Cleanroom Controller (#2501) --- .../multiblock/electric/CleanroomMachine.java | 5 +++++ .../primitive/CharcoalPileIgniterMachine.java | 15 +++++++++------ 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/electric/CleanroomMachine.java b/src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/electric/CleanroomMachine.java index ac7ca89c52..91264a148d 100644 --- a/src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/electric/CleanroomMachine.java +++ b/src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/electric/CleanroomMachine.java @@ -250,6 +250,11 @@ public void updateStructureDimensions() { if (hDist != 0) break; } + if (Math.abs(lDist - rDist) > 1 || Math.abs(bDist - fDist) > 1) { + this.isFormed = false; + return; + } + if (lDist < MIN_RADIUS || rDist < MIN_RADIUS || bDist < MIN_RADIUS || fDist < MIN_RADIUS || hDist < MIN_DEPTH) { this.isFormed = false; return; diff --git a/src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/primitive/CharcoalPileIgniterMachine.java b/src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/primitive/CharcoalPileIgniterMachine.java index 4f80d3793f..6ac2deb109 100644 --- a/src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/primitive/CharcoalPileIgniterMachine.java +++ b/src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/primitive/CharcoalPileIgniterMachine.java @@ -251,9 +251,9 @@ private TraceabilityPredicate logPredicate() { }, null); } - public boolean updateDimensions() { + public void updateDimensions() { Level level = getLevel(); - if (level == null) return false; + if (level == null) return; Direction front = getFrontFacing(); Direction back = front.getOpposite(); Direction left = front.getCounterClockWise(); @@ -280,9 +280,14 @@ public boolean updateDimensions() { if (hDist == 0 && isBlockFloor(level, hPos)) hDist = i; } + if (Math.abs(lDist - rDist) > 1 || Math.abs(bDist - fDist) > 1) { + this.isFormed = false; + return; + } + if (lDist < MIN_RADIUS || rDist < MIN_RADIUS || fDist < MIN_RADIUS || bDist < MIN_RADIUS || hDist < MIN_DEPTH) { - onStructureInvalid(); - return false; + this.isFormed = false; + return; } this.lDist = lDist; @@ -290,8 +295,6 @@ public boolean updateDimensions() { this.fDist = fDist; this.bDist = bDist; this.hDist = hDist; - - return true; } private static boolean isBlockWall(Level level, BlockPos.MutableBlockPos pos, Direction direction) {