Every mob. Every spawn. A fresh roll.
Mob Dice Attributes replaces Minecraft's fixed mob stats with tabletop RPG dice rolls. A zombie isn't always 20 HP — it might roll 13 or 27. A skeleton might track you from twice its normal range, or barely notice you across the room. Every encounter is different.
Balance is preserved by design. The dice formula is constructed so the average rolled value always equals the vanilla value. Mobs aren't globally buffed or nerfed — they vary.
Eight attributes are rolled on spawn using the xdn + b formula:
Die type is auto-selected per mob based on its vanilla value (low-HP mobs use d6, bosses use d20). Everything is configurable per attribute.
Every mob spawn draws from a weighted rarity pool — like an RPG loot table, but for mobs.
| Tier | Default chance | Effect |
|---|---|---|
| Common | 60% | Baseline rolls |
| Uncommon | 25% | Slightly above average |
| Rare | 10% | Blue name, 2× XP, bonus loot |
| Legendary | 5% | Purple name, 5× XP, 3× bonus loot, all stats boosted |
Tier weights and profiles are fully customizable via datapack.
Mobs that roll significantly above their average HP are automatically tagged as Elite — given a custom name and (optionally) a visible name tag. Threshold and prefix are configurable.
Above-average mobs drop more. Configure the XP multiplier and bonus loot rolls globally, or set them per rarity tier profile. Rare mobs are worth hunting.
Map specific spawn contexts to profiles. Always give raid mobs a legendary profile. Force spawner mobs to be rare. Or leave it to the rarity draw. Your call.
Valid contexts: natural, spawner, chunk_generation, structure, breeding,
mob_summoned, jockey, event, conversion, reinforcement, triggered,
bucket, spawn_egg, command, patrol
Everything is driven by datapacks under data/mobdiceattribs/:
| Folder | Purpose |
|---|---|
spawn_profiles/ | Named stat bundles (name, color, XP, loot, dice overrides) |
rarity_tiers/ | Weighted pool of profiles drawn on every spawn |
spawn_hooks/ | Context → profile mappings |
mob_overrides/ | Per-mob or per-tag dice overrides |
dimension_rules/ | Enable/disable rolling or scale stats per dimension |
difficulty_rules/ | Scale stats per world difficulty |
All reloaded live with /reload — no restart required.
| Command | Description |
|---|---|
/mda reroll <targets> | Force-reroll matched entities (op level 2) |
/mda inspect <target> | Print current stats, HP ratio, and assigned profile |
A full server.toml config controls every attribute independently:
/reload — fully compatible with datapack managers| Page | Link |
|---|---|
| Home | Wiki |
| Dice Formula | How xdn+b works |
| Spawn Profiles | Profile format & fields |
| Rarity Tiers | Weighted pool setup |
| Spawn Hooks | Context-based profiles |
| Mob Overrides | Per-mob dice overrides |
| Dimension Rules | Scale by dimension |
| Difficulty Rules | Scale by difficulty |
| Configuration | Full config reference |
| Commands | /mda reroll & inspect |
GitHub