-Minetest Lua Mainmenu API Reference 5.0.0
-========================================
+Minetest Lua Mainmenu API Reference 5.2.0
+=========================================
Introduction
-------------
^ first element of returned list is guaranteed to be the NULL driver
core.get_mapgen_names([include_hidden=false]) -> table of map generator algorithms
registered in the core (possible in async calls)
+core.get_cache_path() -> path of cache
Formspec:
core.update_formspec(formspec)
core.explode_textlist_event(string) -> table
^ returns e.g. {type="CHG", index=1}
^ type: "INV" (no row selected), "CHG" (selected) or "DCL" (double-click)
+core.set_formspec_prepend(formspec)
+^ string to be added to every mainmenu formspec, to be used for theming.
GUI:
core.set_background(type, texturepath,[tile],[minsize])
core.set_clouds(<true/false>)
core.set_topleft_text(text)
core.show_keys_menu()
-core.file_open_dialog(formname,caption)
-^ shows a file open dialog
+core.show_path_select_dialog(formname, caption, is_file_select)
+^ shows a path select dialog
^ formname is base name of dialog response returned in fields
^ -if dialog was accepted "_accepted"
-^^ will be added to fieldname containing the path
+^ will be added to fieldname containing the path
^ -if dialog was canceled "_cancelled"
^ will be added to fieldname value is set to formname itself
+^ if `is_file_select` is `true`, a file and not a folder will be selected
^ returns nil or selected file/folder
core.get_screen_info()
^ returns {
optional_depends = {"mod", "names"}, -- mods only
}
-* core.get_package_list() -> downloads package list from content db
- * returns a list of:
-
- {
- name = "basename",
- title = "human readable title",
- author = "username",
- type = "", -- mod, game, txp
- short_description = "description",
- url = "",
- }
Favorites:
core.get_favorites(location) -> list of favorites (possible in async calls)
^ loglevel one of "error", "action", "info", "verbose"
Settings:
-core.setting_set(name, value)
-core.setting_get(name) -> string or nil (possible in async calls)
-core.setting_setbool(name, value)
-core.setting_getbool(name) -> bool or nil (possible in async calls)
-core.setting_save() -> nil, save all settings to config file
+core.settings:set(name, value)
+core.settings:get(name) -> string or nil (possible in async calls)
+core.settings:set_bool(name, value)
+core.settings:get_bool(name) -> bool or nil (possible in async calls)
+core.settings:save() -> nil, save all settings to config file
+
+For a complete list of methods of the Settings object see
+[lua_api.txt](https://github.com/minetest/minetest/blob/master/doc/lua_api.txt)
Worlds:
core.get_worlds() -> list of worlds (possible in async calls)
-No access to global lua variables, don't even try
-Limited set of available functions
e.g. No access to functions modifying menu like core.start,core.close,
- core.file_open_dialog
-
+ core.show_path_select_dialog
-Class reference
+Background music
----------------
-Settings: see lua_api.txt
+The main menu supports background music.
+It looks for a `main_menu` sound in `$USER_PATH/sounds`. The same naming
+conventions as for normal sounds apply.
+This means the player can add a custom sound.
+It will be played in the main menu (gain = 1.0), looped.