@Override public ItemStack decrStackSize(int par1, int par2) { if (this.stackList[par1] != null) { ItemStack var3; if (par1 == 1 && this.stackList[par1].stackSize <= par2) { if (this.currentContainer instanceof ContainerSlimeling) { ContainerSlimeling.removeSlots((ContainerSlimeling) this.currentContainer); ContainerSlimeling.addSlots( (ContainerSlimeling) this.currentContainer, ((EntityPlayer) this.slimeling.getOwner()).inventory, this.slimeling); } for (int i = 2; i < this.stackList.length; i++) { if (this.stackList[i] != null) { if (!this.slimeling.worldObj.isRemote) { this.slimeling.entityDropItem(this.stackList[i], 0.5F); } this.stackList[i] = null; } } var3 = this.stackList[par1]; this.stackList[par1] = null; return var3; } else { var3 = this.stackList[par1].splitStack(par2); if (par1 == 1 && this.stackList[par1].stackSize == 0) { ContainerSlimeling.removeSlots((ContainerSlimeling) this.currentContainer); ContainerSlimeling.addSlots( (ContainerSlimeling) this.currentContainer, ((EntityPlayer) this.slimeling.getOwner()).inventory, this.slimeling); for (int i = 2; i < this.stackList.length; i++) { if (this.stackList[i] != null) { if (!this.slimeling.worldObj.isRemote) { this.slimeling.entityDropItem(this.stackList[i], 0.5F); } this.stackList[i] = null; } } this.stackList[par1] = null; } return var3; } } else { return null; } }
@Override public void setInventorySlotContents(int par1, ItemStack par2ItemStack) { if (par1 == 1 && (par2ItemStack == null && this.stackList[par1] != null || !ItemStack.areItemStacksEqual(par2ItemStack, this.stackList[par1]))) { ContainerSlimeling.addAdditionalSlots( (ContainerSlimeling) this.currentContainer, this.slimeling, par2ItemStack); } this.stackList[par1] = par2ItemStack; }