Fixes #143 "Crash related to losing power on the network"
This commit is contained in:
@@ -85,7 +85,7 @@ public class TileController extends TileBase implements INetworkMaster, IEnergyR
|
|||||||
|
|
||||||
private RedstoneMode redstoneMode = RedstoneMode.IGNORE;
|
private RedstoneMode redstoneMode = RedstoneMode.IGNORE;
|
||||||
|
|
||||||
private List<ClientSlave> clientSlaves;
|
private List<ClientSlave> clientSlaves = new ArrayList<ClientSlave>();
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public BlockPos getPosition() {
|
public BlockPos getPosition() {
|
||||||
@@ -99,7 +99,7 @@ public class TileController extends TileBase implements INetworkMaster, IEnergyR
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean canRun() {
|
public boolean canRun() {
|
||||||
return energy.getEnergyStored() > 0 && energy.getEnergyStored() >= energyUsage && redstoneMode.isEnabled(worldObj, pos);
|
return energy.getEnergyStored() > 0 && redstoneMode.isEnabled(worldObj, pos);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -165,13 +165,11 @@ public class TileController extends TileBase implements INetworkMaster, IEnergyR
|
|||||||
craftingTasks.pop();
|
craftingTasks.pop();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
|
||||||
disconnectSlaves();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
wirelessGridHandler.update();
|
wirelessGridHandler.update();
|
||||||
|
|
||||||
if (canRun() && getType() == EnumControllerType.NORMAL) {
|
if (getType() == EnumControllerType.NORMAL) {
|
||||||
if (energy.getEnergyStored() - energyUsage >= 0) {
|
if (energy.getEnergyStored() - energyUsage >= 0) {
|
||||||
energy.extractEnergy(energyUsage, false);
|
energy.extractEnergy(energyUsage, false);
|
||||||
} else {
|
} else {
|
||||||
@@ -181,6 +179,12 @@ public class TileController extends TileBase implements INetworkMaster, IEnergyR
|
|||||||
energy.setEnergyStored(energy.getMaxEnergyStored());
|
energy.setEnergyStored(energy.getMaxEnergyStored());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!canRun() && !slaves.isEmpty()) {
|
||||||
|
disconnectSlaves();
|
||||||
|
|
||||||
|
updateSlaves();
|
||||||
|
}
|
||||||
|
|
||||||
if (couldRun != canRun()) {
|
if (couldRun != canRun()) {
|
||||||
couldRun = canRun();
|
couldRun = canRun();
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user