Configuration
Spoor has two settings files. The server file decides the rules for everyone. The client file decides how prints look on your own screen.
You can also change them in game: open the NeoForge Mods screen, pick Spoor and choose its configuration. The settings are grouped under Server settings and Client settings, with the screen labels shown in the tables below. Server settings can be changed there only in singleplayer or in a world you are hosting, not from a client connected to a dedicated server; on a dedicated server, edit config/spoor-server.toml instead.
Server settings
Section titled “Server settings”The server settings are in config/spoor-server.toml in the server’s folder. In singleplayer they are in your own game folder. Players cannot override the server’s choices.
The defaults:
mode = "VISIBLE"playerTracks = truelifetimeSeconds = 600weatherMultiplier = 2.0maxTrailStepsPerSource = 1024maxTrailStepsPerServer = 8192strideScale = 1.0unaidedClearSeconds = 60unaidedVisibleSeconds = 180visibleRange = 24.0trackerRange = 32.0useSoftSurfaceTag = true| TOML key | Screen label | Default | Allowed | What it does |
|---|---|---|---|---|
mode |
Who sees tracks | VISIBLE |
VISIBLE, ITEM |
VISIBLE lets everyone see tracks. ITEM shows tracks only to players wearing the goggles; the server sends no track data or particles to anyone else. |
playerTracks |
Player tracks | true |
true, false |
false stops recording player tracks and removes existing player prints. Animal and mob tracks stay. |
lifetimeSeconds |
Track lifetime (seconds) | 600 |
10 to 3600 | How long a print lasts on dry ground, in seconds of game simulation at normal tick speed, not wall-clock time. A print is fresh for the first 20% of this and recent until 70%. |
weatherMultiplier |
Rain and snow wear | 2.0 |
1.0 to 10.0 | How much faster a print wears while rain or snow reaches it. 2 halves a print’s life under constant rain or snow. |
unaidedClearSeconds |
Clear without goggles (seconds) | 60 |
0 to 3600 | Without goggles, how long a print stays fully clear. |
unaidedVisibleSeconds |
Visible without goggles (seconds) | 180 |
0 to 3600 | Without goggles, the age by which a print has faded out. Older prints are not sent to players without goggles. A value below unaidedClearSeconds is raised to match it. |
strideScale |
Footprint spacing | 1.0 |
0.25 to 4.0 | Multiplies how far apart every creature’s footprints are: about 0.45 times its body size at 1.0. |
visibleRange |
Track range (Visible mode) | 24.0 |
4.0 to 64.0 | How far away, in blocks, prints are sent in Visible mode. It is the same for every player, with or without goggles. |
trackerRange |
Track range (Item mode) | 32.0 |
4.0 to 64.0 | How far away, in blocks, prints are sent in Item mode, where only goggle wearers receive any. |
maxTrailStepsPerSource |
Steps kept per creature | 1024 |
32 to 4096 | Trail history kept for one creature or player, counted in whole steps, so extra feet use no more. A full history can shorten how long a trail lasts. |
maxTrailStepsPerServer |
Steps kept per server | 8192 |
128 to 65536 | Trail history kept for the whole server, across all dimensions. The largest histories are trimmed first, whatever their category. |
useSoftSurfaceTag |
Use the soft-surface tag | true |
true, false |
Use the built-in soft-ground tag. See Surfaces. |
surfaces |
Extra surfaces | a list of block IDs | block IDs | Extra blocks that take prints. See Surfaces. |
Surfaces
Section titled “Surfaces”With useSoftSurfaceTag = true (the default), every block in the spoor:track_surfaces block tag takes prints. The tag holds Minecraft’s #minecraft:dirt and #minecraft:sand tags plus dirt path, farmland, gravel, clay, soul sand, soul soil, snow, snow block, powder snow and moss carpet. See Footprints and surfaces for the full list in plain words.
The surfaces list adds more blocks on top. Its default is minecraft:sand, minecraft:red_sand, minecraft:dirt, minecraft:dirt_path, minecraft:mud, minecraft:snow, minecraft:snow_block, minecraft:podzol and minecraft:coarse_dirt.
Set useSoftSurfaceTag = false to use only the surfaces list.
Hard floors are left out on purpose. Adding a hard block to surfaces, or to the tag with a datapack, opts it in. Liquids can never take prints.
Changing settings while the game runs
Section titled “Changing settings while the game runs”NeoForge reloads the file when you save it. Spoor picks up the new rules on its next update to players, within five simulation ticks. Switching between Visible and Item mode this way has been checked in game.
Client settings
Section titled “Client settings”Each player’s own settings are in config/spoor-client.toml.
| TOML key | Screen label | Default | Allowed | What it does |
|---|---|---|---|---|
trackSize |
Print size | 1.0 |
0.3 to 2.0 | Print size. Keep 1.0 for the measured foot sizes. |
opacity |
Print opacity | 0.65 |
0.05 to 1.0 | How strongly prints are drawn. All prints are drawn at 0.7 of this, and crouched prints at half of that. |
indentStrength |
Pressed-in depth | 1.0 |
0.0 to 2.0 | The pressed-in look. 0 is a flat print, 1 the default. |
drawDistance |
Draw distance | 48.0 |
4.0 to 64.0 | How far away prints are drawn, in blocks. |
maxDecalsPerFrame |
Prints drawn per frame | 600 |
1 to 600 | The most prints drawn at once. The server sends at most 600 prints to a goggle wearer and 300 to anyone else. |
groundParticles |
Ground particles | true |
true, false |
The small dust puff when a print is made. |
animalColor |
Animal track colour | amber 0xC9A55C |
0 to 0xFFFFFF |
Animal tint through the goggles, as an RGB integer. |
mobColor |
Mob track colour | coral 0xCF7464 |
0 to 0xFFFFFF |
Mob tint through the goggles, as an RGB integer. |
playerColor |
Player track colour | blue 0x70AFCC |
0 to 0xFFFFFF |
Player tint through the goggles, as an RGB integer. |
- animalColor
- mobColor
- playerColor
Your client can never see farther than the server allows: drawDistance is limited by the server’s range.