Skip to content

Commit e49f717

Browse files
committedMar 11, 2017
GUI: Always pass normalized node names to commands
1 parent 6e7b9a6 commit e49f717

File tree

1 file changed

+59
-15
lines changed

1 file changed

+59
-15
lines changed
 

‎worldedit_gui/functionality.lua

+59-15
Original file line numberDiff line numberDiff line change
@@ -166,7 +166,10 @@ worldedit.register_gui_handler("worldedit_gui_set", function(name, fields)
166166
gui_nodename1[name] = tostring(fields.worldedit_gui_set_node)
167167
worldedit.show_page(name, "worldedit_gui_set")
168168
if fields.worldedit_gui_set_submit then
169-
minetest.chatcommands["/set"].func(name, gui_nodename1[name])
169+
local n = worldedit.normalize_nodename(gui_nodename1[name])
170+
if n then
171+
minetest.chatcommands["/set"].func(name, n)
172+
end
170173
end
171174
return true
172175
end
@@ -198,10 +201,19 @@ worldedit.register_gui_handler("worldedit_gui_replace", function(name, fields)
198201
gui_nodename1[name] = tostring(fields.worldedit_gui_replace_search)
199202
gui_nodename2[name] = tostring(fields.worldedit_gui_replace_replace)
200203
worldedit.show_page(name, "worldedit_gui_replace")
204+
205+
local submit = nil
201206
if fields.worldedit_gui_replace_submit then
202-
minetest.chatcommands["/replace"].func(name, string.format("%s %s", gui_nodename1[name], gui_nodename2[name]))
207+
submit = "replace"
203208
elseif fields.worldedit_gui_replace_submit_inverse then
204-
minetest.chatcommands["/replaceinverse"].func(name, string.format("%s %s", gui_nodename1[name], gui_nodename2[name]))
209+
submit = "replaceinverse"
210+
end
211+
if submit then
212+
local n1 = worldedit.normalize_nodename(gui_nodename1[name])
213+
local n2 = worldedit.normalize_nodename(gui_nodename2[name])
214+
if n1 and n2 then
215+
minetest.chatcommands["/"..submit].func(name, string.format("%s %s", n1, n2))
216+
end
205217
end
206218
return true
207219
end
@@ -233,14 +245,22 @@ worldedit.register_gui_handler("worldedit_gui_sphere_dome", function(name, field
233245
gui_nodename1[name] = tostring(fields.worldedit_gui_sphere_dome_node)
234246
gui_distance2[name] = tostring(fields.worldedit_gui_sphere_dome_radius)
235247
worldedit.show_page(name, "worldedit_gui_sphere_dome")
248+
249+
local submit = nil
236250
if fields.worldedit_gui_sphere_dome_submit_hollow then
237-
minetest.chatcommands["/hollowsphere"].func(name, string.format("%s %s", gui_distance2[name], gui_nodename1[name]))
251+
submit = "hollowsphere"
238252
elseif fields.worldedit_gui_sphere_dome_submit_solid then
239-
minetest.chatcommands["/sphere"].func(name, string.format("%s %s", gui_distance2[name], gui_nodename1[name]))
253+
submit = "sphere"
240254
elseif fields.worldedit_gui_sphere_dome_submit_hollow_dome then
241-
minetest.chatcommands["/hollowdome"].func(name, string.format("%s %s", gui_distance2[name], gui_nodename1[name]))
255+
submit = "hollowdome"
242256
elseif fields.worldedit_gui_sphere_dome_submit_solid_dome then
243-
minetest.chatcommands["/dome"].func(name, string.format("%s %s", gui_distance2[name], gui_nodename1[name]))
257+
submit = "dome"
258+
end
259+
if submit then
260+
local n = worldedit.normalize_nodename(gui_nodename1[name])
261+
if n then
262+
minetest.chatcommands["/"..submit].func(name, string.format("%s %s", gui_distance2[name], n))
263+
end
244264
end
245265
return true
246266
end
@@ -273,10 +293,18 @@ worldedit.register_gui_handler("worldedit_gui_cylinder", function(name, fields)
273293
gui_distance1[name] = tostring(fields.worldedit_gui_cylinder_length)
274294
gui_distance2[name] = tostring(fields.worldedit_gui_cylinder_radius)
275295
worldedit.show_page(name, "worldedit_gui_cylinder")
296+
297+
local submit = nil
276298
if fields.worldedit_gui_cylinder_submit_hollow then
277-
minetest.chatcommands["/hollowcylinder"].func(name, string.format("%s %s %s %s", axis_values[gui_axis1[name]], gui_distance1[name], gui_distance2[name], gui_nodename1[name]))
299+
submit = "hollowcylinder"
278300
elseif fields.worldedit_gui_cylinder_submit_solid then
279-
minetest.chatcommands["/cylinder"].func(name, string.format("%s %s %s %s", axis_values[gui_axis1[name]], gui_distance1[name], gui_distance2[name], gui_nodename1[name]))
301+
submit = "cylinder"
302+
end
303+
if submit then
304+
local n = worldedit.normalize_nodename(gui_nodename1[name])
305+
if n then
306+
minetest.chatcommands["/"..submit].func(name, string.format("%s %s %s %s", axis_values[gui_axis1[name]], gui_distance1[name], gui_distance2[name], n))
307+
end
280308
end
281309
return true
282310
end
@@ -311,10 +339,18 @@ worldedit.register_gui_handler("worldedit_gui_pyramid", function(name, fields)
311339
gui_axis1[name] = axis_indices[fields.worldedit_gui_pyramid_axis]
312340
gui_distance1[name] = tostring(fields.worldedit_gui_pyramid_length)
313341
worldedit.show_page(name, "worldedit_gui_pyramid")
342+
343+
local submit = nil
314344
if fields.worldedit_gui_pyramid_submit_solid then
315-
minetest.chatcommands["/pyramid"].func(name, string.format("%s %s %s", axis_values[gui_axis1[name]], gui_distance1[name], gui_nodename1[name]))
345+
submit = "pyramid"
316346
elseif fields.worldedit_gui_pyramid_submit_hollow then
317-
minetest.chatcommands["/hollowpyramid"].func(name, string.format("%s %s %s", axis_values[gui_axis1[name]], gui_distance1[name], gui_nodename1[name]))
347+
submit = "hollowpyramid"
348+
end
349+
if submit then
350+
local n = worldedit.normalize_nodename(gui_nodename1[name])
351+
if n then
352+
minetest.chatcommands["/"..submit].func(name, string.format("%s %s %s", axis_values[gui_axis1[name]], gui_distance1[name], n))
353+
end
318354
end
319355
return true
320356
end
@@ -351,7 +387,10 @@ worldedit.register_gui_handler("worldedit_gui_spiral", function(name, fields)
351387
gui_distance3[name] = tostring(fields.worldedit_gui_spiral_space)
352388
worldedit.show_page(name, "worldedit_gui_spiral")
353389
if fields.worldedit_gui_spiral_submit then
354-
minetest.chatcommands["/spiral"].func(name, string.format("%s %s %s %s", gui_distance1[name], gui_distance2[name], gui_distance3[name], gui_nodename1[name]))
390+
local n = worldedit.normalize_nodename(gui_nodename1[name])
391+
if n then
392+
minetest.chatcommands["/spiral"].func(name, string.format("%s %s %s %s", gui_distance1[name], gui_distance2[name], gui_distance3[name], n))
393+
end
355394
end
356395
return true
357396
end
@@ -456,7 +495,6 @@ worldedit.register_gui_function("worldedit_gui_transpose", {
456495
worldedit.register_gui_handler("worldedit_gui_transpose", function(name, fields)
457496
if fields.worldedit_gui_transpose_submit then
458497
gui_axis1[name] = axis_indices[fields.worldedit_gui_transpose_axis1]
459-
gui_axis2[name] = axis_indices[fields.worldedit_gui_transpose_axis2]
460498
worldedit.show_page(name, "worldedit_gui_transpose")
461499
minetest.chatcommands["/transpose"].func(name, string.format("%s %s", axis_values[gui_axis1[name]], axis_values[gui_axis2[name]]))
462500
return true
@@ -589,7 +627,10 @@ worldedit.register_gui_handler("worldedit_gui_suppress", function(name, fields)
589627
gui_nodename1[name] = tostring(fields.worldedit_gui_suppress_node)
590628
worldedit.show_page(name, "worldedit_gui_suppress")
591629
if fields.worldedit_gui_suppress_submit then
592-
minetest.chatcommands["/suppress"].func(name, gui_nodename1[name])
630+
local n = worldedit.normalize_nodename(gui_nodename1[name])
631+
if n then
632+
minetest.chatcommands["/suppress"].func(name, n)
633+
end
593634
end
594635
return true
595636
end
@@ -615,7 +656,10 @@ worldedit.register_gui_handler("worldedit_gui_highlight", function(name, fields)
615656
gui_nodename1[name] = tostring(fields.worldedit_gui_highlight_node)
616657
worldedit.show_page(name, "worldedit_gui_highlight")
617658
if fields.worldedit_gui_highlight_submit then
618-
minetest.chatcommands["/highlight"].func(name, gui_nodename1[name])
659+
local n = worldedit.normalize_nodename(gui_nodename1[name])
660+
if n then
661+
minetest.chatcommands["/highlight"].func(name, n)
662+
end
619663
end
620664
return true
621665
end

0 commit comments

Comments
 (0)