Posted October 25, 20186 yr So I want to replace the recipes of furnace and stone tools and make them require a new, more expensive material I created. I managed to remove the recipes by replacing them with a dummy recipe, using a code like this: public static void removeRecipes() { ForgeRegistry<IRecipe> recipeRegistry = (ForgeRegistry<IRecipe>)ForgeRegistries.RECIPES; @SuppressWarnings("deprecation") ArrayList<IRecipe> recipes = Lists.newArrayList(recipeRegistry.getValues()); for (IRecipe r : recipes) { ItemStack output = r.getRecipeOutput(); if (output.getItem() == Item.getItemFromBlock(Blocks.FURNACE)) { recipeRegistry.remove(r.getRegistryName()); recipeRegistry.register(DummyRecipe.from(r)); } } } I have also created my own furnaceJ.json file with the new recipe, however this recipe seems to also be overriden by the dummy recipe. I read that the solution is to register my own recipe instead of the dummy one in this line: recipeRegistry.register(DummyRecipe.from(r)); But... how can I do it? My recipe is saved in a .json file, not in a .java file like the Dummy recipe. I know the solution is probably very simple but I just can't see it.
October 26, 20186 yr Author 21 hours ago, diesieben07 said: Check if the registry name of the recipe is the vanilla recipe before removing it. How can I do that? Is there any method for that?
October 26, 20186 yr Author 2 minutes ago, diesieben07 said: You are already calling it: I know I should be using something like if (r.getRegistryName() == ???) But I don't know how the vanilla recipe is called
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.