-
Notifications
You must be signed in to change notification settings - Fork 0
Multi Version Support
AzureCortex targets several Minecraft versions and loaders on a rolling basis:
| Minecraft version | Forge | Fabric | NeoForge |
|---|---|---|---|
| 1.18.2 | 🔜 planned | 🔜 planned | ❌No NeoForge version |
| 1.20.1 | ✅ available | ✅ available | ❌No NeoForge version |
| 1.21.1 | ❌ no support | ✅ available | ✅ available |
| 26.2 | ❌ no support | 🔜 planned | 🔜 planned |
1.21.1 (Fabric + NeoForge) is the current release, structured as a common/fabric/neoforge multiloader project.
1.20.1 (Forge + Fabric) is now available alongside the 1.21.1 release. 1.18.2 (Forge + Fabric) and 26.2 (Fabric +
NeoForge) remain planned.
Essentially the entire framework, CortexRuntime, Blackboard, the behavior-tree node types, the GOAP layer
(GoalPlanner/PlannedGoal/GoalExecutor/PlanFeedback/...), sensing, and the built-in actions, lives in the
loader-agnostic common module and has no dependency on Forge/Fabric/NeoForge APIs. The pathfinding and movement
packages (navigation.astar, navigation.crawl, navigation.movement, navigation.traversal) are pure Minecraft/Java
code and equally portable. In practice this means:
- Everything documented on Core Concepts, Behavior Trees, GOAP Planning, Sensing, Navigation and Pathfinding, Wall Crawling, Built-in Actions, and Memory and Roles should apply unchanged (or nearly so) across every supported Minecraft version, none of that code depends on which loader you're running.
- The Full Example Walkthrough's shape (goal enum → planner → tree → entity wiring) is likewise version-independent.
Only the thin per-platform entrypoint differs:
-
Fabric, a
ModInitializerimplementation that callsAzureCortex.init(FabricLoader.getInstance().getConfigDir())and registers the example entities/spawn eggs/attributes through Fabric's registration APIs. -
NeoForge, a
@Mod-annotated class that callsAzureCortex.init(FMLPaths.CONFIGDIR.get())and does the equivalent registration throughDeferredRegisterand NeoForge's event bus. - Forge (available for 1.20.1, planned for 1.18.2) follows the same shape as the NeoForge entrypoint, adjusted for Forge's registration/event APIs of that era.
Your own mod only needs to depend on the platform artifact matching your own loader, see Installation.
Cross-version Minecraft/mapping changes (entity API renames, navigation internals, block/fluid state APIs) are the
most likely source of any differences in a given version's common module implementation, but the public API shapes
documented in this wiki (interfaces like Action, BehaviorNode, GoalPlanner, Pathfinder, MovementCapability,
...) are expected to remain stable across versions as a matter of design, that stability is the entire point of
extracting AzureCortex out of Ovomorphosis into its own library.
When a new version lands, check:
- The Maven browser (https://maven.azuredoom.com/#/mods/com/azure/azurecortex) for the correct artifact/version.
- This wiki's changelog/release notes (once published) for anything version-specific worth calling out.
- Installation for exact dependency coordinates per version/loader.
- FAQ and Troubleshooting for common cross-version questions.