Global Mob Nameplate
A single rule that puts a nameplate above every mob it matches. Instead of configuring a plate per entity, you describe which mobs are concerned and what the plate says.
The plate is a TextDisplay rendered per viewer, so distance, line of sight and the look-at
condition are evaluated for each player independently.
Matching
entityTypes takes Bukkit EntityType names. Left empty, it matches every living entity except
players and armor stands. Players never go through this entry — they have their own
player nameplate banner.
btcMobsOnly restricts matching to active BTCMobs entities, leaving vanilla mobs untouched.
includeArmorStands is off by default, so decorative armor stands and holograms belonging to other
systems are never captured by accident.
Content
lines holds MiniMessage lines. The available placeholders are <name>, <vanilla_name>,
<btc_name>, <btc_id>, <type>, <health>, <max_health> and <health_percent>.
hideVanillaName (on by default) suppresses the entity's own custom name while the plate is active,
so the two never show at once.
Visibility
| Field | Default | Effect |
|---|---|---|
offsetY | 0.35 | Height above the entity. |
viewDistance | 15.0 | Client-side render distance, in blocks. |
requireLookAt | false | Only show while the viewer is looking at the mob. |
fieldOfViewDegrees | 110.0 | Horizontal cone used for culling. |
requireLineOfSight | true | Hide when an opaque block sits between viewer and mob. |
maxVisibleNameplates | 64 | Cap on simultaneous plates for one viewer. |
refreshTicks | 4 | Refresh interval for nearby and targeted plates. |
These caps are per viewer, not per server: they bound what one client has to render.
Integrated health bar
showHealthBar appends a bar inside the same display as the nameplate — not as a second entity.
healthBarBtcMobsOnly (on by default) limits the bar to BTCMobs entities.
healthBarRequireLookAt (also on by default) only draws it for the mob being looked at, and
healthBarFocusRadius widens that to mobs within a few blocks of the crosshair hit.
healthBarMaxVisible defaults to 3, deliberately much lower than the nameplate cap.
healthBarSegments sets the number of bitmap segments (default 10), and healthBarValueFormat
is a MiniMessage/printf format for the exact figure — <white>%.1f / %.1f by default.
Banner background
The background is drawn from resource pack glyphs, so any pack-driven asset system works —
CraftEngine, Nexo or ItemsAdder. The field is named craftEngineImageId for historical reasons;
it holds a plain asset id from whichever system you use.
It is a prefix, not a complete asset id. The service looks up <prefix>_left,
<prefix>_middle and <prefix>_right and assembles a three-slice banner sized to the text. Leaving
it empty gives text with no background.
tileWidthPx(16) — width of the tileable middle texture.capWidthPx(3) — drawn width of one end cap. It must match the real artwork: the caps are thin borders, not full tiles. Getting this wrong is the usual cause of a banner that overshoots or eats into its own text.paddingPx(10) — extra banner width on each side, beyond the two caps.bannerLineCount(1) — how many lines from the top the banner covers.1keeps it behind the name only, leaving the health bar and value lines bare;0covers every line.
Display
textScale scales the whole unified plate. backgroundColor is ARGB, zero meaning transparent, and
textOpacity runs from 0 to 255.
See also
- Player Nameplate Banner — the equivalent for players.
- Nameplate Data — per-entity override on a Typewriter entity.