From 4d9e6b02b91241e27f7161f117a7e8409cd29384 Mon Sep 17 00:00:00 2001 From: Raoul Van den Berge Date: Fri, 1 Apr 2016 02:22:24 +0200 Subject: [PATCH] Add isActiveClientSide to controller --- src/main/java/refinedstorage/gui/GuiController.java | 5 ++++- .../java/refinedstorage/item/ItemWirelessGrid.java | 8 +++----- .../java/refinedstorage/tile/TileController.java | 12 +++++++++++- .../java/refinedstorage/tile/grid/WirelessGrid.java | 4 +--- 4 files changed, 19 insertions(+), 10 deletions(-) diff --git a/src/main/java/refinedstorage/gui/GuiController.java b/src/main/java/refinedstorage/gui/GuiController.java index f52eafa4d..c254f18fb 100755 --- a/src/main/java/refinedstorage/gui/GuiController.java +++ b/src/main/java/refinedstorage/gui/GuiController.java @@ -119,7 +119,10 @@ public class GuiController extends GuiBase { } if (inBounds(barX, barY, barWidth, barHeight, mouseX, mouseY)) { - drawTooltip(mouseX, mouseY, t("misc.refinedstorage:energy_usage", controller.getEnergyUsage()) + "\n" + t("misc.refinedstorage:energy_stored", controller.getEnergyStored(null), controller.getMaxEnergyStored(null))); + String message = t("misc.refinedstorage:energy_usage", controller.isActiveClientSide() ? controller.getEnergyUsage() : 0); + message += "\n" + t("misc.refinedstorage:energy_stored", controller.getEnergyStored(null), controller.getMaxEnergyStored(null)); + + drawTooltip(mouseX, mouseY, message); } } diff --git a/src/main/java/refinedstorage/item/ItemWirelessGrid.java b/src/main/java/refinedstorage/item/ItemWirelessGrid.java index 87a211ebe..6b4c97abe 100755 --- a/src/main/java/refinedstorage/item/ItemWirelessGrid.java +++ b/src/main/java/refinedstorage/item/ItemWirelessGrid.java @@ -74,7 +74,7 @@ public class ItemWirelessGrid extends ItemBase { if (tile instanceof TileController) { ((TileController) tile).onOpenWirelessGrid(player, hand); - return new ActionResult(EnumActionResult.PASS, stack); + return new ActionResult(EnumActionResult.SUCCESS, stack); } else { player.addChatComponentMessage(new TextComponentString(I18n.translateToLocal("misc.refinedstorage:wireless_grid.not_found"))); } @@ -84,11 +84,9 @@ public class ItemWirelessGrid extends ItemBase { } else { player.addChatComponentMessage(new TextComponentString(I18n.translateToLocal("misc.refinedstorage:wireless_grid.not_found"))); } - - return new ActionResult(EnumActionResult.FAIL, stack); - } else { - return new ActionResult(EnumActionResult.PASS, stack); } + + return new ActionResult(EnumActionResult.PASS, stack); } public static int getX(ItemStack stack) { diff --git a/src/main/java/refinedstorage/tile/TileController.java b/src/main/java/refinedstorage/tile/TileController.java index f56f288e2..fae57c119 100755 --- a/src/main/java/refinedstorage/tile/TileController.java +++ b/src/main/java/refinedstorage/tile/TileController.java @@ -41,6 +41,8 @@ public class TileController extends TileBase implements IEnergyReceiver, INetwor private EnergyStorage energy = new EnergyStorage(32000); private int energyUsage; + private boolean activeClientSide; + private boolean destroyed = false; @Override @@ -347,6 +349,10 @@ public class TileController extends TileBase implements IEnergyReceiver, INetwor return energy.getEnergyStored() >= getEnergyUsage() && redstoneMode.isEnabled(worldObj, pos); } + public boolean isActiveClientSide() { + return activeClientSide; + } + @Override public RedstoneMode getRedstoneMode() { return redstoneMode; @@ -371,6 +377,8 @@ public class TileController extends TileBase implements IEnergyReceiver, INetwor @Override public void fromBytes(ByteBuf buf) { + activeClientSide = buf.readBoolean(); + int lastEnergy = energy.getEnergyStored(); energy.setEnergyStored(buf.readInt()); @@ -406,8 +414,10 @@ public class TileController extends TileBase implements IEnergyReceiver, INetwor @Override public void toBytes(ByteBuf buf) { + buf.writeBoolean(isActive()); + buf.writeInt(energy.getEnergyStored()); - buf.writeInt(isActive() ? energyUsage : 0); + buf.writeInt(energyUsage); buf.writeInt(redstoneMode.id); diff --git a/src/main/java/refinedstorage/tile/grid/WirelessGrid.java b/src/main/java/refinedstorage/tile/grid/WirelessGrid.java index b23556cf9..3a926d10e 100755 --- a/src/main/java/refinedstorage/tile/grid/WirelessGrid.java +++ b/src/main/java/refinedstorage/tile/grid/WirelessGrid.java @@ -81,9 +81,7 @@ public class WirelessGrid implements IGrid { @Override public boolean isConnected() { - // Since getController().isActive() doesn't do anything clientside - // we just check if the energy usage is above 0. - return getController() instanceof TileController && getController().getEnergyUsage() > 0; + return getController() instanceof TileController && getController().isActiveClientSide(); } @Override