首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Spigot保存到yml文件

使用Spigot保存到yml文件
EN

Stack Overflow用户
提问于 2022-08-20 20:23:27
回答 3查看 319关注 0票数 0

我正在尝试使用Spigot的Message.yml生成一个YAMLConfiguration文件。这是我的密码:

代码语言:javascript
复制
public static void create() {

    if(messagesFile.exists()) return;

    try {

        messagesFile.createNewFile();
        messages.options().copyDefaults(true);

        messages.addDefault("MESSAGES.PREFIX", "&c[YourServer] ");
        messages.addDefault("MESSAGES.DESIGN", "§8§l- ");
        messages.addDefault("MESSAGES.NOPERMS", "§c§lDazu hast du keine Rechte!");

        messages.addDefault("MESSAGES.ADDMAP.USAGE", "§c§lBitte nutze /addmap [mapname]!");

        messages.save(messagesFile);

    } catch(Exception e) {
        e.printStackTrace();
    }

}

但是,运行后收到的config.yml文件如下所示:

代码语言:javascript
复制
MESSAGES:
  PREFIX: '&c[YourServer] '
  DESIGN: "\xa78\xa7l- "
  NOPERMS: "\xa7c\xa7lDazu hast du keine Rechte!"
  ADDMAP:
    USAGE: "\xa7c\xa7lBitte nutze /addmap [mapname]!"

有办法解决吗?

EN

回答 3

Stack Overflow用户

发布于 2022-08-21 09:32:56

它认为文本是字符串而不是独立字符。

https://www.spigotmc.org/threads/special-characters-in-config.298138/

票数 0
EN

Stack Overflow用户

发布于 2022-08-28 09:55:46

是的,你用特殊的字符来保存颜色,但这是一个字符串。不要把你的颜色放在这里,只需保存绳子。例如,当您想要从配置中重新发送文本时。

代码语言:javascript
复制
player.sendMessage(ChatColor.RED + config.get("MESSAGES.PREFIX"));

这只是一个例子

票数 0
EN

Stack Overflow用户

发布于 2022-08-29 14:08:11

正如@Min克拉夫特在他的回答中说的那样,问题是Java将§识别为字符串的一部分,并将其转换为unicode。

我要做的是将您的自定义配置文件存储在您的插件资源目录中,其中包含您希望它已经定义的所有默认值。

然后,当您想使用自定义消息时,使用getConfig()的返回值的方法从配置文件中获取它。然后,如果您想要支持颜色代码,则应该使用message = ChatColor.translateAlternateColorCodes('&', yourMessage);或其他类似的方法。应该足够了。

另外,确保并为这些颜色代码使用统一的符号(默认值是&),但是您可以在前面提到的方法translateAlternativeColorCodes()中设置它。你似乎在使用&或§,我会坚持-。

资料来源:https://www.spigotmc.org/wiki/config-files/#using-custom-configurations https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/ChatColor.html#translateAlternateColorCodes(char,java.lang.String)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73429897

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档