Filesystem
Mod root
Each mod may use these directories:
| Directory | Description |
|---|---|
collisions | Collision models for blocks and entities |
features | World generation feature templates |
fonts | Fonts in binary form. Currently the engine uses them only in builtin. Font paths are hard-coded in the engine |
lang | Translation files |
lib | Lua libraries for require |
misc | Miscellaneous files |
models | 3D models for blocks and entities |
music | Music streamed from disk |
scripts | Lua scripts |
shaders | GLSL shader sources. Currently the engine uses them only in builtin. Shader paths are hard-coded in the engine |
sounds | Sound effects |
textures | Textures |
Virtual filesystem
The engine uses PhysFS for the VFS. It mounts these system paths:
| Mount | Path | Access | Description |
|---|---|---|---|
/ | ${PWD}/data | Read-only | Vendored mods, including builtin |
/ | ${PWD}/mods | Read-only | User-provided mods |
/ | ${APPDATA}/Voxelius or similar | Read/Write | User directory. Settings and world saves live here. The user can also override vendored assets |
All three mounts share one virtual root. The engine appends the mods mount and prepends the user directory mount. This order sets priority: the user directory always overrides the game directory, and the game directory always overrides the mods directory.