package net.minecraft.server; import java.util.Iterator; public class InventoryCrafting implements IInventory, AutoRecipeOutput { private final NonNullList<ItemStack> items; private final int b; private final int c; public final Container container; public InventoryCrafting(Container container, int i, int j) { this.items = NonNullList.a(i * j, ItemStack.a); this.container = container; this.b = i; this.c = j; } @Override public int getSize() { return this.items.size(); } @Override public boolean isEmpty() { Iterator iterator = this.items.iterator(); ItemStack itemstack; do { if (!iterator.hasNext()) { return true; } itemstack = (ItemStack) iterator.next(); } while (itemstack.isEmpty()); return false; } @Override public ItemStack getItem(int i) { return i >= this.getSize() ? ItemStack.a : (ItemStack) this.items.get(i); } @Override public ItemStack splitWithoutUpdate(int i) { return ContainerUtil.a(this.items, i); } @Override public ItemStack splitStack(int i, int j) { ItemStack itemstack = ContainerUtil.a(this.items, i, j); if (!itemstack.isEmpty()) { this.container.a((IInventory) this); } return itemstack; } @Override public void setItem(int i, ItemStack itemstack) { this.items.set(i, itemstack); this.container.a((IInventory) this); } @Override public void update() {} @Override public boolean a(EntityHuman entityhuman) { return true; } @Override public void clear() { this.items.clear(); } public int f() { return this.c; } public int g() { return this.b; } @Override public void a(AutoRecipeStackManager autorecipestackmanager) { Iterator iterator = this.items.iterator(); while (iterator.hasNext()) { ItemStack itemstack = (ItemStack) iterator.next(); autorecipestackmanager.a(itemstack); } } }