sh = new ShapedRecipe(r.getResult().getItemStack());
((ShapedRecipe) sh).shape(r.getShape());
for (Entry<CraftingItemStack, Character> is : r.getShapedIngredients().entrySet())
((ShapedRecipe) sh).setIngredient(is.getValue(), is.getKey().getItemStack().getData());
} else if (r.getType() == RecipeManager.RecipeType.FURNACE) {
sh = new FurnaceRecipe(r.getResult().getItemStack(), r.getIngredients().toArray(new CraftingItemStack[r.getIngredients().size()])[0].getItemStack().getType());
for (CraftingItemStack is : r.getIngredients())
((FurnaceRecipe) sh).setInput(is.getItemStack().getData());
} else
return false;