]> git.lizzy.rs Git - worldedit.git/commitdiff
GUI: Always pass normalized node names to commands
authorsfan5 <sfan5@live.de>
Sat, 11 Mar 2017 11:03:06 +0000 (12:03 +0100)
committersfan5 <sfan5@live.de>
Sat, 11 Mar 2017 11:03:06 +0000 (12:03 +0100)
worldedit_gui/functionality.lua

index 7010b149746dbc047865790ec89fed51d11dd393..7282ae97d4c4712f0034ef02c3416e6501133d68 100644 (file)
@@ -166,7 +166,10 @@ worldedit.register_gui_handler("worldedit_gui_set", function(name, fields)
                gui_nodename1[name] = tostring(fields.worldedit_gui_set_node)\r
                worldedit.show_page(name, "worldedit_gui_set")\r
                if fields.worldedit_gui_set_submit then\r
-                       minetest.chatcommands["/set"].func(name, gui_nodename1[name])\r
+                       local n = worldedit.normalize_nodename(gui_nodename1[name])\r
+                       if n then\r
+                               minetest.chatcommands["/set"].func(name, n)\r
+                       end\r
                end\r
                return true\r
        end\r
@@ -198,10 +201,19 @@ worldedit.register_gui_handler("worldedit_gui_replace", function(name, fields)
                gui_nodename1[name] = tostring(fields.worldedit_gui_replace_search)\r
                gui_nodename2[name] = tostring(fields.worldedit_gui_replace_replace)\r
                worldedit.show_page(name, "worldedit_gui_replace")\r
+\r
+               local submit = nil\r
                if fields.worldedit_gui_replace_submit then\r
-                       minetest.chatcommands["/replace"].func(name, string.format("%s %s", gui_nodename1[name], gui_nodename2[name]))\r
+                       submit = "replace"\r
                elseif fields.worldedit_gui_replace_submit_inverse then\r
-                       minetest.chatcommands["/replaceinverse"].func(name, string.format("%s %s", gui_nodename1[name], gui_nodename2[name]))\r
+                       submit = "replaceinverse"\r
+               end\r
+               if submit then\r
+                       local n1 = worldedit.normalize_nodename(gui_nodename1[name])\r
+                       local n2 = worldedit.normalize_nodename(gui_nodename2[name])\r
+                       if n1 and n2 then\r
+                               minetest.chatcommands["/"..submit].func(name, string.format("%s %s", n1, n2))\r
+                       end\r
                end\r
                return true\r
        end\r
@@ -233,14 +245,22 @@ worldedit.register_gui_handler("worldedit_gui_sphere_dome", function(name, field
                gui_nodename1[name] = tostring(fields.worldedit_gui_sphere_dome_node)\r
                gui_distance2[name] = tostring(fields.worldedit_gui_sphere_dome_radius)\r
                worldedit.show_page(name, "worldedit_gui_sphere_dome")\r
+\r
+               local submit = nil\r
                if fields.worldedit_gui_sphere_dome_submit_hollow then\r
-                       minetest.chatcommands["/hollowsphere"].func(name, string.format("%s %s", gui_distance2[name], gui_nodename1[name]))\r
+                       submit = "hollowsphere"\r
                elseif fields.worldedit_gui_sphere_dome_submit_solid then\r
-                       minetest.chatcommands["/sphere"].func(name, string.format("%s %s", gui_distance2[name], gui_nodename1[name]))\r
+                       submit = "sphere"\r
                elseif fields.worldedit_gui_sphere_dome_submit_hollow_dome then\r
-                       minetest.chatcommands["/hollowdome"].func(name, string.format("%s %s", gui_distance2[name], gui_nodename1[name]))\r
+                       submit = "hollowdome"\r
                elseif fields.worldedit_gui_sphere_dome_submit_solid_dome then\r
-                       minetest.chatcommands["/dome"].func(name, string.format("%s %s", gui_distance2[name], gui_nodename1[name]))\r
+                       submit = "dome"\r
+               end\r
+               if submit then\r
+                       local n = worldedit.normalize_nodename(gui_nodename1[name])\r
+                       if n then\r
+                               minetest.chatcommands["/"..submit].func(name, string.format("%s %s", gui_distance2[name], n))\r
+                       end\r
                end\r
                return true\r
        end\r
@@ -273,10 +293,18 @@ worldedit.register_gui_handler("worldedit_gui_cylinder", function(name, fields)
                gui_distance1[name] = tostring(fields.worldedit_gui_cylinder_length)\r
                gui_distance2[name] = tostring(fields.worldedit_gui_cylinder_radius)\r
                worldedit.show_page(name, "worldedit_gui_cylinder")\r
+\r
+               local submit = nil\r
                if fields.worldedit_gui_cylinder_submit_hollow then\r
-                       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]))\r
+                       submit = "hollowcylinder"\r
                elseif fields.worldedit_gui_cylinder_submit_solid then\r
-                       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]))\r
+                       submit = "cylinder"\r
+               end\r
+               if submit then\r
+                       local n = worldedit.normalize_nodename(gui_nodename1[name])\r
+                       if n then\r
+                               minetest.chatcommands["/"..submit].func(name, string.format("%s %s %s %s", axis_values[gui_axis1[name]], gui_distance1[name], gui_distance2[name], n))\r
+                       end\r
                end\r
                return true\r
        end\r
@@ -311,10 +339,18 @@ worldedit.register_gui_handler("worldedit_gui_pyramid", function(name, fields)
                gui_axis1[name] = axis_indices[fields.worldedit_gui_pyramid_axis]\r
                gui_distance1[name] = tostring(fields.worldedit_gui_pyramid_length)\r
                worldedit.show_page(name, "worldedit_gui_pyramid")\r
+\r
+               local submit = nil\r
                if fields.worldedit_gui_pyramid_submit_solid then\r
-                       minetest.chatcommands["/pyramid"].func(name, string.format("%s %s %s", axis_values[gui_axis1[name]], gui_distance1[name], gui_nodename1[name]))\r
+                       submit = "pyramid"\r
                elseif fields.worldedit_gui_pyramid_submit_hollow then\r
-                       minetest.chatcommands["/hollowpyramid"].func(name, string.format("%s %s %s", axis_values[gui_axis1[name]], gui_distance1[name], gui_nodename1[name]))\r
+                       submit = "hollowpyramid"\r
+               end\r
+               if submit then\r
+                       local n = worldedit.normalize_nodename(gui_nodename1[name])\r
+                       if n then\r
+                               minetest.chatcommands["/"..submit].func(name, string.format("%s %s %s", axis_values[gui_axis1[name]], gui_distance1[name], n))\r
+                       end\r
                end\r
                return true\r
        end\r
@@ -351,7 +387,10 @@ worldedit.register_gui_handler("worldedit_gui_spiral", function(name, fields)
                gui_distance3[name] = tostring(fields.worldedit_gui_spiral_space)\r
                worldedit.show_page(name, "worldedit_gui_spiral")\r
                if fields.worldedit_gui_spiral_submit then\r
-                       minetest.chatcommands["/spiral"].func(name, string.format("%s %s %s %s", gui_distance1[name], gui_distance2[name], gui_distance3[name], gui_nodename1[name]))\r
+                       local n = worldedit.normalize_nodename(gui_nodename1[name])\r
+                       if n then\r
+                               minetest.chatcommands["/spiral"].func(name, string.format("%s %s %s %s", gui_distance1[name], gui_distance2[name], gui_distance3[name], n))\r
+                       end\r
                end\r
                return true\r
        end\r
@@ -456,7 +495,6 @@ worldedit.register_gui_function("worldedit_gui_transpose", {
 worldedit.register_gui_handler("worldedit_gui_transpose", function(name, fields)\r
        if fields.worldedit_gui_transpose_submit then\r
                gui_axis1[name] = axis_indices[fields.worldedit_gui_transpose_axis1]\r
-               gui_axis2[name] = axis_indices[fields.worldedit_gui_transpose_axis2]\r
                worldedit.show_page(name, "worldedit_gui_transpose")\r
                minetest.chatcommands["/transpose"].func(name, string.format("%s %s", axis_values[gui_axis1[name]], axis_values[gui_axis2[name]]))\r
                return true\r
@@ -589,7 +627,10 @@ worldedit.register_gui_handler("worldedit_gui_suppress", function(name, fields)
                gui_nodename1[name] = tostring(fields.worldedit_gui_suppress_node)\r
                worldedit.show_page(name, "worldedit_gui_suppress")\r
                if fields.worldedit_gui_suppress_submit then\r
-                       minetest.chatcommands["/suppress"].func(name, gui_nodename1[name])\r
+                       local n = worldedit.normalize_nodename(gui_nodename1[name])\r
+                       if n then\r
+                               minetest.chatcommands["/suppress"].func(name, n)\r
+                       end\r
                end\r
                return true\r
        end\r
@@ -615,7 +656,10 @@ worldedit.register_gui_handler("worldedit_gui_highlight", function(name, fields)
                gui_nodename1[name] = tostring(fields.worldedit_gui_highlight_node)\r
                worldedit.show_page(name, "worldedit_gui_highlight")\r
                if fields.worldedit_gui_highlight_submit then\r
-                       minetest.chatcommands["/highlight"].func(name, gui_nodename1[name])\r
+                       local n = worldedit.normalize_nodename(gui_nodename1[name])\r
+                       if n then\r
+                               minetest.chatcommands["/highlight"].func(name, n)\r
+                       end\r
                end\r
                return true\r
        end\r