BlockSurveyFlag.java 文件源码

java
阅读 23 收藏 0 点赞 0 评论 0

项目:OpenFlexiTrack 作者:
/**
 * Removes the given amount of items from the given player inventory. Scans through multiple inventory slots if needed.
 * 
 * @param inv - {@link net.minecraft.entity.player.InventoryPlayer Player inventory} to interact with.
 * @param item - {@link net.minecraft.item.Item Item type} to remove.
 * @param meta - Item metadata; set to {@code -1} to disregard item metadata.
 * @param qty - Number of items to remove.
 */
private static void removeItemsFromPlayer(InventoryPlayer inv, Item item, int meta, int qty){

    for(int i=0; i<inv.mainInventory.length; ++i){

        ItemStack stack = inv.mainInventory[i];
        if (stack == null) {
            continue;
        }

        if(stack.getItem().equals(item)){
            if(stack.getItemDamage() == meta || meta == -1){
                if(stack.stackSize <= qty){
                    qty -= stack.stackSize;
                    inv.removeStackFromSlot(i);
                }else{
                    stack.stackSize -= qty;
                    inv.setInventorySlotContents(i, stack);
                    return;
                }
            }
        }
    }
}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号