我正在制作一个我的世界插件,我想在字符串(棍子/钻石)中获取字符串,我该怎么做

这是我的世界插件YAML

item:
  stick:
    name: Stick
    lore: just a stick
    amount: 5
    percent: 100
  diamond:
    name: Shiny Diamond
    lore: Shiny Shiny
    amount: 1
    percent: 50


这是我的Java代码

Random r = new Random();
int result = r.nextInt(getConfig().getStringList("item").size());

String titem = getConfig().getStringList("item").get(result);

Material itemm = Material.getMaterial(titem);
int amount = getConfig().getInt(titem + ".amount");

if (rand.nextInt(100) < getConfig().getInt(titem + ".percent")) {

    ItemStack item = new ItemStack(itemm, amount);
    SkullMeta pm = (SkullMeta) item.getItemMeta();
    item.setItemMeta(pm);

    monster.getWorld().dropItem(e.getEntity().getLocation(), item);
}


除了这个错误,它什么也没做:


  在cc.gorjoe.spigot.mobDie.Main.onEntityDeath(Main.java:50)〜[?:?]


第50行对应于String titem = getConfig().getStringList("item").get(result);

最佳答案

好了,问题解决了,只需一个简单的for循环即可完成

ArrayList<String> ran = new ArrayList<String>();

for (String x : getConfig().getConfigurationSection("item").getKeys(false)) {
    System.out.println(x + " oo");
    ran.add(x);
}

关于java - 如何在字串(yaml)中取得字串,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57706998/

10-12 00:13