Overview
What Apoli and Origins are, and where data packs come in.
Getting started
Set up a data pack and write your first Apoli power.
Anatomy of a power
Powers, actions, conditions and data types all share one JSON shape.
Powers
What a power is, and the fields every power type shares.
Actions
What actions are, what fires them, and the kinds they come in.
Conditions
Yes or no tests that powers and actions check.
Data types
The value shapes that fields expect, such as modifiers, effects and text.
Custom status effects
Define new status effects in a data pack. While an entity has one, it holds the powers the effect lists.
Macros
Write a piece of power JSON once and reuse it with arguments. Macros expand while the data pack loads, so they cost nothing in game.
File formats
Apoli and Origins data files can be plain JSON, JSONC with comments and trailing commas, or JSON5.