forked from mtcontrib/Minetest-WorldEdit
Documentation for //stack2
, code style fixes, add author section to README.
This commit is contained in:
@ -279,19 +279,18 @@ minetest.register_chatcommand("/volume", {
|
||||
})
|
||||
|
||||
minetest.register_chatcommand("/set", {
|
||||
params = "<node>",
|
||||
description = "Set the current WorldEdit region to <node>",
|
||||
params = "<node1> ...",
|
||||
description = "Set the current WorldEdit region to a random mix of <node1>, ...",
|
||||
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 = "<count> <x>/<y>/<z>",
|
||||
description = "Stack the current WorldEdit region <count> times translating each time by x, y and z in the respective directions.",
|
||||
params = "<count> <x> <y> <z>",
|
||||
description = "Stack the current WorldEdit region <count> times by offset <x>, <y>, <z>",
|
||||
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
|
||||
})
|
||||
|
||||
|
Reference in New Issue
Block a user