配置文件格式

SpongeAPI 提供了通过 TypeToken 类,将文本直接序列化为 Configurate 配置文件的支持。通过此种方式序列化的 Text 对象将会保存在一种更为灵活的,名为“人性化配置对象表示法”(HOCON)的格式的文件中;其节点结构与对应的 JSON 格式对象相同。

小技巧

关于如何使用 Configurate 处理插件的配置文件,请参阅插件配置中的内容。

例如,带下划线的红色文本 "Hello World!" 将会以如下方式表达为 HOCON 格式文本:

{
    underlined=true
    color=red
    text="Hello World!"
}

若要将一个 Text 对象保存到一个节点中,只需要下面的代码:

import com.google.common.reflect.TypeToken;
import ninja.leaping.configurate.ConfigurationNode;
import org.spongepowered.api.text.Text;
import org.spongepowered.api.text.format.TextColors;
import org.spongepowered.api.text.format.TextStyles;

ConfigurationNode node = loader.load();
Text text = Text.of(TextColors.RED, TextStyles.UNDERLINE, "Hello World!");
node.getNode("mytext").setValue(TypeToken.of(Text.class), text);
loader.save(node);

然后你可以通过下面的代码加载并生成一个 Text 对象:

Text text = node.getNode("mytext").getValue(TypeToken.of(Text.class));

注解

并不是只有 HoconConfigurationLoader 可以这么做,实际上所有的 ConfigurationLoader 都可以。