gpt4 book ai didi

java - 从变量中获取变量列表

转载 作者:行者123 更新时间:2023-11-29 05:07:06 25 4
gpt4 key购买 nike

我正在使用 Bukkit 1.8 API。我已经制作了一个配置文件来编辑代码。我在配置中有一个等级列表,我正在循环使用它

for(String ranks : plugin.getConfig().getStringList("selllallranks"))

配置中的排名列表如下所示

selllallranks:
- 'a'
- 'b'
- 'c'
- 'd'
- 'e'
- 'f'
# etc...

然后我开始检查存货,其中包含可在配置中编辑的价格出售的积木。这是我拥有的其余代码

for(String sellallsell : plugin.getConfig().getStringList("sellall" + ranks))
{
if(p.getInventory().contains(Material.valueOf(sellallsell)))
{

}
}

我尝试将它作为一个字符串列表进行循环。唯一的问题是我不是循环遍历字符串列表,而是循环变量列表。 Bukkit API 没有这方面的方法。编辑时配置文件看起来像这样

sellalla:
cobblestone: 10
dirt: 1
diamond_block: 1000

这里的每个变量都代表 Material 名称,后面跟着它的价格。

我的问题是,将配置中的这些变量作为列表获取。在此列表中,我想遍历它并检查它是否在玩家的 list 中。在此之后,我想获得每种 Material 的数量,并将其乘以定价。然后我会把钱存入玩家的账户。

我唯一需要修复的是如何从 sellalla: 变量中获取变量列表。我也想从中获取整数。

最佳答案

如果你想获取路径中的键列表,你可以使用:

plugin.getConfig().getConfigurationSection("path").getKeys(false);

因此,例如,如果上述代码在此配置上运行:

path:
key0: 55
key1: 72
key2: 8

你会得到 List<String>包含值 key0 , key1 , 和 key2 .然后,要获取这些键的值,您可以简单地使用:

plugin().getConfig().get("path." + key);

getConfigurationSection(String)选择 arg0 处的配置部分(此方法仅用于获取 API 对象)

getKeys(false)获取上一节中的所有键。使用 false使它只获得第一个键,而不是下一个。例如,getKeys(true)会返回 key0 , subkey0 , key1 , 和 subkey1 ,而 getKeys(false)只会返回 key0key1 :

 path:
key0:
subkey0: 10
key1:
subkey1: 6

因此,您的代码可能如下所示:

for(String key : plugin.getConfig().getConfigurationSection("sellall")){
Material material = Material.valueOf(key); //the material
int value = plugin().getConfig().getInt("sellall." + key); //the sell price of the material

//the rest of your code here
}

关于java - 从变量中获取变量列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30009373/

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