Config
Three files, three owners. Do not put game preferences in the engine file, or engine switches in a world save.
| File | Owns |
|---|---|
Activerse.toml | Engine: logging, fps, fov, vsync, MSAA, render distance, fog, weather, save directory. |
settings.ini | This install’s game prefs: look sensitivity, invert, reach, UI scale, key bindings. |
saves/<world>/ | That world: player, inventory, edited chunks, environment. |
A writable Activerse.toml in the working directory overrides the copy bundled in
src/main/resources. The pause menu writes engine toggles to toml and game toggles to ini.
Engine keys
Defaults below match src/main/resources/Activerse.toml.
| Key | Default | Meaning |
|---|---|---|
fps | 60 | Gameplay tick rate. Not the 1 ms body step, and not the display refresh. |
vsync | true | Wait for the display on swap. |
fov | 70 | Starting vertical field of view, degrees. |
show_debug | true | Engine debug HUD. |
dynamicLighting | true | Point lights in the lit shader. |
msaa_samples | 4 | 0, 2, 4, 8, or 16. |
texture_filter | nearest | nearest or linear. |
render_distance | 8 | Horizontal chunk radius. |
render_distance_y | 2 | Vertical chunk radius. |
chunk_uploads_per_frame | 16 | GPU mesh uploads per frame. |
chunk_mesh_jobs | 6 | Concurrent CPU mesh jobs. |
start_hour | 10 | Clock hour when a new world starts. |
day_length_seconds | 1200 | Real seconds in one full day. |
time_scale | 1 | Multiplier on the day clock. |
logging | true | Master log switch. Files go to log_dir (default logs). |
save_dir | saves | Root for world folders. |
fps changes how often worldAct and Actor.act run. It does not change
nowNs or the 1 ms body step. Walk speed in PhysicsSettings is also not a toml
key. Set it on the controller.
Game keys
settings.ini in the working directory. Typical entries:
look_sensitivity(0.12),invert_mousereach(6),break_repeat_seconds(0.06),place_repeat_seconds(0.08)ui_scale(1.35),show_debug_hud,preferred_hotbar_slotkey_*andkey_hotbar_1…key_hotbar_9forInputMap
If reload and the weather cycle end up on the same key, the map moves weather back to G. That keeps R as reload.
Saves
Each world folder holds world.json and a readable world.yaml. The snapshot includes
the camera, the environment, streaming settings, and whatever the world adds in
capturePersistentState. Sandbox adds the player and, when keep_inventory_on_quit is
set, the inventory. dispose writes the snapshot on quit and on a world switch.
Loading calls applyPersistentState after prepare.
Edited voxel chunks are stored as raw byte arrays keyed by chunk position. Air is 0. Any other byte is
BlockType.ordinal() + 1. Append new block types at the end of the enum. Inserting one in the
middle changes every saved world.