Skip to content

Add the HeatCondition API to allow the creation of alternate heating types under basins #8654

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 7 commits into
base: mc1.20.1/dev
Choose a base branch
from

Conversation

vercte
Copy link
Collaborator

@vercte vercte commented Jun 11, 2025

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 these HeatConditions and serialize them into recipes.

Basin Recipes have changed, with the heatRequirement field being now a namespaced value (create:heated, example:cooled) with create 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

@vercte vercte added area: api Issue or PR is related to API pr type: feature PR adds a new feature or changes an existing feature labels Jun 11, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area: api Issue or PR is related to API pr type: feature PR adds a new feature or changes an existing feature
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant