aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/multi/MTEImplosionCompressor.java14
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/advanced/MTEAdvImplosionCompressor.java13
2 files changed, 25 insertions, 2 deletions
diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/MTEImplosionCompressor.java b/src/main/java/gregtech/common/tileentities/machines/multi/MTEImplosionCompressor.java
index 742ff79ff6..6a264133c0 100644
--- a/src/main/java/gregtech/common/tileentities/machines/multi/MTEImplosionCompressor.java
+++ b/src/main/java/gregtech/common/tileentities/machines/multi/MTEImplosionCompressor.java
@@ -2,14 +2,22 @@ package gregtech.common.tileentities.machines.multi;
import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock;
import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofChain;
+import static gregtech.api.enums.HatchElement.Energy;
+import static gregtech.api.enums.HatchElement.InputBus;
+import static gregtech.api.enums.HatchElement.Maintenance;
+import static gregtech.api.enums.HatchElement.Muffler;
+import static gregtech.api.enums.HatchElement.OutputBus;
import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_FRONT_IMPLOSION_COMPRESSOR;
import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_FRONT_IMPLOSION_COMPRESSOR_ACTIVE;
import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_FRONT_IMPLOSION_COMPRESSOR_ACTIVE_GLOW;
import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_FRONT_IMPLOSION_COMPRESSOR_GLOW;
+import java.util.List;
+
import net.minecraft.item.ItemStack;
import net.minecraftforge.common.util.ForgeDirection;
+import com.google.common.collect.ImmutableList;
import com.gtnewhorizon.structurelib.structure.IStructureElement;
import gregtech.GTMod;
@@ -17,6 +25,7 @@ import gregtech.api.GregTechAPI;
import gregtech.api.enums.SoundResource;
import gregtech.api.enums.Textures;
import gregtech.api.enums.Textures.BlockIcons;
+import gregtech.api.interfaces.IHatchElement;
import gregtech.api.interfaces.ITexture;
import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
@@ -124,6 +133,11 @@ public class MTEImplosionCompressor extends MTECubicMultiBlockBase<MTEImplosionC
}
@Override
+ protected List<IHatchElement<? super MTECubicMultiBlockBase<?>>> getAllowedHatches() {
+ return ImmutableList.of(InputBus, OutputBus, Maintenance, Energy, Muffler);
+ }
+
+ @Override
protected int getHatchTextureIndex() {
return 16;
}
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/advanced/MTEAdvImplosionCompressor.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/advanced/MTEAdvImplosionCompressor.java
index 58e86b705b..a2d19200ce 100644
--- a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/advanced/MTEAdvImplosionCompressor.java
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/advanced/MTEAdvImplosionCompressor.java
@@ -14,7 +14,9 @@ import static gregtech.api.util.GTStructureUtility.buildHatchAdder;
import net.minecraft.item.ItemStack;
+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.SoundResource;
@@ -30,7 +32,8 @@ import gregtech.common.pollution.PollutionConfig;
import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.GTPPMultiBlockBase;
import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock;
-public class MTEAdvImplosionCompressor extends GTPPMultiBlockBase<MTEAdvImplosionCompressor> {
+public class MTEAdvImplosionCompressor extends GTPPMultiBlockBase<MTEAdvImplosionCompressor>
+ implements ISurvivalConstructable {
private int mCasing;
private static IStructureDefinition<MTEAdvImplosionCompressor> STRUCTURE_DEFINITION = null;
@@ -86,7 +89,7 @@ public class MTEAdvImplosionCompressor extends GTPPMultiBlockBase<MTEAdvImplosio
ofChain(
buildHatchAdder(MTEAdvImplosionCompressor.class)
.atLeast(InputBus, OutputBus, Maintenance, Energy, Muffler)
- .casingIndex(48)
+ .casingIndex(getCasingTextureId())
.dot(1)
.build(),
onElementPass(x -> ++x.mCasing, ofBlock(sBlockCasings4, 0))))
@@ -101,6 +104,12 @@ public class MTEAdvImplosionCompressor extends GTPPMultiBlockBase<MTEAdvImplosio
}
@Override
+ public int survivalConstruct(ItemStack stackSize, int elementBudget, ISurvivalBuildEnvironment env) {
+ if (mMachine) return -1;
+ return survivialBuildPiece(mName, stackSize, 1, 1, 0, elementBudget, env, false, true);
+ }
+
+ @Override
public boolean checkMachine(IGregTechTileEntity aBaseMetaTileEntity, ItemStack aStack) {
mCasing = 0;
return checkPiece(mName, 1, 1, 0) && mCasing >= 10 && checkHatch();