mirror of
https://github.com/luanti-org/luanti.git
synced 2025-06-27 16:36:03 +00:00
Implement callback registration in Lua instead of C
This commit is contained in:
parent
842eb5da28
commit
30648d1cc9
2 changed files with 15 additions and 86 deletions
|
@ -151,11 +151,24 @@ minetest.register_node("ignore", {
|
|||
-- Chat message processing
|
||||
--
|
||||
|
||||
minetest.registered_on_chat_messages = {}
|
||||
function make_registration()
|
||||
local t = {}
|
||||
local registerfunc = function(func) table.insert(t, func) end
|
||||
return t, registerfunc
|
||||
end
|
||||
|
||||
minetest.registered_on_chat_messages, minetest.register_on_chat_message = make_registration()
|
||||
minetest.registered_globalsteps, minetest.register_globalstep = make_registration()
|
||||
minetest.registered_on_placenodes, minetest.register_on_placenode = make_registration()
|
||||
minetest.registered_on_dignodes, minetest.register_on_dignode = make_registration()
|
||||
minetest.registered_on_punchnodes, minetest.register_on_punchnode = make_registration()
|
||||
minetest.registered_on_generateds, minetest.register_on_generated = make_registration()
|
||||
minetest.registered_on_newplayers, minetest.register_on_newplayer = make_registration()
|
||||
minetest.registered_on_respawnplayers, minetest.register_on_respawnplayer = make_registration()
|
||||
|
||||
minetest.on_chat_message = function(name, message)
|
||||
for i,func in ipairs(minetest.registered_on_chat_messages) do
|
||||
ate = func(name, message)
|
||||
local ate = func(name, message)
|
||||
if ate then
|
||||
return true
|
||||
end
|
||||
|
@ -163,8 +176,4 @@ minetest.on_chat_message = function(name, message)
|
|||
return false
|
||||
end
|
||||
|
||||
minetest.register_on_chat_message = function(func)
|
||||
table.insert(minetest.registered_on_chat_messages, func)
|
||||
end
|
||||
|
||||
-- END
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue