Jump to content

[1.15.2] Perform Action when Recipes Loaded or Reloaded


Recommended Posts

Hey all,


I'm working on a mod where I need to check if items can be used in/outputted from a recipe-- in this case, campfire recipes, but I may expand that to other types at some point in the future.  Since both mods and datapacks can add recipes, I'd like to make this function as dynamic as possible.  I'd also like to avoid having to iterate through all the possible recipes every time I need to test if something is a viable outcome, especially since some of the checks will be for the recipe output and not input (which seems less straightforward to figure out).  It seems like it'd be less resource intensive to build a list of viable items once upon each load/reload, and then just use that list to check if something is a viable option or not.  But, since recipes can change when datapacks are added/reloaded, I need to make sure these lists are regenerated after every reload, as well as after the initial recipe registration.  Basically, what I'd like to do is listen for a server load or reload, loop through the list of recipes to find recipe inputs/outputs that match a certain set of criteria, add them to a set of lists that just hold the proper items, and then I can just check "is this item on this list? yes, okay or no, nevermind".


Is there a good way I could go about this, and is there an event or something I could listen for to know when to trigger it?  Or is it better just to loop through all the recipes every time as needed, even considering that there's a possibility of other mods adding a lot of possible recipes that could qualify?  Will that be a lag concern or should that be fine? (usually I err toward the side of it being better to have a larger lag spike very infrequently than smaller ones that happen more often/interruptingly).


Thanks, and have a great day!

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.

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.


  • Create New...

Important Information

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