Power JSON Format

This is the format of a JSON file describing a power. Powers are used to give functionality to origins.

Power JSON files need to be placed inside the data/<namespace>/powers folder of your datapack. The said files can be referenced as namespace:path/to/power (data/namespace/powers/path/to/power.json) in the powers field of an Origin (JSON) file.

Depending on the chosen type, power JSONs have more required and optional fields. See the corresponding power type page for a description of what those fields are.

Fields

Field Type Default Description
type Identifier The namespace and ID of the desired Power Type.
name Text Component optional The display name of the power.
description Text Component optional The description of the power.
hidden Boolean false If set to true, this power will not be displayed in the power list of the origin.
condition Entity Condition optional If set, this power will only be active when the player with this power fulfills the condition.
loading_priority Integer 0 Specifies when this power is loaded. Higher numbers mean it's loaded later, which means it will override those with lower loading priorities which share the same ID.
badges Array of Badges optional If set, it will display icon(s) after the name of the power.

Examples

{
    "type": "origins:active_self",
    "entity_action": {
        "type": "origins:execute_command",
        "command": "tellraw @a {\"text\": \"Hello world!\", \"color\": \"green\"}"
    },
    "name": "Hello World!",
    "description": "A power that announces a 'Hello world!' message to everyone in the server.",
    "badges": [
        {
            "sprite": "minecraft:textures/item/diamond.png",
            "text": "Ooh, shiny!"
        }
    ]
}

This example will print a green-colored 'Hello world!' message to all currently online players once activated.