4399123
if (p.getInventory().containsAtLeast(Voucher.voucher,1)) {
    p.getInventory().remove(Voucher.voucher);
    SlotMachine.drawLottery(p);
我要判断玩家的背包内是否有兑换券(Voucher.voucher),在判断的时候可以使用containsAtLeast方法,能够正确判断,但是在扣除兑换券的时候,使用remove只能扣除单个堆叠的兑换券,如果玩家有两个以上堆叠起来的兑换券则扣除不了,求大佬支招!

FrankHan2004
用Inventory的all()方法?提供物品的material,返回Map<Integer,ItemStack>,然后遍历每个key去比对,如果特征符合并数量是1就清空改slot并退出循环,如果特征符合并数量大于1就数量减一退出循环

第一页 上一页 下一页 最后一页