Skip to content

Add dyeable support for custom items (v2)#6497

Closed
Morningstar-Garden wants to merge 1 commit into
GeyserMC:feature/26.2from
Morningstar-Garden:feature/26.2-dyeable-items
Closed

Add dyeable support for custom items (v2)#6497
Morningstar-Garden wants to merge 1 commit into
GeyserMC:feature/26.2from
Morningstar-Garden:feature/26.2-dyeable-items

Conversation

@Morningstar-Garden

Copy link
Copy Markdown

Addresses the "supporting dyeable items" item from the 26.2 checklist (#6452).

Adds the ability to mark a v2 custom item as dyeable, via
CustomItemBedrockOptions#dyeable (API) and a dyeable option in the JSON
item mappings.

When enabled:

  • the item is registered on Bedrock with the minecraft:dyeable component, and
  • its generated minecraft:icon gains a dyed texture state so Bedrock
    actually renders the tint (without it, dyed items render invisibly — the
    icon needs both a default and a dyed state).

A Java minecraft:dyed_color component is then translated to Bedrock's
customColor tag. That translation is moved into the base
Item#translateComponentsToBedrock, so it applies to any item carrying the
component; the now-redundant overrides in DyeableArmorItem and
WolfArmorItem are removed.

Testing

Verified end-to-end on a 26.2 Fabric server with a Bedrock client: a dyeable
custom item renders and tints correctly, and existing dyed leather/wolf armor
still tints correctly after the refactor.

Allow custom items to be marked dyeable via CustomItemBedrockOptions#dyeable
(API + JSON mappings "dyeable" option). When set, the item is registered on
Bedrock with the minecraft:dyeable component and its icon gains a "dyed"
texture state so the tint actually renders; a Java minecraft:dyed_color
component is then translated to the customColor tag.

The dyed-color translation is moved into the base Item#translateComponentsToBedrock
so it applies to any item carrying the component, removing the now-redundant
overrides in DyeableArmorItem and WolfArmorItem.

Verified end-to-end on a 26.2 Fabric server with a Bedrock client: a dyeable
custom item renders and tints correctly (dyed via cauldron, per Bedrock).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@SleepyPopp

Copy link
Copy Markdown
Contributor

Please note we have an AI policy: https://github.com/GeyserMC/.github/blob/master/AI_POLICY.md

@Morningstar-Garden

Copy link
Copy Markdown
Author

Understood, and apologies — I didn't realize AI-assisted contributions were against policy. Sorry for the noise; I'll respect the AI policy going forward.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants