chat heads breaks after doing /msg
SkyTheNerd opened this issue ยท 11 comments
That is weird, never saw this before.
Which game version are you playing on? What settings do you use?
One way this could happen is if you're using default settings and the server doesn't attach sender UUIDs to messages, except for whispers (this could be an oversight on the server or plugin being used).
If Chat Heads sees a UUID, it'll disable its heuristics / name matching and only match heads by their UUID (that's what "Smart heuristics" does) - but since the messages have none, they don't get any heads anymore.
One way to fix that is to turn off Smart heuristics, so it'll keep trying to use heuristics.
Alternatively you could set the Sender detection to "Heuristic only", which could help in case the server sends wrong UUIDs.
Can you test if this fixes the issue for you?
Because I couldn't reproduce this issue on 1.18 or 1.19 by myself.
It does work if I disable Smart Heuristics though.
That seems to confirm the theory of the server "leaking" the sender UUID in whispers. This might be a bug with Paper (or one of used the plugins) - or maybe that's intentional, I have no idea.
This isn't something Chat Heads can "fix" - though maybe it is a sign that the default settings should be changed.
I think I'll try setting up a Paper server and do some testing on that.
But yeah, if turning off Smart Heuristics works for you, keep it that way, that's what the settings are there for.
I'll keep this issue open for now as a reminder for myself.
I haven't yet looked into it, but as suggested:
If you're having this issue, turning off Smart Heuristics will fix it.
(Maybe I should just remove smart heuristics alltogether, since it is based on an apparent false assumption.)
Oh, wait a second, I did not actually reproduce the issue - I accidentally left Chat Heads on UUID only mode!
This is with default settings:
Note that I can still hover over the name (it will show the UUID with advanced tooltips) and click to respond.
All these messages are system (server-sent) messages without sender UUID.
The whisper does contain the sender's UUID, but it is part of the message content and not actually set as the sender.
So in other words, everything appears to be in order.
I think the original issue only applied to No Chat Reports 1.0.0 since there's a mention of an "issue causing /msg messages to still be using the vanilla command processor" that was fixed in 1.0.1.
That means /msg
did send whispers like vanilla, with sender UUID and everything - but not anymore.
So I believe this issue can be closed, unless someone can confirm that this is still happening.
P.S.
I just tested this on a local Paper 1.19.4 server with default settings and there this issue does not exist (the server is sending UUIDs).
I'm also not seeing a setting for this either - so maybe it's a plugin?
P.P.S.
Tested with FreedomChat and also could not reproduce the issue (never sends UUIDs).
Tested with No Chat Reports from TechnicallyCoded and after a /msg
to myself, the next message kicks me from the server with the message "Received chat packet with missing or invalid signature."...?!
I think this could actually be the original cause; on 1.19 one would not have been kicked for this (and the message should have a UUID), so it looks like a bug in that plugin.
Can I ask you for Discord, since I'm making my own chat plugin and I don't understand why when I'm in "SendMessage"(Paper) entering the player's UUID into the message, she still doesn't want to display her head?
Sorry, never used Paper or wrote plugins for it.
The simplest reason for why you're not seeing the head would be that the player with that UUID is not on the server.
Chat Heads (or rather Minecraft itself) will only load player info for players that joined the server.
About No Chat Reports: I had to disable enforce-secure-profile
and could now reproduce the issue!
It looks like No Chat Reports is intentionally sending UUIDs with whispers, probably so that players can click the sender's name to respond to them.
I wonder if I can somehow ignore whispers in the UUID detection...