aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorBlueWeabo <ilia.iliev2005@gmail.com>2023-05-14 23:01:55 +0300
committerGitHub <noreply@github.com>2023-05-14 22:01:55 +0200
commit9c4e13c89f94e2a2d46340cb29f0784402881ede (patch)
tree1b2e6bec2e6305c90cc72dba3f58ae28c94bfbe3 /src
parent2b1d7a5a2982d595cbb7b0d143e2d87f509adf92 (diff)
downloadGT5-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')
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_DynamoTunnel.java12
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/pipe/GT_MetaTileEntity_Pipe_Energy.java10
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();