API Overview
Core entry points
Section titled “Core entry points”The Myotus public surface centers on:
IMyotusAPIMyotusAPIIModRegistrarIConfigRegistrarIModIntegrationManagerMyoConfigTabSafeClass
Main extension areas
Section titled “Main extension areas”Optional integrations
Section titled “Optional integrations”Register an annotation marker against a mod ID, then query whether it is active at runtime.
Item-list integrations
Section titled “Item-list integrations”Mark JEI, EMI, or REI integration classes with the loader marker annotations and expose static @MyotusSubscriber methods for registration callbacks. See Item List Integrations.
Terminal config tabs
Section titled “Terminal config tabs”Register new tabs for the terminal settings UI with MyoConfigTab.
Runtime integration state
Section titled “Runtime integration state”Check whether a registered integration is currently loaded before touching version-specific behavior.
Annotation-driven commands
Section titled “Annotation-driven commands”Author Brigadier nodes with @MyoCommand, @MyoExecute, and @MyoArgument instead of hand-building the tree. See Command System.
Example
Section titled “Example”MyotusAPI.get().modRegistrar().loadableMod(MyMarker.class, "examplemod", "[1.0.0,)");
if (MyotusAPI.get().modIntegrationManager().isLoaded(MyMarker.class)) { // Safe to run the optional integration branch.}loadableMod(...) accepts a Maven-style version range. If you omit the range, Myotus treats it as * and only checks whether the mod is present.
Compatibility notes
Section titled “Compatibility notes”1.20.1
Section titled “1.20.1”MyotusAPI.get()is the main stable entry point.- Registrar interfaces expose the core
loadableMod()andterminalConfigTab()methods. MyoConfigTabdoes not yet expose visibility predicates or tab-context helpers.- There is no
MyoModCondition,MyotusAPI.isInitialized(), or terminal upgrade card API in this line.
1.21.1
Section titled “1.21.1”- Adds convenience methods directly on
MyotusAPI - Adds fluent aliases such as
registerLoadableMod()andregisterTerminalConfigTab() - Adds
MyotusAPI.isInitialized() - Adds
MyoConfigTabContext,MyoConfigTabVisibility, andvisibleWhen() - Adds
MyoModConditionfor NeoForge data conditions - Adds
ITerminalUpgradeCardand persistent upgrade-slot infrastructure
If you target both lines, code to the common behavior first, then branch only where 1.21.1 adds extra capabilities.