bfc60f6dba | ||
---|---|---|
textures | ||
LICENSE.md | ||
README.md | ||
console.lua | ||
core.lua | ||
depends.txt | ||
forms.lua | ||
init.lua | ||
mod.conf | ||
nodes.lua | ||
persistence.lua |
README.md
Minetest snippets mod
A way for admins to run and save lua snippets.
More documentation coming soon.
API
snippets.register_snippet(name, <code or def>)
: Registers a snippet.def
can be a table containingcode
(orfunc
), and optionallyowner
. Ifpersistent
is specified, this snippet will remain registered across reboots.snippets.unregister_snippet(name)
: The opposite ofsnippets.register_snippet
.snippets.registered_snippets
: A table containing the above snippets.snippets.log(level, msg)
: For use inside snippets: Logs a message.level
can benone
,debug
,info
,warning
, orerror
.snippets.register_on_log(function(snippet, level, msg))
: Run when snippets.log is called.snippet
is the name of the snippet. Newest functions are called first. If a callback returnstrue
, any remaining functions are not called (including the built-in log function). Callbacks can check what player (if any) owns a snippet withsnippets.registered_snippets[snippet].owner
.snippets.log_levels
: A table containing functions that runminetest.colorize
on log levels (if applicable). Example:snippets.log_levels.error('Hello')
→minetest.colorize('red', 'Hello')
snippets.exec_as_player(player_or_name, code)
: Executescode
(a string) inside an "anonymous snippet" owned by the player.snippets.exec(code)
: Executescode
inside a generic snippet.snippets.run(name, ...)
: Executes a snippet.
Example snippets
get_connected_names
:
local res = {}
for _, player in ipairs(minetest.get_connected_players()) do
table.insert(res, player:get_player_name())
end
return res
greeting_test
:
for _, name in ipairs(snippets.run 'get_connected_names') do
minetest.chat_send_player(name, 'Hello ' .. name .. '!')
end