aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/api
diff options
context:
space:
mode:
authorDagger <44447392+dagger8243@users.noreply.github.com>2024-10-03 03:09:19 -0300
committerGitHub <noreply@github.com>2024-10-03 06:09:19 +0000
commitac992c31eafae39763fe4e9680b50ec3adfd49a7 (patch)
treee9626b53be429427803835a63b18e546a66412a4 /src/main/java/gregtech/api
parent76b114d55edfb8f1debda37afbb3e7b04cfe0801 (diff)
downloadGT5-Unofficial-ac992c31eafae39763fe4e9680b50ec3adfd49a7.tar.gz
GT5-Unofficial-ac992c31eafae39763fe4e9680b50ec3adfd49a7.tar.bz2
GT5-Unofficial-ac992c31eafae39763fe4e9680b50ec3adfd49a7.zip
Fixed Laser & Data pipe every 32 tick connection update (#3259)
Co-authored-by: Martin Robertz <dream-master@gmx.net>
Diffstat (limited to 'src/main/java/gregtech/api')
-rw-r--r--src/main/java/gregtech/api/metatileentity/MetaTileEntity.java30
1 files changed, 30 insertions, 0 deletions
diff --git a/src/main/java/gregtech/api/metatileentity/MetaTileEntity.java b/src/main/java/gregtech/api/metatileentity/MetaTileEntity.java
index a0fafe1bcd..62b722e86d 100644
--- a/src/main/java/gregtech/api/metatileentity/MetaTileEntity.java
+++ b/src/main/java/gregtech/api/metatileentity/MetaTileEntity.java
@@ -62,6 +62,8 @@ import gregtech.common.GTClient;
import gregtech.common.covers.CoverInfo;
import mcp.mobius.waila.api.IWailaConfigHandler;
import mcp.mobius.waila.api.IWailaDataAccessor;
+import tectech.thing.metaTileEntity.pipe.MTEPipeData;
+import tectech.thing.metaTileEntity.pipe.MTEPipeEnergy;
/**
* NEVER INCLUDE THIS FILE IN YOUR MOD!!!
@@ -1081,6 +1083,28 @@ public abstract class MetaTileEntity implements IMetaTileEntity, ICleanroomRecei
}
@Override
+ public void onBlockDestroyed() {
+ final IGregTechTileEntity meta = getBaseMetaTileEntity();
+
+ for (final ForgeDirection side : ForgeDirection.VALID_DIRECTIONS) {
+ final IGregTechTileEntity iGregTechTileEntity = meta.getIGregTechTileEntityAtSide(side);
+
+ if (iGregTechTileEntity != null) {
+ if (iGregTechTileEntity.getMetaTileEntity() instanceof MTEPipeEnergy neighbor) {
+ neighbor.mConnections &= ~side.getOpposite().flag;
+ neighbor.connectionCount--;
+ }
+ if (iGregTechTileEntity.getMetaTileEntity() instanceof MTEPipeData neighbor) {
+ neighbor.mConnections &= ~side.getOpposite().flag;
+ neighbor.connectionCount--;
+ }
+ }
+ }
+
+ IMetaTileEntity.super.onBlockDestroyed();
+ }
+
+ @Override
public void onColorChangeServer(byte aColor) {
final IGregTechTileEntity meta = getBaseMetaTileEntity();
final int aX = meta.getXCoord(), aY = meta.getYCoord(), aZ = meta.getZCoord();
@@ -1090,6 +1114,12 @@ public abstract class MetaTileEntity implements IMetaTileEntity, ICleanroomRecei
if (tTileEntity instanceof BaseMetaPipeEntity pipe) {
pipe.onNeighborBlockChange(aX, aY, aZ);
}
+
+ final IGregTechTileEntity iGregTechTileEntity = meta.getIGregTechTileEntityAtSide(side);
+ if (iGregTechTileEntity != null) {
+ if (iGregTechTileEntity.getMetaTileEntity() instanceof MTEPipeEnergy pipe) pipe.updateNetwork(true);
+ if (iGregTechTileEntity.getMetaTileEntity() instanceof MTEPipeData pipe) pipe.updateNetwork(true);
+ }
}
}