diff options
author | Glease <4586901+Glease@users.noreply.github.com> | 2022-09-24 01:19:55 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-09-23 19:19:55 +0200 |
commit | 9ff8d7475cd1e8cd4d43273340a7eca37af95d98 (patch) | |
tree | 7dd9a64e94424d0f0b3e22b50ee8080be2d80818 /src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines | |
parent | c8691be4cc651920419b31e0aec86b538f5404bc (diff) | |
download | GT5-Unofficial-9ff8d7475cd1e8cd4d43273340a7eca37af95d98.tar.gz GT5-Unofficial-9ff8d7475cd1e8cd4d43273340a7eca37af95d98.tar.bz2 GT5-Unofficial-9ff8d7475cd1e8cd4d43273340a7eca37af95d98.zip |
add bus IO indicator and implement survival construct for steam multis (#361)
* add bus IO indicator and implement survival construct for steam multis
* fix copy paste
Diffstat (limited to 'src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines')
2 files changed, 40 insertions, 46 deletions
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/steam/GregtechMetaTileEntity_SteamCompressor.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/steam/GregtechMetaTileEntity_SteamCompressor.java index 4b24df6ee7..b030d58993 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/steam/GregtechMetaTileEntity_SteamCompressor.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/steam/GregtechMetaTileEntity_SteamCompressor.java @@ -5,9 +5,11 @@ import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofChain; import static com.gtnewhorizon.structurelib.structure.StructureUtility.onElementPass; import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; import static gregtech.api.GregTech_API.sBlockCasings1; -import static gregtech.api.util.GT_StructureUtility.ofHatchAdder; +import static gregtech.api.util.GT_StructureUtility.buildHatchAdder; +import com.gtnewhorizon.structurelib.alignment.constructable.ISurvivalConstructable; import com.gtnewhorizon.structurelib.structure.IStructureDefinition; +import com.gtnewhorizon.structurelib.structure.ISurvivalBuildEnvironment; import com.gtnewhorizon.structurelib.structure.StructureDefinition; import gregtech.api.enums.Textures; import gregtech.api.interfaces.metatileentity.IMetaTileEntity; @@ -16,13 +18,11 @@ import gregtech.api.objects.GT_RenderedTexture; import gregtech.api.util.GT_Multiblock_Tooltip_Builder; import gregtech.api.util.GT_Recipe; import gtPlusPlus.core.lib.CORE; -import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Steam_BusInput; -import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Steam_BusOutput; -import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.GT_MetaTileEntity_Hatch_CustomFluidBase; import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.GregtechMeta_SteamMultiBase; import net.minecraft.item.ItemStack; -public class GregtechMetaTileEntity_SteamCompressor extends GregtechMeta_SteamMultiBase { +public class GregtechMetaTileEntity_SteamCompressor + extends GregtechMeta_SteamMultiBase<GregtechMetaTileEntity_SteamCompressor> implements ISurvivalConstructable { private String mCasingName = "Bronze Plated Bricks"; private IStructureDefinition<GregtechMetaTileEntity_SteamCompressor> STRUCTURE_DEFINITION = null; @@ -85,36 +85,33 @@ public class GregtechMetaTileEntity_SteamCompressor extends GregtechMeta_SteamMu .addElement( 'C', ofChain( - ofHatchAdder(GregtechMetaTileEntity_SteamCompressor::addSteamMultiList, 10, 1), + buildSteamInput(GregtechMetaTileEntity_SteamCompressor.class) + .casingIndex(10) + .dot(1) + .build(), + buildHatchAdder(GregtechMetaTileEntity_SteamCompressor.class) + .atLeast( + SteamHatchElement.InputBus_Steam, SteamHatchElement.OutputBus_Steam) + .casingIndex(10) + .dot(1) + .build(), onElementPass(x -> ++x.mCasing, ofBlock(sBlockCasings1, 10)))) .build(); } return STRUCTURE_DEFINITION; } - public final boolean addSteamMultiList(IGregTechTileEntity aTileEntity, int aBaseCasingIndex) { - if (aTileEntity == null) { - return false; - } else { - IMetaTileEntity aMetaTileEntity = aTileEntity.getMetaTileEntity(); - if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_CustomFluidBase - && aMetaTileEntity.getBaseMetaTileEntity().getMetaTileID() == 31040) { - return addToMachineList(aTileEntity, aBaseCasingIndex); - } else if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_Steam_BusInput) { - return addToMachineList(aTileEntity, aBaseCasingIndex); - } else if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_Steam_BusOutput) { - return addToMachineList(aTileEntity, aBaseCasingIndex); - } - } - return false; - } - @Override public void construct(ItemStack stackSize, boolean hintsOnly) { buildPiece(mName, stackSize, hintsOnly, 1, 1, 0); } @Override + public int survivalConstruct(ItemStack stackSize, int elementBudget, ISurvivalBuildEnvironment env) { + return survivialBuildPiece(mName, stackSize, 1, 1, 0, elementBudget, env, false, true); + } + + @Override public boolean checkMachine(IGregTechTileEntity aBaseMetaTileEntity, ItemStack aStack) { mCasing = 0; fixAllMaintenanceIssue(); diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/steam/GregtechMetaTileEntity_SteamMacerator.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/steam/GregtechMetaTileEntity_SteamMacerator.java index 5d57d68f41..b41ccfe2c8 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/steam/GregtechMetaTileEntity_SteamMacerator.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/steam/GregtechMetaTileEntity_SteamMacerator.java @@ -3,9 +3,11 @@ package gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.processing.s import static com.gtnewhorizon.structurelib.structure.StructureUtility.*; import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; import static gregtech.api.GregTech_API.sBlockCasings1; -import static gregtech.api.util.GT_StructureUtility.ofHatchAdder; +import static gregtech.api.util.GT_StructureUtility.buildHatchAdder; +import com.gtnewhorizon.structurelib.alignment.constructable.ISurvivalConstructable; import com.gtnewhorizon.structurelib.structure.IStructureDefinition; +import com.gtnewhorizon.structurelib.structure.ISurvivalBuildEnvironment; import com.gtnewhorizon.structurelib.structure.StructureDefinition; import gregtech.api.enums.ItemList; import gregtech.api.enums.Textures; @@ -16,13 +18,11 @@ import gregtech.api.objects.GT_RenderedTexture; import gregtech.api.util.GT_Multiblock_Tooltip_Builder; import gregtech.api.util.GT_Recipe; import gtPlusPlus.core.lib.CORE; -import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Steam_BusInput; -import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Steam_BusOutput; -import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.GT_MetaTileEntity_Hatch_CustomFluidBase; import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.GregtechMeta_SteamMultiBase; import net.minecraft.item.ItemStack; -public class GregtechMetaTileEntity_SteamMacerator extends GregtechMeta_SteamMultiBase { +public class GregtechMetaTileEntity_SteamMacerator + extends GregtechMeta_SteamMultiBase<GregtechMetaTileEntity_SteamMacerator> implements ISurvivalConstructable { private String mCasingName = "Bronze Plated Bricks"; private IStructureDefinition<GregtechMetaTileEntity_SteamMacerator> STRUCTURE_DEFINITION = null; @@ -88,36 +88,33 @@ public class GregtechMetaTileEntity_SteamMacerator extends GregtechMeta_SteamMul .addElement( 'C', ofChain( - ofHatchAdder(GregtechMetaTileEntity_SteamMacerator::addSteamMaceratorList, 10, 1), + buildSteamInput(GregtechMetaTileEntity_SteamMacerator.class) + .casingIndex(10) + .dot(1) + .build(), + buildHatchAdder(GregtechMetaTileEntity_SteamMacerator.class) + .atLeast( + SteamHatchElement.InputBus_Steam, SteamHatchElement.OutputBus_Steam) + .casingIndex(10) + .dot(1) + .build(), onElementPass(x -> ++x.mCasing, ofBlock(sBlockCasings1, 10)))) .build(); } return STRUCTURE_DEFINITION; } - public final boolean addSteamMaceratorList(IGregTechTileEntity aTileEntity, int aBaseCasingIndex) { - if (aTileEntity == null) { - return false; - } else { - IMetaTileEntity aMetaTileEntity = aTileEntity.getMetaTileEntity(); - if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_CustomFluidBase - && aMetaTileEntity.getBaseMetaTileEntity().getMetaTileID() == 31040) { - return addToMachineList(aTileEntity, aBaseCasingIndex); - } else if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_Steam_BusInput) { - return addToMachineList(aTileEntity, aBaseCasingIndex); - } else if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_Steam_BusOutput) { - return addToMachineList(aTileEntity, aBaseCasingIndex); - } - } - return false; - } - @Override public void construct(ItemStack stackSize, boolean hintsOnly) { buildPiece(mName, stackSize, hintsOnly, 1, 1, 0); } @Override + public int survivalConstruct(ItemStack stackSize, int elementBudget, ISurvivalBuildEnvironment env) { + return survivialBuildPiece(mName, stackSize, 1, 1, 0, elementBudget, env, false, true); + } + + @Override public boolean checkMachine(IGregTechTileEntity aBaseMetaTileEntity, ItemStack aStack) { mCasing = 0; fixAllMaintenanceIssue(); |