From 100e45051408cfa290d477aca343462a9a748acc Mon Sep 17 00:00:00 2001 From: CrazyDev22 Date: Tue, 23 Apr 2024 13:48:47 +0200 Subject: [PATCH] fix jigsaw piece collision --- .../java/com/volmit/iris/engine/jigsaw/PlannedPiece.java | 3 +++ .../java/com/volmit/iris/engine/jigsaw/PlannedStructure.java | 5 +++++ 2 files changed, 8 insertions(+) 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; }