AFXPlugins AFXPlugins / CustomPlayerNametags logo CustomPlayerNametags v1.2.0
Resource

Bedrock & Cross-Play

CustomPlayerNametags works for Java Edition players, and for Bedrock players connecting through Geyser and Floodgate.

How Bedrock players are detected

If a plugin named floodgate is installed and enabled, CustomPlayerNametags asks its API whether each connected player is a Floodgate (Bedrock) player. If Floodgate isn't installed, every player is simply treated as Java, so Bedrock players on a server with Geyser alone won't get Bedrock-specific formats or height corrections.

Why Bedrock needs a different offset

The nametag is a display entity mounted above the player as a passenger, positioned at a fixed height offset. Geyser's client-side handling of passenger/display-entity positioning doesn't line up the same with vanilla Java rendering, so the plugin applies a small additional correction specifically for viewers detected as Bedrock, so the tag sits at the same visual height it would on Java. It can be adjusted with the bedrock-*-height-adjust settings — see Fine-Tuning Nametag Positions.

Dismount windows

The brief window where a tag is dismounted and remounted around a teleport (see nametag-dismount-mode) also gets its own small Bedrock-only height correction, so the remount doesn't produce a visible flicker for Bedrock viewers.

Bedrock-specific nametag formats

You can give Bedrock players an entirely separate global nametag format, separate prefixes/suffixes, and separate LuckPerms group formats instead of reusing the Java format. This is useful since some formatting (like certain fonts or symbols) doesn't render the same way on Bedrock. See Bedrock-specific nametag formats for every setting, and the /nametags format commands for the java/bedrock argument.

Multi-line height accuracy

Multi-line nametags stay correctly positioned for Bedrock viewers as lines are added or removed. If lines of a multi-line nametag sit too far apart or too close together for Bedrock viewers, adjust bedrock-per-line-height-adjust.

Through-walls visibility

Java clients can draw a nametag through blocks, but Geyser ignores that setting. Instead, for Bedrock viewers the plugin hides a nametag whenever a block is in the way, if enable-nametags-through-walls is false, or if the owner is crouching and stop-nametags-through-walls-while-crouching is true. See Nametag Behavior.