From f73c0fd7ef4c758ac677b521399fbcef8909d40f Mon Sep 17 00:00:00 2001 From: Antifluxfield Date: Thu, 21 Dec 2017 14:58:34 -0600 Subject: Fix pipe behaviors (#1329) * Try to fix #1301 * Fix pipe behavior with covers at side * Fix item pipe & cable behavior * Update * Update 2 * Based on @mitchej123 's work --- .../java/gregtech/api/interfaces/metatileentity/IConnectable.java | 2 ++ .../api/interfaces/metatileentity/IMetaTileEntityItemPipe.java | 1 + .../java/gregtech/api/interfaces/tileentity/IEnergyConnected.java | 5 +++++ 3 files changed, 8 insertions(+) (limited to 'src/main/java/gregtech/api/interfaces') diff --git a/src/main/java/gregtech/api/interfaces/metatileentity/IConnectable.java b/src/main/java/gregtech/api/interfaces/metatileentity/IConnectable.java index c1391371b9..96c03bbd6d 100644 --- a/src/main/java/gregtech/api/interfaces/metatileentity/IConnectable.java +++ b/src/main/java/gregtech/api/interfaces/metatileentity/IConnectable.java @@ -13,4 +13,6 @@ public interface IConnectable { * Try to disconnect to the Block at the specified side */ public void disconnect(byte aSide); + + public boolean isConnectedAtSide(int aSide); } diff --git a/src/main/java/gregtech/api/interfaces/metatileentity/IMetaTileEntityItemPipe.java b/src/main/java/gregtech/api/interfaces/metatileentity/IMetaTileEntityItemPipe.java index 54f1f484b7..04d9f0fb84 100644 --- a/src/main/java/gregtech/api/interfaces/metatileentity/IMetaTileEntityItemPipe.java +++ b/src/main/java/gregtech/api/interfaces/metatileentity/IMetaTileEntityItemPipe.java @@ -55,6 +55,7 @@ public interface IMetaTileEntityItemPipe extends IMetaTileEntity { IGregTechTileEntity aBaseMetaTileEntity = aMetaTileEntity.getBaseMetaTileEntity(); aMap.put(aMetaTileEntity, aStep); for (byte i = 0, j = 0; i < 6; i++) { + if (aMetaTileEntity instanceof IConnectable && !((IConnectable) aMetaTileEntity).isConnectedAtSide(i)) continue; j = GT_Utility.getOppositeSide(i); if (aSuckItems) { if (aBaseMetaTileEntity.getCoverBehaviorAtSide(i).letsItemsIn(i, aBaseMetaTileEntity.getCoverIDAtSide(i), aBaseMetaTileEntity.getCoverDataAtSide(i), -2, aBaseMetaTileEntity)) { diff --git a/src/main/java/gregtech/api/interfaces/tileentity/IEnergyConnected.java b/src/main/java/gregtech/api/interfaces/tileentity/IEnergyConnected.java index 63020684c0..98360411bd 100644 --- a/src/main/java/gregtech/api/interfaces/tileentity/IEnergyConnected.java +++ b/src/main/java/gregtech/api/interfaces/tileentity/IEnergyConnected.java @@ -41,6 +41,11 @@ public interface IEnergyConnected extends IColoredTileEntity, IHasWorldObjectAnd */ public boolean outputsEnergyTo(byte aSide); + /** + * Are we ready for energy state? + */ + public boolean energyStateReady(); + /** * Utility for the Network */ -- cgit