Compatibility
The mods Apoli integrates with, and the extra types each one unlocks.
Apoli ships integrations with a handful of other mods. Each one is a gated module: install the other mod and Apoli registers extra power, action and condition types for it; leave it out and those types simply don’t exist. Apoli never hard-depends on any of them.
Supported mods
| Mod | Section | What it unlocks |
|---|---|---|
| Simple Voice Chat | Simple Voice Chat | React to who is talking, how loudly, and what they say. |
| Trinkets / Accessories / Curios | Accessories | Accessory slots, equip/unequip control, slot conditions. |
| Figura | Figura | Point apoli:modify_player_model at a Figura avatar. |
| Icarus | Icarus | The apoli:wings flight power. |
| Hardcore Revival | Hardcore Revival | Knockout / revive triggers, actions and a condition. |
| Not Enough Recipe Book | Not Enough Recipe Book | No new types — keeps power-gated recipes working with the recipe book removed. |
Two kinds of gating
Registration-gated. The type is only registered when the other mod is loaded. Using it in a data pack without that mod is a load error for that power, exactly like a typo’d type id. Everything under Accessories, Icarus and Hardcore Revival works this way.
Behaviour-gated. The type is always registered and always loads, but does nothing useful without the other mod — conditions read false, triggers never fire. The Simple Voice Chat types work this way, so a pack that uses them stays loadable on a server without voice chat.
Not Enough Recipe Book is neither: it adds no types at all. It only changes how existing types behave when it is installed.
Check the section for the mod you’re targeting — each type page says which kind it is.
Writing your own
If you are building an addon and want the same pattern for a mod Apoli doesn’t cover, see Writing compat.