From 23ad5cfcb2a08eff59d31f8a13f38dc3c264b42c Mon Sep 17 00:00:00 2001 From: Glease <4586901+Glease@users.noreply.github.com> Date: Sat, 23 Sep 2023 01:08:48 +0800 Subject: disable large turbine rotation or flip (#2290) also made the rotation and flip marker to not show up when the multi doesn't support rotating or flipping --- .../GT_MetaTileEntity_EnhancedMultiBlockBase.java | 42 +++++++++++++++++++--- src/main/java/gregtech/common/GT_Client.java | 19 ++++++---- .../multi/GT_MetaTileEntity_DistillationTower.java | 5 +++ .../multi/GT_MetaTileEntity_DrillerBase.java | 5 +++ .../multi/GT_MetaTileEntity_LargeTurbine.java | 24 +++++++++++++ 5 files changed, 84 insertions(+), 11 deletions(-) (limited to 'src/main/java/gregtech') diff --git a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_EnhancedMultiBlockBase.java b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_EnhancedMultiBlockBase.java index 9fac4a880c..cc585d1999 100644 --- a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_EnhancedMultiBlockBase.java +++ b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_EnhancedMultiBlockBase.java @@ -86,12 +86,17 @@ public abstract class GT_MetaTileEntity_EnhancedMultiBlockBase getStructureDefinition() { return STRUCTURE_DEFINITION; diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_DrillerBase.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_DrillerBase.java index 41e0712627..efb4b8e6d2 100644 --- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_DrillerBase.java +++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_DrillerBase.java @@ -625,6 +625,11 @@ public abstract class GT_MetaTileEntity_DrillerBase && !f.isVerticallyFliped(); } + @Override + public boolean isRotationChangeAllowed() { + return false; + } + @Override public final IStructureDefinition getStructureDefinition() { return STRUCTURE_DEFINITION.get(getClass()); diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeTurbine.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeTurbine.java index a8961ce542..dc30cc79f0 100644 --- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeTurbine.java +++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeTurbine.java @@ -30,8 +30,11 @@ import net.minecraftforge.fluids.FluidStack; import org.jetbrains.annotations.NotNull; +import com.gtnewhorizon.structurelib.alignment.IAlignmentLimits; import com.gtnewhorizon.structurelib.alignment.constructable.ISurvivalConstructable; import com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing; +import com.gtnewhorizon.structurelib.alignment.enumerable.Flip; +import com.gtnewhorizon.structurelib.alignment.enumerable.Rotation; import com.gtnewhorizon.structurelib.structure.IStructureDefinition; import com.gtnewhorizon.structurelib.structure.ISurvivalBuildEnvironment; import com.gtnewhorizon.structurelib.structure.StructureDefinition; @@ -114,6 +117,27 @@ public abstract class GT_MetaTileEntity_LargeTurbine return STRUCTURE_DEFINITION.get(getClass()); } + @Override + protected IAlignmentLimits getInitialAlignmentLimits() { + return (d, r, f) -> r.isNotRotated() && f.isNotFlipped(); + } + + @Override + protected ExtendedFacing getCorrectedAlignment(ExtendedFacing aOldFacing) { + return aOldFacing.with(Flip.NONE) + .with(Rotation.NORMAL); + } + + @Override + public boolean isFlipChangeAllowed() { + return false; + } + + @Override + public boolean isRotationChangeAllowed() { + return false; + } + @Override public boolean checkMachine(IGregTechTileEntity aBaseMetaTileEntity, ItemStack aStack) { return checkPiece(STRUCTURE_PIECE_MAIN, 2, 2, 1) && mMaintenanceHatches.size() == 1 -- cgit