Chat Heads

Chat Heads

35M Downloads

Mod appears to break when server side prefixes are used

Thrumptus opened this issue ยท 7 comments

commented

Been using this on a server that has chat prefixes for player names and it displays my head instead of the correct one, the exception is when a player dies as that doesn't have a prefix, it may just be me being stupid though

commented

I have a few ideas of what's happening but can't be sure until I get some more information:

  • How exactly do the chat messages with wrong heads look like, can you post a screenhot?
  • Do death messages have a head too?
  • Do you have smart heuristics turned on or off?

The current ideas are as follows:

Some servers don't send the player's UUID with each chat message, so Chat Heads can't easily tell which message is from whom.
In this case it will go through the whole chat message word-by-word and try and match it with a player name.
It's possible those prefixes cause the sender's name to not be found and it instead finds a name elsewhere in the message.
This should only show your head if the message contains your name somewhere though.

If that's not the cause, it's also possible that the server sends fake UUIDs, which would be a first, but could explain why you always(?) see your own player head.
That's something Chat Heads doesn't deal with yet, but I'd first like to confirm if that's actually the case.

commented

The chat messages only display my head despite it being other people talking (will send a screenshot when people are online)

Death messages and things like advancements display as intended with other players heads

I've tried with both smart heuristics on and off but it doesn't appear to affect anything

commented

Which Minecraft version are you playing on and are you using Fabric or Forge?

I'm currently adding a config option to only use heuristics, which might fix the issue you're having, so I wanted to send you a test build.

commented

Playing 1.17.1 fabric, thank you for being so responsive

commented

Here, give this a try (works on 1.17 and 1.18).

Make sure you installed Cloth Config, go to the Chat Heads config and set the "Sender Detection" to "Heuristic only".
This will ignore the UUIDs the server sends. If this fixes the issue, it really has to be sending fake ones.
If the heads are still wrong, there must be something going on with those name prefixes.

commented

this seems to have fixed the issue, thanks for your help, very interesting that this hasn't happened before

commented

Yeah, from what I heard it's not uncommon that servers don't send UUIDs, but sending fake ones is pretty weird.
I guess the server devs just didn't know you can send an empty field.

In any case, I've baked a batch of new versions, get them while they're still hot!