Skip to content

Users Worldgen Info Configuration

Yanny edited this page Oct 7, 2026 · 9 revisions

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.

JSON Schema

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

Config version and migration

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.

Options

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.

Example

{
  "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.

tooltipColors — tooltip colors

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.

showConfigConditionalBlocks

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.

spawnInfo — which mobs biomes list

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
  }
}

dimensions — hiding dimensions

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.

dimensionIcons — dimension icons

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.

Which side reads which option

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.

Clone this wiki locally