recipes.removeShaped() isn't working at all.
Guinaro opened this issue · 7 comments
Issue Description:
recipes.removeShaped() isn't working at all.
What happens:
recipes.removeShaped() isn't working at all.
In my script see below: I'm using the recipes as reported by /ct recipes
(Also checked in JEI).
Removing shaped recipes cannot find the recipes, but they should exist. Or I get a report that it has deleted 1 or more recipes, but when checking in game the recipes are still present.
Also reporting the deletion of more than 1 recipes should be impossible as only 1 recipe per item is provided and has no wildcards!
E.g. In game recipe for minecraft:coal and <minecraft;diamond> still exists.
recipes.remove() does work (tested for minecraft:diamond), but removes too many other recipes, that I would need to recreate all over. I need to remove 1 recipe (diamond), not 5!
What you expected to happen:
Proper removal of the recipes, and no longer being present in JEI.
Script used (Please Pastebin or gist your script, posting an unpasted or ungist'd script will automatically close this issue):
https://gist.github.com/Guinaro/8adbc7e08b279b25c3cdb17e8bdeb7df
Minetweaker.log file (Please Pastebin or gist your file, posting an unpasted or ungist'd file will automatically close this issue):
https://gist.github.com/Guinaro/b47d1304956812b993ce9b8d9491e863
Affected Versions (Do not use "latest"):
Minecraft: 1.12.2
Forge: 14.23.2.2618
Crafttweaker: 1.12-4.1.5
Your most recent log file where the issue was present:
https://gist.github.com/Guinaro/3e0a63510809bf9c57229d5349632b75
Reporting further:
using <*>
instead of null
, has no effect either.
However a workaround that does function is:
recipes.removeByRecipeName("techreborn:clay_ball");
Removing by recipe Name works.
For those interested: put the item for which you want to remove the recipe in your hand. and do a /ct recipes hand
when holding it. In your chat log you will get a list with all recipes for that item including the name for each recipe.
I can't reproduce this on my end.
recipes.remove(<minecraft:diamond>);
removes the Diamond block to diamond recipe just fine.
recipes.removeShaped(<minecraft:diamond_sword>, [[<minecraft:diamond>,],[<minecraft:diamond>],[<minecraft:stick>]]);
removes the diamond sword recipe perfectly.
It is not that recipes.remove() doesn't work.
It is the fact that recipes.removeShaped() isn't working.
If I want I could use your recipes.removeAll() functionality too and recreate all the recipes. But that is overkill, just like using the recipes.remove() when I only want to remove a single shaped recipe out of different recipes resulting in the same item.
OK. Tested some more I have tested with removing snow recipes. Removing the minecraft shaped 4x snowball -> snow works.
I'm coming to assume that TechReborn registers it's recipes too late for crafttweaker to handle.
Is there anyway to postpone the running of the scripts until after all mods register their recipes? And will JEI still be able to reflect the changes?
We currently already delay the removal of recipes until the past possible point (for JEI to still pick up our changes)
OK thanks for the info: I just made a issue on the Tech Reborn issue tracker. Hopefully they can find out what is going wrong. I can workaround it with the recipes.remove(), but this creates a whole lot more work, needing to recreate all those other recipes.