Statblock
Rewrite the default attributes of any entity — including players — from a config file.
Minecraft 26.2 exposes 41 attributes: health, damage, movement speed, gravity, friction, air drag, bounciness, step height, safe fall distance, follow range, interaction range and the rest. What it does not give you is any way to change what an entity starts with. /attribute only touches entities that already exist, and the next zombie to spawn is vanilla again.
Statblock patches the values at the source. They are baked into the entity at construction, so they survive saving, chunk reloads and mob equipment.
What makes it different
- Every attribute. Not a fixed list of four. Whatever is registered in your instance, including attributes added by other mods.
- Players too. Twenty hearts is a default, not a law. Change player health, reach, step height or gravity from the server — nobody installs anything.
- Three ways to target. One entity id, an entity type tag, or everything at once.
- Set, multiply or add.
40,"x1.5","150%","+8". - Grants attributes an entity does not have. Give a cow attack damage. Give a creeper jump strength.
- Server-side. Works on a dedicated server, in singleplayer, and in a modpack.
- No Fabric API dependency. One 32 KB jar, nothing else.
Config
config/statblock.json, written on first start. An empty overrides block changes nothing, so installing it does not touch your world until you say so.
{
"enabled": true,
"writeReferenceFile": true,
"overrides": {
"*": { "step_height": 1.0 },
"#minecraft:skeletons": { "follow_range": "+16" },
"minecraft:player": { "max_health": 40, "block_interaction_range": "+2" },
"minecraft:zombie": {
"max_health": 40,
"movement_speed": "x1.3",
"gravity": 0.04
}
}
}
// comments are allowed.
Section keys
| Key | Matches |
|---|---|
minecraft:zombie |
that one entity type |
minecraft:player |
players |
#minecraft:skeletons |
every entity type in that tag |
* |
every entity that has attributes at all |
Applied wildcard → tag → exact id, so the most specific section wins. A wildcard value still applies to an entity that has its own section, as long as that section does not name the same attribute.
Values
| Written as | Means |
|---|---|
40 |
set the base value to 40 |
"x1.5" |
multiply the vanilla base value |
"150%" |
the same thing, as a percentage |
"+8" |
add to it |
"-8" |
subtract from it |
The number/string split is deliberate: a bare -8 sets the value to minus eight, "-8" subtracts eight.
Results are clamped to each attribute's own range, so "max_health": -5 cannot produce an unspawnable entity. Naming an attribute the entity does not normally have grants it, starting from that attribute's own default.
For modpack authors
Anything in config/statblock/*.json is merged on top of statblock.json in filename order. Ship your pack's file there and the server owner's own edits stay intact — neither side clobbers the other on update.
You do not have to memorise attribute names
On every start Statblock writes config/statblock-reference.txt: every attribute registered in your instance, with its default value, including ones other mods added. Nobody should have to guess that the attribute behind fall speed is called air_drag_modifier.
The minecraft: namespace can be dropped — max_health and minecraft:max_health are the same thing. Misspell one and the log tells you the closest match instead of silently ignoring the line.
Commands
All require permission level 2.
| Command | Does |
|---|---|
/statblock reload |
re-reads the config |
/statblock list |
every configured section and what it matches |
/statblock dump <entity> |
old → new for one entity type, with tab completion |
Reloading affects entities spawned from then on. Entities already in the world keep the values they were built with — that is how vanilla stores attributes, not something a mod can work around.
Examples
Harder nights, without a difficulty mod
"#minecraft:undead": { "max_health": "150%", "follow_range": "+16" }
Low gravity world
"*": { "gravity": 0.02, "safe_fall_distance": 20 }
A tougher player, server-side
"minecraft:player": {
"max_health": 40,
"block_interaction_range": "+2",
"safe_fall_distance": "+6"
}
One boss mob for your pack
"minecraft:zombified_piglin": {
"max_health": 100,
"attack_damage": "x2",
"knockback_resistance": 1.0
}
Requirements
- Minecraft 26.2
- Fabric Loader 0.19.3 or newer
- Java 25
Client optional. Nothing is sent to the client and nothing is rendered.
Modpacks
Free to include in any modpack, public or private. No credit required, though it is appreciated.
Support
This mod is free and always will be. I build and maintain it in my spare time.
If it helps you, consider buying me a coffee. Every contribution - no matter how small - buys more time for updates, new features and keeping things working after each patch.
Links
- Twitch: twitch.tv/peterdigitalgg
- GitHub: github.com/valuecoding
Found a bug or got feedback? Use the comments section here on CurseForge.

