public void restoreKeptInventory() {
final List<ItemStack> displaced = new ArrayList<>();
final PlayerInventory inv = bukkit.getInventory();
kept.forEach((slot, keptStack) -> {
final ItemStack invStack = slot.getItem(bukkit);
if(invStack == null || slot instanceof Slot.Armor) {
slot.putItem(inv, keptStack);
} else {
if(invStack.isSimilar(keptStack)) {
int n = Math.min(keptStack.getAmount(), invStack.getMaxStackSize() - invStack.getAmount());
invStack.setAmount(invStack.getAmount() + n);
keptStack.setAmount(keptStack.getAmount() - n);
}
if(keptStack.getAmount() > 0) {
displaced.add(keptStack);
}
}
for(ItemStack stack : displaced) {
inv.addItem(stack);
}
});
kept.clear();
}
ItemKeepPlayerFacet.java 文件源码
java
阅读 25
收藏 0
点赞 0
评论 0
项目:ProjectAres
作者:
评论列表
文章目录