@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;
  }