public void setOutput(ItemStack stack) {
   if (stack == null) {
     return;
   }
   // ensure that the output is valid
   for (ItemStack candidate : TinkerRegistry.getStencilTableCrafting()) {
     // NBT sensitive
     if (ItemStack.areItemStacksEqual(stack, candidate)) {
       // yay
       output = stack;
       updateResult();
       return;
     }
   }
 }