diff --git a/core/src/main/java/com/volmit/iris/engine/jigsaw/PlannedPiece.java b/core/src/main/java/com/volmit/iris/engine/jigsaw/PlannedPiece.java index d2b0d43ea..08088ac38 100644 --- a/core/src/main/java/com/volmit/iris/engine/jigsaw/PlannedPiece.java +++ b/core/src/main/java/com/volmit/iris/engine/jigsaw/PlannedPiece.java @@ -30,6 +30,7 @@ import com.volmit.iris.util.math.AxisAlignedBB; import com.volmit.iris.util.math.BlockPosition; import com.volmit.iris.util.math.RNG; import lombok.Data; +import lombok.EqualsAndHashCode; import org.bukkit.Material; import org.bukkit.World; import org.bukkit.block.Block; @@ -50,10 +51,12 @@ public class PlannedPiece { private IrisObject ogObject; private IrisJigsawPiece piece; private IrisObjectRotation rotation; + @EqualsAndHashCode.Exclude private IrisData data; private KList connected; private boolean dead = false; private AxisAlignedBB box; + @EqualsAndHashCode.Exclude private PlannedStructure structure; public PlannedPiece(PlannedStructure structure, IrisPosition position, IrisJigsawPiece piece) { diff --git a/core/src/main/java/com/volmit/iris/engine/jigsaw/PlannedStructure.java b/core/src/main/java/com/volmit/iris/engine/jigsaw/PlannedStructure.java index 36cdcaa00..dc2bf6b68 100644 --- a/core/src/main/java/com/volmit/iris/engine/jigsaw/PlannedStructure.java +++ b/core/src/main/java/com/volmit/iris/engine/jigsaw/PlannedStructure.java @@ -31,6 +31,7 @@ import com.volmit.iris.util.math.RNG; import com.volmit.iris.util.matter.slices.container.JigsawPieceContainer; import com.volmit.iris.util.matter.slices.container.JigsawStructuresContainer; import lombok.Data; +import lombok.EqualsAndHashCode; import org.bukkit.Axis; import org.bukkit.World; @@ -319,6 +320,10 @@ public class PlannedStructure { public boolean collidesWith(PlannedPiece piece, PlannedPiece ignore) { for (PlannedPiece i : pieces) { + if (i.equals(ignore)) { + continue; + } + if (i.collidesWith(piece)) { return true; }