BlakeBr0 / Cucumber

A library of shared code and functionality used by my mods.
https://blakesmods.com/cucumber
MIT License
23 stars 15 forks source link

Almost Unified integration #20

Closed rlnt closed 1 year ago

rlnt commented 1 year ago

Is your feature request related to a problem? Please describe. When building large modpacks, there are several mods introducing recipes with tag outputs which is a nice approach since there are a lot of different materials already present in several other mods and it avoids the requirement to implement own materials. However, with such a huge amount of mods, it can become a bit tedious to properly set up all the config files and develop proper unification. When changes are being made, you have to ensure that you don't forget to adjust all necessary configs.

Describe the solution you'd like Cucumber lib, among many other libs and mods, provides a way to define a priority list in its config. Our own project, Almost Unified adapted the idea and introduced a way to semi-automatically handle unification by picking a dominant item per configured tag and replacing all outputs of recipes to the dominant counterpart of its tag.

We have a wiki with special instructions on how to configure certain mods to work flawlessly with AU. The cucumber lib is one of these mods. In order to have correct unification (same outputs across all recipes and machine/agriculture output), you would have to set up the mod priority list exactly like the AU one.

Since Almost Unified gained some decent popularity in the past and is now used a lot by large modpacks (All The Mods, Enigmatica, All of Fabric, and the Opolis series), we would like to suggest to mod authors of popular mods that they could use the AU lookup API to decide the tag output priority. This can be an optional dependency and only uses the API when the mod is present. If not, you could still use your own config.

An example of implementation can be found on the Occultism repository. It's just a simple lookup on our API by passing the tag. If AU is not present which results in a null value, they just use the first entry of the tag. In your case, you could fall back to your own implementation.

If you are too busy implementing it, we can also offer to implement it ourselves and PR it to you. But if you are not interested at all, that's also fine.

Our goal is to simplify pack creation and unification in the future and it would finally bring some consistency to the way recipe outputs are being handled. If you have any questions, concerns, or suggestions, feel free to reach out. Either here or on Discord Relentless#3812.

Edit: This would only affect 1.19.2+

BlakeBr0 commented 1 year ago

You can create a PR if you want.