Skip to main content

Origin JSON Format

An Origin defines a selectable origin that grants players special abilities.

File Location

Origin JSON files go in data/<namespace>/origins/origin/ within your data pack.

The filename corresponds to its ID. For example, data/origins/origins/origin/avian.json has the ID origins:avian.

Fields

FieldTypeDefaultDescription
nameText ComponentoptionalThe display name of the origin. Use translation key origin.<namespace>.<path>.name is more recommended
descriptionText ComponentoptionalThe description shown in the origin's tooltip. Use translation key origin.<namespace>.<path>.description is more recommended
powersReferenceOrTagList[]Power IDs or tags granted by this origin. Use "origins:xxx" or "#origins:tag_name"
iconItem StackoptionalThe item displayed as the origin's icon in the selection screen
unchoosableBooleanfalseIf true, this origin won't appear in selection screens, but can still be assigned via commands or upgrades
orderIntegerInteger.MAX_VALUESort order in the selection screen; lower numbers appear first
impactInteger0Impact level: 0 = NONE, 1 = LOW, 2 = MEDIUM, 3 = HIGH
upgradesList of Upgrade objects[]Origin upgrade configuration list

Examples

{
"powers": [
"#origins:avian"
],
"icon": {
"id": "minecraft:feather"
},
"order": 0,
"impact": 1
}

An Avian origin using a power tag:

{
"powers": [
"example:my_power",
"#origins:common_powers"
],
"icon": {
"id": "minecraft:player_head"
},
"order": 5,
"impact": 2,
"unchoosable": false
}
note

Key differences from the old (Fabric) version:

  • loading_priority field removed
  • impact uses an integer instead of a string enum
  • powers supports tag references (#namespace:tag)

Upgrade Format

An Upgrade defines how an origin transforms into another origin upon achieving a specific advancement.

FieldTypeDefaultDescription
conditionIdentifierrequiredThe advancement ID that triggers this upgrade
originIdentifierrequiredThe target origin ID to upgrade to
announcementText ComponentoptionalA chat notification shown when the upgrade occurs

Example

Used inside an Origin JSON's upgrades field:

{
"powers": [...],
"icon": {"id": "minecraft:diamond"},
"upgrades": [
{
"condition": "minecraft:end/kill_dragon",
"origin": "origins:elytrian",
"announcement": "You have slain the Ender Dragon! You have evolved into an Elytrian."
},
{
"condition": "minecraft:nether/brew_potion",
"origin": "origins:blazeborn"
}
]
}

If announcement is omitted, no notification message will be displayed.