@Override protected void recipeFinished() { log.finer("Recipe Finished"); // getInputs().removeOneFrom(getInventory()); // Don't double dip! Parent consume already ate // recipe costs. org.bukkit.inventory.ItemStack[] contents = getInventory().getContents(); for (int x = 0; x < contents.length; x++) { org.bukkit.inventory.ItemStack stack = contents[x]; if (stack == null) { continue; } if (repairable(stack)) { log.fine("Found repairable: " + stack.getType()); ItemStack s = CraftItemStack.asNMSCopy(stack); s.setRepairCost(rfp.getResetLevel()); getInventory().setItem(x, CraftItemStack.asBukkitCopy(s)); } else { log.fine("Found non-repairable: " + stack.getType()); } } }