Add support for custom ProcessingRecipeParams
in basin recipes
#9070
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
My solution for #9066:
BasinRecipe
functionality to a newAbstractBasinRecipe
class, which is an extension ofProcessingRecipe
instead ofStandardProcessingRecipe
and has<P extends ProcessingRecipeParams>
type parameter.BasinRecipe.Builder
andBasinRecipe.Serializer
(basin equivalents ofStandardProcessingRecipe
's builder and serializer).<R extends AbstractBasinRecipe<?>>
type parameter toBasinCategory
for basin recipes with custom parameters.Compatibility issues:
BasinRecipe
no longer extendsStandardProcessingRecipe
, addons would have to update their custom recipe types' registration methods.BasinCategory
would have to specify the new type parameter.Other than that, I tried to make the changes as compatible as possible.
AbstractBasinRecipe
's static methods could still be accessed viaBasinRecipe
. Recipes that don't require customProcessingRecipeParams
could extendBasinRecipe
and use generators provided by API, while addons would be able useAbstractBasinRecipe
for basin recipes with custom parameters.