diff options
author | Lyfts <127234178+Lyfts@users.noreply.github.com> | 2023-09-02 08:08:21 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-09-02 07:08:21 +0100 |
commit | 0393b582eb3edcb5c575330804b6747577a55e27 (patch) | |
tree | 497e5a0c5f4fcad08899af5f123304447a18c00f | |
parent | 01dc22529c7590f3d675d38c424a16838d44071c (diff) | |
download | GT5-Unofficial-0393b582eb3edcb5c575330804b6747577a55e27.tar.gz GT5-Unofficial-0393b582eb3edcb5c575330804b6747577a55e27.tar.bz2 GT5-Unofficial-0393b582eb3edcb5c575330804b6747577a55e27.zip |
Add survival autobuild to Elemental Duplicator (#731)
* add survival autobuild
* fix nei preview
-rw-r--r-- | src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMTE_ElementalDuplicator.java | 12 |
1 files changed, 11 insertions, 1 deletions
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 c4926f5fc7..310986768b 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,7 +24,9 @@ import net.minecraftforge.fluids.FluidStack; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; +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.GregTech_API; @@ -51,7 +53,8 @@ import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.GT_MetaTileEn import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.GregtechMeta_MultiBlockBase; import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock; -public class GregtechMTE_ElementalDuplicator extends GregtechMeta_MultiBlockBase<GregtechMTE_ElementalDuplicator> { +public class GregtechMTE_ElementalDuplicator extends GregtechMeta_MultiBlockBase<GregtechMTE_ElementalDuplicator> + implements ISurvivalConstructable { private final ArrayList<GT_MetaTileEntity_Hatch_ElementalDataOrbHolder> mReplicatorDataOrbHatches = new ArrayList<GT_MetaTileEntity_Hatch_ElementalDataOrbHolder>(); private static final int CASING_TEXTURE_ID = TAE.getIndexFromPage(0, 3); @@ -154,6 +157,7 @@ public class GregtechMTE_ElementalDuplicator extends GregtechMeta_MultiBlockBase Energy).casingIndex(getCasingTextureIndex()).dot(1).build(), buildHatchAdder(GregtechMTE_ElementalDuplicator.class) .hatchClass(GT_MetaTileEntity_Hatch_ElementalDataOrbHolder.class) + .shouldReject(x -> x.mReplicatorDataOrbHatches.size() >= 1) .adder(GregtechMTE_ElementalDuplicator::addDataOrbHatch) .casingIndex(getCasingTextureIndex()).dot(1).build(), onElementPass( @@ -182,6 +186,12 @@ public class GregtechMTE_ElementalDuplicator extends GregtechMeta_MultiBlockBase return aDidBuild && mCasing >= 138 && checkHatch(); } + @Override + public int survivalConstruct(ItemStack itemStack, int elementBudget, ISurvivalBuildEnvironment env) { + if (mMachine) return -1; + return survivialBuildPiece(STRUCTURE_PIECE_MAIN, itemStack, 4, 4, 0, elementBudget, env, false, true); + } + protected static int getCasingTextureIndex() { return CASING_TEXTURE_ID; } |