Patch rotation glitch

This commit is contained in:
cyberpwn 2021-08-18 01:24:17 -04:00
parent a669fcba7a
commit 3e30994541
2 changed files with 6 additions and 2 deletions

View File

@ -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;
}
}

View File

@ -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()) {