diff options
author | Dagger <44447392+dagger8243@users.noreply.github.com> | 2024-10-03 03:09:19 -0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-10-03 06:09:19 +0000 |
commit | ac992c31eafae39763fe4e9680b50ec3adfd49a7 (patch) | |
tree | e9626b53be429427803835a63b18e546a66412a4 /src/main/java/gregtech/api | |
parent | 76b114d55edfb8f1debda37afbb3e7b04cfe0801 (diff) | |
download | GT5-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.java | 30 |
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); + } } } |