Every race is a single JSON file placed at data/<namespace>/storytime/races/<id>.json.
Top-level fields
display_name
Type: string
Required: yes
The name shown in the character selection screen. Supports Minecraft formatting codes.
"display_name": "Stonewarden"
description
Type: string
Required: yes
A short description shown in the character selection screen. Supports Minecraft formatting codes.
"description": "Ancient guardians of the deep, slow but immovable."
icon
Type: string (resource location)
Required: yes
Path to the icon texture shown in the character selection screen. The texture must be present in your datapack or resource pack.
"icon": "my-races:textures/gui/races/stonewarden.png"
attribute_modifiers
Type: array of attribute modifier objects
Default: []
A list of stat changes applied to the player when they select this race. See Attribute modifiers for supported attributes and operations.
"attribute_modifiers": [
{
"attribute": "minecraft:generic.max_health",
"amount": 6,
"operation": "add_value"
}
]
entity_height
Type: number (blocks)
Default: not set (uses vanilla player height of 1.8)
Scales the player's collision box and model height. Values above 1.8 make the player taller; values below make them shorter.
"entity_height": 2.5
entity_width
Type: number (blocks)
Default: not set (uses vanilla player width of 0.6)
Scales the player's collision box and model width.
"entity_width": 0.9
traits
Type: array of trait objects
Default: []
A list of passive traits applied to the player. Each trait runs continuously while the race is active. You can apply multiple traits of the same or different types.
Each trait object has:
typeโ the trait type resource locationparametersโ a map of configuration values specific to that trait type
"traits": [
{
"type": "storytime:scare_entities",
"parameters": {
"entities": ["minecraft:creeper"],
"radius": 16.0
}
}
]
See Trait types for all built-in types.
ability
Type: ability object
Default: not set (race has no active ability)
The race's single active ability, triggered by the player pressing R.
| Field | Type | Required | Description |
|---|---|---|---|
type |
string | yes | Ability type resource location |
parameters |
object | yes | Parameters specific to the ability type |
cooldown |
integer | yes | Cooldown in ticks (20 = 1 second) |
display_name |
string | yes | Name shown in the UI |
description |
string | yes | Description shown in the UI |
icon |
string | no | Resource location of an ability icon texture |
"ability": {
"type": "storytime:spell_cast",
"parameters": {
"spell_mode": "self",
"effects": [
{ "effect": "minecraft:strength", "amplifier": 1, "duration": 400 }
]
},
"cooldown": 1200,
"display_name": "Battle Surge",
"description": "Flood your body with strength for 20 seconds."
}
See Ability types for all built-in types.