forked from mtcontrib/Minetest-WorldEdit
Fix leaking {safe,check}_region
This commit is contained in:
parent
6b2fe397e6
commit
163dffccb3
@ -11,8 +11,7 @@ if minetest.place_schematic then
|
|||||||
end
|
end
|
||||||
|
|
||||||
dofile(minetest.get_modpath("worldedit_commands") .. "/mark.lua")
|
dofile(minetest.get_modpath("worldedit_commands") .. "/mark.lua")
|
||||||
dofile(minetest.get_modpath("worldedit_commands") .. "/safe.lua")
|
local safe_region, check_region = dofile(minetest.get_modpath("worldedit_commands") .. "/safe.lua")
|
||||||
safe_region = rawget(_G, "safe_region") or function(callback) return callback end
|
|
||||||
|
|
||||||
local function get_position(name) --position 1 retrieval function for when not using `safe_region`
|
local function get_position(name) --position 1 retrieval function for when not using `safe_region`
|
||||||
local pos1 = worldedit.pos1[name]
|
local pos1 = worldedit.pos1[name]
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
local safe_region_callback = {}
|
local safe_region_callback = {}
|
||||||
local safe_region_param = {}
|
local safe_region_param = {}
|
||||||
|
|
||||||
check_region = function(name, param)
|
local function check_region(name, param)
|
||||||
local pos1, pos2 = worldedit.pos1[name], worldedit.pos2[name] --obtain positions
|
local pos1, pos2 = worldedit.pos1[name], worldedit.pos2[name] --obtain positions
|
||||||
if pos1 == nil or pos2 == nil then
|
if pos1 == nil or pos2 == nil then
|
||||||
worldedit.player_notify(name, "no region selected")
|
worldedit.player_notify(name, "no region selected")
|
||||||
@ -12,7 +12,7 @@ end
|
|||||||
|
|
||||||
--`callback` is a callback to run when the user confirms
|
--`callback` is a callback to run when the user confirms
|
||||||
--`nodes_needed` is a function accepting `param`, `pos1`, and `pos2` to calculate the number of nodes needed
|
--`nodes_needed` is a function accepting `param`, `pos1`, and `pos2` to calculate the number of nodes needed
|
||||||
safe_region = function(callback, nodes_needed)
|
local function safe_region(callback, nodes_needed)
|
||||||
--default node volume calculation
|
--default node volume calculation
|
||||||
nodes_needed = nodes_needed or check_region
|
nodes_needed = nodes_needed or check_region
|
||||||
|
|
||||||
@ -63,3 +63,6 @@ minetest.register_chatcommand("/n", {
|
|||||||
safe_region_callback[name], safe_region_param[name] = nil, nil
|
safe_region_callback[name], safe_region_param[name] = nil, nil
|
||||||
end,
|
end,
|
||||||
})
|
})
|
||||||
|
|
||||||
|
return safe_region, check_region
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user