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(