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 |
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 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.