Skip to content

Commit

Permalink
correct boolean logic in mapwriter
Browse files Browse the repository at this point in the history
  • Loading branch information
rfresh2 committed Dec 17, 2023
1 parent 049325f commit 83c4800
Showing 1 changed file with 4 additions and 1 deletion.
5 changes: 4 additions & 1 deletion src/main/java/xaeroplus/mixin/client/MixinMapWriter.java
Original file line number Diff line number Diff line change
Expand Up @@ -91,14 +91,17 @@ public void obsidianRoofHeadInject(final World world, final Registry<Block> 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"
), remap = true)
public boolean checkObsidianRoofColumn(final OverlayBuilder instance, final Operation<Boolean> 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(
Expand Down

0 comments on commit 83c4800

Please sign in to comment.