mirror of
https://github.com/Uberi/Minetest-WorldEdit.git
synced 2024-12-25 02:00:39 +01:00
//mix: Add node weighting support
This commit is contained in:
parent
f7256633c0
commit
b37605943b
@ -121,14 +121,16 @@ Set the current WorldEdit region to `<node>`.
|
|||||||
|
|
||||||
Set the param2 value of all nodes in the current WorldEdit region to `<param2>`.
|
Set the param2 value of all nodes in the current WorldEdit region to `<param2>`.
|
||||||
|
|
||||||
### `//mix <node1> ...`
|
### `//mix <node1> [<count1>] <node2> [<count2>]...`
|
||||||
|
|
||||||
Fill the current WorldEdit region with a random mix of `<node1>`, `...`.
|
Fill the current WorldEdit region with a random mix of `<node1>`, `<node2>`, `...`. Weightings can be optionally specified via a number after a node name.
|
||||||
|
|
||||||
//mix air
|
//mix air
|
||||||
//mix cactus stone glass sandstone
|
//mix cactus stone glass sandstone
|
||||||
//mix Bronze
|
//mix Bronze
|
||||||
//mix default:cobble air
|
//mix default:cobble air
|
||||||
|
//mix stone 3 dirt 2
|
||||||
|
//mix cobblestone 8 stoneblock 2 stonebrick
|
||||||
|
|
||||||
### `//replace <search node> <replace node>`
|
### `//replace <search node> <replace node>`
|
||||||
|
|
||||||
|
@ -425,15 +425,22 @@ minetest.register_chatcommand("/param2", {
|
|||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_chatcommand("/mix", {
|
minetest.register_chatcommand("/mix", {
|
||||||
params = "<node1> ...",
|
params = "<node1> [<weighting1>] [<node2> [<weighting2>]] ...",
|
||||||
description = "Fill the current WorldEdit region with a random mix of <node1>, ...",
|
description = "Fill the current WorldEdit region with a random mix of <node1>, ...",
|
||||||
privs = {worldedit=true},
|
privs = {worldedit=true},
|
||||||
func = safe_region(function(name, param)
|
func = safe_region(function(name, param)
|
||||||
local nodes = {}
|
local nodes = {}
|
||||||
for nodename in param:gmatch("[^%s]+") do
|
for nodename in param:gmatch("[^%s]+") do
|
||||||
local node = get_node(name, nodename)
|
if tonumber(nodename) ~= nil and #nodes > 0 then
|
||||||
if not node then return end
|
local last_node = nodes[#nodes]
|
||||||
nodes[#nodes + 1] = node
|
for i = 1, tonumber(nodename) do
|
||||||
|
nodes[#nodes + 1] = last_node
|
||||||
|
end
|
||||||
|
else
|
||||||
|
local node = get_node(name, nodename)
|
||||||
|
if not node then return end
|
||||||
|
nodes[#nodes + 1] = node
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
local pos1, pos2 = worldedit.pos1[name], worldedit.pos2[name]
|
local pos1, pos2 = worldedit.pos1[name], worldedit.pos2[name]
|
||||||
|
Loading…
Reference in New Issue
Block a user