@EventHandler public void onSmelt(FurnaceSmeltEvent event) { // this ensures that an STB item smelted in a furnace leaves the // correct result in the furnace's output slot BaseSTBItem item = SensibleToolbox.getItemRegistry().fromItemStack(event.getSource()); if (item != null) { event.setResult(item.getSmeltingResult()); } }
private boolean validateSmeltingIngredient(ItemStack stack) { BaseSTBItem item = SensibleToolbox.getItemRegistry().fromItemStack(stack); if (item != null) { return item.getSmeltingResult() != null; } else { // vanilla item - need to ensure it's actually smeltable (i.e. wasn't added // as a furnace recipe because it's the material for some custom STB item) return RecipeCalculator.getSmeltedOutput(stack.getType()) != null; } }