Skip to content

config.yml

Storage, discovery sources, the completion broadcast, leaderboard lines and menu sounds.

Global settings. After editing, run /indexadmin reload (storage changes need a restart).

Categories, menus and messages each have their own file. This one covers how discovery works, the leaderboard format and the sounds.

Settings:
Storage:
Type: SQLITE
Host: "127.0.0.1"
Port: 3306
Database: "minecraft"
Username: "root"
Password: ""
Key Default Description
Type SQLITE SQLITE (stored in data/data.db) or MYSQL. Anything else fails the load.
Host 127.0.0.1 MySQL host. Ignored for SQLite.
Port 3306 MySQL port.
Database minecraft MySQL database (schema). It must already exist; the tables are created in it.
Username root MySQL user.
Password "" MySQL password.
Properties (none) Optional section of extra MySQL connection properties, as key: value pairs. Not in the shipped file.
Settings:
Discovery:
Pickup: true
Inventory-Scan: true
Ignored-Game-Modes:
- CREATIVE
- SPECTATOR
Disabled-Worlds: []
Broadcast-Index-Completion: true
Key Default Description
Discovery.Pickup true Discover an item when the player picks it up off the ground. Cancelled pickups never count.
Discovery.Inventory-Scan true Scan the player’s whole inventory every time they close an inventory window, and once right after their data loads on join. Catches crafted, traded and given items.
Discovery.Ignored-Game-Modes [CREATIVE, SPECTATOR] Game modes that discover nothing. Values are SURVIVAL, CREATIVE, ADVENTURE, SPECTATOR; an unknown name fails the load.
Discovery.Disabled-Worlds [] World names (exact, case-sensitive) where nothing is discovered.
Broadcast-Index-Completion true Send INDEX-COMPLETED-BROADCAST to the whole server when a player completes the index. The player’s own INDEX-COMPLETED message is sent either way.

/indexadmin discover ignores the game mode and world checks.

Leaderboard:
Size: 5
Refresh-Interval: 60
Positions:
"1": "&6 - &6#{position} &f<head:{name}> &f{name} &7- &f{discovered} &7items &8({percentage}%)"
"2": "&6 - &7#{position} &f<head:{name}> &f{name} &7- &f{discovered} &7items &8({percentage}%)"
"3": "&6 - &#CD7F32#{position} &f<head:{name}> &f{name} &7- &f{discovered} &7items &8({percentage}%)"
Default: "&6 - &8#{position} &f<head:{name}> &f{name} &7- &f{discovered} &7items &8({percentage}%)"
Self: "&6 - &e#{position} &f<head:{name}> &e{name} &7- &f{discovered} &7items &8({percentage}%)"
Unranked: "?"
Key Default Description
Size 5 How many players the {leaderboard} list shows. Must be at least 1.
Refresh-Interval 60 Seconds between leaderboard refreshes. A refresh only runs when something changed since the last one. Must be at least 1.
Positions.<number> 1, 2, 3 The line for that exact position. Add "4", "5" and so on for more custom lines.
Positions.Default (see above) Required. The line for every position without its own entry.
Self (see above) Required. The {self} line: the viewer’s own position, shown in the main menu.
Unranked ? Shown for {rank}, {position} in {self}, {found} and %optimalindex_rank% before the first leaderboard refresh after a start.

Tokens in the leaderboard lines:

Token Value
{position} The rank (1, 2, …).
{name} The player’s name.
{discovered} Their discovered entries.
{percentage} Their index completion, rounded down.

<head:{name}> draws the player’s head as a small sprite in the lore line. Remove it if you prefer plain text.

The refresh also updates the {completed} count and the per-entry {found} counts in the category menu, so a lower interval makes those fresher at the cost of more database reads. Ranking rules are explained in Managing Players.

Named sounds in "NAME;volume;pitch" form. Set a key to "" to silence it. A key missing from your file plays its default.

Inventories-Sounds:
"MAIN-MENU-OPEN": "ENTITY_BAT_TAKEOFF;1;0.5"
"CATEGORY-MENU-OPEN": "ENTITY_CHICKEN_EGG;1;1"
"PAGE-CHANGED": "ENTITY_CHICKEN_EGG;1;1"
"NO-PAGE-FOUND": "BLOCK_NOTE_BLOCK_PLING;1;0.5"
"FILTER-CHANGED": "UI_BUTTON_CLICK;1;1.5"
"DISCOVERED": "ENTITY_EXPERIENCE_ORB_PICKUP;1;1.5"
"CATEGORY-COMPLETED": "ENTITY_PLAYER_LEVELUP;1;1.5"
"INDEX-COMPLETED": "UI_TOAST_CHALLENGE_COMPLETE;1;1"
Key Played when
MAIN-MENU-OPEN The main menu opens (/index, or the back button of a category).
CATEGORY-MENU-OPEN A category menu opens.
PAGE-CHANGED A page button turns the page.
NO-PAGE-FOUND A page button is clicked on the first or last page.
FILTER-CHANGED The filter button switches the filter.
DISCOVERED One or more entries are discovered (once per batch).
CATEGORY-COMPLETED A discovery completes a category.
INDEX-COMPLETED A discovery completes the whole index.

The icons flashed on a refused page turn live in category-menu.yml, not in this file.