Currently, with a config field like:
@Configurable public static List<List<Identifier>> someIdentifierList = List.of(List.of(), List.of(Identifier.parse("meow:meow")));
and with a configurable.properties like this:
name=configurable_test_config
type=toml
it tries serializing and writing the config, but ends up throwing:
[19:15:07] [main/INFO] (configurable-loader) Loading Generated Config Loaders...
[19:15:07] [main/WARN] (configurable) Value for 'some_identifier_list' is invalid. Resetting to default value: 'List.of(List.of(), List.of(Identifier.parse("meow:meow")))'
[19:15:07] [main/ERROR] (configurable) Failed to save TOML config to 'configurable_test_config.toml'
com.electronwill.nightconfig.core.io.WritingException: Unsupported value type: class net.minecraft.resources.Identifier
at knot//com.electronwill.nightconfig.toml.ValueWriter.write(ValueWriter.java:62)
at knot//com.electronwill.nightconfig.toml.ArrayWriter.write(ArrayWriter.java:34)
at knot//com.electronwill.nightconfig.toml.ValueWriter.write(ValueWriter.java:39)
at knot//com.electronwill.nightconfig.toml.ArrayWriter.write(ArrayWriter.java:34)
at knot//com.electronwill.nightconfig.toml.ValueWriter.write(ValueWriter.java:39)
at knot//com.electronwill.nightconfig.toml.TableWriter.writeWithHeader(TableWriter.java:161)
at knot//com.electronwill.nightconfig.toml.TableWriter.writeTopLevel(TableWriter.java:48)
at knot//com.electronwill.nightconfig.toml.TomlWriter.write(TomlWriter.java:42)
at knot//com.electronwill.nightconfig.core.io.ConfigWriter.write(ConfigWriter.java:47)
at knot//com.electronwill.nightconfig.core.io.ConfigWriter.write(ConfigWriter.java:123)
at knot//com.electronwill.nightconfig.core.io.ConfigWriter.write(ConfigWriter.java:77)
at knot//com.bawnorton.configurable.io.SaveLoader.saveToml(SaveLoader.java:278)
at knot//com.bawnorton.configurable.io.SaveLoader.save(SaveLoader.java:63)
at knot//com.bawnorton.configurable.generated.configurable_test_config.GeneratedConfigLoader.save(GeneratedConfigLoader.java:44)
at knot//com.bawnorton.configurable.ConfigurableLoader.registerConfigLoader(ConfigurableLoader.java:54)
at knot//com.bawnorton.configurable.ConfigurableLoader.lambda$init$0(ConfigurableLoader.java:33)
at java.base/java.lang.Iterable.forEach(Iterable.java:75)
at knot//com.bawnorton.configurable.ConfigurableLoader.init(ConfigurableLoader.java:32)
at knot//net.minecraft.server.Bootstrap.handler$bbb000$configurable$asEarlyAsFeasibleForReferencingMCClasses(Bootstrap.java:1022)
at knot//net.minecraft.server.Bootstrap.bootStrap(Bootstrap.java:51)
at knot//net.minecraft.client.main.Main.main(Main.java:135)
at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:514)
at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:72)
at net.fabricmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:23)
at net.fabricmc.devlaunchinjector.Main.main(Main.java:86)
and writes to the toml:
some_identifier_list = [[], [
This isn't a huge deal, since this should be caught in development, but it is an issue. It's also not clear which types are supported
Currently, with a config field like:
and with a configurable.properties like this:
it tries serializing and writing the config, but ends up throwing:
and writes to the toml:
some_identifier_list = [[], [This isn't a huge deal, since this should be caught in development, but it is an issue. It's also not clear which types are supported