From 385530973257ca669f6607d5d70ab5b881918627 Mon Sep 17 00:00:00 2001 From: raoulvdberge Date: Sat, 17 Nov 2018 13:47:34 +0100 Subject: [PATCH] Fixed crash. --- .../refinedstorage/tile/TileController.java | 23 ++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/raoulvdberge/refinedstorage/tile/TileController.java b/src/main/java/com/raoulvdberge/refinedstorage/tile/TileController.java index 44e3a0e7a..14e0b0511 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/tile/TileController.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/tile/TileController.java @@ -22,7 +22,6 @@ import com.raoulvdberge.refinedstorage.api.storage.IStorageCache; import com.raoulvdberge.refinedstorage.api.storage.IStorageTracker; import com.raoulvdberge.refinedstorage.api.storage.externalstorage.IStorageExternal; import com.raoulvdberge.refinedstorage.api.util.Action; -import com.raoulvdberge.refinedstorage.apiimpl.API; import com.raoulvdberge.refinedstorage.apiimpl.autocrafting.CraftingManager; import com.raoulvdberge.refinedstorage.apiimpl.energy.Energy; import com.raoulvdberge.refinedstorage.apiimpl.network.NetworkNodeGraph; @@ -712,13 +711,31 @@ public class TileController extends TileBase implements ITickable, INetwork, IRe } } + // Cannot use API#getNetworkNodeHashCode or API#isNetworkNodeEqual: it will crash with a AbstractMethodError (getPos). @Override public boolean equals(Object o) { - return API.instance().isNetworkNodeEqual(this, o); + if (!(o instanceof TileController)) { + return false; + } + + if (this == o) { + return true; + } + + TileController otherController = (TileController) o; + + if (world.provider.getDimension() != otherController.world.provider.getDimension()) { + return false; + } + + return pos.equals(otherController.pos); } @Override public int hashCode() { - return API.instance().getNetworkNodeHashCode(this); + int result = pos.hashCode(); + result = 31 * result + world.provider.getDimension(); + + return result; } }