The basic configuration for the game is stored at $(XDG_CONFIG_HOME)/voxelgarden.cfg
and by default looks like this:
[window]
width = -1
height = -1
fullscreen = false
vsync = 1
ui_scale = 3
[audio]
frequency = 44100
format = 32784
channels = 2
chunksize = 1024
music_volume = 128
sfx_volume = 128
[input]
left = scancode 4
right = scancode 7
front = scancode 26
back = scancode 22
run = scancode 225
crouch = scancode 224
jump = scancode 44
interact = scancode 8
inventory = scancode 43
erase = mbutton 0 1
paint = mbutton 0 3
pick = mbutton 0 2
[server]
chunk_op_time = 15
view_distance = 48 4 48
quality_drop = 128
high_def_radius = 8
multithreading = false
[language]
language = en_us
This is a detailed explanation of each field:
key | type | default | explanation |
---|---|---|---|
width | int | -1 | width of the game window; -1 takes the full screen |
height | int | -1 | height of the game window; -1 takes the full screen |
fullscreen | bool | false | if true, fullscreen |
vsync | int | 1 | 0: no, 1: yes, -1: adaptive |
ui_scale | int | 3 | scale of the GUI |
key | type | default | explanation |
---|---|---|---|
frequency | int | 44100 | the frequency to playback audio at (in Hz) |
format | int | 32768 | see SDL audio format identifiers |
channels | int | 2 | number of audio channels (1: mono, 2: stereo, …) |
chunksize | int | 1024 | audio buffer size in sample FRAMES (total samples divided by channel count) |
music_volume | int | 128 | volume of the music in a 0-128 scale |
sfx_volume | int | 128 | volume of the sounds in a 0-128 scale |
key | type | default | explanation |
---|---|---|---|
left | Input | scancode 4 | strafe left |
right | Input | scancode 7 | strafe right |
front | Input | scancode 26 | move forward |
back | Input | scancode 22 | move backward |
run | Input | scancode 225 | toggle running |
crouch | Input | scancode 224 | toggle crouching |
interact | Input | scancode 8 | interact with cell/mob |
inventory | Input | scancode 43 | toggle inventory |
erase | Input | mbutton 0 1 | remove cell/mob |
paint | Input | mbutton 0 3 | place cell/mob |
pick | Input | mbutton 0 2 | yoink cell/mob |
The input format supports the following options:
format | description |
---|---|
keycode CODE | keyboard key with keycode ‘CODE’ |
scancode CODE | keyboard key with scancode ‘CODE’ |
mbutton WHICH BUTTON | button ‘BUTTON’ of mouse ‘WHICH’ |
cbutton WHICH BUTTON | button ‘BUTTON’ of controller ‘WHICH’ |
caxis WHICH AXIS POSITIVE | axis ‘AXIS’ of controller ‘WHICH’ [1] |
jbutton WHICH BUTTON | button ‘BUTTON’ of joystick ‘WHICH’ |
jaxis WHICH AXIS POSITIVE | axis ‘AXIS’ of joystick ‘WHICH’ [1] |
jhat WHICH HAT VALUE | hat ‘HAT’ of joystick ‘WHICH’ |
key | type | default | explanation |
---|---|---|---|
chunk_op_time | int | 15 | milliseconds per frame dedicated to chunk operations |
view_distance | int int int | 48 4 48 | radius of the loaded world around the player, in chunks |
quality_drop | int | 128 | chevysheb distance until cells start being merged, in chunks |
high_def_radius | int | 8 | radius around the player where chunk rendering is not optimized for distance, in chunks |
multithreading | bool | false | enables multithreading for chunk and mob operations; at this point, it might cause random crashes |
key | type | default | explanation |
---|---|---|---|
language | string | en_us | prefix used when loading string files |