From f10b2b9be7104b98686d678f5f791ca59773fdb2 Mon Sep 17 00:00:00 2001 From: Raoul Van den Berge Date: Fri, 24 Jun 2016 18:47:00 +0200 Subject: [PATCH] More fixes --- .../java/refinedstorage/tile/TileSlave.java | 10 ++++++++++ .../tile/controller/TileController.java | 20 ++++++++++++------- .../assets/refinedstorage/lang/en_US.lang | 2 -- 3 files changed, 23 insertions(+), 9 deletions(-) diff --git a/src/main/java/refinedstorage/tile/TileSlave.java b/src/main/java/refinedstorage/tile/TileSlave.java index 5e7bc42ea..38c524633 100755 --- a/src/main/java/refinedstorage/tile/TileSlave.java +++ b/src/main/java/refinedstorage/tile/TileSlave.java @@ -233,4 +233,14 @@ public abstract class TileSlave extends TileBase implements INetworkSlave, ISync public boolean hasCapability(Capability capability, EnumFacing facing) { return capability == RefinedStorageCapabilities.NETWORK_SLAVE_CAPABILITY || super.hasCapability(capability, facing); } + + @Override + public int hashCode() { + return pos.hashCode(); + } + + @Override + public boolean equals(Object other) { + return other instanceof TileSlave && ((TileSlave) other).getPos().equals(pos); + } } diff --git a/src/main/java/refinedstorage/tile/controller/TileController.java b/src/main/java/refinedstorage/tile/controller/TileController.java index ae3fb5ecc..e2dee46c8 100755 --- a/src/main/java/refinedstorage/tile/controller/TileController.java +++ b/src/main/java/refinedstorage/tile/controller/TileController.java @@ -152,7 +152,8 @@ public class TileController extends TileBase implements INetworkMaster, IEnergyR } } } else if (!slaves.isEmpty()) { - disconnectAll(); + disconnectSlaves(); + updateSlaves(); } @@ -207,6 +208,14 @@ public class TileController extends TileBase implements INetworkMaster, IEnergyR slavesToRemove.add(slave); } + public void disconnectSlaves() { + for (INetworkSlave slave : getSlaves()) { + slave.disconnect(worldObj); + } + + slaves.clear(); + } + @Override public IGridHandler getGridHandler() { return gridHandler; @@ -217,12 +226,9 @@ public class TileController extends TileBase implements INetworkMaster, IEnergyR return wirelessGridHandler; } - public void disconnectAll() { - for (INetworkSlave slave : getSlaves()) { - slave.disconnect(worldObj); - } - - slaves.clear(); + @Override + public void onChunkUnload() { + disconnectSlaves(); } @Override diff --git a/src/main/resources/assets/refinedstorage/lang/en_US.lang b/src/main/resources/assets/refinedstorage/lang/en_US.lang index a924980de..a1ed83d73 100755 --- a/src/main/resources/assets/refinedstorage/lang/en_US.lang +++ b/src/main/resources/assets/refinedstorage/lang/en_US.lang @@ -55,8 +55,6 @@ misc.refinedstorage:clear=Clear misc.refinedstorage:cancel_all=Cancel All misc.refinedstorage:priority=Priority -misc.refinedstorage:no_network=This Controller isn't associated with any storage network. If you just upgraded to 0.7.17, this is absolutely normal. In that case, a simple one-time break and replace should fix the issue. - sidebutton.refinedstorage:compare.1=Compare Damage sidebutton.refinedstorage:compare.2=Compare NBT