From 9acb3305b900c7770925992ff10aecc7dd73c257 Mon Sep 17 00:00:00 2001 From: NaySurGithub <96527285+NaySurGithub@users.noreply.github.com> Date: Fri, 6 Nov 2026 22:24:09 +0100 Subject: [PATCH] fix(render): draw other players' name tags without the show-name flags Players only got a name tag when their flags carried CAN_SHOW_NAME (bit 14) or ALWAYS_SHOW_NAME (bit 15). Servers often send neither while still setting a name tag, and the game draws it anyway, so every other player's name was missing there. --- src/client/entity/EntityRenderer.cpp | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/client/entity/EntityRenderer.cpp b/src/client/entity/EntityRenderer.cpp index 5ddd976..43d6230 100644 --- a/src/client/entity/EntityRenderer.cpp +++ b/src/client/entity/EntityRenderer.cpp @@ -2151,9 +2151,8 @@ namespace perlin::entity { } } const bool nameHidden = e.Has(flag::Invisible) && (e.isPlayer || !e.Has(flag::AlwaysShowName)); - const bool nameAllowed = - e.isSelf || e.Has(flag::CanShowName) || e.Has(flag::AlwaysShowName) || !e.isPlayer; - if (in.nametags && !e.isItem && !nameHidden && nameAllowed && + // players show their name tag without CAN_SHOW_NAME / ALWAYS_SHOW_NAME: servers often send neither + if (in.nametags && !e.isItem && !nameHidden && !(e.isSelf && (in.firstPerson || !in.ownNametag))) { const std::string& label = style && style->nameTag == 1 ? std::string() : style && style->nameTag == 2 ? style->nameText