Currently, furniture supports dynamic coloring through FurnitureExtraData.dyedColor(), allowing runtime color changes that persist across server restarts. Block entities, which also use ItemDisplay renderers, lack this capability.
Furniture achieves dynamic coloring by:
- Storing color in FurnitureExtraData (persisted via PDC)
- Applying color to FurnitureElements when applyDyedColor() is true
- Recreating the entity with new color data
Add similar support for block entities