Power JSON Format

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

Power files need to be placed inside the powers folder within your namespace.

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 ID of the desired Power Type.
name String optional The display name of the power. Can be a literal string or a translation key.
description String optional The description of the power. Can be a literal string or a translation key.
hidden Boolean false If set to true, this power will not be displayed in places it otherwise would (the power list command being the only exception).
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.

Example

{
    "type": "apoli:active_self",
    "entity_action": {
        "type": "apoli: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 power will print a green-colored 'Hello world!' message to all currently online players once activated.