ItemType.java 文件源码

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

项目:Skript 作者:
/**
 * Removes this type from the given inventory. Does not call updateInventory for players.
 * 
 * @param invi
 * @return Whether everything could be removed from the inventory
 */
public boolean removeFrom(final Inventory invi) {
    ItemStack[] buf = invi.getContents();
    /* This was causing issues with clearing some slots (armor, offhand and last slot)
    // uses an array of size 36. some unknown bug with bukkit
    if (buf.length > 36) {
        ItemStack[] tBuf = buf.clone();
        buf = new ItemStack[35];
        for(int i = 0; i < 35; ++i) {
            buf[i] = tBuf[i];
        }
    }
    */
    final ItemStack[] armour = invi instanceof PlayerInventory ? ((PlayerInventory) invi).getArmorContents() : null;

    @SuppressWarnings("unchecked")
    final boolean ok = removeFrom(Arrays.asList(buf), armour == null ? null : Arrays.asList(armour));

    invi.setContents(buf);
    if (armour != null)
        ((PlayerInventory) invi).setArmorContents(armour);
    return ok;
}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号