diff options
author | Blood-Asp <bloodasphendrik@gmail.com> | 2017-11-25 18:45:33 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-11-25 18:45:33 +0100 |
commit | 7cc77f5abfce652c50f7876af236dc057a0ce209 (patch) | |
tree | 9ad3fcaef69c67c9451413a0ab958c2472cd8365 /src/main/java/gregtech/api/metatileentity/MetaPipeEntity.java | |
parent | 1c9c9af45bfa46278ed4840c3c6ae1459879d2fe (diff) | |
parent | 9ea8a856090db86512b0b20e684112c632ac1fb2 (diff) | |
download | GT5-Unofficial-7cc77f5abfce652c50f7876af236dc057a0ce209.tar.gz GT5-Unofficial-7cc77f5abfce652c50f7876af236dc057a0ce209.tar.bz2 GT5-Unofficial-7cc77f5abfce652c50f7876af236dc057a0ce209.zip |
Merge pull request #1264 from Antifluxfield/GT6-styled_pipes
GT6 Styled Pipes & Cables
Diffstat (limited to 'src/main/java/gregtech/api/metatileentity/MetaPipeEntity.java')
-rw-r--r-- | src/main/java/gregtech/api/metatileentity/MetaPipeEntity.java | 39 |
1 files changed, 38 insertions, 1 deletions
diff --git a/src/main/java/gregtech/api/metatileentity/MetaPipeEntity.java b/src/main/java/gregtech/api/metatileentity/MetaPipeEntity.java index 96532f52e5..9e4a79bee5 100644 --- a/src/main/java/gregtech/api/metatileentity/MetaPipeEntity.java +++ b/src/main/java/gregtech/api/metatileentity/MetaPipeEntity.java @@ -2,7 +2,9 @@ package gregtech.api.metatileentity; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import gregtech.GT_Mod; import gregtech.api.GregTech_API; +import gregtech.api.interfaces.metatileentity.IConnectable; import gregtech.api.interfaces.metatileentity.IMetaTileEntity; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.objects.GT_ItemStack; @@ -45,7 +47,7 @@ import static gregtech.api.enums.GT_Values.V; * Call the Constructor like the following example inside the Load Phase, to register it. * "new GT_MetaTileEntity_E_Furnace(54, "GT_E_Furnace", "Automatic E-Furnace");" */ -public abstract class MetaPipeEntity implements IMetaTileEntity { +public abstract class MetaPipeEntity implements IMetaTileEntity, IConnectable { /** * The Inventory of the MetaTileEntity. Amount of Slots can be larger than 256. HAYO! */ @@ -203,6 +205,14 @@ public abstract class MetaPipeEntity implements IMetaTileEntity { return false; } + public boolean onWireCutterRightClick(byte aSide, byte aWrenchingSide, EntityPlayer aPlayer, float aX, float aY, float aZ) { + return false; + } + + public boolean onSolderingToolRightClick(byte aSide, byte aWrenchingSide, EntityPlayer aPlayer, float aX, float aY, float aZ) { + return false; + } + @Override public void onExplosion() {/*Do nothing*/} @@ -689,4 +699,31 @@ public abstract class MetaPipeEntity implements IMetaTileEntity { public String getAlternativeModeText() { return ""; } + + public String trans(String aKey, String aEnglish){ + return GT_LanguageManager.addStringLocalization("Interaction_DESCRIPTION_Index_"+aKey, aEnglish, false); + } + + @Override + public int connect(byte aSide) { + if (aSide >= 6) return 0; + mConnections |= (1 << aSide); + byte tSide = GT_Utility.getOppositeSide(aSide); + IGregTechTileEntity tTileEntity = getBaseMetaTileEntity().getIGregTechTileEntityAtSide(aSide); + IMetaTileEntity tPipe = tTileEntity instanceof IGregTechTileEntity ? ((IGregTechTileEntity) tTileEntity).getMetaTileEntity() : null; + if (this.getClass().isInstance(tPipe) && (((MetaPipeEntity) tPipe).mConnections & (1 << tSide)) == 0) + ((MetaPipeEntity) tPipe).connect(tSide); + return 1; + } + + @Override + public void disconnect(byte aSide) { + if (aSide >= 6) return; + mConnections &= ~(1 << aSide); + byte tSide = GT_Utility.getOppositeSide(aSide); + IGregTechTileEntity tTileEntity = getBaseMetaTileEntity().getIGregTechTileEntityAtSide(aSide); + IMetaTileEntity tPipe = tTileEntity == null ? null : tTileEntity.getMetaTileEntity(); + if (this.getClass().isInstance(tPipe) && (((MetaPipeEntity) tPipe).mConnections & (1 << tSide)) != 0) + ((MetaPipeEntity) tPipe).disconnect(tSide); + } }
\ No newline at end of file |