diff options
author | BlueWeabo <ilia.iliev2005@gmail.com> | 2023-05-14 23:01:55 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-05-14 22:01:55 +0200 |
commit | 9c4e13c89f94e2a2d46340cb29f0784402881ede (patch) | |
tree | 1b2e6bec2e6305c90cc72dba3f58ae28c94bfbe3 /src/main/java | |
parent | 2b1d7a5a2982d595cbb7b0d143e2d87f509adf92 (diff) | |
download | GT5-Unofficial-9c4e13c89f94e2a2d46340cb29f0784402881ede.tar.gz GT5-Unofficial-9c4e13c89f94e2a2d46340cb29f0784402881ede.tar.bz2 GT5-Unofficial-9c4e13c89f94e2a2d46340cb29f0784402881ede.zip |
Enable MuTEs to have lasers (#187)
* it works?!?
* fixes
* spotless
Diffstat (limited to 'src/main/java')
2 files changed, 22 insertions, 0 deletions
diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_DynamoTunnel.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_DynamoTunnel.java index 7f94284a4c..56cc0d67d3 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_DynamoTunnel.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_DynamoTunnel.java @@ -18,6 +18,8 @@ import com.github.technus.tectech.util.TT_Utility; import gregtech.api.interfaces.ITexture; import gregtech.api.interfaces.metatileentity.IMetaTileEntity; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; +import gregtech.api.logic.PowerLogic; +import gregtech.api.logic.interfaces.PowerLogicHost; import gregtech.api.metatileentity.MetaTileEntity; import gregtech.api.util.GT_Utility; @@ -158,6 +160,7 @@ public class GT_MetaTileEntity_Hatch_DynamoTunnel extends GT_MetaTileEntity_Hatc final ForgeDirection front = aBaseMetaTileEntity.getFrontFacing(); final ForgeDirection opposite = front.getOpposite(); for (short dist = 1; dist < 1000; dist++) { + IGregTechTileEntity tGTTileEntity = aBaseMetaTileEntity .getIGregTechTileEntityAtSideAndDistance(front, dist); if (tGTTileEntity != null && tGTTileEntity.getColorization() == color) { @@ -195,6 +198,15 @@ public class GT_MetaTileEntity_Hatch_DynamoTunnel extends GT_MetaTileEntity_Hatc return; } } else { + if (tGTTileEntity instanceof PowerLogicHost) { + PowerLogic logic = ((PowerLogicHost) tGTTileEntity).getPowerLogic(opposite); + if (logic == null || !logic.canUseLaser() || opposite != tGTTileEntity.getFrontFacing()) { + return; + } + + long ampsUsed = logic.injectEnergy(maxEUOutput(), Amperes); + setEUVar(aBaseMetaTileEntity.getStoredEU() - ampsUsed * maxEUOutput()); + } return; } } else { diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/pipe/GT_MetaTileEntity_Pipe_Energy.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/pipe/GT_MetaTileEntity_Pipe_Energy.java index 2b2c518b2a..8e8bc5e8f1 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/pipe/GT_MetaTileEntity_Pipe_Energy.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/pipe/GT_MetaTileEntity_Pipe_Energy.java @@ -30,6 +30,8 @@ import gregtech.api.interfaces.ITexture; import gregtech.api.interfaces.metatileentity.IMetaTileEntity; import gregtech.api.interfaces.tileentity.IColoredTileEntity; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; +import gregtech.api.logic.PowerLogic; +import gregtech.api.logic.interfaces.PowerLogicHost; import gregtech.api.metatileentity.BaseMetaPipeEntity; import gregtech.api.metatileentity.MetaPipeEntity; import gregtech.api.objects.GT_RenderedTexture; @@ -161,6 +163,14 @@ public class GT_MetaTileEntity_Pipe_Energy extends MetaPipeEntity implements ICo } // } } + if (tTileEntity instanceof PowerLogicHost) { + PowerLogic logic = ((PowerLogicHost) tTileEntity).getPowerLogic(oppositeSide); + if (logic != null && logic.canUseLaser()) { + mConnections |= 1 << side.ordinal(); + connectionCount++; + continue; + } + } if (tTileEntity instanceof IConnectsToEnergyTunnel && ((IConnectsToEnergyTunnel) tTileEntity).canConnect(oppositeSide)) { mConnections |= 1 << side.ordinal(); |