generalize creating wrappers for built-ins.

create utility for creating wrapper functions for `minetest` methods.
This commit is contained in:
trans_soup 2023-10-13 09:19:13 +02:00
parent 1dd287a3c3
commit ccd059aa29
3 changed files with 21 additions and 4 deletions

View File

@ -13,4 +13,4 @@ load_file("utils_vector")
load_file("utils_node")
load_file("wrapper_abm")
load_file("wrappers")

View File

@ -1,3 +0,0 @@
function blockgame.register_abm (...)
return minetest.register_abm(...)
end

20
mods/bg_api/wrappers.lua Normal file
View File

@ -0,0 +1,20 @@
local function create_plain_wrapper (function_name)
local wrapper = function (...)
local args = {...}
-- labels will be used later, probably.
local label = #args > 1 and args[1] or "unlabeled function"
local callback = #args > 1 and args[2] or args[1]
minetest[function_name](callback)
end
blockgame[function_name] = wrapper
end
for name in pairs({
register_abm = true,
register_on_joinplayer = true,
}) do
create_plain_wrapper(name)
end