如何删除玩家库存?

时间:2014-10-22 09:15:08

标签: plugins bukkit inventory items

我有点想制作一个插件...... 这是我的代码:

Player player = (Player)event.getPlayer();
ItemStack item = new ItemStack( /* player.getInventory() */ /*  My problem here is how do i drop all items that or in my inventory (Some items might have enchantments!)  */);
World world = player.getWorld();
world.dropItem(player.getLocation(), item);

有人知道如何删除库存中的所有商品吗?有些物品可能具有附魔,掉落时无法移除。

2 个答案:

答案 0 :(得分:1)

如何迭代玩家库存并使用dropItemNaturally?

for (ItemStack itemStack : player.getInventory()) {
    player.getWorld().dropItemNaturally(player.getLocation(), itemStack);
}

答案 1 :(得分:0)

代码

for (ItemStack itemStack : player.getInventory()) {
    player.getWorld().dropItemNaturally(player.getLocation(), itemStack);
}
如果库存中没有任何项目,则

可以返回null。 我推荐这个:

for (ItemStack itemStack : player.getInventory().getContents()) {
    player.getWorld().dropItemNaturally(player.getLocation(), itemStack);
}
for (ItemStack itemStack : player.getInventory().getArmorContents()) {
    player.getWorld().dropItemNaturally(player.getLocation(), itemStack);
}

在for循环中,它们只循环遍历清单中的项目而不是插槽。