From 9cd17d07c543a14a80672fa709c419f7c580a344 Mon Sep 17 00:00:00 2001 From: Jason Mitchell Date: Tue, 4 Sep 2018 18:08:22 -0700 Subject: Fix weirdness if only one of the gt6 pipes/cables are enabled --- .../java/gregtech/api/metatileentity/MetaPipeEntity.java | 14 ++++++++------ .../implementations/GT_MetaPipeEntity_Cable.java | 7 +++++++ .../implementations/GT_MetaPipeEntity_Fluid.java | 6 ++++++ .../implementations/GT_MetaPipeEntity_Item.java | 6 ++++++ 4 files changed, 27 insertions(+), 6 deletions(-) (limited to 'src') diff --git a/src/main/java/gregtech/api/metatileentity/MetaPipeEntity.java b/src/main/java/gregtech/api/metatileentity/MetaPipeEntity.java index c04dc9d523..df603de17b 100644 --- a/src/main/java/gregtech/api/metatileentity/MetaPipeEntity.java +++ b/src/main/java/gregtech/api/metatileentity/MetaPipeEntity.java @@ -763,7 +763,9 @@ public abstract class MetaPipeEntity implements IMetaTileEntity, IConnectable { final byte tSide = GT_Utility.getOppositeSide(aSide); final IGregTechTileEntity baseMetaTile = getBaseMetaTileEntity(); - final GT_CoverBehavior coverBehavior = getBaseMetaTileEntity().getCoverBehaviorAtSide(aSide); + if (baseMetaTile == null) return 0; + + final GT_CoverBehavior coverBehavior = baseMetaTile.getCoverBehaviorAtSide(aSide); final int coverId = baseMetaTile.getCoverIDAtSide(aSide), coverData = baseMetaTile.getCoverDataAtSide(aSide); @@ -786,8 +788,8 @@ public abstract class MetaPipeEntity implements IMetaTileEntity, IConnectable { } return 1; } - else if(((GT_Mod.gregtechproxy.gt6Cable || GT_Mod.gregtechproxy.gt6Pipe) && baseMetaTile.getAirAtSide(aSide)) || canConnect(aSide, tTileEntity)) { - // Allow open connections to Air, so that it'll connect to the next block placed down next to it + else if((getGT6StyleConnection() && baseMetaTile.getAirAtSide(aSide)) || canConnect(aSide, tTileEntity)) { + // Allow open connections to Air, if the GT6 style pipe/cables are enabled, so that it'll connect to the next block placed down next to it connectAtSide(aSide); return 1; } @@ -800,12 +802,11 @@ public abstract class MetaPipeEntity implements IMetaTileEntity, IConnectable { return 0; } - - public void checkConnections() { + protected void checkConnections() { // Verify connections around us. If GT6 style cables are not enabled then revert to old behavior and try // connecting to everything around us for (byte aSide = 0; aSide < 6; aSide++) { - if ((!GT_Mod.gregtechproxy.gt6Cable || isConnectedAtSide(aSide)) && connect(aSide) == 0) { + if ((!getGT6StyleConnection() || isConnectedAtSide(aSide)) && connect(aSide) == 0) { disconnect(aSide); } } @@ -836,4 +837,5 @@ public abstract class MetaPipeEntity implements IMetaTileEntity, IConnectable { public boolean letsOut(GT_CoverBehavior coverBehavior, byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity) { return false; } public boolean canConnect(byte aSide, TileEntity tTileEntity) { return false; } + public boolean getGT6StyleConnection() { return false; } } diff --git a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaPipeEntity_Cable.java b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaPipeEntity_Cable.java index e59be8921f..56849e1e73 100644 --- a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaPipeEntity_Cable.java +++ b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaPipeEntity_Cable.java @@ -379,6 +379,13 @@ public class GT_MetaPipeEntity_Cable extends MetaPipeEntity implements IMetaTile return false; } + @Override + public boolean getGT6StyleConnection() { + // Yes if GT6 Cables are enabled + return GT_Mod.gregtechproxy.gt6Cable; + } + + @Override public boolean allowPullStack(IGregTechTileEntity aBaseMetaTileEntity, int aIndex, byte aSide, ItemStack aStack) { return false; diff --git a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaPipeEntity_Fluid.java b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaPipeEntity_Fluid.java index b70697556d..e7a3dedb61 100644 --- a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaPipeEntity_Fluid.java +++ b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaPipeEntity_Fluid.java @@ -406,6 +406,12 @@ public class GT_MetaPipeEntity_Fluid extends MetaPipeEntity { return false; } + @Override + public boolean getGT6StyleConnection() { + // Yes if GT6 pipes are enabled + return GT_Mod.gregtechproxy.gt6Pipe; + } + @Override public void doSound(byte aIndex, double aX, double aY, double aZ) { super.doSound(aIndex, aX, aY, aZ); diff --git a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaPipeEntity_Item.java b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaPipeEntity_Item.java index 7cf91b6c86..bba105c95f 100644 --- a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaPipeEntity_Item.java +++ b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaPipeEntity_Item.java @@ -237,6 +237,12 @@ public class GT_MetaPipeEntity_Item extends MetaPipeEntity implements IMetaTileE return connectable; } + @Override + public boolean getGT6StyleConnection() { + // Yes if GT6 pipes are enabled + return GT_Mod.gregtechproxy.gt6Pipe; + } + @Override public boolean incrementTransferCounter(int aIncrement) { -- cgit