promotional bannermobile promotional banner

QQs Core Stats

Adds six tabletop ability scores to players and mobs
Screenshot 2026-09-15 133834.png

Screenshot 2026-09-15 133834.png

Screenshot 2026-09-15 133231.png

Screenshot 2026-09-15 133231.png

Screenshot 2026-09-15 133231.png

Screenshot 2026-09-15 133231.png

Screenshot 2026-09-15 132953.png

Screenshot 2026-09-15 132953.png

Screenshot 2026-09-15 134016.png

Screenshot 2026-09-15 134016.png

Description

D&D Stats Core

Adds six tabletop ability scores to players and mobs, then resolves combat with d20 attack rolls, crits, stuns, and on-screen dice checks.

Requires Minecraft 1.21.1 and NeoForge.


What it does

On first join you assign STR, DEX, CON, INT, WIS, CHA (27-point buy from a base of 8, plus a +2 / +1). Scores lock for that world. Mobs have their own sheets.

Attacks, checks, and saves are rolled on the server. The client only draws what happened: floating numbers, a gold die on a passed check, and a roll log in the top-left.

Combat

  • Every swing and shot rolls a d20 vs armor class. Nat 20 crits. Nat 1 always misses.
  • Damage is 1dN + modifier. Crits roll the weapon die twice.
  • Axes, tridents, and maces can stun (STR vs CON) on a fully charged hit.
  • Light / medium / heavy armor with real AC. Light keeps full DEX, medium caps it at +2, heavy ignores DEX. Below an item's STR requirement you keep the AC but attack at disadvantage and move slower.
  • Shields add +2 AC. A raised shield only holds if the attack failed to beat that AC.
  • Enchantments and potions use their own dice (Sharpness, Smite, Power, Fire Aspect, harming, healing, poison, wither, burning).

By default, failing the attack roll vs AC still deals damage (Minecraft-feel). Turn on failedAttackRollsMiss if you want a miss to cancel the whole hit.

Checks you can see

A passed check plays a dice sound, floats a gold die over that creature, and adds a line to the corner log — Charisma talk-downs, fire DEX saves, poison/wither CON saves, fall checks, brew checks, and the rest. Failures stay quiet.

Ability perks

Stat What it does
STR Melee / trident to-hit and damage, stun, mining speed, knockback, armor STR gate
DEX Bows and crossbows, AC, move speed, fall cushion + a check to take no fall damage, DEX save to put out fire
CON Extra hearts, slower hunger, stun resist, CON saves vs poison and wither
INT Extra XP, stronger enchanting table, chance to go one level past vanilla max, chance to brew one glowstone step higher
WIS Faster nearby crops, shorter breeding + chance of twins, anvil overcap, extra 1d4 on instant potions
CHA Cheaper villagers, a private extra deal at 14+, sneak-talk angry mobs down, illagers may ignore you

HUD

Floating combat numbers, crit / stun / miss / block icons, corner roll log, mob health bars with portraits, inspect panel (I), and a character sheet keybind.


How to configure

Configs appear after the first launch:

  • Server / world rules: config/dnd_stats_core-common.toml
  • Your HUD: config/dnd_stats_core-client.toml

Edit, save, then restart the client (or the server, for the common file).

HUD (dnd_stats_core-client.toml)

Key Default Effect
showRollLog true Top-left dice / damage log
showMobInspect true Right-hand panel for the mob you look at (I toggles this)
showCombatPopups true Floating hit / miss / potion / save numbers
showMobHealthBars true Thin bars and portraits over mobs
showAttackTooltips true Weapon die and potion/enchant riders on item tooltips

Progression ([progression])

Key Default Effect
enabled true If false, every check uses +0. Combat still rolls.

Combat ([combat])

Key Default Effect
baseAc 10 Unarmored AC before DEX (10 + DEX)
critThreshold 20 Lowest natural d20 that crits (set 19 for Champion-style)
failedAttackRollsMiss false If true, failing vs AC cancels damage and on-hit effects

Armor ([combat.armor])

Key Default Effect
enabled true Catalog AC + weight classes
strengthRequirements true Too little STR → disadvantage and a speed penalty
encumberedSpeedPenalty 0.15 Movement penalty while encumbered
shieldAc 2 AC while holding a shield
shieldBlockRoll true Block only holds if the attack missed your AC

Unarmed ([combat.unarmed])

Fists stay weak so punching cannot outpace a weapon.

Key Default Effect
capEnabled true Cap empty-hand hits
die 1 Unarmed die (1d1)
maxDamage 2.0 Hard HP ceiling, even on a crit
applyAbilityModifier false If true, STR still adds (then the ceiling applies)

PvE / PvP ([combat.pve] and [combat.pvp])

Key Default Effect
stunDc 15 Stun attempt DC
critMultiplier 1.25 Extra damage on a crit
stunDurationTicks 20 Stun length (20 ticks = 1 second)
bossesImmuneToStun true Wither, Ender Dragon, Warden, and #dnd_stats_core:stun_immune (PvE only)
bossesImmuneToCrit false Same bosses skip crit extra damage; a nat 20 still hits (PvE only)

Abilities ([abilities])

Dexterity

Key Default Effect
fallCheck true DEX check to negate leftover fall damage
fallCheckBaseDc 8 DC for a fall that only just hurts; +1 DC per extra 2 blocks

Charisma

Key Default Effect
pacifyEnabled true Talk-down and illager non-aggression
pacifyDc 13 Sneak, empty hand, use on an angry #dnd_stats_core:pacifiable mob
illagerDc 18 Rolled when a #dnd_stats_core:negotiable mob targets you (needs CHA mod > 0)
calmTicks 1200 How long they leave you alone (60 seconds)
cooldownTicks 200 Wait after a failed attempt (10 seconds)
stockEnabled true Private extra villager deal
stockMinScore 14 Lowest CHA that sees the deal
stockMaxOffers 1 Pack hook; the screen still shows one deal

Intelligence

Key Default Effect
brewUpgrade true INT check when taking a potion from a brewing stand
brewUpgradeDc 14 Pass → one glowstone step higher (harming → harming II)

Wisdom

Key Default Effect
potionBoost true Extra die on instant harming / healing
potionBoostDc 13 WIS check when that potion lands
potionBoostDie 4 Extra 1d4 (poison / wither ticks are not boosted)

Datapacks (no code)

Drop files in a datapack (or override the ones in the jar). A file with the same path replaces the built-in default.

What Path
Mob scores data/<namespace>/dnd_stats_core/mob_stats/<entity>.json
Armor data/<namespace>/dnd_stats_core/armor/<item>.json
Enchant dice data/<namespace>/dnd_stats_core/enchant_effects/<enchant>.json
Potion / fire dice data/<namespace>/dnd_stats_core/effect_damage/<effect>.json
CHA trade pools data/<namespace>/dnd_stats_core/charisma_trades/<profession>.json
Who you can talk down data/dnd_stats_core/tags/entity_type/pacifiable.json
Who rolls CHA on aggro data/dnd_stats_core/tags/entity_type/negotiable.json
Stun / crit immune data/dnd_stats_core/tags/entity_type/stun_immune.json and crit_immune.json
Shields / stun weapons data/dnd_stats_core/tags/item/shields.json, stun_weapons.json

Example mob file (data/minecraft/dnd_stats_core/mob_stats/zombie.json):

{
  "strength": 13,
  "dexterity": 6,
  "constitution": 16,
  "intelligence": 3,
  "wisdom": 6,
  "charisma": 5
}

QQs Core Stats Team

profile avatar
Owner
  • 1
    Projects
  • 39
    Downloads

Full time SWE and part time dev