For the complete documentation index, see llms.txt. This page is also available as Markdown.

Mobs Combat & Rewards

Dungeon mobs are private packet entities. They are rendered and interacted with like mobs, but they are not normal Bukkit entities and do not run vanilla AI. Each player receives an independent wave and target state.

Mob definitions

Mobs may be declared once under the zone's mobs section or overridden inside an individual stage.

mobs:
  cave_zombie:
    entity-type: ZOMBIE
    display-name: '<green>Cave Zombie</green>'
    rarity: COMMON
    boss: false
    max-health: 500
    selection-weight: 80
    sword-xp: 4
    respawn-delay-ticks: 20
    rewards:
      money: { min: 20, max: 35, chance: 1.0 }
      souls: { amount: 1, chance: 0.25 }
Key
Meaning

entity-type

Bukkit entity type used for the client-side model

display-name

MiniMessage or &-formatted mob name

rarity

Base rarity label and glow selection

boss

Marks boss rewards, sounds, and presentation

max-health

Health before zone and stage multipliers

selection-weight

Relative chance when choosing from the pool

sword-xp

Sword XP awarded for the mob

respawn-delay-ticks

Optional per-mob replacement delay

rewards

Currency reward rolls paid on defeat

Reward entries use either a fixed amount or a min and max range. chance uses a decimal from 0.0 to 1.0.

Multipliers

Final health and rewards combine the base mob, zone multipliers, stage multipliers, rarity upgrades, and eligible player bonuses. Player bonuses can come from the sword, enchants, perks, crystals, armor, companions, rebirth upgrades, abilities, and registered integrations.

Keep balance changes in YAML and test them with realistic player profiles. Large values are supported, but extreme multipliers can make holograms hard to read or create unexpectedly fast progression.

Rarity upgrades

Each zone may contain mob-lifecycle.upgrades entries such as rare, epic, and legendary. An upgrade defines:

  • the roll chance;

  • a health-multiplier;

  • per-currency reward-multipliers;

  • a display-name-format using {mob}.

The client-only outline color for each rarity is configured separately in settings/visuals.yml: visuals.mob-glows.

Wave lifecycle

mob-lifecycle.respawn-all.interval-ticks controls when an abandoned private wave expires. Ordinary defeated-mob replacement uses the mob-specific delay or the global settings/engine.yml: engine.respawn-delay-ticks default.

The engine selects targets inside target-range and releases them beyond disengage-range. Automatic sword attacks use attack-interval-ticks before player bonuses.

Safe testing

The normal test sword suppresses procs for repeatable balance measurements. --with-procs is intended for stress testing. Reset the sword when testing is complete.