Skip to content

Damage Display

The damage display feature shows floating damage numbers above entities when they take damage, similar to RPG games.

Enabling

/mh feature enable damage_display

Or in config.json:

{
  "damageDisplay": {
    "enabled": true
  }
}

How It Works

When an entity takes damage, a temporary floating text hologram spawns above the entity showing the damage amount. The hologram automatically disappears after a configurable duration.

  • Triggers on LivingDamageEvent
  • Shows to all nearby players
  • Critical hits use a different format
  • Temporary holograms are not persisted (server restart clears them)

Configuration

{
  "damageDisplay": {
    "enabled": false,
    "showForPlayers": true,
    "showForMobs": true,
    "showZeroDamage": false,
    "durationTicks": 40,
    "heightOffset": 2.0,
    "format": "&c-{damage}",
    "criticalFormat": "&4&l-{damage}"
  }
}
Field Default Description
enabled false Enable/disable the feature
showForPlayers true Show damage numbers when players are hit
showForMobs true Show damage numbers when mobs are hit
showZeroDamage false Show numbers for 0-damage hits (blocked, absorbed)
durationTicks 40 How long the number stays visible (40 = 2 seconds)
heightOffset 2.0 Height above entity where the number spawns
format &c-{damage} Text format for normal damage
criticalFormat &4&l-{damage} Text format for critical hits

Format Placeholders

Placeholder Description
{damage} The damage amount (formatted as a number)

Format Examples

"format": "&c-{damage}"           // Red: -10
"format": "&c❤ -{damage}"         // Red heart: ❤ -10
"criticalFormat": "&4&l💥 {damage}"  // Bold dark red: 💥 10

Examples

Minimal Setup

Only show damage on mobs (useful for RPG servers):

{
  "damageDisplay": {
    "enabled": true,
    "showForPlayers": false,
    "showForMobs": true
  }
}

Long Duration

Keep numbers visible for 5 seconds:

{
  "damageDisplay": {
    "enabled": true,
    "durationTicks": 100
  }
}

Show All Damage

Including blocked/absorbed hits:

{
  "damageDisplay": {
    "enabled": true,
    "showZeroDamage": true,
    "format": "&c-{damage}",
    "criticalFormat": "&4&l-{damage}"
  }
}