掉落物品龙头

Drop item spigot

我正在为我的 minecraft 服务器制作一个 bedwars 插件,实际上我必须每 1 秒为掉落物品编写一个生成器,我不知道如何制作,我已经通过互联网完成了这段代码:

        while(true) {
            task = Bukkit.getServer().getScheduler().runTaskTimer(Main.plugin, () -> {
                World w =  null;
                for(Player p : Bukkit.getServer().getOnlinePlayers()) {
                    w = p.getWorld();
                }
                String[] pos = Main.blue_spawn.split("\*");
                Location loc = new Location(w, Double.parseDouble(pos[0]), Double.parseDouble(pos[1]), Double.parseDouble(pos[2]));
                w.dropItemNaturally(loc, new ItemStack(1));
            }, 20, 20);
        }

但是我不知道怎么掉铁锭,因为做 new ItemStack(Material.IRON_INGOT) 就报错

请帮忙

你不应该在我的世界中使用 while(true) 循环。它会阻塞线程,这似乎是主服务器线程。调度程序足以保持 运行.

那么,获取世界的玩家循环不是一个好主意。如果有人在下界什么的,那是行不通的。您可以使用 Bukkit.getServer().getWorlds()[0]Bukkit.getServer().getWorld("world").

另外,new ItemStack(Material.IRON_INGOT) 应该可以。 Documentation 关于它。

最后,dropItemNaturally这个方法还是不错的。您可以查看文档 here