From 3e30994541d0c352fc5b8b967e25424a06fb8bbf Mon Sep 17 00:00:00 2001 From: cyberpwn Date: Wed, 18 Aug 2021 01:24:17 -0400 Subject: [PATCH] Patch rotation glitch --- .../java/com/volmit/iris/engine/jigsaw/PlannedStructure.java | 5 ++++- .../iris/engine/object/objects/IrisAxisRotationClamp.java | 3 ++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/volmit/iris/engine/jigsaw/PlannedStructure.java b/src/main/java/com/volmit/iris/engine/jigsaw/PlannedStructure.java index b97d437d9..1a22a0648 100644 --- a/src/main/java/com/volmit/iris/engine/jigsaw/PlannedStructure.java +++ b/src/main/java/com/volmit/iris/engine/jigsaw/PlannedStructure.java @@ -228,12 +228,15 @@ public class PlannedStructure { private boolean generateRotatedPiece(PlannedPiece piece, IrisJigsawPieceConnector pieceConnector, IrisJigsawPiece idea, IrisObjectRotation rotation) { if (!idea.getPlacementOptions().getRotation().isEnabled()) - rotation = piece.getRotation(); //Inherit parent rotation + { + rotation = piece.getRotation(); + } PlannedPiece test = new PlannedPiece(this, piece.getPosition(), idea, rotation); for (IrisJigsawPieceConnector j : test.getPiece().getConnectors().shuffleCopy(rng)) { if (generatePositionedPiece(piece, pieceConnector, test, j)) { + Iris.info("PLACED " + piece.getPiece().getLoadKey() + " -> " + test.getPiece().getLoadKey() + " on " + pieceConnector.getName() + "#" + pieceConnector.getTargetName()); return true; } } diff --git a/src/main/java/com/volmit/iris/engine/object/objects/IrisAxisRotationClamp.java b/src/main/java/com/volmit/iris/engine/object/objects/IrisAxisRotationClamp.java index bcb0b53fc..80ed6d02c 100644 --- a/src/main/java/com/volmit/iris/engine/object/objects/IrisAxisRotationClamp.java +++ b/src/main/java/com/volmit/iris/engine/object/objects/IrisAxisRotationClamp.java @@ -33,6 +33,7 @@ import lombok.experimental.Accessors; public class IrisAxisRotationClamp { @Desc("Should this axis be rotated at all?") private boolean enabled = false; + private transient boolean forceLock = false; @Required @@ -72,7 +73,7 @@ public class IrisAxisRotationClamp { public double getRadians(int rng) { if (forceLock) { - return Math.toRadians(max); + return Math.toRadians(Math.ceil(Math.abs((max % 360D)))); } if (isUnlimited()) {