diff options
| author | Jason Mitchell <mitchej@gmail.com> | 2018-09-16 15:23:14 -0700 |
|---|---|---|
| committer | Jason Mitchell <mitchej@gmail.com> | 2018-09-16 15:23:14 -0700 |
| commit | 189ae4c82675db3bbd894860ea6e465ad679f874 (patch) | |
| tree | bcb2b1f6eece928fe13b581dc193548823e3aea8 /src/main/java/gregtech/api/metatileentity | |
| parent | 08ccb2df5222870e3a12fc8df7e8fc594ca71902 (diff) | |
| download | GT5-Unofficial-189ae4c82675db3bbd894860ea6e465ad679f874.tar.gz GT5-Unofficial-189ae4c82675db3bbd894860ea6e465ad679f874.tar.bz2 GT5-Unofficial-189ae4c82675db3bbd894860ea6e465ad679f874.zip | |
Work with subclassed GT cables (ie: gt++ cables)
Diffstat (limited to 'src/main/java/gregtech/api/metatileentity')
3 files changed, 4 insertions, 3 deletions
diff --git a/src/main/java/gregtech/api/metatileentity/BaseMetaTileEntity.java b/src/main/java/gregtech/api/metatileentity/BaseMetaTileEntity.java index 5ffae94456..d99ce1bc41 100644 --- a/src/main/java/gregtech/api/metatileentity/BaseMetaTileEntity.java +++ b/src/main/java/gregtech/api/metatileentity/BaseMetaTileEntity.java @@ -988,6 +988,7 @@ public class BaseMetaTileEntity extends BaseTileEntity implements IGregTechTileE return inputEnergyFrom(aSide, true); } + @Override public boolean inputEnergyFrom(byte aSide, boolean waitForActive) { if (aSide == 6) return true; if (isServerSide() && waitForActive) return ((aSide >= 0 && aSide < 6) && mActiveEUInputs[aSide]) && !mReleaseEnergy; diff --git a/src/main/java/gregtech/api/metatileentity/MetaPipeEntity.java b/src/main/java/gregtech/api/metatileentity/MetaPipeEntity.java index 421b0e3e30..7129c174df 100644 --- a/src/main/java/gregtech/api/metatileentity/MetaPipeEntity.java +++ b/src/main/java/gregtech/api/metatileentity/MetaPipeEntity.java @@ -780,7 +780,7 @@ public abstract class MetaPipeEntity implements IMetaTileEntity, IConnectable { if ((alwaysLookConnected || letsIn || letsOut)) {
// Are we trying to connect to a pipe? let's do it!
IMetaTileEntity tPipe = tTileEntity instanceof IGregTechTileEntity ? ((IGregTechTileEntity) tTileEntity).getMetaTileEntity() : null;
- if (getClass().isInstance(tPipe)) {
+ if (getClass().isInstance(tPipe) || (tPipe != null && tPipe.getClass().isInstance(this))) {
connectAtSide(aSide);
if (!((MetaPipeEntity) tPipe).isConnectedAtSide(tSide)) {
// Make sure pipes all get together -- connect back to us if we're connecting to a pipe
@@ -824,7 +824,7 @@ public abstract class MetaPipeEntity implements IMetaTileEntity, IConnectable { byte tSide = GT_Utility.getOppositeSide(aSide);
IGregTechTileEntity tTileEntity = getBaseMetaTileEntity().getIGregTechTileEntityAtSide(aSide);
IMetaTileEntity tPipe = tTileEntity == null ? null : tTileEntity.getMetaTileEntity();
- if (this.getClass().isInstance(tPipe) && ((MetaPipeEntity) tPipe).isConnectedAtSide(tSide))
+ if ((this.getClass().isInstance(tPipe) || (tPipe != null && tPipe.getClass().isInstance(this))) && ((MetaPipeEntity) tPipe).isConnectedAtSide(tSide))
((MetaPipeEntity) tPipe).disconnect(tSide);
}
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 98e596713e..5d672547d8 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 @@ -458,7 +458,7 @@ public class GT_MetaPipeEntity_Cable extends MetaPipeEntity implements IMetaTile // GT Machine handling
if ((tTileEntity instanceof IEnergyConnected) &&
(((IEnergyConnected) tTileEntity).inputEnergyFrom(tSide, false) || ((IEnergyConnected) tTileEntity).outputsEnergyTo(tSide, false)))
- return true;
+ return true;
// Solar Panel Compat
if (coverBehavior instanceof GT_Cover_SolarPanel) return true;
|
