diff options
author | Antifluxfield <lyj_299792458@163.com> | 2017-09-14 13:31:52 +0800 |
---|---|---|
committer | Technus <daniel112092@gmail.com> | 2017-09-14 20:53:13 +0200 |
commit | 37163b06b11c45e2ae540a09b8737c5e9ddbe82e (patch) | |
tree | 864ca61ebe2d66e4c477a0245c3730b786da39e9 /src/main/java | |
parent | 9a224b9c93bf60e56a906f895588a57b7628816f (diff) | |
download | GT5-Unofficial-37163b06b11c45e2ae540a09b8737c5e9ddbe82e.tar.gz GT5-Unofficial-37163b06b11c45e2ae540a09b8737c5e9ddbe82e.tar.bz2 GT5-Unofficial-37163b06b11c45e2ae540a09b8737c5e9ddbe82e.zip |
cherrypick AE tunnel
Diffstat (limited to 'src/main/java')
-rw-r--r-- | src/main/java/gregtech/loaders/postload/PartP2PGTPower.java | 28 |
1 files changed, 21 insertions, 7 deletions
diff --git a/src/main/java/gregtech/loaders/postload/PartP2PGTPower.java b/src/main/java/gregtech/loaders/postload/PartP2PGTPower.java index 30a3377f1e..87118533a6 100644 --- a/src/main/java/gregtech/loaders/postload/PartP2PGTPower.java +++ b/src/main/java/gregtech/loaders/postload/PartP2PGTPower.java @@ -4,8 +4,10 @@ import appeng.api.networking.IGridNode; import appeng.api.networking.ticking.IGridTickable; import appeng.api.networking.ticking.TickRateModulation; import appeng.api.networking.ticking.TickingRequest; +import appeng.parts.AEBasePart; import appeng.parts.p2p.PartP2PIC2Power; import gregtech.api.interfaces.tileentity.IEnergyConnected; +import gregtech.api.util.GT_Log; import gregtech.api.util.GT_Utility; import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; @@ -18,19 +20,19 @@ public class PartP2PGTPower extends PartP2PIC2Power implements IGridTickable { } public final World getWorld() { - return tile.getWorldObj(); + return getTile().getWorldObj(); } public final int getXCoord() { - return tile.xCoord; + return getTile().xCoord; } public final short getYCoord() { - return (short) tile.yCoord; + return (short) getTile().yCoord; } public final int getZCoord() { - return tile.zCoord; + return getTile().zCoord; } public final int getOffsetX(byte aSide, int aMultiplier) { @@ -58,13 +60,13 @@ public class PartP2PGTPower extends PartP2PIC2Power implements IGridTickable { if (getOfferedEnergy() == 0) { return false; } - TileEntity t = getTileEntityAtSide((byte) side.ordinal()); + TileEntity t = getTileEntityAtSide((byte) getSide().ordinal()); if (t instanceof IEnergyConnected) { long voltage = 8 << (getSourceTier() * 2); if (voltage > getOfferedEnergy()) { voltage = (long) getOfferedEnergy(); } - if (((IEnergyConnected) t).injectEnergyUnits(GT_Utility.getOppositeSide(side.ordinal()), voltage, 1) > 0) { + if (((IEnergyConnected) t).injectEnergyUnits(GT_Utility.getOppositeSide(getSide().ordinal()), voltage, 1) > 0) { drawEnergy(voltage); return true; } @@ -81,4 +83,16 @@ public class PartP2PGTPower extends PartP2PIC2Power implements IGridTickable { public TickRateModulation tickingRequest(IGridNode iGridNode, int i) { return outputEnergy() ? TickRateModulation.FASTER : TickRateModulation.SLOWER; } -}
\ No newline at end of file + + public ForgeDirection getSide(){ + try { + Field fSide = AEBasePart.class.getDeclaredField("side"); + fSide.setAccessible(true); + return (ForgeDirection) fSide.get(this); + } catch (Exception e) { + GT_Log.out.println("A fatal error occured at the P2P tunnel for GT electricity"); + e.printStackTrace(GT_Log.out); + throw new RuntimeException(e); + } + } +} |