From 246092cc2a75d7c2f0b68d523869f7db2ee95ff8 Mon Sep 17 00:00:00 2001 From: miozune Date: Mon, 11 Sep 2023 23:33:58 +0900 Subject: Less hacky way to limit alignments (#741) --- ...taTileEntity_IndustrialMolecularTransformer.java | 12 ++++++------ .../production/GregtechMTE_ElementalDuplicator.java | 15 ++++++--------- .../production/GregtechMTE_FrothFlotationCell.java | 21 ++++++--------------- .../GregtechMetaTileEntity_SolarTower.java | 20 ++++++-------------- .../GregtechMetaTileEntity_LargerTurbineBase.java | 10 +++------- 5 files changed, 27 insertions(+), 51 deletions(-) (limited to 'src') diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialMolecularTransformer.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialMolecularTransformer.java index 29c9cc8095..2437f552cd 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialMolecularTransformer.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialMolecularTransformer.java @@ -13,8 +13,8 @@ import net.minecraft.block.Block; import net.minecraft.item.ItemStack; import net.minecraftforge.common.util.ForgeDirection; +import com.gtnewhorizon.structurelib.alignment.IAlignmentLimits; import com.gtnewhorizon.structurelib.alignment.constructable.ISurvivalConstructable; -import com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing; import com.gtnewhorizon.structurelib.structure.IStructureDefinition; import com.gtnewhorizon.structurelib.structure.ISurvivalBuildEnvironment; import com.gtnewhorizon.structurelib.structure.StructureDefinition; @@ -174,6 +174,11 @@ public class GregtechMetaTileEntity_IndustrialMolecularTransformer return 0; } + @Override + protected IAlignmentLimits getInitialAlignmentLimits() { + return (d, r, f) -> d == ForgeDirection.UP; + } + @Override protected IIconContainer getActiveOverlay() { return TexturesGtBlock.Overlay_Machine_Controller_Advanced_Active; @@ -228,9 +233,4 @@ public class GregtechMetaTileEntity_IndustrialMolecularTransformer public boolean explodesOnComponentBreak(final ItemStack aStack) { return false; } - - @Override - public boolean isNewExtendedFacingValid(ExtendedFacing alignment) { - return alignment.getDirection() == ForgeDirection.UP && super.isNewExtendedFacingValid(alignment); - } } diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMTE_ElementalDuplicator.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMTE_ElementalDuplicator.java index 310986768b..d22f74c942 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMTE_ElementalDuplicator.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMTE_ElementalDuplicator.java @@ -24,6 +24,7 @@ import net.minecraftforge.fluids.FluidStack; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; +import com.gtnewhorizon.structurelib.alignment.IAlignmentLimits; import com.gtnewhorizon.structurelib.alignment.constructable.ISurvivalConstructable; import com.gtnewhorizon.structurelib.structure.IStructureDefinition; import com.gtnewhorizon.structurelib.structure.ISurvivalBuildEnvironment; @@ -260,6 +261,11 @@ public class GregtechMTE_ElementalDuplicator extends GregtechMeta_MultiBlockBase return false; } + @Override + protected IAlignmentLimits getInitialAlignmentLimits() { + return (d, r, f) -> d == ForgeDirection.UP; + } + @Override protected IIconContainer getActiveOverlay() { return TexturesGtBlock.Overlay_Machine_Controller_Advanced_Active; @@ -357,15 +363,6 @@ public class GregtechMTE_ElementalDuplicator extends GregtechMeta_MultiBlockBase return false; } - @Override - public void onPreTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) { - super.onPreTick(aBaseMetaTileEntity, aTick); - // Fix GT bug - if (this.getBaseMetaTileEntity().getFrontFacing() != ForgeDirection.UP) { - this.getBaseMetaTileEntity().setFrontFacing(ForgeDirection.UP); - } - } - @Override public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) { if (aBaseMetaTileEntity.isServerSide()) { diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMTE_FrothFlotationCell.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMTE_FrothFlotationCell.java index 601861a6b1..45c1751231 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMTE_FrothFlotationCell.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMTE_FrothFlotationCell.java @@ -20,6 +20,7 @@ import net.minecraftforge.common.util.ForgeDirection; import org.jetbrains.annotations.NotNull; +import com.gtnewhorizon.structurelib.alignment.IAlignmentLimits; import com.gtnewhorizon.structurelib.alignment.constructable.ISurvivalConstructable; import com.gtnewhorizon.structurelib.structure.IStructureDefinition; import com.gtnewhorizon.structurelib.structure.ISurvivalBuildEnvironment; @@ -157,6 +158,11 @@ public class GregtechMTE_FrothFlotationCell extends GregtechMeta_MultiBlockBase< return checkPiece(mName, 3, 3, 0) && mCasing >= 68 - 4 && checkHatch(); } + @Override + protected IAlignmentLimits getInitialAlignmentLimits() { + return (d, r, f) -> d == ForgeDirection.UP; + } + @Override public int getMaxEfficiency(final ItemStack aStack) { return 10000; @@ -172,21 +178,6 @@ public class GregtechMTE_FrothFlotationCell extends GregtechMeta_MultiBlockBase< return false; } - @Override - public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) { - super.onPostTick(aBaseMetaTileEntity, aTick); - } - - @Override - public void onPreTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) { - super.onPreTick(aBaseMetaTileEntity, aTick); - // Fix GT bug - if (this.getBaseMetaTileEntity().getFrontFacing() != ForgeDirection.UP) { - log("Fixing Bad Facing. (GT Bug)"); - this.getBaseMetaTileEntity().setFrontFacing(ForgeDirection.UP); - } - } - @Override protected ProcessingLogic createProcessingLogic() { return new ProcessingLogic() { diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_SolarTower.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_SolarTower.java index 67b8831d94..c33dbbf0b9 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_SolarTower.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_SolarTower.java @@ -21,6 +21,7 @@ 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.structure.IStructureDefinition; import com.gtnewhorizon.structurelib.structure.ISurvivalBuildEnvironment; @@ -520,6 +521,11 @@ public class GregtechMetaTileEntity_SolarTower extends GregtechMeta_MultiBlockBa return false; } + @Override + protected IAlignmentLimits getInitialAlignmentLimits() { + return (d, r, f) -> d == ForgeDirection.UP; + } + private Fluid mColdSalt = null; private Fluid mHotSalt = null; @@ -653,20 +659,6 @@ public class GregtechMetaTileEntity_SolarTower extends GregtechMeta_MultiBlockBa mHeatLevel = aNBT.getInteger("mHeatLevel"); } - @Override - public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) { - super.onPostTick(aBaseMetaTileEntity, aTick); - } - - @Override - public void onPreTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) { - super.onPreTick(aBaseMetaTileEntity, aTick); - // Fix GT bug - if (this.getBaseMetaTileEntity().getFrontFacing() != ForgeDirection.UP) { - this.getBaseMetaTileEntity().setFrontFacing(ForgeDirection.UP); - } - } - @Override public void onRemoval() { resetSolarHeaters(); diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/turbines/GregtechMetaTileEntity_LargerTurbineBase.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/turbines/GregtechMetaTileEntity_LargerTurbineBase.java index c0dd4c1c5c..046d95735b 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/turbines/GregtechMetaTileEntity_LargerTurbineBase.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/turbines/GregtechMetaTileEntity_LargerTurbineBase.java @@ -24,6 +24,7 @@ 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.structure.IStructureDefinition; import com.gtnewhorizon.structurelib.structure.ISurvivalBuildEnvironment; @@ -823,13 +824,8 @@ public abstract class GregtechMetaTileEntity_LargerTurbineBase extends } @Override - public void onPreTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) { - super.onPreTick(aBaseMetaTileEntity, aTick); - // Fix GT bug - if (this.getBaseMetaTileEntity().getFrontFacing() != ForgeDirection.UP) { - log("Fixing Bad Facing. (GT Bug)"); - this.getBaseMetaTileEntity().setFrontFacing(ForgeDirection.UP); - } + protected IAlignmentLimits getInitialAlignmentLimits() { + return (d, r, f) -> d == ForgeDirection.UP; } /** -- cgit