配置

配置

Configure是一个实用库,允许插件轻松为配置创建GUI。

图书馆

GitHub

Configure 会解析给定配置的解码器,并为其生成一个用户界面。要使用它,只需将你的配置包裹在这个插件的 WrappedConfig 类中,并注册它。你应该只通过这个包裹后的配置来访问你的配置。例如:

wrappedConfig = new WrappedConfig<>(
        PartyConfig.CODEC,
        withConfig(PartyConfig.CODEC),
        new ConfigMetadata("PartyChat")
);
registerConfig(wrappedConfig);

然后,用户运行 /config 时就会看到你的模组显示出来。

图片

编辑模组时看起来像这样:

图片

你可以在你的解码器条目中添加文档,以便它们以工具提示的形式显示。例如:

.append(
        new KeyedCodec<>("PlayerSendChatFormat", BuilderCodec.STRING),
        PartyConfig::setPlayerSendChatFormat,
        PartyConfig::getPlayerSendChatFormat
).documentation("这决定了队伍聊天会以何种格式显示。来自此插件时," +
        "你可以使用 '[SENDER]'、'[RECEIVER]' 和 '[MESSAGE]' 作为占位符。其他插件可以" +
        "添加更多占位符。")
.add()

它将如下所示显示:

图片

注意:不要直接访问配置,而应使用 WrappedConfig#read 方法。例如:

config.read(c -> c.getSystemPrefix())
// 或
config.read(PartyConfig::getSystemPrefix)

这可以确保你以线程安全的方式访问配置。如果配置被保存,插件将安全地使用新的值。