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 --- src/main/java/gregtech/api/metatileentity/MetaPipeEntity.java | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'src/main/java/gregtech/api/metatileentity/MetaPipeEntity.java') diff --git a/src/main/java/gregtech/api/metatileentity/MetaPipeEntity.java b/src/main/java/gregtech/api/metatileentity/MetaPipeEntity.java index 9e4a79bee5..7058b167bb 100644 --- a/src/main/java/gregtech/api/metatileentity/MetaPipeEntity.java +++ b/src/main/java/gregtech/api/metatileentity/MetaPipeEntity.java @@ -165,7 +165,7 @@ public abstract class MetaPipeEntity implements IMetaTileEntity, IConnectable { if (aSide < 6 && mBaseMetaTileEntity.getCoverIDAtSide(aSide) > 0) { tCovered = true; } - if((mConnections & (byte)(Math.pow(2, aSide))) != 0){ + if(isConnectedAtSide(aSide)){ tCovered = true; } //System.out.println("Cover: "+mBaseMetaTileEntity.getCoverIDAtSide(aSide)); @@ -711,7 +711,7 @@ public abstract class MetaPipeEntity implements IMetaTileEntity, IConnectable { byte tSide = GT_Utility.getOppositeSide(aSide); IGregTechTileEntity tTileEntity = getBaseMetaTileEntity().getIGregTechTileEntityAtSide(aSide); IMetaTileEntity tPipe = tTileEntity instanceof IGregTechTileEntity ? ((IGregTechTileEntity) tTileEntity).getMetaTileEntity() : null; - if (this.getClass().isInstance(tPipe) && (((MetaPipeEntity) tPipe).mConnections & (1 << tSide)) == 0) + if (this.getClass().isInstance(tPipe) && !((MetaPipeEntity) tPipe).isConnectedAtSide(tSide)) ((MetaPipeEntity) tPipe).connect(tSide); return 1; } @@ -726,4 +726,9 @@ public abstract class MetaPipeEntity implements IMetaTileEntity, IConnectable { if (this.getClass().isInstance(tPipe) && (((MetaPipeEntity) tPipe).mConnections & (1 << tSide)) != 0) ((MetaPipeEntity) tPipe).disconnect(tSide); } + + @Override + public boolean isConnectedAtSide(int aSide) { + return (mConnections & (1 << aSide)) != 0; + } } \ No newline at end of file -- cgit