From 175ac211ca06af7eec9dfbc62e11e1d6eb448c03 Mon Sep 17 00:00:00 2001 From: Uberi Date: Sun, 6 Jul 2014 19:42:02 -0400 Subject: Documentation for `//stack2`, code style fixes, add author section to README. --- worldedit_commands/init.lua | 47 +++++++++++++++++---------------------------- 1 file changed, 18 insertions(+), 29 deletions(-) (limited to 'worldedit_commands/init.lua') diff --git a/worldedit_commands/init.lua b/worldedit_commands/init.lua index e7b0f74..3fa9422 100644 --- a/worldedit_commands/init.lua +++ b/worldedit_commands/init.lua @@ -279,19 +279,18 @@ minetest.register_chatcommand("/volume", { }) minetest.register_chatcommand("/set", { - params = "", - description = "Set the current WorldEdit region to ", + params = " ...", + description = "Set the current WorldEdit region to a random mix of , ...", privs = {worldedit=true}, func = safe_region(function(name, param) local nodes = {} - for nodename in param:gmatch("[^%s]+") do local node = get_node(name, nodename) if not node then - worldedit.player_notify(name, 'Could not identify node "'..name..'"') + worldedit.player_notify(name, "Could not identify node \"" .. name .. "\"") return end - nodes[#nodes+1] = node + nodes[#nodes + 1] = node end local pos1, pos2 = worldedit.pos1[name], worldedit.pos2[name] @@ -620,47 +619,37 @@ minetest.register_chatcommand("/stack", { }) minetest.register_chatcommand("/stack2", { - params = " //", - description = "Stack the current WorldEdit region times translating each time by x, y and z in the respective directions.", + params = " ", + description = "Stack the current WorldEdit region times by offset , , ", privs = {worldedit=true}, func = function(name, param) local pos1, pos2 = worldedit.pos1[name], worldedit.pos2[name] if pos1 == nil or pos2 == nil then - worldedit.player_notify(name, "Select a position first!") + worldedit.player_notify(name, "Select a position first!") return end - local repetitions, incs = param:match("([0-9]+)%s*(.+)") - repetitions = repetitions and tonumber(repetitions) + local repetitions, incs = param:match("(%d+)%s*(.+)") if repetitions == nil then worldedit.player_notify(name, "invalid count: " .. param) - return + return end + repetitions = tonumber(repetitions) - local x,y,z = incs:match("(.+)/(.+)/(.+)") + local x, y, z = incs:match("([+-]?%d+) ([+-]%d+) ([+-]%d+)") if x == nil then worldedit.player_notify(name, "invalid increments: " .. param) return end - x = tonumber(x) - y = tonumber(y) - z = tonumber(z) - if x == nil or y == nil or z == nil then - worldedit.player_notify(name, "increments must be numbers: " .. param) - return - end + x, y, z = tonumber(x), tonumber(y), tonumber(z) - local count = worldedit.volume(pos1,pos2) * repetitions + local count = worldedit.volume(pos1, pos2) * repetitions return safe_region(function() - worldedit.stack2(pos1, pos2, {x=x,y=y,z=z}, repetitions, - function() - worldedit.player_notify(name, count .. " nodes stacked") - end) - - end, - function() - return count - end)(name,param) -- more hax + worldedit.stack2(pos1, pos2, {x=x, y=y, z=z}, repetitions, + function() worldedit.player_notify(name, count .. " nodes stacked") end) + end, function() + return count + end)(name,param) -- more hax end }) -- cgit v1.2.3