Repository navigation
Users Loot Info Configuration
The configuration file lives in the standard config directory, in the ali folder:
config/ali/ali_common.json
It is created with defaults on first start. It is a common config: on a dedicated server the server's copy decides what is scanned and what is sent to clients.
Changes take effect on restart — the file is read once while the mod starts.
A JSON Schema is published so editors such as VS Code or IntelliJ can validate and autocomplete the file while you type: https://github.com/yanny7/AdvancedLootInfo/blob/master/ali_config.schema.json
configVersion marks the format the file was written in (current: 2). When ALI finds an older value, it renames the
file to a backup named after the time it was made, such as ali_common.json.2026-10-06_14-30-05.bak, and writes a fresh
default file — so your edits are not migrated, they are preserved only in the backup. Earlier backups are never
overwritten. After a mod update that bumps the version, re-apply your changes on top of the newly generated file.
When the version is current, every option missing from the file is added to it with its default value on start, so options introduced by an update show up in your file. Your values, and keys ALI does not know, are left as they are; entries are never added to lists, so a category you removed stays removed.
| Option | Type | Default | Meaning |
|---|---|---|---|
configVersion |
int | current version | Format marker, see above. Do not hand-edit. |
blockCategories |
list | see Loot Categories | Categories for block loot. |
entityCategories |
list | see Loot Categories | Categories for entity (mob) loot. |
gameplayCategories |
list | see Loot Categories | Categories for gameplay loot tables (chests, fishing, bartering, …). |
tradeCategories |
list | see Loot Categories | Categories for trades, matched against the trader ID — villager professions, minecraft:wandering_trader and modded traders alike. |
disabledEntities |
list of IDs | empty | Entities that are skipped while gathering loot tables. Use it for entities that crash or misbehave when ALI touches them. |
tooltipColors |
object | see below | Colors of the tooltip text, values, errors, tree arrows, most likely values and enchantment levels. |
logMoreStatistics |
boolean | false |
Logs extra statistics about the scanned loot tables. Debug aid. |
showInGameNames |
boolean | true |
true shows translated names of items/blocks/effects, and of IDs and tags that have a translation (see IDs and tags); false shows raw IDs (minecraft:diamond). |
hideDefaultBlockLoot |
boolean | true |
Hides blocks whose loot table only drops the block itself, unless a global loot modifier or a fake loot table adds something to it. Auto-detected global loot modifiers do not count. |
defaultBlockLootConditions |
list of IDs | minecraft:survives_explosion |
Loot conditions that still count as "default drop" for hideDefaultBlockLoot. |
defaultBlockLootFunctions |
list of IDs | minecraft:explosion_decay |
Loot functions that still count as "default drop" for hideDefaultBlockLoot. |
ignoredPredicateConditions |
list of IDs |
minecraft:random_chance, minecraft:random_chance_with_enchanted_bonus, minecraft:table_bonus, minecraft:survives_explosion
|
Conditions that do not count as "this drop is conditional", so they leave the item's slot uncolored. |
showUnboundedGlobalLootModifiers |
boolean | false |
Shows global loot modifiers that no page selects — the ones deciding at runtime what they apply to. See Global Loot Modifiers. |
showEntitiesWithoutLoot |
boolean | false |
Also lists mobs that spawn naturally but drop nothing, so where they spawn can be looked up. See Interface. |
spawnInfo |
object | see below | Which mobs show where they spawn naturally. See below and Interface. |
showCharts |
boolean | true |
Draws a small chart under numbers that have a most likely value. See Interface. |
entityLootTables |
map: entity ID → list of loot table IDs | empty | Declares which loot tables an entity drops, for the rare entity whose table cannot be derived from its ID. See below. |
On Minecraft 1.20.1 the default of
ignoredPredicateConditionsusesminecraft:random_chance_with_lootinginstead ofminecraft:random_chance_with_enchanted_bonus, because that is the vanilla condition on that version.
{
"configVersion": 2,
"disabledEntities": [
"somemod:crashing_entity"
],
"logMoreStatistics": true,
"showInGameNames": false
}Every field is optional — anything you leave out falls back to its default, so a small file like the one above is valid, and ALI then writes the omitted options into it with their defaults. Note that omitting the category lists means "use the built-in defaults", not "no categories".
A value that cannot be read — a wrong type, a malformed ID, a block, entity or item that no installed mod adds, an
invalid regular expression — is ignored, and the log says so: an option falls back to its default, an invalid entry is
left out of its list, and a category that cannot be read at all (for example one whose icon does not exist) is left
out of its category list on its own.
On Minecraft 1.20.1 only unknown block and entity IDs in a category are left out like that; most other values that cannot be read make the whole file fall back to its defaults, and the log names the error.
{
"configVersion": 2,
"hideDefaultBlockLoot": false
}With hideDefaultBlockLoot enabled (the default), a block like Cobblestone — which simply drops itself, guarded by
survives_explosion and explosion_decay — gets no loot entry in the viewer, because it carries no information.
As soon as anything else touches its table (an extra drop, another condition, a global loot modifier, a fake loot
table), it shows up again. An auto-detected global loot modifier (one ALI shows only as its raw data) does not
count here, since it cannot tell whether that modifier really changes the block's drops.
Loot pools that contain no drops at all do not count against this. Some mods add such empty pools to every block table; since they can never produce an item, they are ignored when deciding whether a block only drops itself.
| Key | Default | Meaning |
|---|---|---|
entities |
empty | Mobs whose spawn info is hidden — or, with whitelist, the only mobs whose spawn info is shown. |
whitelist |
false |
Turns entities from a blacklist into a whitelist. |
Useful when another mod changes or disables natural spawning, so the vanilla spawn rules ALI shows would be wrong. To turn spawn info off for every mob, use a whitelist with no entries:
{
"configVersion": 2,
"spawnInfo": {
"entities": [],
"whitelist": true
}
}To show it only for a few mobs, list them in that whitelist instead. A mob that drops nothing is listed by
showEntitiesWithoutLoot only for its spawn info, so when that spawn info is hidden, the mob is not listed either.
The loot scan runs on the server, so when you play on a dedicated server, that server's file decides what data
exists at all: disabledEntities, entityLootTables, hideDefaultBlockLoot with its two lists, spawnInfo, and which
categories are scanned. Your own file still controls how the received data is presented — which category an entry
is filed under, whether a category is hidden, showInGameNames, ignoredPredicateConditions, tooltipColors
and showCharts. showEntitiesWithoutLoot needs both: the server's file decides whether mobs without loot are sent,
your own whether they stay listed. In single player both roles are served by the same file.
Tooltip lines are drawn in these colors, all of which can be changed:
| Key | Default | What it colors |
|---|---|---|
text |
gold |
Names of the rows — the key, the label, the trailing colon. |
value |
aqua |
The values themselves — numbers, ranges, item and block names. |
error |
red |
Values of a row that could not be read properly. |
branch |
dark_gray |
The -> arrows that draw the tree. |
secondary |
gray |
Extra information after a value, such as its most likely value (~2 (42%)). |
levels |
green, yellow, light_purple, blue, red, gold
|
A list: the enchantment level rows of a number and their part of its chart, in order — the first level gets the first color. With more levels than colors the list starts over. |
Each color is either a vanilla color name (black, dark_blue, dark_green, dark_aqua, dark_red,
dark_purple, gold, gray, dark_gray, blue, green, aqua, red, light_purple, yellow, white) or a
hex color code such as #FFAA00. A value that is neither is ignored — that one color falls back to its default and
the log says so. In levels an invalid entry is just left out of the list; an empty list falls back to the default
list.
{
"tooltipColors": {
"text": "yellow",
"value": "white",
"error": "dark_red",
"branch": "#404040",
"secondary": "dark_gray",
"levels": ["#55FF55", "#FFFF55", "#FF55FF"]
}
}Keys you leave out keep their default. This is a client-side setting: it changes only how the tooltips are drawn on your own screen, never what a server sends.
ALI works out which entity a loot table belongs to from the table's ID: entities/<entity id>, or a path one
segment below it (that is how the per-color sheep tables work). A table whose ID matches neither still gets
resolved, but only through a much slower search, which the server log reports:
Loot table <id> belongs to no entity by its id, had to create N entities of <namespace> to find out (Xms).
Declare it in the entityLootTables configuration to skip this.
entityLootTables is that declaration. It maps an entity type ID to the loot tables it drops:
{
"configVersion": 2,
"entityLootTables": {
"examplemod:golem": [
"examplemod:loot/golem_core",
"examplemod:loot/golem_scrap"
]
}
}Notes:
- Entries here are applied first and win over anything derived, so this is also the fix for a table attributed to the wrong entity.
- The table ID does not have to live under
entities/— any loot table ID works. - An unknown entity ID is skipped with a warning in the log.
- You only need this for entities whose loot table follows no convention. Vanilla never needs it.
Category definitions are the largest part of the file and have their own page: Loot Categories.
Users
Loot Info
Worldgen Info
Developers
Loot Info
Examples
Worldgen Info