Configuration Panel Mod v1.0
config (by sorcerykid)
Configuration Panel is an API extension for Minetest that allows seamless loading of mod configuration at runtime. It provides much greater flexibility than Minetest's builtin 'Settings' interface, since the mod configuration itself is read as a native Lua script. Hence it's possible to include simple data structures without the need for serialization, in addition to temporary variables, mathematical expressions, and conditional branching.
- "An important use of Lua is as a configuration language...."
from Programming in Lua: Extending your Application (https://www.lua.org/pil/25.html)
"Lua started off as a configuration language. This has some nice quirks in that it's great for creating and configuring things - which is what you want to do in a game."
from Lua Users Wiki: Lua versus Python (http://lua-users.org/wiki/LuaVersusPython)
Download Archive (.zip)
Download Archive (.tar.gz)
Default Mod (required)
ActiveFormspecs Mod (required)
- Unzip the archive into the mods directory of your game
- Rename the config-master directory to "config"
- Add "config" as a dependency to any mods using the API
The MIT License (MIT)
There is only one function call necessary to load your mod's configuration:
- minetest.load_config( base_config, options )
Automatically loads the mod configuration at server-startup according to the options and returns a table of key-value pairs.
- 'base_config' is the default mod configuration (optional)
- 'options' are the additional options that effect loading behavior (optional)
This would be the typical order of loading on Linux distros of Minetest:
Code: Select all
Code: Select all
/usr/local/share/minetest/games/minetest_game/mods/sample_mod/config.lua allow_fly = false allow_walk = false allow_swim = false /home/minetest/.minetest/worlds/sample_world/config/sample_mod.lua allow_swim = true
A chat command is also available for editing the configuration directly in-game. Simply type '/config' followed by the mod name to configure. The interface is self-explanatory.