Формат конфигурации
SpongeAPI предлагает поддержку для сериализации текста непосредственно в конфигурационный файл Configurate с помощью класса TypeToken
. Text объекты сохраняются с использованием той же структуры узлов, что и JSON Text
-ы.
Совет
Информацию о том, как использовать 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 будет достаточно.