dofile(minetest.get_modpath("worldedit_commands") .. "/cuboid.lua")\r
dofile(minetest.get_modpath("worldedit_commands") .. "/mark.lua")\r
dofile(minetest.get_modpath("worldedit_commands") .. "/wand.lua")\r
-local safe_region, check_region = dofile(minetest.get_modpath("worldedit_commands") .. "/safe.lua")\r
+local safe_region, check_region, reset_pending = dofile(minetest.get_modpath("worldedit_commands") .. "/safe.lua")\r
\r
local function get_position(name) --position 1 retrieval function for when not using `safe_region`\r
local pos1 = worldedit.pos1[name]\r
worldedit.mark_pos1(name)\r
worldedit.mark_pos2(name)\r
worldedit.set_pos[name] = nil\r
+ --make sure the user does not try to confirm an operation after resetting pos:\r
+ reset_pending(name)\r
worldedit.player_notify(name, "region reset")\r
end,\r
})\r
end\r
end\r
\r
+local function reset_pending(name)\r
+ safe_region_callback[name], safe_region_param[name] = nil, nil\r
+end\r
+\r
minetest.register_chatcommand("/y", {\r
params = "",\r
description = "Confirm a pending operation",\r
return\r
end\r
\r
- --obtain positions\r
- local pos1, pos2 = worldedit.pos1[name], worldedit.pos2[name]\r
- if pos1 == nil or pos2 == nil then\r
- worldedit.player_notify(name, "no region selected")\r
- return\r
- end\r
-\r
safe_region_callback[name], safe_region_param[name] = nil, nil --reset pending operation\r
- callback(name, param, pos1, pos2)\r
+ callback(name, param)\r
end,\r
})\r
\r
end,\r
})\r
\r
-return safe_region, check_region\r
\r
+return safe_region, check_region, reset_pending\r