package minefantasy.mf2.container; import minefantasy.mf2.api.archery.AmmoMechanicsMF; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.IInventory; import net.minecraft.item.ItemStack; public class InventoryReload implements IInventory { private ItemStack weapon; public InventoryReload(ItemStack weapon) { this.weapon = weapon; } @Override public int getSizeInventory() { return 1; } @Override public ItemStack getStackInSlot(int i) { return AmmoMechanicsMF.getAmmo(weapon); } @Override public ItemStack decrStackSize(int slot, int num) { ItemStack ammo = AmmoMechanicsMF.getAmmo(weapon); if(ammo != null) { ItemStack ammo2 = ammo.copy(); ammo.stackSize -= num; ammo2.stackSize = num; if(ammo.stackSize > 0) { setInventorySlotContents(slot, ammo); } else { setInventorySlotContents(slot, null); } return ammo2; } return ammo; } @Override public ItemStack getStackInSlotOnClosing(int slot) { return null; } @Override public void setInventorySlotContents(int slot, ItemStack item) { if(item != null) { AmmoMechanicsMF.setAmmo(weapon, item); } else { AmmoMechanicsMF.removeAmmo(weapon); } } @Override public String getInventoryName() { return null; } @Override public boolean hasCustomInventoryName() { return false; } @Override public int getInventoryStackLimit() { return 64; } @Override public void markDirty() { } @Override public boolean isUseableByPlayer(EntityPlayer user) { return true; } @Override public void openInventory() { } @Override public void closeInventory() { } @Override public boolean isItemValidForSlot(int slot, ItemStack item) { return false; } }