aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJason Mitchell <mitchej+github@gmail.com>2018-09-16 17:08:37 -0700
committerGitHub <noreply@github.com>2018-09-16 17:08:37 -0700
commit3cce53ccc294c7686d2c4b7bffbedc6e182cb06d (patch)
treebcb2b1f6eece928fe13b581dc193548823e3aea8 /src
parent08ccb2df5222870e3a12fc8df7e8fc594ca71902 (diff)
parent189ae4c82675db3bbd894860ea6e465ad679f874 (diff)
downloadGT5-Unofficial-3cce53ccc294c7686d2c4b7bffbedc6e182cb06d.tar.gz
GT5-Unofficial-3cce53ccc294c7686d2c4b7bffbedc6e182cb06d.tar.bz2
GT5-Unofficial-3cce53ccc294c7686d2c4b7bffbedc6e182cb06d.zip
Merge pull request #150 from GTNewHorizons/work_with_gtpp_cables
Work with subclassed GT cables (ie: gt++ cables)
Diffstat (limited to 'src')
-rw-r--r--src/main/java/gregtech/api/interfaces/metatileentity/IMetaTileEntityCable.java4
-rw-r--r--src/main/java/gregtech/api/interfaces/tileentity/IEnergyConnected.java9
-rw-r--r--src/main/java/gregtech/api/metatileentity/BaseMetaTileEntity.java1
-rw-r--r--src/main/java/gregtech/api/metatileentity/MetaPipeEntity.java4
-rw-r--r--src/main/java/gregtech/api/metatileentity/implementations/GT_MetaPipeEntity_Cable.java2
5 files changed, 14 insertions, 6 deletions
diff --git a/src/main/java/gregtech/api/interfaces/metatileentity/IMetaTileEntityCable.java b/src/main/java/gregtech/api/interfaces/metatileentity/IMetaTileEntityCable.java
index 86232e6439..ead9c8bf8f 100644
--- a/src/main/java/gregtech/api/interfaces/metatileentity/IMetaTileEntityCable.java
+++ b/src/main/java/gregtech/api/interfaces/metatileentity/IMetaTileEntityCable.java
@@ -9,5 +9,7 @@ public interface IMetaTileEntityCable extends IMetaTileEntity {
@Deprecated
public long transferElectricity(byte aSide, long aVoltage, long aAmperage, ArrayList<TileEntity> aAlreadyPassedTileEntityList);
- public long transferElectricity(byte aSide, long aVoltage, long aAmperage, HashSet<TileEntity> aAlreadyPassedSet);
+ default public long transferElectricity(byte aSide, long aVoltage, long aAmperage, HashSet<TileEntity> aAlreadyPassedSet) {
+ return transferElectricity(aSide, aVoltage, aAmperage, new ArrayList<>(aAlreadyPassedSet));
+ }
} \ No newline at end of file
diff --git a/src/main/java/gregtech/api/interfaces/tileentity/IEnergyConnected.java b/src/main/java/gregtech/api/interfaces/tileentity/IEnergyConnected.java
index e707c15850..8c9bac5c01 100644
--- a/src/main/java/gregtech/api/interfaces/tileentity/IEnergyConnected.java
+++ b/src/main/java/gregtech/api/interfaces/tileentity/IEnergyConnected.java
@@ -3,6 +3,7 @@ package gregtech.api.interfaces.tileentity;
import cofh.api.energy.IEnergyReceiver;
import gregtech.GT_Mod;
import gregtech.api.GregTech_API;
+import gregtech.api.util.GT_Log;
import gregtech.api.util.GT_Utility;
import gregtech.common.GT_Pollution;
import ic2.api.energy.tile.IEnergySink;
@@ -35,13 +36,17 @@ public interface IEnergyConnected extends IColoredTileEntity, IHasWorldObjectAnd
* Sided Energy Input
*/
public boolean inputEnergyFrom(byte aSide);
- public boolean inputEnergyFrom(byte aSide, boolean waitForActive);
+ default public boolean inputEnergyFrom(byte aSide, boolean waitForActive) {
+ return inputEnergyFrom(aSide);
+ }
/**
* Sided Energy Output
*/
public boolean outputsEnergyTo(byte aSide);
- public boolean outputsEnergyTo(byte aSide, boolean waitForActive);
+ default public boolean outputsEnergyTo(byte aSide, boolean waitForActive) {
+ return outputsEnergyTo(aSide);
+ }
/**
* Utility for the Network
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;