diff options
author | Technus <daniel112092@gmail.com> | 2017-07-30 17:24:31 +0200 |
---|---|---|
committer | Technus <daniel112092@gmail.com> | 2017-07-30 17:24:31 +0200 |
commit | 0409d4bccfc32d116612cb8a6a3d0e9e7790c895 (patch) | |
tree | 6452ee3a324737235842d783a8f9de1e2f5d922f /src/main/java/openmodularturrets/tileentity/turretbase/TileTurretBaseEM.java | |
parent | 40145b83953f22feace2d7c09c128cdbdade4408 (diff) | |
download | GT5-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.java | 63 |
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(); + } +} |