Jump to content

Removing Vanilla Recipes


Rohzek

Recommended Posts

Ironically just a few weeks ago now I answered a similar question with the extent of my knowledge on it... However I seem to have a few holes in my method.

In a quest to toughen up vanilla recipes I'm using the following method to find and remove crafting recipes so that I can replace them:

 

 

 

public static void removeCraftingRecipe(Item item)
{
     List<IRecipe> recipes = CraftingManager.getInstance().getRecipeList();
     Iterator<IRecipe> remover = recipes.iterator();
     
     while(remover.hasNext())
     {
    	// If the output matches the specified item. Can be used with itemstacks directly or getitemfromblock as well.
    	 ItemStack itemstack = remover.next().getRecipeOutput();

			if(itemstack != null && itemstack.getItem() == item)
			{
				// Remove the recipe
				remover.remove();
			}
     }
}

 

 

 

which works fine for 99.99% of recipes... However it doesn't seem to remove Fireworks, Dyes, or Stained Clay blocks. These seem to just.. not be there. Checking the specific Recipes classes don't seem to help much. Dyes seem to be added to A crafting manager normally... but not the list in CraftingManager I guess... Fireworks don't.. I don't even know where the recipe for stained clay is?

 

Not sure how to find and remove these.

Developing the Spiral Power Mod .

こんにちは!お元気ですか?

Link to comment
Share on other sites

Recipes for Dyes and coloured blocks (e.g. Stained Clay) are added by

RecipeDyes#addRecipes

, which is called from the

CraftingManager

constructor. They're just standard shaped/shapeless recipes, so your method should remove them without issue.

 

Fireworks recipes are handled by the

RecipeFireworks

class, which returns

null

from

IRecipe#getRecipeOutput

until

IRecipe#matches

has found a matching recipe; so you can't remove it based on the output

Item

. You can remove it based on the class instead, though.

 

You can see a working example of this for 1.8 here. This outputs the following to the log:

Removed 1 recipes for class net.minecraft.item.crafting.RecipeFireworks

Removed 28 recipes for minecraft:dye

Removed 16 recipes for minecraft:stained_hardened_clay

Please don't PM me to ask for help. Asking your question in a public thread preserves it for people who are having the same problem in the future.

Link to comment
Share on other sites

To be honest I probably don't want to remove the Firework recipes.. Too many combos to play with just trying to make it harder.. But it's interesting to know how, thanks.

 

As for the dyes, I made a stupid mistake  :( I wasn't actually USING that method, I was iterating through an itemstack of the dyes and checking each metadata value directly against the itemstack. And similar with the blocks with a for loop and checking each for a recipe which was just fizzling.

 

 

[02:55:41] [Client thread/INFO] [ANCTECH]: Removed 0 recipes for Ink Sac
[02:55:41] [Client thread/INFO] [ANCTECH]: Removed 0 recipes for Rose Red
[02:55:41] [Client thread/INFO] [ANCTECH]: Removed 0 recipes for Cactus Green
[02:55:41] [Client thread/INFO] [ANCTECH]: Removed 0 recipes for Cocoa Beans
[02:55:41] [Client thread/INFO] [ANCTECH]: Removed 0 recipes for Lapis Lazuli
[02:55:41] [Client thread/INFO] [ANCTECH]: Removed 0 recipes for Purple Dye
[02:55:41] [Client thread/INFO] [ANCTECH]: Removed 0 recipes for Cyan Dye
[02:55:41] [Client thread/INFO] [ANCTECH]: Removed 0 recipes for Light Gray Dye
[02:55:41] [Client thread/INFO] [ANCTECH]: Removed 0 recipes for Gray Dye
[02:55:41] [Client thread/INFO] [ANCTECH]: Removed 0 recipes for Pink Dye
[02:55:41] [Client thread/INFO] [ANCTECH]: Removed 0 recipes for Lime Dye
[02:55:41] [Client thread/INFO] [ANCTECH]: Removed 0 recipes for Dandelion Yellow
[02:55:41] [Client thread/INFO] [ANCTECH]: Removed 0 recipes for Light Blue Dye
[02:55:41] [Client thread/INFO] [ANCTECH]: Removed 0 recipes for Magenta Dye
[02:55:41] [Client thread/INFO] [ANCTECH]: Removed 0 recipes for Orange Dye
[02:55:41] [Client thread/INFO] [ANCTECH]: Removed 0 recipes for Bone Meal
[02:55:41] [Client thread/INFO] [ANCTECH]: Removed 0 recipes for White Stained Clay
[02:55:41] [Client thread/INFO] [ANCTECH]: Removed 0 recipes for Orange Stained Clay
[02:55:41] [Client thread/INFO] [ANCTECH]: Removed 0 recipes for Magenta Stained Clay
[02:55:41] [Client thread/INFO] [ANCTECH]: Removed 0 recipes for Light Blue Stained Clay
[02:55:41] [Client thread/INFO] [ANCTECH]: Removed 0 recipes for Yellow Stained Clay
[02:55:41] [Client thread/INFO] [ANCTECH]: Removed 0 recipes for Lime Stained Clay
[02:55:41] [Client thread/INFO] [ANCTECH]: Removed 0 recipes for Pink Stained Clay
[02:55:41] [Client thread/INFO] [ANCTECH]: Removed 0 recipes for Gray Stained Clay
[02:55:41] [Client thread/INFO] [ANCTECH]: Removed 0 recipes for Light Gray Stained Clay
[02:55:41] [Client thread/INFO] [ANCTECH]: Removed 0 recipes for Cyan Stained Clay
[02:55:41] [Client thread/INFO] [ANCTECH]: Removed 0 recipes for Purple Stained Clay
[02:55:41] [Client thread/INFO] [ANCTECH]: Removed 0 recipes for Blue Stained Clay
[02:55:41] [Client thread/INFO] [ANCTECH]: Removed 0 recipes for Brown Stained Clay
[02:55:41] [Client thread/INFO] [ANCTECH]: Removed 0 recipes for Green Stained Clay
[02:55:41] [Client thread/INFO] [ANCTECH]: Removed 0 recipes for Red Stained Clay
[02:55:41] [Client thread/INFO] [ANCTECH]: Removed 0 recipes for Black Stained Clay
[02:55:41] [Client thread/INFO] [ANCTECH]: Removed 0 recipes for White Stained Clay

 

 

 

Just passing the item itself totally works as intended.

[03:03:17] [Client thread/INFO] [ANCTECH]: Removed 28 recipes for dyePowder
[03:03:17] [Client thread/INFO] [ANCTECH]: Removed 16 recipes for tile.clayHardenedStained.name

 

Thanks again for that too. No telling how long I would have wasted not figuring out that.

Developing the Spiral Power Mod .

こんにちは!お元気ですか?

Link to comment
Share on other sites

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.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Announcements



×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.