
Automated Materials Index (AMI)
AMI adds searchable side panels for better browsing and discoverablilty in large modpacks. Biomes, Items, Waypoints, Advancements, Quests, DPS, Storage slots, everything and anything is searchable with AMI.
Автор: ashleywr2,1 тыс.29обновлён 25 сент. 2026 г.
УправлениеУтилиты
Описание

AMI is an index and search mod designed for large Minecraft modpacks. It builds a client-side searchable index of items, entities, biomes, structures, waypoints, guidebooks, quests, and recipe data.
- Material Grouping: Groups related block variants such as stairs, slabs, walls, and other material families to make large item lists easier to browse.
- Structured Query Search: Supports text search plus filters for tags, mods, categories, properties, and numeric metadata such as >energy:50000, >damage:15, or >dps:8.
- Item Metadata Indexing: Detects useful item facts such as durability, tool stats, armor stats, food values, storage capacity, energy capacity, and fluid capacity where available.
- Entity Indexing: Adds searchable entity entries with category, health, attack damage, spawn egg support, and metadata hints such as mountable or tamable where detectable.
- Biome and Structure Search: Includes indexed biome and structure entries alongside item and entity results.
- Recipe Viewer Integration: Works standalone or alongside JEI/EMI, including lookup history, favorites, cheat-mode actions, and recipe transfer from AMI panels.
- Built for Large Modpacks: Handles packs with 50K+ items, with added compatibility for some popular mods like Cobblemon, Create, Tinkers/SilentGear, and more
Галерея
Последние версии
Все версии →release
AMI 1.8.7 (Forge 1.20.1)
1.8.7+forge.1.20.125 сент. 2026 г.97Minecraft: 1.20.1forge
Что нового
## 1.8.7 - 2026-09-03
### Added
- Added a server-side `/ami dump` (`all`, `items`, `recipes`, `loot-tables`, `trades`, `worldgen`) that works from a dedicated server console. The existing dump tree registers through client command events, which do not exist on a dedicated server, so none of it could be produced headlessly - the one place that loads a full mod set with no GPU, no resource packs and no human clicking. Registered at permission level 2 rather than behind `-Dami.debugCommands`, because needing a JVM flag on a server you did not launch yourself makes it unusable in exactly the case it exists for. Search nodes, guide docs, the results tree and recipe-viewer dumps are deliberately not included: they read the client index or a viewer plugin and have no meaning without a client.
- Added `/ami dump worldgen`, writing every biome, structure and dimension with its tags to `ami_dumps/worldgen/worldgen-dump.json`. This is new data rather than a port: the registry dump has only items. Taking it from the live registry is also the only complete source - modded biomes and structures are datapack JSON and can be scanned from jars, but vanilla's are registered in code, so a data scan silently misses `minecraft:deep_ocean` and every other vanilla entry.
- Added Fabric and NeoForge `/ami dump trades`, which resolves the active villager and wandering-trader listing factories against a deterministic server-side sample and writes costs, results, limits, XP, listing classes, and unresolved reasons to `ami_dumps/trades/trades_runtime.json`. Map-dependent offers can remain unresolved in an isolated world with no discoverable structures.
### Changed
- Stack snapshots and `CreativeStackVariantExpander.stackIdentityHash` no longer read display names or tooltips on a dedicated server. `getHoverName()` dispatches to `Item#getName(ItemStack)`, which mods routinely override with client code, and the tooltip inputs go through `getTooltipLines` outright; the existing catch guards stopped those from failing but not from being logged, so a single `/ami dump all` over a 333-mod pack emitted 6,306 RuntimeDistCleaner errors and spent most of its runtime producing them. Nothing is lost: mod `assets/` are never loaded on a dedicated server, so those names only ever resolved to raw translation keys. Server and client identity hashes already disagreed for that reason - `exactKey` was never comparable across sides and still is not.
- `RecipeDumpWriters.writeLootTables` gained an overload taking an explicit `ResourceManager`. The existing no-arg path falls back to `Minecraft.getInstance()`, and merely executing that branch on a dedicated server trips RuntimeDistCleaner.
### Fixed
- Fixed Fabric dedicated servers crashing during AMI startup because `FabricPlatformHelper` eagerly constructed client key mappings from its common static initializer. Key mappings now initialize only when the client accessor is actually used.
release
AMI 1.8.7 (Fabric 1.21.1)
1.8.7+fabric.1.21.125 сент. 2026 г.33Minecraft: 1.21.1fabric
Что нового
## 1.8.7 - 2026-09-03
### Added
- Added a server-side `/ami dump` (`all`, `items`, `recipes`, `loot-tables`, `trades`, `worldgen`) that works from a dedicated server console. The existing dump tree registers through client command events, which do not exist on a dedicated server, so none of it could be produced headlessly - the one place that loads a full mod set with no GPU, no resource packs and no human clicking. Registered at permission level 2 rather than behind `-Dami.debugCommands`, because needing a JVM flag on a server you did not launch yourself makes it unusable in exactly the case it exists for. Search nodes, guide docs, the results tree and recipe-viewer dumps are deliberately not included: they read the client index or a viewer plugin and have no meaning without a client.
- Added `/ami dump worldgen`, writing every biome, structure and dimension with its tags to `ami_dumps/worldgen/worldgen-dump.json`. This is new data rather than a port: the registry dump has only items. Taking it from the live registry is also the only complete source - modded biomes and structures are datapack JSON and can be scanned from jars, but vanilla's are registered in code, so a data scan silently misses `minecraft:deep_ocean` and every other vanilla entry.
- Added Fabric and NeoForge `/ami dump trades`, which resolves the active villager and wandering-trader listing factories against a deterministic server-side sample and writes costs, results, limits, XP, listing classes, and unresolved reasons to `ami_dumps/trades/trades_runtime.json`. Map-dependent offers can remain unresolved in an isolated world with no discoverable structures.
### Changed
- Stack snapshots and `CreativeStackVariantExpander.stackIdentityHash` no longer read display names or tooltips on a dedicated server. `getHoverName()` dispatches to `Item#getName(ItemStack)`, which mods routinely override with client code, and the tooltip inputs go through `getTooltipLines` outright; the existing catch guards stopped those from failing but not from being logged, so a single `/ami dump all` over a 333-mod pack emitted 6,306 RuntimeDistCleaner errors and spent most of its runtime producing them. Nothing is lost: mod `assets/` are never loaded on a dedicated server, so those names only ever resolved to raw translation keys. Server and client identity hashes already disagreed for that reason - `exactKey` was never comparable across sides and still is not.
- `RecipeDumpWriters.writeLootTables` gained an overload taking an explicit `ResourceManager`. The existing no-arg path falls back to `Minecraft.getInstance()`, and merely executing that branch on a dedicated server trips RuntimeDistCleaner.
### Fixed
- Fixed Fabric dedicated servers crashing during AMI startup because `FabricPlatformHelper` eagerly constructed client key mappings from its common static initializer. Key mappings now initialize only when the client accessor is actually used.
release
AMI 1.8.7 (NeoForge 1.21.1)
1.8.7+neoforge.1.21.125 сент. 2026 г.147Minecraft: 1.21.1neoforge
Что нового
## 1.8.7 - 2026-09-03
### Added
- Added a server-side `/ami dump` (`all`, `items`, `recipes`, `loot-tables`, `trades`, `worldgen`) that works from a dedicated server console. The existing dump tree registers through client command events, which do not exist on a dedicated server, so none of it could be produced headlessly - the one place that loads a full mod set with no GPU, no resource packs and no human clicking. Registered at permission level 2 rather than behind `-Dami.debugCommands`, because needing a JVM flag on a server you did not launch yourself makes it unusable in exactly the case it exists for. Search nodes, guide docs, the results tree and recipe-viewer dumps are deliberately not included: they read the client index or a viewer plugin and have no meaning without a client.
- Added `/ami dump worldgen`, writing every biome, structure and dimension with its tags to `ami_dumps/worldgen/worldgen-dump.json`. This is new data rather than a port: the registry dump has only items. Taking it from the live registry is also the only complete source - modded biomes and structures are datapack JSON and can be scanned from jars, but vanilla's are registered in code, so a data scan silently misses `minecraft:deep_ocean` and every other vanilla entry.
- Added Fabric and NeoForge `/ami dump trades`, which resolves the active villager and wandering-trader listing factories against a deterministic server-side sample and writes costs, results, limits, XP, listing classes, and unresolved reasons to `ami_dumps/trades/trades_runtime.json`. Map-dependent offers can remain unresolved in an isolated world with no discoverable structures.
### Changed
- Stack snapshots and `CreativeStackVariantExpander.stackIdentityHash` no longer read display names or tooltips on a dedicated server. `getHoverName()` dispatches to `Item#getName(ItemStack)`, which mods routinely override with client code, and the tooltip inputs go through `getTooltipLines` outright; the existing catch guards stopped those from failing but not from being logged, so a single `/ami dump all` over a 333-mod pack emitted 6,306 RuntimeDistCleaner errors and spent most of its runtime producing them. Nothing is lost: mod `assets/` are never loaded on a dedicated server, so those names only ever resolved to raw translation keys. Server and client identity hashes already disagreed for that reason - `exactKey` was never comparable across sides and still is not.
- `RecipeDumpWriters.writeLootTables` gained an overload taking an explicit `ResourceManager`. The existing no-arg path falls back to `Minecraft.getInstance()`, and merely executing that branch on a dedicated server trips RuntimeDistCleaner.
### Fixed
- Fixed Fabric dedicated servers crashing during AMI startup because `FabricPlatformHelper` eagerly constructed client key mappings from its common static initializer. Key mappings now initialize only when the client accessor is actually used.
release
AMI 1.8.5 (Forge 1.20.1)
1.8.5+forge.1.20.18 авг. 2026 г.75Minecraft: 1.20.1forge
Что нового
## 1.8.5 - 2026-08-08
### Fixed
- Fixed a real hang after switching gamemode with the inventory closed on large modpacks: the 1.8.3 gamemode-switch prewarm re-checked the full indexed item list every client tick instead of once, and its warmed cache was then discarded right before it would have been used. Both fixed; the background prewarm now only recomputes when the live player state actually changes, and its result is reused on the next inventory open instead of rebuilt cold.
release
AMI 1.8.5 (Fabric 1.21.1)
1.8.5+fabric.1.21.18 авг. 2026 г.31Minecraft: 1.21.1fabric
Что нового
## 1.8.5 - 2026-08-08
### Fixed
- Fixed a real hang after switching gamemode with the inventory closed on large modpacks: the 1.8.3 gamemode-switch prewarm re-checked the full indexed item list every client tick instead of once, and its warmed cache was then discarded right before it would have been used. Both fixed; the background prewarm now only recomputes when the live player state actually changes, and its result is reused on the next inventory open instead of rebuilt cold.
release
AMI 1.8.5 (NeoForge 1.21.1)
1.8.5+neoforge.1.21.18 авг. 2026 г.133Minecraft: 1.21.1neoforge
Что нового
## 1.8.5 - 2026-08-08
### Fixed
- Fixed a real hang after switching gamemode with the inventory closed on large modpacks: the 1.8.3 gamemode-switch prewarm re-checked the full indexed item list every client tick instead of once, and its warmed cache was then discarded right before it would have been used. Both fixed; the background prewarm now only recomputes when the live player state actually changes, and its result is reused on the next inventory open instead of rebuilt cold.
release
AMI 1.8.4 (Forge 1.20.1)
1.8.4+forge.1.20.18 авг. 2026 г.16Minecraft: 1.20.1forge
Что нового
## 1.8.4 - 2026-08-08
### Changed
- No functional changes from 1.8.3. Re-published as 1.8.4 after fixing a CurseForge publishing config issue (missing environment/side tag) that blocked the 1.8.3 CurseForge and GitHub releases; 1.8.3 had already published successfully to Modrinth.
release
AMI 1.8.4 (Fabric 1.21.1)
1.8.4+fabric.1.21.18 авг. 2026 г.17Minecraft: 1.21.1fabric
Что нового
## 1.8.4 - 2026-08-08
### Changed
- No functional changes from 1.8.3. Re-published as 1.8.4 after fixing a CurseForge publishing config issue (missing environment/side tag) that blocked the 1.8.3 CurseForge and GitHub releases; 1.8.3 had already published successfully to Modrinth.
release
AMI 1.8.4 (NeoForge 1.21.1)
1.8.4+neoforge.1.21.18 авг. 2026 г.12Minecraft: 1.21.1neoforge
Что нового
## 1.8.4 - 2026-08-08
### Changed
- No functional changes from 1.8.3. Re-published as 1.8.4 after fixing a CurseForge publishing config issue (missing environment/side tag) that blocked the 1.8.3 CurseForge and GitHub releases; 1.8.3 had already published successfully to Modrinth.
release
AMI 1.8.3 (Forge 1.20.1)
1.8.3+forge.1.20.18 авг. 2026 г.17Minecraft: 1.20.1forge
Что нового
## 1.8.3 - 2026-08-07
### Added
- Added `/ami dump pokemon-coverage`, writing pack-author/player-facing Cobblemon species coverage as JSON, CSV, and HTML under `ami_dumps/pokemon_coverage/`.
### Fixed
- Prewarmed AMI's cached result view ahead of a survival/creative gamemode switch made while the inventory is closed, instead of rebuilding it synchronously the next time the inventory opens. Fixes a stall/hang on opening the inventory shortly after a gamemode switch on large modpacks with limited heap headroom (e.g. Steam Deck).
- Made craftable filtering use the active recipe viewer and the current container state, so JEI/EMI craftable results stay accurate across open inventories.
- Fixed AMI config and panel-content dropdowns (e.g. "AMI Mode") not opening when clicked — the earlier Forge-compatibility click-ABI rename left the initial open click falling through to a no-op default handler instead of the popup logic.
- Centered AMI config row labels and controls vertically within their rows; they previously used fixed offsets that left them sitting low relative to their labels.
- Preserved EMI fluid tooltip names when AMI is layered over external recipe screens.
- Fixed JEI's ingredient list, bookmarks, and search bar sometimes still drawing alongside AMI when a pack's installed JEI build is newer than AMI's own JEI version — JEI's overlay draw methods are now targeted by name rather than by a version-pinned class reference, so suppression survives JEI renaming or splitting its internal rendering methods across releases.



