Skip to content

Instantly share code, notes, and snippets.

@Daomephsta
Created March 22, 2019 01:42
Show Gist options
  • Save Daomephsta/30434524375315cfecebf792d24df1b0 to your computer and use it in GitHub Desktop.
Save Daomephsta/30434524375315cfecebf792d24df1b0 to your computer and use it in GitHub Desktop.
Lambda Configs
{
/* This is a comment */
"identifiers": ["minecraft:potato"]
}
public class ConfigMod implements ModInitializer
{
@Override
public void onInitialize()
{
Configuration<Config> configBuilder = FabricConfigManager.INSTANCE.newConfig("config-mod", Config::new)
.property
(
PropertyType.STRING_ARRAY, "identifiers",
(config, array) -> config.identifiers = Arrays.stream(array).map(Identifier::new).collect(Collectors.toList()),
config -> config.identifiers.stream().map(Identifier::toString).toArray(String[]::new),
new String[0], "This is a comment"
)
.build();
System.out.println(configBuilder.load());
}
private static class Config
{
public Collection<Identifier> identifiers;
@Override
public String toString()
{
return String.format("Config [identifiers=%s]", identifiers);
}
}
}
[main/INFO]: [STDOUT]: Config [identifiers=[minecraft:potato]]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment