diff --git a/src/main/java/storagecraft/tile/TileController.java b/src/main/java/storagecraft/tile/TileController.java index 9a9611945..3b0d98211 100644 --- a/src/main/java/storagecraft/tile/TileController.java +++ b/src/main/java/storagecraft/tile/TileController.java @@ -1,7 +1,7 @@ package storagecraft.tile; import cofh.api.energy.EnergyStorage; -import cofh.api.energy.IEnergyHandler; +import cofh.api.energy.IEnergyReceiver; import io.netty.buffer.ByteBuf; import java.util.ArrayList; import java.util.List; @@ -10,7 +10,7 @@ import net.minecraft.tileentity.TileEntity; import net.minecraftforge.common.util.ForgeDirection; import storagecraft.storage.Storage; -public class TileController extends TileSC implements IEnergyHandler, INetworkTile { +public class TileController extends TileSC implements IEnergyReceiver, INetworkTile { public static final int BASE_ENERGY_USAGE = 100; private Storage storage = new Storage(); @@ -31,39 +31,41 @@ public class TileController extends TileSC implements IEnergyHandler, INetworkTi if (!destroyed) { ++ticks; - if (!worldObj.isRemote && ticks % 40 == 0) { - if (!isActive()) { - disconnectAll(); - } else { - List machines = new ArrayList(); + if (!worldObj.isRemote) { + if (ticks % 40 == 0) { + if (!isActive()) { + disconnectAll(); + } else { + List machines = new ArrayList(); - for (ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) { - TileEntity tile = worldObj.getTileEntity(xCoord + dir.offsetX, yCoord + dir.offsetY, zCoord + dir.offsetZ); + for (ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) { + TileEntity tile = worldObj.getTileEntity(xCoord + dir.offsetX, yCoord + dir.offsetY, zCoord + dir.offsetZ); - if (tile instanceof TileCable) { - machines.addAll(((TileCable) tile).findMachines(this)); + if (tile instanceof TileCable) { + machines.addAll(((TileCable) tile).findMachines(this)); + } } + + for (TileMachine machine : connectedMachines) { + if (!machines.contains(machine)) { + machine.onDisconnected(); + } + } + + for (TileMachine machine : machines) { + if (!connectedMachines.contains(machine)) { + machine.onConnected(this); + } + } + + connectedMachines = machines; } + energyUsage = BASE_ENERGY_USAGE; + for (TileMachine machine : connectedMachines) { - if (!machines.contains(machine)) { - machine.onDisconnected(); - } + energyUsage += machine.getEnergyUsage(); } - - for (TileMachine machine : machines) { - if (!connectedMachines.contains(machine)) { - machine.onConnected(this); - } - } - - connectedMachines = machines; - } - - energyUsage = BASE_ENERGY_USAGE; - - for (TileMachine machine : connectedMachines) { - energyUsage += machine.getEnergyUsage(); } energy.extractEnergy(energyUsage, false); @@ -114,11 +116,6 @@ public class TileController extends TileSC implements IEnergyHandler, INetworkTi return energy.receiveEnergy(maxReceive, simulate); } - @Override - public int extractEnergy(ForgeDirection from, int maxExtract, boolean simulate) { - return energy.extractEnergy(maxExtract, simulate); - } - @Override public int getEnergyStored(ForgeDirection from) { return energy.getEnergyStored();