diff options
-rw-r--r-- | src/main/java/com/github/technus/tectech/mechanics/tesla/ITeslaConnectable.java | 8 | ||||
-rw-r--r-- | src/main/java/com/github/technus/tectech/mechanics/tesla/TeslaCoverConnection.java | 14 |
2 files changed, 19 insertions, 3 deletions
diff --git a/src/main/java/com/github/technus/tectech/mechanics/tesla/ITeslaConnectable.java b/src/main/java/com/github/technus/tectech/mechanics/tesla/ITeslaConnectable.java index 3cb8d9e9a2..de8d828cf4 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/tesla/ITeslaConnectable.java +++ b/src/main/java/com/github/technus/tectech/mechanics/tesla/ITeslaConnectable.java @@ -36,9 +36,11 @@ public interface ITeslaConnectable extends ITeslaConnectableSimple { private static final HashSet<ITeslaConnectableSimple> teslaSimpleNodeSet = new HashSet<>();//Targets for power transmission private static final HashSet<ITeslaConnectable> teslaNodeSet = new HashSet<>();//Sources of power transmission - public static void teslaSimpleNodeSetAdd(ITeslaConnectableSimple target){ - teslaSimpleNodeSet.add(target); - teslaNodeSet.forEach(origin -> addTargetToTeslaOrigin(target, origin)); + public static void teslaSimpleNodeSetAdd(ITeslaConnectableSimple target) { + if (!teslaSimpleNodeSet.contains(target)) { + teslaSimpleNodeSet.add(target); + teslaNodeSet.forEach(origin -> addTargetToTeslaOrigin(target, origin)); + } } public static void teslaSimpleNodeSetRemove(ITeslaConnectableSimple target){ diff --git a/src/main/java/com/github/technus/tectech/mechanics/tesla/TeslaCoverConnection.java b/src/main/java/com/github/technus/tectech/mechanics/tesla/TeslaCoverConnection.java index 385ad8d74e..5c6fef6af8 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/tesla/TeslaCoverConnection.java +++ b/src/main/java/com/github/technus/tectech/mechanics/tesla/TeslaCoverConnection.java @@ -1,6 +1,7 @@ package com.github.technus.tectech.mechanics.tesla; import com.github.technus.tectech.util.Vec3Impl; +import com.google.common.base.Objects; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import static com.github.technus.tectech.mechanics.tesla.ITeslaConnectable.TeslaUtil.teslaSimpleNodeSetAdd; @@ -60,4 +61,17 @@ public class TeslaCoverConnection implements ITeslaConnectableSimple { return output; } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + TeslaCoverConnection that = (TeslaCoverConnection) o; + return Objects.equal(IGT, that.IGT); + } + + @Override + public int hashCode() { + return Objects.hashCode(IGT); + } } |