Repository navigation
Users Worldgen Info Configuration
The configuration file lives in the standard config directory, in the awi folder:
config/awi/awi_common.json
It is created with defaults on first start. It is a common config, and nearly everything in it is read while
the data is built — so on a dedicated server it is the server's copy that decides what the clients get. The
exceptions are tooltipColors, showCharts and dimensionIcons, which are read on the client and only affect your own screen,
and dimensions, which both sides apply — see Which side reads which option.
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/awi_config.schema.json
configVersion marks the format the file was written in (current: 1). When AWI finds an older value, it renames the
file to a backup named after the time it was made, such as awi_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 AWI does not know, are left as they are.
| Option | Type | Default | Meaning |
|---|---|---|---|
configVersion |
int | current version | Format marker, see above. Do not hand-edit. |
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 scan: time per dimension and biome, cache hits, how many distinct surface rules were involved, and which dimension cost the most. Debug aid. |
showInGameNames |
boolean | true |
true shows translated names of blocks/fluids/features, and of IDs and tags that have a translation (see IDs and tags); false shows raw IDs (minecraft:coal_ore). |
showConfigConditionalBlocks |
boolean | false |
Shows blocks that a feature's code only places depending on the configuration it was given. See below. |
showCharts |
boolean | true |
Draws a small chart under numbers that have a most likely value — attempts per chunk, height. See Interface. |
spawnInfo |
object | see below | Which mobs the biomes list as spawning in them. See below and Interface. |
dimensions |
list of IDs / tags | empty | Hides dimensions, or shows only the listed ones. See below. |
dimensionIcons |
map of ID → item ID | empty | The icon of each dimension's category in the recipe viewer. See below. |
There is no equivalent of Advanced Loot Info's category system: worldgen registries are enumerated exhaustively,
so there is nothing to declare. Besides mob spawns, the only thing you can hide is a whole dimension, with dimensions.
{
"configVersion": 1,
"logMoreStatistics": true,
"showInGameNames": false
}Every field is optional — anything you leave out falls back to its default, and AWI then writes it into the file.
A value that cannot be read — a wrong type, a malformed ID — is ignored, and the log says so: an option falls back to its default, and an invalid entry is left out of its list.
On Minecraft 1.20.1 a value of the wrong type makes the whole file fall back to its defaults, and the log names the error.
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.
Part of a feature's blocks is recovered by analysing the feature's placement code, and that analysis works per feature class, not per configuration. A block that the code only places after testing the configuration it was given therefore cannot be attributed to one configuration or the other.
The clearest case is lakes: minecraft:lake places ice, but only when its fluid is water. Minecraft 1.20.1 ships a
single lake feature, lake_lava, so listing ice there is simply wrong. Blocks of that kind are hidden by default.
Setting the option to true shows them everywhere the code can reach them — everything the analysis found, at the
price of blocks that are wrong for some configurations. Hidden blocks are also not searchable: a block that is
not shown does not make its feature turn up when you look that block up.
| Key | Default | Meaning |
|---|---|---|
entities |
empty | Mobs left out of the biome spawn lists — or, with whitelist, the only mobs listed. |
whitelist |
false |
Turns entities from a blacklist into a whitelist. |
To turn the spawn lists off for every biome, use a whitelist with no entries:
{
"configVersion": 1,
"spawnInfo": {
"entities": [],
"whitelist": true
}
}Every dimension of the world is a category of its own. dimensions is a single list that decides which of them
are shown. Each entry is a dimension ID (minecraft:the_end) or a dimension tag (#mymod:hidden); a leading !
turns the entry into "hide this".
- Empty (the default) — every dimension is shown.
-
Only
!entries — a blacklist: everything is shown except what they match. -
At least one entry without
!— a whitelist: only what the plain entries match is shown, and!entries remove dimensions from that again.
{
"dimensions": ["!minecraft:the_end", "!#mymod:hidden"]
}{
"dimensions": ["minecraft:overworld", "minecraft:the_nether"]
}{
"dimensions": ["#mymod:all", "!mymod:debug"]
}Minecraft ships no dimension tags; they come from mods or datapacks (data/<namespace>/tags/dimension/<name>.json).
An entry that is not a valid ID is ignored, and the log says so.
A hidden dimension is skipped before the server scans it, so hiding dimensions you never look at also shortens the scan at server start.
Every dimension's category in the recipe viewer shows a globe banner pattern as its icon by default.
dimensionIcons gives a dimension an item of your choice instead: the key is the dimension ID, the value the item
ID.
{
"dimensionIcons": {
"minecraft:the_nether": "minecraft:netherrack",
"minecraft:the_end": "minecraft:end_stone"
}
}Both IDs need their namespace — the_end alone does not match minecraft:the_end. Dimensions you leave out keep
the default icon, and so does a dimension whose item does not exist; the log says so. This is a client-side
setting: it changes only how the categories look on your own screen.
The worldgen scan runs on the server, so when you play on a dedicated server, that server's file decides what data
exists at all: logMoreStatistics, showInGameNames, showConfigConditionalBlocks, spawnInfo and dimensions. Your own
file still controls how the received data is presented — tooltipColors, showCharts, dimensionIcons, and dimensions once more: a dimension
your own list hides is not shown, even though the server sent it. You can only narrow what the server sends, never
bring back what the server hides. In single player both roles are served by the same file.
Tags only work on the server. Dimension tags are not sent to clients, so your own file cannot resolve them: on
the client an !#tag entry hides nothing, and a #tag entry in a whitelist lets every dimension the server sent
through. Plain IDs work on both sides. In single player the server part of the game reads the same file, so tags
work there as expected.
Users
Loot Info
Worldgen Info
Developers
Loot Info
Examples
Worldgen Info