Add the HeatCondition API to allow the creation of alternate heating types under basins #8654
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.
This PR creates the
HeatCondition
interface, which defines how a basin should check if a heating requirement is satisfied.It also provides methods for displaying the recipe in JEI: A method for rendering an IDrawable in the Category, a method for providing "hint items" (blaze burner, blaze cake), and a method to get the color that the Heat Condition's name will be displayed as.
This PR also creates the
HEAT_CONDITION
registry, which is used to register theseHeatCondition
s and serialize them into recipes.Basin Recipes have changed, with the
heatRequirement
field being now a namespaced value (create:heated
,example:cooled
) withcreate
as the default (this is to maintain backwards compatiblity; don't want to break literally every datapack 😅)An example usage of this is linked in this gist: https://gist.github.com/vercte/fe67c1bc6649c287f84905eb9cbfb2fb