aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/openmodularturrets/tileentity/turretbase/TileTurretBaseEM.java
diff options
context:
space:
mode:
authorTechnus <daniel112092@gmail.com>2017-07-30 17:24:31 +0200
committerTechnus <daniel112092@gmail.com>2017-07-30 17:24:31 +0200
commit0409d4bccfc32d116612cb8a6a3d0e9e7790c895 (patch)
tree6452ee3a324737235842d783a8f9de1e2f5d922f /src/main/java/openmodularturrets/tileentity/turretbase/TileTurretBaseEM.java
parent40145b83953f22feace2d7c09c128cdbdade4408 (diff)
downloadGT5-Unofficial-0409d4bccfc32d116612cb8a6a3d0e9e7790c895.tar.gz
GT5-Unofficial-0409d4bccfc32d116612cb8a6a3d0e9e7790c895.tar.bz2
GT5-Unofficial-0409d4bccfc32d116612cb8a6a3d0e9e7790c895.zip
Refactor turret to gain accees to package private things...
Also fixes projectile and adds most of the mechanics to it.
Diffstat (limited to 'src/main/java/openmodularturrets/tileentity/turretbase/TileTurretBaseEM.java')
-rw-r--r--src/main/java/openmodularturrets/tileentity/turretbase/TileTurretBaseEM.java63
1 files changed, 63 insertions, 0 deletions
diff --git a/src/main/java/openmodularturrets/tileentity/turretbase/TileTurretBaseEM.java b/src/main/java/openmodularturrets/tileentity/turretbase/TileTurretBaseEM.java
new file mode 100644
index 0000000000..84620a6e71
--- /dev/null
+++ b/src/main/java/openmodularturrets/tileentity/turretbase/TileTurretBaseEM.java
@@ -0,0 +1,63 @@
+package openmodularturrets.tileentity.turretbase;
+
+import com.github.technus.tectech.elementalMatter.classes.cElementalInstanceStackMap;
+import com.github.technus.tectech.thing.metaTileEntity.hatch.GT_MetaTileEntity_Hatch_InputElemental;
+import cpw.mods.fml.common.Optional;
+import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraft.world.World;
+import openmodularturrets.tileentity.turretbase.TurretBaseTierFiveTileEntity;
+
+import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.textureOffset;
+
+/**
+ * Created by Bass on 27/07/2017.
+ */
+
+public class TileTurretBaseEM extends TurretBaseTierFiveTileEntity {
+ public TileTurretBaseEM(int MaxEnergyStorage, int MaxIO) {
+ super(MaxEnergyStorage, MaxIO);
+ }
+
+ @Optional.Method(
+ modid = "OpenComputers"
+ )
+ public String getComponentName() {
+ return "turretBaseEM";
+ }
+
+ public final cElementalInstanceStackMap getContainerHandler() {
+ World worldIn = getWorldObj();
+ TileEntity te;
+ if ((te = worldIn.getTileEntity(xCoord + 1, yCoord, zCoord)) instanceof IGregTechTileEntity &&
+ ((IGregTechTileEntity) te).getMetaTileEntity() instanceof GT_MetaTileEntity_Hatch_InputElemental)
+ return getFromHatch((GT_MetaTileEntity_Hatch_InputElemental) ((IGregTechTileEntity) te).getMetaTileEntity());
+
+ if ((te = worldIn.getTileEntity(xCoord - 1, yCoord, zCoord)) instanceof IGregTechTileEntity &&
+ ((IGregTechTileEntity) te).getMetaTileEntity() instanceof GT_MetaTileEntity_Hatch_InputElemental)
+ return getFromHatch((GT_MetaTileEntity_Hatch_InputElemental) ((IGregTechTileEntity) te).getMetaTileEntity());
+
+ if ((te = worldIn.getTileEntity(xCoord, yCoord + 1, zCoord)) instanceof IGregTechTileEntity &&
+ ((IGregTechTileEntity) te).getMetaTileEntity() instanceof GT_MetaTileEntity_Hatch_InputElemental)
+ return getFromHatch((GT_MetaTileEntity_Hatch_InputElemental) ((IGregTechTileEntity) te).getMetaTileEntity());
+
+ if ((te = worldIn.getTileEntity(xCoord, yCoord - 1, zCoord)) instanceof IGregTechTileEntity &&
+ ((IGregTechTileEntity) te).getMetaTileEntity() instanceof GT_MetaTileEntity_Hatch_InputElemental)
+ return getFromHatch((GT_MetaTileEntity_Hatch_InputElemental) ((IGregTechTileEntity) te).getMetaTileEntity());
+
+ if ((te = worldIn.getTileEntity(xCoord, yCoord, zCoord + 1)) instanceof IGregTechTileEntity &&
+ ((IGregTechTileEntity) te).getMetaTileEntity() instanceof GT_MetaTileEntity_Hatch_InputElemental)
+ return getFromHatch((GT_MetaTileEntity_Hatch_InputElemental) ((IGregTechTileEntity) te).getMetaTileEntity());
+
+ if ((te = worldIn.getTileEntity(xCoord, yCoord, zCoord - 1)) instanceof IGregTechTileEntity &&
+ ((IGregTechTileEntity) te).getMetaTileEntity() instanceof GT_MetaTileEntity_Hatch_InputElemental)
+ return getFromHatch((GT_MetaTileEntity_Hatch_InputElemental) ((IGregTechTileEntity) te).getMetaTileEntity());
+
+ return null;
+ }
+
+ private cElementalInstanceStackMap getFromHatch(GT_MetaTileEntity_Hatch_InputElemental hatch) {
+ hatch.mMachineBlock = textureOffset + 4;
+ return hatch.getContainerHandler();
+ }
+}