diff options
| author | Krock <mk939@ymail.com> | 2026-05-15 07:57:47 -0500 |
|---|---|---|
| committer | cheapie <no-email-for-you@example.com> | 2026-05-15 07:57:47 -0500 |
| commit | 2eafcb924a6b89f6a67e3fa4bf6586413623ffc9 (patch) | |
| tree | b4bbb4066138116c3474b7ea310b0304e8483767 /examples.lua | |
| parent | 32a504c664c3dd46550d19397ee5a59d95211531 (diff) | |
| download | playersettings-2eafcb924a6b89f6a67e3fa4bf6586413623ffc9.tar playersettings-2eafcb924a6b89f6a67e3fa4bf6586413623ffc9.tar.gz playersettings-2eafcb924a6b89f6a67e3fa4bf6586413623ffc9.tar.bz2 playersettings-2eafcb924a6b89f6a67e3fa4bf6586413623ffc9.tar.xz playersettings-2eafcb924a6b89f6a67e3fa4bf6586413623ffc9.zip | |
Assorted fixes/cleanups
Contains the following patches:
* [PATCH 01/10] Replace 'minetest' with 'core'
* [PATCH 02/10] Extend type checks
* [PATCH 03/10] Add examples
* [PATCH 04/10] Protect against invalid formspec inputs
* [PATCH 05/10] Unify some code
* [PATCH 06/10] Use dropdown index to check againt value validity
* [PATCH 07/10] Improve formspec and implement 'Reset' button
* [PATCH 08/10] Do not run callbacks if no value changed
* [PATCH 09/10] Add checkbox to show technical names
* [PATCH 10/10] Make formspec layout more compact
Diffstat (limited to 'examples.lua')
| -rw-r--r-- | examples.lua | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/examples.lua b/examples.lua new file mode 100644 index 0000000..eb439b8 --- /dev/null +++ b/examples.lua @@ -0,0 +1,64 @@ +core.log("error", "[playersettings] Examples are enabled!") + +local longdesc = "Some helpful long description with [];\\[ escaped characters\nLine 2" + +-- Wrapper to add logging +local function playersettings_register_logged(setting, def) + def.onjoin = function(player_name, setting_value) + core.log("action", ("Callback %s for player=%s: %s=%s"):format( + "onjoin", player_name, setting, dump(setting_value))) + end + def.onchange = function(player_name, old_value, new_value) + core.log("action", ("Callback %s for player=%s: old=%s, new=%s"):format( + "onchange", player_name, dump(old_value), dump(new_value))) + return true -- allow changing + end + def.afterchange = function(player_name, old_value, new_value) + core.log("action", ("Callback %s for player=%s: old=%s, new=%s"):format( + "afterchange", player_name, dump(old_value), dump(new_value))) + end + + playersettings.register(setting, def) +end + +playersettings_register_logged("playersettings:number", { + type = "number", + shortdesc = "Example: number", + longdesc = longdesc, + default = 5, + min = -0.123, + max = 10, +}) + +playersettings_register_logged("playersettings:number_integer", { + type = "number", + integer = true, + shortdesc = "Example: number (integer)", + longdesc = longdesc, + default = 5, + min = -10, + max = 20, +}) + +playersettings_register_logged("playersettings:string", { + type = "string", + shortdesc = "Example: string", + longdesc = longdesc, + default = "<default>", + values = "Input any value." +}) + +playersettings_register_logged("playersettings:boolean", { + type = "boolean", + shortdesc = "Example: boolean", + longdesc = longdesc, + default = true, +}) + +playersettings_register_logged("playersettings:enum", { + type = "enum", + shortdesc = "Example: enum", + longdesc = longdesc, + default = "apple", + values = { "apple", "banana", "batman" }, +}) |
