@Override
  public void onSlotChange(final Slot s) {
    if (s == this.patternSlotOUT && Platform.isServer()) {
      for (final Object crafter : this.crafters) {
        final ICrafting icrafting = (ICrafting) crafter;

        for (final Object g : this.inventorySlots) {
          if (g instanceof OptionalSlotFake || g instanceof SlotFakeCraftingMatrix) {
            final Slot sri = (Slot) g;
            icrafting.sendSlotContents(this, sri.slotNumber, sri.getStack());
          }
        }
        ((EntityPlayerMP) icrafting).isChangingQuantityOnly = false;
      }
      this.detectAndSendChanges();
    }
  }