@Override
 public void loadCraftingRecipes(ItemStack result) {
   if (RecipesPulseFurnace.getRecipes().isProduct(result)) {
     List<ItemStack> li = RecipesPulseFurnace.getRecipes().getSources(result);
     if (li != null && !li.isEmpty()) arecipes.add(new PulseJetRecipe(li));
   }
 }
 @Override
 public void loadCraftingRecipes(String outputId, Object... results) {
   if (outputId != null && outputId.equals("rcpulsej")) {
     Collection<ItemStack> li = RecipesPulseFurnace.getRecipes().getAllSmeltables();
     for (ItemStack is : li) arecipes.add(new PulseJetRecipe(is));
   }
   super.loadCraftingRecipes(outputId, results);
 }
 @Override
 public PositionedStack getResult() {
   ItemStack in = this.getInput();
   ItemStack out = RecipesPulseFurnace.getRecipes().getSmeltingResult(in);
   return new PositionedStack(out, 120, 41);
 }
 @Override
 public void loadUsageRecipes(ItemStack ingredient) {
   if (RecipesPulseFurnace.getRecipes().isSmeltable(ingredient)) {
     arecipes.add(new PulseJetRecipe(ingredient));
   }
 }