From e3d159d0d744323ad6895a3009b7b15aec24a875 Mon Sep 17 00:00:00 2001 From: Abdiel Kavash <19243993+AbdielKavash@users.noreply.github.com> Date: Sat, 12 Jul 2025 09:32:33 -0600 Subject: [PATCH 1/2] uBS + uD --- dependencies.gradle | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dependencies.gradle b/dependencies.gradle index c0518bc2..b159438c 100644 --- a/dependencies.gradle +++ b/dependencies.gradle @@ -1,8 +1,8 @@ // Add your dependencies here dependencies { - api("com.github.GTNewHorizons:GTNHLib:0.6.31:dev") - implementation("com.github.GTNewHorizons:NotEnoughItems:2.7.56-GTNH:dev") + api("com.github.GTNewHorizons:GTNHLib:0.6.36:dev") + implementation("com.github.GTNewHorizons:NotEnoughItems:2.7.62-GTNH:dev") testImplementation(platform('org.junit:junit-bom:5.9.2')) testImplementation('org.junit.jupiter:junit-jupiter') From a17951c7d75ce98d1248afbf392249103c008a91 Mon Sep 17 00:00:00 2001 From: Abdiel Kavash <19243993+AbdielKavash@users.noreply.github.com> Date: Sat, 12 Jul 2025 09:32:54 -0600 Subject: [PATCH 2/2] IAlignmentLimits presets --- .../alignment/IAlignmentLimits.java | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/src/main/java/com/gtnewhorizon/structurelib/alignment/IAlignmentLimits.java b/src/main/java/com/gtnewhorizon/structurelib/alignment/IAlignmentLimits.java index 4cefb739..52f3e725 100644 --- a/src/main/java/com/gtnewhorizon/structurelib/alignment/IAlignmentLimits.java +++ b/src/main/java/com/gtnewhorizon/structurelib/alignment/IAlignmentLimits.java @@ -14,8 +14,28 @@ import com.gtnewhorizon.structurelib.alignment.enumerable.Rotation; public interface IAlignmentLimits { + /** + * Can be placed in any orientation. + */ IAlignmentLimits UNLIMITED = (direction, rotation, flip) -> true; + /** + * Must be standing upright; i.e., top side of the block facing up. + */ + IAlignmentLimits UPRIGHT = (direction, rotation, flip) -> direction.offsetY == 0 + && (flip.isVerticallyFliped() ? rotation.isUpsideDown() : rotation.isNotRotated()); + + /** + * Can be in any orientation except upside down; i.e., top side of the block facing down. + */ + IAlignmentLimits NOT_UPSIDE_DOWN = (direction, rotation, flip) -> direction.offsetY != 0 + || (flip.isVerticallyFliped() ? !rotation.isNotRotated() : !rotation.isUpsideDown()); + + /** + * Front side of the block must be facing up. + */ + IAlignmentLimits FACING_UP = (direction, rotation, flip) -> direction == ForgeDirection.UP; + boolean isNewExtendedFacingValid(ForgeDirection direction, Rotation rotation, Flip flip); default boolean isNewExtendedFacingValid(ExtendedFacing alignment) {