Overview#
Ash API is a library mod. It does not add blocks, items, mobs or world generation, and it changes nothing about how the game plays. Instead it sits underneath other mods and gives them one shared way of doing the handful of things almost every mod needs.
Minecraft mods are normally written against a specific mod loader, and the same feature has to be written twice if the author wants to support more than one. Ash API removes that duplication: a mod written against it asks Ash API for what it needs, and Ash API talks to whichever loader is actually running.
For a player this means one thing only — some mods list Ash API as a requirement, and they will not start without it. Once installed it runs silently in the background.
What It Provides#
Ash API groups its services into a small number of areas:
- Loader information — which loader is running, whether a given mod is installed, whether the game is in a development environment, and where the game and config folders live.
- Mod options — a small JSON config system that reads and writes a file per mod, falls back to defaults when the file is missing or damaged, and replaces the file automatically when a mod raises its config version.
- Options screen — a ready-made screen class for showing a mod's settings, plus a registry so that screen can be opened straight from the in-game mod list.
- Key bindings — registering a key that shows up in the normal Controls screen under the category the mod chooses.
- Client tick events — callbacks that run before and after each client tick.
- Resource loading — registering a listener that runs whenever resource packs are reloaded.
- Block interaction — a callback that fires when a player right-clicks a block, which can allow or cancel the interaction.
Configuration Files#
Every mod that uses Ash API's options system gets its own JSON file in the game's config folder, named after that mod's id — for example config/examplemod.json.
The file is written the first time the mod runs, so you will not see it until you have launched the game once with the mod installed. You can edit it with any text editor while the game is closed.
Each file carries a version number. When a mod updates and raises that number, Ash API notices the file is out of date, replaces it with fresh defaults, and notes this in the log. That is expected behaviour, not an error — but it does mean a settings file can be reset by a mod update, so keep a copy if you have tuned it heavily.
If a file cannot be read at all — bad JSON after a manual edit, for instance — Ash API falls back to defaults and rewrites the file rather than crashing the game.
The In-Game Options Screen#
Mods that register an options screen through Ash API can be configured without leaving the game. Open the mod list from the main menu, select the mod, and use its config button; the screen Ash API built for that mod opens directly.
The screen is a normal Minecraft options list, so it behaves like the vanilla Video or Controls screens: toggles cycle on click, sliders drag, and the changes are held until you leave the screen.
When you close it, Ash API writes the mod's config file, so what you set in-game and what is on disk stay in step. There is no separate save button.
Key Bindings#
Keys registered through Ash API appear in Options → Controls → Key Binds, in whichever category the mod picked. Vanilla category names such as Movement, Gameplay, Inventory, Multiplayer and Miscellaneous are reused where a mod asks for them, and a mod can also create its own category, which then appears as its own heading in the list.
Rebinding works exactly as it does for vanilla keys — click the binding, press the new key, and use Reset to return it to the mod's default. Conflicts are shown the same way too.
Installation#
Ash API is installed like any other mod: place the file in your mods folder alongside the mod that requires it.
A few points worth knowing:
- Install it only when a mod actually asks for it. On its own it does nothing visible.
- It is needed on both the client and the server when the mod that depends on it is needed on both. If a mod is client-only, Ash API is only needed on the client.
- Keep it up to date with the mods that use it. A mod built against a newer version of Ash API may need that newer version to start.
- Only one copy belongs in the
modsfolder. Two different versions at once will stop the game from loading.
Troubleshooting#
A mod says Ash API is missing. The file is not in the mods folder, or it is in the wrong instance's folder. Check that you dropped it into the same profile you are launching.
The game will not start and mentions a duplicate mod. There is more than one copy of Ash API in the mods folder — usually an old file left behind after an update. Delete the older one.
A mod's settings went back to their defaults. That mod raised its config version, so its file was rebuilt from defaults. Set your preferences again and they will stick.
A mod has no config button in the mod list. Not every mod registers an options screen; those mods are configured by editing their JSON file directly, or they may have no settings at all.
A key binding does not appear in Controls. The key is registered by the mod that uses Ash API, not by Ash API itself — if that mod failed to load, its key will be absent too. Check the log for errors from that mod.
Frequently Asked Questions#
Does Ash API add anything to the game? No. It has no items, blocks, mobs, recipes or world generation, and it does not alter game balance.
Will it affect performance? No measurably. It registers a few callbacks and reads small config files at startup.
Do I need it if none of my mods mention it? No. It is only useful to mods built against it.
Is it safe to remove? Yes, as long as you also remove the mods that require it. Removing it while such a mod is still installed will stop the game from loading.
Can it be used on a server? Yes. Install it on the server whenever a mod that depends on it is installed there.
Where are its own settings? It has none. The config files it manages belong to the mods that use it.