diff options
author | basdxz <tudurap.com@gmail.com> | 2020-11-29 18:53:59 +0000 |
---|---|---|
committer | basdxz <tudurap.com@gmail.com> | 2020-11-29 18:53:59 +0000 |
commit | b21fbb19c3c1a5093ed3200e7caa637c2699e5e2 (patch) | |
tree | 6453d16edc4f41da1bbdcc11c8ba15c8c68137f8 | |
parent | 36ffce4bc6e283c4d4ffb5913af610206278d2ac (diff) | |
download | GT5-Unofficial-b21fbb19c3c1a5093ed3200e7caa637c2699e5e2.tar.gz GT5-Unofficial-b21fbb19c3c1a5093ed3200e7caa637c2699e5e2.tar.bz2 GT5-Unofficial-b21fbb19c3c1a5093ed3200e7caa637c2699e5e2.zip |
Fix Duplicate Tesla Connections with covers
-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); + } } |