mirror of
https://gitlab.com/lunovox/computing.git
synced 2025-03-15 06:31:22 +00:00
3.3 KiB
3.3 KiB
COMPUTING API
The 'COMPUTING API' provides methods needed for you to create your own 'computing apps' through your own mod.
Show Smartphone Screen
modComputing.show_smartphone(player)
Get Smartphone Background FormSpec
Can you add your own Fields on top of a smartphone background formspec.
Syntaxe:
modComputing.smartphone.getFormBackground()
Sample: Add 'Write your name' field
local playername = player:get_player_name()
local formspec = ""
..modComputing.smartphone.getFormBackground()
.."field[1.00,2.25;4.5,0.5;txtName;Write your name;"..playername.."]"
core.show_formspec(playername, "formMyModName", formspec)
-- See more methods in: https://github.com/minetest/minetest/blob/master/doc/lua_api.md
- formspec version = 6
- formsoec width = 05.6
- formsoec height = 10.0
Adding an App from your Mod
Syntaxe:
modComputing.add_app("<app_id>", {
icon_name = "<app_button_name>",
icon_type = "<button_type>", --types: button/button_exit
icon_title = "<app_name>",
icon_descryption = "<app_descryption>",
icon_image = "<app_image>",
is_visible = function(player)
return true
-- The button icon of app only is visible if return true.
end,
on_iconclick = function(clicker)
-- Put here your functions!
end,
})
Sample 1: Hello World
if core.global_exists("modComputing") then
modComputing.add_app("my_mod:app_hello_world", {
icon_name = "btnShowAppHelloWorld",
icon_type = "button",
icon_title = "HELLO WORLD",
icon_descryption = "This is a sample of 'hello world' app.",
icon_image = "icon_app.png",
on_iconclick = function(clicker)
local playername = clicker:get_player_name()
core.chat_send_player(playername,
("The '%s' pressed '%s' button icon app!"):format(
playername,
btnShowAppHelloWorld
)
)
-- Put more lines if you want!
-- See more methods in: https://github.com/minetest/minetest/blob/master/doc/lua_api.md
end,
})
end
Sample 2: Shut down of server.
if core.global_exists("modComputing") then
modComputing.add_app("my_mod_app:btnShutdownServer", {
icon_name = "btnShutdownServer",
icon_type = "button_exit",
icon_title = "SHUTDOWN",
icon_descryption = "This is a sample of 'Shutdown Server' app.",
icon_image = "icon_shutdown.png",
is_visible = function(player)
return core.check_player_privs(player, {server = true})
end,
on_iconclick = function(clicker)
local playername = clicker:get_player_name()
core.request_shutdown(
("The administrator '%s' has requested that the server be shut down."):format(playername),
false, --If reconnect
60 --delay in seconds
)
-- See more methods in: https://github.com/minetest/minetest/blob/master/doc/lua_api.md
end,
})
end