Code/net/minecraft/util/datafix/fixes/OptionsAmbientOcclusionFix....

37 lines
1.2 KiB
Java
Raw Permalink Normal View History

2025-07-01 06:20:03 +00:00
package net.minecraft.util.datafix.fixes;
import com.mojang.datafixers.DSL;
import com.mojang.datafixers.DataFix;
import com.mojang.datafixers.DataFixUtils;
import com.mojang.datafixers.TypeRewriteRule;
import com.mojang.datafixers.Typed;
import com.mojang.datafixers.schemas.Schema;
import com.mojang.serialization.Dynamic;
public class OptionsAmbientOcclusionFix extends DataFix {
public OptionsAmbientOcclusionFix(Schema p_263497_) {
super(p_263497_, false);
}
@Override
public TypeRewriteRule makeRule() {
return this.fixTypeEverywhereTyped(
"OptionsAmbientOcclusionFix",
this.getInputSchema().getType(References.OPTIONS),
p_263493_ -> p_263493_.update(
DSL.remainderFinder(),
p_326634_ -> DataFixUtils.orElse(
p_326634_.get("ao").asString().map(p_263546_ -> p_326634_.set("ao", p_326634_.createString(updateValue(p_263546_)))).result(), p_326634_
)
)
);
}
private static String updateValue(String p_263541_) {
return switch (p_263541_) {
case "0" -> "false";
case "1", "2" -> "true";
default -> p_263541_;
};
}
}