Description
The first world-space health bar for Rust. Floating 3D bars above every NPC's and player's head that move with them in the world — not a flat rectangle stuck in the corner of your screen.
Every other health bar plugin uses CUI. That means one bar at a time, screen-anchored, disconnected from the fight. Tommygun 3D Health Bar uses ddraw to render bars directly in world space. Fight 5 NPCs, see 5 bars. Each one tracks the target's head as they move. It looks like an MMO nameplate system because that's what it is.
Works on NPCs and real players — toggle each independently. Use it PVE-only, PVP-only, or both.
Why This Is Different
- World-space rendering — bars float above the NPC's head in 3D, not anchored to your screen
- Multiple bars simultaneously — every damaged NPC shows its own bar at the same time
- Zero dependencies — no ImageLibrary, no other plugins required. Just drop it in.
- Line-of-sight aware — bars only render when you can actually see the NPC
- Facing detection — bars behind you don't render, keeping your view clean
Features
- 8 built-in themes: Default, Neon, Blood, Military, Ice, Minimal, Gold, Retro
- 5 bar styles: Solid (▓▒), Block (■□), Pipe (┃┏), Dots (●○), ASCII (#-), or set your own custom characters
- 3 size presets: Small, Medium, Large
- Health gradient: Green → Yellow → Red as health drops, fully configurable thresholds and colors
- Custom colors: Full HSVA color picker for fill, empty, and text — make it match your server's brand
-
Per-player preferences: Players pick their own theme, style, and size via
/hbsettings panel - Death linger: Bar stays visible briefly after a kill so you see the satisfying 0%
- Damage window: Bars appear when you deal damage and fade after 16 seconds (configurable)
- Attacker-only mode: Optionally only show bars to the player who dealt damage
Supports Everything
Works with 17 built-in NPC types out of the box:
- Vanilla: Scientists, Tunnel Dwellers, Underwater Dwellers, Scarecrows, Gingerbread, Bandit Guards
- Animals: Bears, Polar Bears, Wolves, Boars, Stags, Chickens, Zombies
- Plugin NPCs: Full support for BotReSpawn, BetterNPC, Raidable Bases, and any plugin that spawns HumanNPC or NPCPlayer entities
- Player health bars: optional, toggle on/off independently
Each NPC type can be individually enabled/disabled with custom display names and bar height offsets.
Performance
- Distance culling — bars beyond 50m (configurable) don't render
- Line-of-sight raycasting — no bars through walls
- Per-player bar cap — max 10 simultaneous bars (configurable)
- Configurable refresh rate (1-120 FPS tick)
- Smooth position interpolation — no jitter, no jumps
Settings Panel
Players open /hb to get a full in-game settings UI with 5 tabs:
- General: Toggle bars, HP display, percentage, line-of-sight, NPC/player filtering
- Appearance: Pick from 8 themes with live preview
- Customize: Choose bar style, size, and custom characters
- Colors: HSVA color pickers for fill, empty, and text colors
- Admin: Server-wide refresh rate, apply settings to all players, reload config
Permissions
| Permission | Default | Description |
|---|---|---|
tommygun3dhb.use |
All players (auto-granted) | See health bars on NPCs and entities |
tommygun3dhb.customize |
Manual grant | Access theme, style, and size customization in the settings panel |
tommygun3dhb.customize.colors |
Manual grant | Access HSVA color pickers for custom fill, empty, and text colors |
tommygun3dhb.admin |
Manual grant | Admin tab in settings panel — server-wide refresh rate, apply to all, reload config |
Chat Commands
| Command | Permission | Description |
|---|---|---|
/hb |
tommygun3dhb.use | Open the settings panel (5 tabs: General, Appearance, Customize, Colors, Admin) |
/hbadmin reload |
tommygun3dhb.admin | Reload config from file |
/hbadmin reset |
tommygun3dhb.admin | Reset all settings to defaults |
/hbadmin stats |
tommygun3dhb.admin | Show performance stats (active bars, tracked entities, refresh rate) |
Plugin API (for developers)
Other plugins can register custom NPC types and control health bars at runtime:
| Method | Returns | Description |
|---|---|---|
API_RegisterNPCType(string typeKey, string displayName, float barYOffset) |
void | Register a custom NPC type with its own display name and bar positioning |
API_ShowHealthBar(BaseEntity entity, string displayName, float duration) |
void | Manually show a health bar on any entity |
API_HideHealthBar(BaseEntity entity) |
void | Manually hide a health bar |
API_HasHealthBar(BaseEntity entity) |
bool | Check if an entity currently has an active health bar |
Hooks:
| Hook | Description |
|---|---|
OnHealthBarShow(BasePlayer player, BaseEntity entity, string npcType) |
Called before a bar renders. Return non-null to block. |
OnHealthBarHide(BaseEntity entity, string reason) |
Called when a bar is removed. Reason: "api", "died", "killed". |
Support
- For all questions and feedback, dm me (1928tommygun) on my discord at discord.gg/tommygun
License
TOMMYGUN'S EULA – BY USING THIS PLUGIN YOU AGREE TO THE FOLLOWING!
- Code contained in this file is not licensed to be copied, shared, resold, or modified in any way.
- You may copy the plugin freely to each server instance that your organization owns.
- Do not share this plugin with other server organizations — they must purchase their own licenses.
Customer Reviews
Discussion
Be the first to start the discussion!