Pular para o conteúdo principal

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

FieldDefaultEffect
offsetY0.35Height above the entity.
viewDistance15.0Client-side render distance, in blocks.
requireLookAtfalseOnly show while the viewer is looking at the mob.
fieldOfViewDegrees110.0Horizontal cone used for culling.
requireLineOfSighttrueHide when an opaque block sits between viewer and mob.
maxVisibleNameplates64Cap on simultaneous plates for one viewer.
refreshTicks4Refresh 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.

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. 1 keeps it behind the name only, leaving the health bar and value lines bare; 0 covers every line.

Display

textScale scales the whole unified plate. backgroundColor is ARGB, zero meaning transparent, and textOpacity runs from 0 to 255.

See also