aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLyfts <127234178+Lyfts@users.noreply.github.com>2023-09-02 08:08:21 +0200
committerGitHub <noreply@github.com>2023-09-02 07:08:21 +0100
commit0393b582eb3edcb5c575330804b6747577a55e27 (patch)
tree497e5a0c5f4fcad08899af5f123304447a18c00f
parent01dc22529c7590f3d675d38c424a16838d44071c (diff)
downloadGT5-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.java12
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;
}