From 22d481c52c1501226269a3741ad1381b18db28e3 Mon Sep 17 00:00:00 2001 From: rfresh2 <89827146+rfresh2@users.noreply.github.com> Date: Sun, 17 Dec 2023 13:32:01 -0800 Subject: [PATCH] correct boolean logic in mapwriter --- src/main/java/xaeroplus/mixin/client/MixinMapWriter.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/main/java/xaeroplus/mixin/client/MixinMapWriter.java b/src/main/java/xaeroplus/mixin/client/MixinMapWriter.java index 25951d42..dbdeb5d4 100644 --- a/src/main/java/xaeroplus/mixin/client/MixinMapWriter.java +++ b/src/main/java/xaeroplus/mixin/client/MixinMapWriter.java @@ -91,6 +91,9 @@ public void obsidianRoofHeadInject(final World world, final Registry bloc } } + // What we want: a = !b && !c + // But we're wrapping b + // so instead we do a = !(b || c) @WrapOperation(method = "loadPixel", at = @At( value = "INVOKE", target = "Lxaero/map/region/OverlayBuilder;isEmpty()Z" @@ -98,7 +101,7 @@ public void obsidianRoofHeadInject(final World world, final Registry bloc public boolean checkObsidianRoofColumn(final OverlayBuilder instance, final Operation original, @Share("columnRoofObsidian") final LocalBooleanRef columnRoofObsidianRef) { if (!XaeroPlusSettingRegistry.transparentObsidianRoofSetting.getValue()) return original.call(instance); - return original.call(instance) && !columnRoofObsidianRef.get(); + return original.call(instance) || columnRoofObsidianRef.get(); } @ModifyExpressionValue(method = "loadPixelHelp", at = @At(