Spaces:
Build error
Build error
File size: 1,833 Bytes
d46f4a3 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 |
package net.minecraft.client.gui.font;
import com.mojang.serialization.Codec;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
import java.util.Map.Entry;
import net.minecraft.util.StringRepresentable;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn;
@OnlyIn(Dist.CLIENT)
public enum FontOption implements StringRepresentable {
UNIFORM("uniform"),
JAPANESE_VARIANTS("jp");
public static final Codec<FontOption> CODEC = StringRepresentable.fromEnum(FontOption::values);
private final String name;
private FontOption(final String p_334824_) {
this.name = p_334824_;
}
@Override
public String getSerializedName() {
return this.name;
}
@OnlyIn(Dist.CLIENT)
public static class Filter {
private final Map<FontOption, Boolean> values;
public static final Codec<FontOption.Filter> CODEC = Codec.unboundedMap(FontOption.CODEC, Codec.BOOL)
.xmap(FontOption.Filter::new, p_329501_ -> p_329501_.values);
public static final FontOption.Filter ALWAYS_PASS = new FontOption.Filter(Map.of());
public Filter(Map<FontOption, Boolean> p_332258_) {
this.values = p_332258_;
}
public boolean apply(Set<FontOption> p_334823_) {
for (Entry<FontOption, Boolean> entry : this.values.entrySet()) {
if (p_334823_.contains(entry.getKey()) != entry.getValue()) {
return false;
}
}
return true;
}
public FontOption.Filter merge(FontOption.Filter p_331605_) {
Map<FontOption, Boolean> map = new HashMap<>(p_331605_.values);
map.putAll(this.values);
return new FontOption.Filter(Map.copyOf(map));
}
}
} |