-- Run script hook
for _, callback in ipairs(core.registered_on_dignodes) do
local origin = core.callback_origins[callback]
- if origin then
- core.set_last_run_mod(origin.mod)
- end
+ core.set_last_run_mod(origin.mod)
-- Copy pos and node because callback can modify them
local pos_copy = vector.new(pos)
register_item_raw(item)
end
-
-core.callback_origins = {}
+do
+ local default = {mod = "??", name = "??"}
+ core.callback_origins = setmetatable({}, {
+ __index = function()
+ return default
+ end
+ })
+end
function core.run_callbacks(callbacks, mode, ...)
assert(type(callbacks) == "table")
local ret = nil
for i = 1, cb_len do
local origin = core.callback_origins[callbacks[i]]
- if origin then
- core.set_last_run_mod(origin.mod)
- end
+ core.set_last_run_mod(origin.mod)
local cb_ret = callbacks[i](...)
if mode == 0 and i == 1 then