diff options
author | Wuzzy <wuzzy2@mail.ru> | 2020-05-24 15:46:26 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-05-24 14:46:26 +0100 |
commit | 6456aba73f0ef3f2fa7fd2b2a69cfdf8624afe23 (patch) | |
tree | f2bada583c6f4d3032f28b2627bf052174f0a847 /games/minimal/mods/testformspec/callbacks.lua | |
parent | a9b74f4c3966ad38c2f9a97364d3fdda0e514c93 (diff) | |
download | minetest-6456aba73f0ef3f2fa7fd2b2a69cfdf8624afe23.tar.gz minetest-6456aba73f0ef3f2fa7fd2b2a69cfdf8624afe23.tar.bz2 minetest-6456aba73f0ef3f2fa7fd2b2a69cfdf8624afe23.zip |
Replacement for Minimal Development Test (PR) (#9450)
Diffstat (limited to 'games/minimal/mods/testformspec/callbacks.lua')
-rw-r--r-- | games/minimal/mods/testformspec/callbacks.lua | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/games/minimal/mods/testformspec/callbacks.lua b/games/minimal/mods/testformspec/callbacks.lua new file mode 100644 index 000000000..559380580 --- /dev/null +++ b/games/minimal/mods/testformspec/callbacks.lua @@ -0,0 +1,51 @@ +local callback_test = 0 + +local out = function(player, formname, fields, number) + local snum = "" + if number then + snum = " "..number + end + local msg = "Formspec callback"..snum..": player="..player:get_player_name()..", formname=\""..tostring(formname).."\", fields="..dump(fields) + minetest.chat_send_player(player:get_player_name(), msg) + minetest.log("action", msg) +end + +minetest.register_on_player_receive_fields(function(player, formname, fields) + if callback_test == 1 then + out(player, formname, fields) + elseif callback_test == 2 then + out(player, formname, fields, 1) + end +end) +minetest.register_on_player_receive_fields(function(player, formname, fields) + if callback_test == 2 then + out(player, formname, fields, 2) + return true -- Disable the first callback + end +end) +minetest.register_on_player_receive_fields(function(player, formname, fields) + if callback_test == 2 then + out(player, formname, fields, 3) + end +end) + +minetest.register_chatcommand("test_formspec_callbacks", { + params = "[ 0 | 1 | 2 ]", + description = "Test: Change formspec callbacks testing mode", + func = function(name, param) + local mode = tonumber(param) + if not mode then + callback_test = (callback_test + 1 % 3) + else + callback_test = mode + end + if callback_test == 1 then + minetest.chat_send_player(name, "Formspec callback test mode 1 enabled: Logging only") + elseif callback_test == 2 then + minetest.chat_send_player(name, "Formspec callback test mode 2 enabled: Three callbacks, disable pre-registered callbacks") + else + callback_test = 0 + minetest.chat_send_player(name, "Formspec callback test disabled!") + end + end +}) |