aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/main/java/com/github/technus/tectech/mechanics/tesla/ITeslaConnectable.java8
-rw-r--r--src/main/java/com/github/technus/tectech/mechanics/tesla/TeslaCoverConnection.java14
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);
+ }
}