Origins lets every player choose a species when they spawn into the world, each with its own strengths, weaknesses, and playstyle. Every origin, power, and layer is data-pack JSON on top of Apoli, so servers and modpacks can retheme the defaults, extend them, or replace the whole roster without writing any Java.
This is an independent, from-scratch implementation of the origins concept. It shares no code with any earlier mod of the same name. It is written against Mojang's Codec DataFixerUpper serialization API rather than hand-rolled Gson parsing, and is built for Fabric 1.20.1, Fabric 1.21.1, and NeoForge 1.21.1 from a single shared codebase.
It does read the same data-pack format, deliberately: the JSON type ids, field names, and the origins: namespace are all still accepted, so existing origin packs and add-ons work here without being rewritten. If you have used an origins mod before, your packs and your muscle memory carry over but the engine underneath is new.

| Origin | Playstyle |
|---|---|
| Human | No powers, no drawbacks (ordinary Minecraft). |
| Merling | Breathes underwater and swims fast; suffocates in open air. |
| Arachnid | Climbs walls, throws webs, eats raw meat safely. |
| Blazeborn | Immune to fire and lava, hurt by water and rain. |
| Avian | Slow-falls and sprints faster, but sleeps only above ground. |
| Phantom | Phases through blocks in spectral form at the cost of hunger. |
| Feline | No fall damage, sees in the dark, scares off creepers. |
| Elytrian | Born to fly; cramped, low ceilings weaken it. |
| Enderian | Teleports with ender pearls, takes damage from water. |
| Shulk | Shell-hardened armour at the cost of inventory space. |
/origin commands to get, set, check, and randomize origins and layers.Requires Apoli, the power engine this mod is built on. Fabric builds also require Fabric API.
| Loader | Minecraft |
|---|---|
| Fabric | 1.20.1, 1.21.1 |
| NeoForge | 1.21.1 |
Questions or bug reports? Join the Discord or open an issue on GitHub.