Bugfixes
This commit is contained in:
@@ -12,6 +12,8 @@ import refinedstorage.RefinedStorageUtils;
|
|||||||
import refinedstorage.tile.TileController;
|
import refinedstorage.tile.TileController;
|
||||||
|
|
||||||
public class MessageControllerEnergyUpdate implements IMessage, IMessageHandler<MessageControllerEnergyUpdate, IMessage> {
|
public class MessageControllerEnergyUpdate implements IMessage, IMessageHandler<MessageControllerEnergyUpdate, IMessage> {
|
||||||
|
public static long LAST_RE_RENDER;
|
||||||
|
|
||||||
private int x;
|
private int x;
|
||||||
private int y;
|
private int y;
|
||||||
private int z;
|
private int z;
|
||||||
@@ -52,9 +54,15 @@ public class MessageControllerEnergyUpdate implements IMessage, IMessageHandler<
|
|||||||
TileEntity tile = world.getTileEntity(pos);
|
TileEntity tile = world.getTileEntity(pos);
|
||||||
|
|
||||||
if (tile instanceof TileController) {
|
if (tile instanceof TileController) {
|
||||||
|
int lastEnergy = ((TileController) tile).getEnergyStored(null);
|
||||||
|
|
||||||
((TileController) tile).setEnergyStored(message.energy);
|
((TileController) tile).setEnergyStored(message.energy);
|
||||||
|
|
||||||
|
if (lastEnergy != message.energy && System.currentTimeMillis() - LAST_RE_RENDER > 3000) {
|
||||||
RefinedStorageUtils.reRenderBlock(world, pos);
|
RefinedStorageUtils.reRenderBlock(world, pos);
|
||||||
|
|
||||||
|
LAST_RE_RENDER = System.currentTimeMillis();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
|
|||||||
@@ -52,10 +52,14 @@ public class MessageDetectorPoweredUpdate implements IMessage, IMessageHandler<M
|
|||||||
TileEntity tile = world.getTileEntity(pos);
|
TileEntity tile = world.getTileEntity(pos);
|
||||||
|
|
||||||
if (tile instanceof TileDetector) {
|
if (tile instanceof TileDetector) {
|
||||||
|
boolean wasPowered = ((TileDetector) tile).isPowered();
|
||||||
|
|
||||||
((TileDetector) tile).setPowered(message.powered);
|
((TileDetector) tile).setPowered(message.powered);
|
||||||
|
|
||||||
|
if (wasPowered != message.powered) {
|
||||||
RefinedStorageUtils.reRenderBlock(world, pos);
|
RefinedStorageUtils.reRenderBlock(world, pos);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -52,10 +52,14 @@ public class MessageMachineConnectedUpdate implements IMessage, IMessageHandler<
|
|||||||
TileEntity tile = world.getTileEntity(pos);
|
TileEntity tile = world.getTileEntity(pos);
|
||||||
|
|
||||||
if (tile instanceof TileMachine) {
|
if (tile instanceof TileMachine) {
|
||||||
|
boolean wasConnected = ((TileMachine) tile).isConnected();
|
||||||
|
|
||||||
((TileMachine) tile).setConnected(message.connected);
|
((TileMachine) tile).setConnected(message.connected);
|
||||||
|
|
||||||
|
if (wasConnected != message.connected) {
|
||||||
RefinedStorageUtils.reRenderBlock(world, pos);
|
RefinedStorageUtils.reRenderBlock(world, pos);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -52,10 +52,14 @@ public class MessageSoldererWorkingUpdate implements IMessage, IMessageHandler<M
|
|||||||
TileEntity tile = world.getTileEntity(pos);
|
TileEntity tile = world.getTileEntity(pos);
|
||||||
|
|
||||||
if (tile instanceof TileSolderer) {
|
if (tile instanceof TileSolderer) {
|
||||||
|
boolean wasWorking = ((TileSolderer) tile).isWorking();
|
||||||
|
|
||||||
((TileSolderer) tile).setWorking(message.working);
|
((TileSolderer) tile).setWorking(message.working);
|
||||||
|
|
||||||
|
if (wasWorking != message.working) {
|
||||||
RefinedStorageUtils.reRenderBlock(world, pos);
|
RefinedStorageUtils.reRenderBlock(world, pos);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -74,8 +74,6 @@ public class TileController extends TileBase implements IEnergyReceiver, ISynchr
|
|||||||
|
|
||||||
private int wirelessGridRange;
|
private int wirelessGridRange;
|
||||||
|
|
||||||
private long lastEnergyUpdate;
|
|
||||||
|
|
||||||
public void addMachine(TileMachine machine) {
|
public void addMachine(TileMachine machine) {
|
||||||
machinesToAdd.add(machine);
|
machinesToAdd.add(machine);
|
||||||
}
|
}
|
||||||
@@ -102,7 +100,7 @@ public class TileController extends TileBase implements IEnergyReceiver, ISynchr
|
|||||||
List<IStorage> newStorages = new ArrayList<IStorage>();
|
List<IStorage> newStorages = new ArrayList<IStorage>();
|
||||||
List<CraftingPattern> newPatterns = new ArrayList<CraftingPattern>();
|
List<CraftingPattern> newPatterns = new ArrayList<CraftingPattern>();
|
||||||
|
|
||||||
//if (canRun()) {
|
if (canRun()) {
|
||||||
newEnergyUsage = 10;
|
newEnergyUsage = 10;
|
||||||
|
|
||||||
for (TileMachine machine : machines) {
|
for (TileMachine machine : machines) {
|
||||||
@@ -171,9 +169,9 @@ public class TileController extends TileBase implements IEnergyReceiver, ISynchr
|
|||||||
craftingTaskIterator.remove();
|
craftingTaskIterator.remove();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/*} else {
|
} else {
|
||||||
disconnectAll();
|
disconnectAll();
|
||||||
}*/
|
}
|
||||||
|
|
||||||
wirelessGridRange = newWirelessGridRange;
|
wirelessGridRange = newWirelessGridRange;
|
||||||
energyUsage = newEnergyUsage;
|
energyUsage = newEnergyUsage;
|
||||||
@@ -208,14 +206,10 @@ public class TileController extends TileBase implements IEnergyReceiver, ISynchr
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (lastEnergy != energy.getEnergyStored() || ticks == 1) {
|
|
||||||
worldObj.updateComparatorOutputLevel(pos, RefinedStorageBlocks.CONTROLLER);
|
|
||||||
|
|
||||||
if (System.currentTimeMillis() - lastEnergyUpdate > 3000L) {
|
|
||||||
RefinedStorageUtils.sendToAllAround(worldObj, pos, new MessageControllerEnergyUpdate(this));
|
RefinedStorageUtils.sendToAllAround(worldObj, pos, new MessageControllerEnergyUpdate(this));
|
||||||
|
|
||||||
lastEnergyUpdate = System.currentTimeMillis();
|
if (lastEnergy != energy.getEnergyStored()) {
|
||||||
}
|
worldObj.updateComparatorOutputLevel(pos, RefinedStorageBlocks.CONTROLLER);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -88,11 +88,11 @@ public class TileDetector extends TileMachine implements ICompareConfig {
|
|||||||
|
|
||||||
if (powered != lastPowered) {
|
if (powered != lastPowered) {
|
||||||
worldObj.notifyNeighborsOfStateChange(pos, RefinedStorageBlocks.DETECTOR);
|
worldObj.notifyNeighborsOfStateChange(pos, RefinedStorageBlocks.DETECTOR);
|
||||||
|
}
|
||||||
|
|
||||||
RefinedStorageUtils.sendToAllAround(worldObj, pos, new MessageDetectorPoweredUpdate(this));
|
RefinedStorageUtils.sendToAllAround(worldObj, pos, new MessageDetectorPoweredUpdate(this));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
public boolean isPowered() {
|
public boolean isPowered() {
|
||||||
return powered;
|
return powered;
|
||||||
|
|||||||
@@ -60,6 +60,8 @@ public abstract class TileMachine extends TileBase implements ISynchronizedConta
|
|||||||
searchController(worldObj);
|
searchController(worldObj);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
RefinedStorageUtils.sendToAllAround(worldObj, pos, new MessageMachineConnectedUpdate(this));
|
||||||
|
|
||||||
if (connected && !redstoneMode.isEnabled(worldObj, pos)) {
|
if (connected && !redstoneMode.isEnabled(worldObj, pos)) {
|
||||||
onDisconnected();
|
onDisconnected();
|
||||||
}
|
}
|
||||||
@@ -72,8 +74,6 @@ public abstract class TileMachine extends TileBase implements ISynchronizedConta
|
|||||||
|
|
||||||
if (worldObj.getBlockState(pos).getBlock() == block) {
|
if (worldObj.getBlockState(pos).getBlock() == block) {
|
||||||
worldObj.setBlockState(pos, worldObj.getBlockState(pos).withProperty(BlockMachine.CONNECTED, true));
|
worldObj.setBlockState(pos, worldObj.getBlockState(pos).withProperty(BlockMachine.CONNECTED, true));
|
||||||
|
|
||||||
RefinedStorageUtils.sendToAllAround(worldObj, pos, new MessageMachineConnectedUpdate(this));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
worldObj.notifyNeighborsOfStateChange(pos, block);
|
worldObj.notifyNeighborsOfStateChange(pos, block);
|
||||||
@@ -86,12 +86,10 @@ public abstract class TileMachine extends TileBase implements ISynchronizedConta
|
|||||||
|
|
||||||
if (worldObj.getBlockState(pos).getBlock() == block) {
|
if (worldObj.getBlockState(pos).getBlock() == block) {
|
||||||
worldObj.setBlockState(pos, worldObj.getBlockState(pos).withProperty(BlockMachine.CONNECTED, false));
|
worldObj.setBlockState(pos, worldObj.getBlockState(pos).withProperty(BlockMachine.CONNECTED, false));
|
||||||
|
|
||||||
RefinedStorageUtils.sendToAllAround(worldObj, pos, new MessageMachineConnectedUpdate(this));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// I have no idea why this is needed
|
// I have no idea why this is needed
|
||||||
if (controller != null) {
|
if (this.controller != null) {
|
||||||
this.controller.removeMachine(this);
|
this.controller.removeMachine(this);
|
||||||
this.controller = null;
|
this.controller = null;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -44,8 +44,6 @@ public class TileSolderer extends TileMachine implements IInventory, ISidedInven
|
|||||||
public void updateMachine() {
|
public void updateMachine() {
|
||||||
ISoldererRecipe newRecipe = SoldererRegistry.getRecipe(inventory);
|
ISoldererRecipe newRecipe = SoldererRegistry.getRecipe(inventory);
|
||||||
|
|
||||||
boolean lastWorking = working;
|
|
||||||
|
|
||||||
if (newRecipe == null) {
|
if (newRecipe == null) {
|
||||||
reset();
|
reset();
|
||||||
} else if (newRecipe != recipe) {
|
} else if (newRecipe != recipe) {
|
||||||
@@ -78,10 +76,8 @@ public class TileSolderer extends TileMachine implements IInventory, ISidedInven
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (working != lastWorking) {
|
|
||||||
RefinedStorageUtils.sendToAllAround(worldObj, pos, new MessageSoldererWorkingUpdate(this));
|
RefinedStorageUtils.sendToAllAround(worldObj, pos, new MessageSoldererWorkingUpdate(this));
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onDisconnected() {
|
public void onDisconnected() {
|
||||||
|
|||||||
Reference in New Issue
Block a user