1
- local safe_region_callback
2
- local safe_region_name
3
- local safe_region_param
1
+ local safe_region_callback = {}
2
+ local safe_region_param = {}
4
3
5
4
check_region = function (name , param )
6
- -- obtain positions
7
- local pos1 , pos2 = worldedit .pos1 [name ], worldedit .pos2 [name ]
5
+ local pos1 , pos2 = worldedit .pos1 [name ], worldedit .pos2 [name ] -- obtain positions
8
6
if pos1 == nil or pos2 == nil then
9
7
worldedit .player_notify (name , " no region selected" )
10
8
return nil
11
9
end
12
-
13
10
return worldedit .volume (pos1 , pos2 )
14
11
end
15
12
@@ -28,16 +25,16 @@ safe_region = function(callback, nodes_needed)
28
25
end
29
26
30
27
-- save callback to call later
31
- safe_region_callback , safe_region_name , safe_region_param = callback , name , param
28
+ safe_region_callback [ name ], safe_region_param [ name ] = callback , param
32
29
worldedit .player_notify (name , " WARNING: this operation could affect up to " .. count .. " nodes; type //y to continue or //n to cancel" )
33
30
end
34
31
end
35
32
36
33
minetest .register_chatcommand (" /y" , {
37
34
params = " " ,
38
35
description = " Confirm a pending operation" ,
39
- func = function ()
40
- local callback , name , param = safe_region_callback , safe_region_name , safe_region_param
36
+ func = function (name )
37
+ local callback , param = safe_region_callback [ name ], safe_region_param [ name ]
41
38
if not callback then
42
39
worldedit .player_notify (name , " no operation pending" )
43
40
return
@@ -50,19 +47,19 @@ minetest.register_chatcommand("/y", {
50
47
return
51
48
end
52
49
53
- safe_region_callback , safe_region_name , safe_region_param = nil , nil , nil -- reset pending operation
50
+ safe_region_callback [ name ], safe_region_param [ name ] = nil , nil -- reset pending operation
54
51
callback (name , param , pos1 , pos2 )
55
52
end ,
56
53
})
57
54
58
55
minetest .register_chatcommand (" /n" , {
59
56
params = " " ,
60
57
description = " Confirm a pending operation" ,
61
- func = function ()
62
- if not safe_region_callback then
58
+ func = function (name )
59
+ if not safe_region_callback [ name ] then
63
60
worldedit .player_notify (name , " no operation pending" )
64
61
return
65
62
end
66
- safe_region_callback , safe_region_name , safe_region_param = nil , nil , nil
63
+ safe_region_callback [ name ], safe_region_param [ name ] = nil , nil
67
64
end ,
68
65
})
0 commit comments