@Override
 public void onSlotChanged() {
   if (container.needCraftingUpdate) {
     container.updateCrafting();
   }
   super.onSlotChanged();
 }
 @Override
 public void onPickupFromSlot(EntityPlayer player, ItemStack stack) {
   container.needCraftingUpdate = false;
   switch (container.state) {
     case DECOMPOSING:
       if (inventory == container.invInput
           && container.getSlot(SequenceProgrammerContainer.OUT).getHasStack()
           && stack.stackSize > 1) {
         putStack(stack.splitStack(1));
         container.pendingCount = 0;
       }
     default:
       break;
   }
   container.needCraftingUpdate = true;
   super.onPickupFromSlot(player, stack);
 }