gpt4 book ai didi

java - 如何从 config.yml Bukkit 获取字符串

转载 作者:行者123 更新时间:2023-11-30 02:06:12 24 4
gpt4 key购买 nike

我有一个像这样的配置文件:

mute:
MrBahur:
time: 30
reason: dsa
SlayZBro:
time: 30
reason: dsa

我想取名“MrBahur”和“SlayZBro”并在 brodcast 上每秒打印此信息我的代码是这样的,但它不起作用,为什么

public void runnable() {
new BukkitRunnable() {
@Override
public void run() {
for(String x : getConfig().getStringList("mute"))
Bukkit.broadcastMessage(x);
}
}.runTaskTimerAsynchronously(this, 0, 20);
}

最佳答案

通常,StackOverflow 上的人们会鼓励您解释迄今为止为使代码正常运行所做的尝试,因此请了解这一点以供将来使用。

无论如何,您遇到的问题是您尝试访问数据,就好像它们是字符串列表一样(具体来说,您调用 getStringList(String) )。 YAML(编写 .yml 文件的格式)本质上是 JSON 的更易读/更简单的版本。您的 .yml 文件将如下所示:

{
"mute": {
"MrBahur": {
"time": 30,
"reason": "dsa"
},
"SlayZBro": {
"time": 30,
"reason": "dsa"
}
}
}

正如您所看到的,当采用这种格式时,您的 .yml 文件在任何地方都不包含字符串列表。为了访问两个字符串“MrBahur”和“SlayZBro”,您需要替换以下代码:

for (String x : getConfig().getStringList("mute"))

改为以下内容:

for (String x : getConfig().getConfigurationSection("mute").getKeys(false))

如果引用方法的文档getConfigurationSection(String)getKeys(boolean) ,您将准确设置发生的情况。

请注意,StackOverflow 并不是 Bukkit 开发人员中最活跃的。我通常会回答人们提出的任何问题,但我没有看到很多人在这个标签上如此活跃。 SpigotMC 开发者论坛往往更加活跃一些。

关于java - 如何从 config.yml Bukkit 获取字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51272283/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com