Skip to content

Conversation

@8s2
Copy link
Contributor

@8s2 8s2 commented Jan 12, 2026

This PR adds an API for registering custom renderers for advancement icons, frames, and backgrounds. Modders can use this to have extra fancy visuals for their advancement tabs.

There's some wacky mixins in here haha. I tried my best to make this as compatible as possible with any mod that may reformat the advancements screen.

@sylv256 sylv256 added enhancement New feature or request area: rendering tests PR has tests labels Jan 12, 2026
Copy link
Member

@modmuss50 modmuss50 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks like a good start, I havent done an indepth review or looked at the mixins or testmod.

Copy link
Member

@sylv256 sylv256 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

aside from modmuss's requests, I made a few nitpicks.

Copy link
Member

@modmuss50 modmuss50 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good, ill approve this and merge to last call. Just a few minor nit picks to fix before merging.

@modmuss50 modmuss50 added the status: last call If you care, make yourself heard right away! label Jan 25, 2026
@MattiDragon
Copy link

Is there a reason why renderers get to pick which advancements they apply to instead of the opposite? Right now if someone else wants to use your renderer, they need to re-register it for their own advancement ids, and afterwards that cannot be undone.

Wouldn't it make more sense to add fields to advancements letting them pick renderers from a registry? This way datapacks and modpacks can easily pick from any renderers added by mods.

@8s2
Copy link
Contributor Author

8s2 commented Jan 25, 2026

Is there a reason why renderers get to pick which advancements they apply to instead of the opposite? Right now if someone else wants to use your renderer, they need to re-register it for their own advancement ids, and afterwards that cannot be undone.

Wouldn't it make more sense to add fields to advancements letting them pick renderers from a registry? This way datapacks and modpacks can easily pick from any renderers added by mods.

I think this would put this PR out of scope for the rendering API module, so much so that it would probably require a new advancement API module, since it would require server-side changes too.

Copy link
Member

@sylv256 sylv256 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Checkmark Gold Star of approval

@modmuss50 modmuss50 merged commit a3b834a into FabricMC:26.1 Jan 29, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area: rendering enhancement New feature or request status: last call If you care, make yourself heard right away! tests PR has tests

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants