Recipe functions support for non-crafting vanilla recipe types
daniel-z-kaplan opened this issue ยท 6 comments
Describe the feature you'd like
I'd like the ability to define a RecipeFunction(Matrix/Array) for more than just the crafting table. Ideally, I'd want this to be available for all the mods supported by CraftTweaker.
Describe alternatives you've considered
I have not been able to come up with a alternative beyond the implementation suggested.
For my specific usecase (see below), I could mass-add hundreds of recipes/items to reflect the various states..
Additional context
I'm developing a modpack in which a lot of the information about the world is hidden from the user (in the form of NBT, typically). The player is able to understand and interact with the world via recipes - but the recipes need to be dynamic to reflect this NBT.
I can do this with CraftingTable recipes, but not anything else, which doesn't really solve the problem.
Minecraft version
1.16
Modloader
Forge
all the mods supported by CraftTweaker
So essentially vanilla alone. This would very likely have additional restrictions too, as some mechanics in vanilla handle recipes in a different way (see smiting table).
As for other mods, that's up to them to provide support: definitely not something CraftTweaker can do in a generic way.
Okay, that does make sense.
Would it be feasible to create and expose some API that mods with native crafttweaker support could use for this, even if the final implementation was on their end?
(Currently looking at Tinkers/TConstruct at this second, which does use Manager(s) via CraftTweakerAPI)
Not really, Alll the work is on mods side you can see how botania did it here
VazkiiMods/Botania@64de22b
I see what you're saying, it's really just some modifications on the mods side.
Yep, their recipes need to support it to begin with, and then it needs to be exposed to CraftTweaker.
Going to close this as there isn't much that can actually be done about it, mods that add support would need to support this feature themselves, and the way that vanilla has implemented a lot of their recipes means that it isn't super feasible for us to implement it for other types.