Example config
Show/hide
:
public record ExampleConfig(boolean exampleBoolean) implements ModConfig<ExampleConfig> {
public static final MapCodec<ExampleConfig> TYPE_CODEC = RecordCodecBuilder.mapCodec(instance -> instance.group(
Codec.BOOL.fieldOf("example_boolean").forGetter(ExampleConfig::exampleBoolean)
).apply(instance, instance.stable(ExampleConfig::new)));
public static final ModConfig.Type<ExampleConfig, ExampleConfig> TYPE = new ModConfig.Type<>(1, TYPE_CODEC);
@SuppressWarnings("unchecked")
public static final ModConfig.Type<ExampleConfig, ? extends ModConfig<ExampleConfig>>[] VERSIONS = new ModConfig.Type[] { TYPE, };
public static final Codec<ModConfig<ExampleConfig>> CODEC = ModConfig.createCodec(TYPE.version(), version ->
ModConfig.getConfigType(VERSIONS, version));
public static final ExampleConfig DEFAULT = new ExampleConfig(true);
@Override
public Type<ExampleConfig, ?> type() {
return TYPE;
}
@Override
public ExampleConfig latest() {
return this;
}
@Override
public boolean shouldUpdate() {
return true;
}
}