Skip to content

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.