]> git.lizzy.rs Git - minetest.git/blobdiff - builtin/game/register.lua
Builtin: Disallow registering users with the same name
[minetest.git] / builtin / game / register.lua
index 992fdf74481ae0a0f8f7e1347297c635e7e0f43a..f330491a21cf797be12db5c6895c444e9be3fcc3 100644 (file)
@@ -11,10 +11,11 @@ local register_alias_raw = core.register_alias_raw
 core.register_alias_raw = nil
 
 --
--- Item / entity / ABM registration functions
+-- Item / entity / ABM / LBM registration functions
 --
 
 core.registered_abms = {}
+core.registered_lbms = {}
 core.registered_entities = {}
 core.registered_items = {}
 core.registered_nodes = {}
@@ -75,7 +76,14 @@ end
 
 function core.register_abm(spec)
        -- Add to core.registered_abms
-       core.registered_abms[#core.registered_abms+1] = spec
+       core.registered_abms[#core.registered_abms + 1] = spec
+       spec.mod_origin = core.get_current_modname() or "??"
+end
+
+function core.register_lbm(spec)
+       -- Add to core.registered_lbms
+       check_modname_prefix(spec.name)
+       core.registered_lbms[#core.registered_lbms + 1] = spec
        spec.mod_origin = core.get_current_modname() or "??"
 end
 
@@ -289,6 +297,7 @@ core.register_node(":air", {
        pointable = false,
        diggable = false,
        buildable_to = true,
+       floodable = true,
        air_equivalent = true,
        drop = "",
        groups = {not_in_creative_inventory=1},
@@ -390,7 +399,7 @@ end
 local function make_registration()
        local t = {}
        local registerfunc = function(func)
-               table.insert(t, func)
+               t[#t + 1] = func
                core.callback_origins[func] = {
                        mod = core.get_current_modname() or "??",
                        name = debug.getinfo(1, "n").name or "??"
@@ -466,9 +475,9 @@ end
 
 function core.register_on_player_hpchange(func, modifier)
        if modifier then
-               table.insert(core.registered_on_player_hpchanges.modifiers, func)
+               core.registered_on_player_hpchanges.modifiers[#core.registered_on_player_hpchanges.modifiers + 1] = func
        else
-               table.insert(core.registered_on_player_hpchanges.loggers, func)
+               core.registered_on_player_hpchanges.loggers[#core.registered_on_player_hpchanges.loggers + 1] = func
        end
        core.callback_origins[func] = {
                mod = core.get_current_modname() or "??",