Skip to content

Chat Heads + Custom playername text compatibility issue - 8.0-alpha.9 - MC 26.1.2 and 1.21.11 #320

Description

@Fourmisain

Description

Original issue: dzwdz/chat_heads#156

When using Chat Patches together with Chat Heads on a server with Embellish Chat that allows using icons in chat (e.g. by typing :love:), the icons (AtlasSprite object components) will be turned into text:

Image

This only happens if "Custom playername text" is turned on and Chat Heads is using "Before Name" mode (first message in the screenshot), which changes the structure of the message to insert a PlayerSprite object component aka chat head.

How to reproduce

Install the 2 client mods, setup a server with Embellish Chat, then type :love: in chat.

Expected result

The icons shouldn't be turned into text.

Log

There's nothing relevant in the logs, so here's one received message with "Log message structures" turned on:

ChatListener received message ' [mob_effect/health_boost@gui]' -> vanilla = true
An error occurred while modifying '<[Fourmisain head]FourmisainFourmisain> [mob_effect/health_boost@gui]'
(lastEmpty=false, boundary=false, messageData.vanilla=true, config.name=true, config.nameFormat='<$>')
Timestamp: literal{[15:13:52] }[style={color=#FF55FF,clickEvent=SuggestCommand[command=05/29/2026],hoverEvent=ShowText[value=literal{05/29/2026}[style={color=#FFFFFF}]],insertion=1780060432716}]
Body:
Team: empty
Sender: empty[style={color=#FFFFFF,clickEvent=SuggestCommand[command=/tell Fourmisain ],hoverEvent=ShowEntity[entity=net.minecraft.network.chat.HoverEvent$EntityTooltipInfo@77c46c1],insertion=Fourmisain}, siblings=[literal{<}, empty, ObjectContents[contents=PlayerSprite[player=net.minecraft.world.item.component.ResolvableProfile$Static@9cc9f005, hat=true], fallback=Optional.empty][style={color=white}, siblings=[literal{Fourmisain}]], empty, literal{> }]]
Content: empty[siblings=[literal{[mob_effect/health_boost@gui]}]]
-- End of message structure --
[Modified] [CHAT] [15:13:52] <[Fourmisain head]Fourmisain> [mob_effect/health_boost@gui]

Additional context

I think this is - like last time - an issue with the way non-translatable messages are restructured.

I haven't looked into it but it seems firstPart may contain basically the entire message, including the "love" icon and firstPart.getString() turns it into "[mob_effect/health_boost@gui]", which will then land in afterEndBracket.

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working or is broken/crashing

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions