mirror of
				https://github.com/Uberi/Minetest-WorldEdit.git
				synced 2025-11-03 22:35:25 +01:00 
			
		
		
		
	//mix: Add node weighting support
This commit is contained in:
		
				
					committed by
					
						
						sfan5
					
				
			
			
				
	
			
			
			
						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>`.
 | 
			
		||||
 | 
			
		||||
### `//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 cactus stone glass sandstone
 | 
			
		||||
    //mix Bronze
 | 
			
		||||
    //mix default:cobble air
 | 
			
		||||
    //mix stone 3 dirt 2
 | 
			
		||||
    //mix cobblestone 8 stoneblock 2 stonebrick
 | 
			
		||||
 | 
			
		||||
### `//replace <search node> <replace node>`
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -425,15 +425,22 @@ minetest.register_chatcommand("/param2", {
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
minetest.register_chatcommand("/mix", {
 | 
			
		||||
	params = "<node1> ...",
 | 
			
		||||
	params = "<node1> [<weighting1>] [<node2> [<weighting2>]] ...",
 | 
			
		||||
	description = "Fill the current WorldEdit region with 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 return end
 | 
			
		||||
			nodes[#nodes + 1] = node
 | 
			
		||||
			if tonumber(nodename) ~= nil and #nodes > 0 then
 | 
			
		||||
				local last_node = nodes[#nodes]
 | 
			
		||||
				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
 | 
			
		||||
 | 
			
		||||
		local pos1, pos2 = worldedit.pos1[name], worldedit.pos2[name]
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user