mirror of
				https://github.com/Uberi/Minetest-WorldEdit
				synced 2025-11-04 05:53:06 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			207 lines
		
	
	
		
			7.2 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			207 lines
		
	
	
		
			7.2 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
WorldEdit API
 | 
						|
=============
 | 
						|
The WorldEdit API is composed of multiple modules, each of which is independent and can be used without the other. Each module is contained within a single file.
 | 
						|
 | 
						|
For more information, see the [README](README.md).
 | 
						|
 | 
						|
Manipulations
 | 
						|
-------------
 | 
						|
Contained in manipulations.lua, this module allows several node operations to be applied over a region.
 | 
						|
 | 
						|
### count = worldedit.set(pos1, pos2, nodename)
 | 
						|
 | 
						|
Sets a region defined by positions `pos1` and `pos2` to `nodename`. To clear to region, use "air" as the value of `nodename`.
 | 
						|
 | 
						|
Returns the number of nodes set.
 | 
						|
 | 
						|
### count = worldedit.replace(pos1, pos2, searchnode, replacenode)
 | 
						|
 | 
						|
Replaces all instances of `searchnode` with `replacenode` in a region defined by positions `pos1` and `pos2`.
 | 
						|
 | 
						|
Returns the number of nodes replaced.
 | 
						|
 | 
						|
### count = worldedit.replaceinverse(pos1, pos2, searchnode, replacenode)
 | 
						|
 | 
						|
Replaces all nodes other than `searchnode` with `replacenode` in a region defined by positions `pos1` and `pos2`.
 | 
						|
 | 
						|
Returns the number of nodes replaced.
 | 
						|
 | 
						|
### count = worldedit.copy(pos1, pos2, axis, amount)
 | 
						|
 | 
						|
Copies the region defined by positions `pos1` and `pos2` along the `axis` axis ("x" or "y" or "z") by `amount` nodes.
 | 
						|
 | 
						|
Returns the number of nodes copied.
 | 
						|
 | 
						|
### count = worldedit.move(pos1, pos2, axis, amount)
 | 
						|
 | 
						|
Moves the region defined by positions `pos1` and `pos2` along the `axis` axis ("x" or "y" or "z") by `amount` nodes.
 | 
						|
 | 
						|
Returns the number of nodes moved.
 | 
						|
 | 
						|
### count = worldedit.stack(pos1, pos2, axis, count)
 | 
						|
 | 
						|
Duplicates the region defined by positions `pos1` and `pos2` along the `axis` axis ("x" or "y" or "z") `count` times.
 | 
						|
 | 
						|
Returns the number of nodes stacked.
 | 
						|
 | 
						|
### count, newpos1, newpos2 = worldedit.transpose(pos1, pos2, axis1, axis2)
 | 
						|
 | 
						|
Transposes a region defined by the positions `pos1` and `pos2` between the `axis1` and `axis2` axes ("x" or "y" or "z").
 | 
						|
 | 
						|
Returns the number of nodes transposed, the new position 1, and the new position 2.
 | 
						|
 | 
						|
### count = worldedit.flip(pos1, pos2, axis)
 | 
						|
 | 
						|
Flips a region defined by the positions `pos1` and `pos2` along the `axis` axis ("x" or "y" or "z").
 | 
						|
 | 
						|
Returns the number of nodes flipped.
 | 
						|
 | 
						|
### count, newpos2, newpos2 = worldedit.rotate(pos1, pos2, angle)
 | 
						|
 | 
						|
Rotates a region defined by the positions `pos1` and `pos2` by `angle` degrees clockwise around the y axis (supporting 90 degree increments only).
 | 
						|
 | 
						|
Returns the number of nodes rotated, the new position 1, and the new position 2.
 | 
						|
 | 
						|
### count = worldedit.orient(pos1, pos2, angle)
 | 
						|
 | 
						|
Rotates all oriented nodes in a region defined by the positions `pos1` and `pos2` by `angle` degrees clockwise (90 degree increment) around the Y axis.
 | 
						|
 | 
						|
Returns the number of nodes oriented.
 | 
						|
 | 
						|
### count = worldedit.fixlight(pos1, pos2)
 | 
						|
 | 
						|
Fixes the lighting in a region defined by positions `pos1` and `pos2`.
 | 
						|
 | 
						|
Returns the number of nodes updated.
 | 
						|
 | 
						|
Primitives
 | 
						|
----------
 | 
						|
Contained in primitives.lua, this module allows the creation of several geometric primitives.
 | 
						|
 | 
						|
### count = worldedit.hollow_sphere(pos, radius, nodename)
 | 
						|
 | 
						|
Adds a hollow sphere at `pos` with radius `radius`, composed of `nodename`.
 | 
						|
 | 
						|
Returns the number of nodes added.
 | 
						|
 | 
						|
### count = worldedit.sphere(pos, radius, nodename)
 | 
						|
 | 
						|
Adds a sphere at `pos` with radius `radius`, composed of `nodename`.
 | 
						|
 | 
						|
Returns the number of nodes added.
 | 
						|
 | 
						|
### count = worldedit.hollow_cylinder(pos, axis, length, radius, nodename)
 | 
						|
 | 
						|
Adds a hollow cylinder at `pos` along the `axis` axis ("x" or "y" or "z") with length `length` and radius `radius`, composed of `nodename`.
 | 
						|
 | 
						|
Returns the number of nodes added.
 | 
						|
 | 
						|
### count = worldedit.cylinder(pos, axis, length, radius, nodename)
 | 
						|
 | 
						|
Adds a cylinder at `pos` along the `axis` axis ("x" or "y" or "z") with length `length` and radius `radius`, composed of `nodename`.
 | 
						|
 | 
						|
Returns the number of nodes added.
 | 
						|
 | 
						|
### count = worldedit.pyramid(pos, height, nodename)
 | 
						|
 | 
						|
Adds a pyramid at `pos` with height `height`.
 | 
						|
 | 
						|
Returns the number of nodes added.
 | 
						|
 | 
						|
### count = worldedit.spiral(pos, width, height, spacer, nodename)
 | 
						|
 | 
						|
Adds a spiral at `pos` with width `width`, height `height`, space between walls `spacer`, composed of `nodename`.
 | 
						|
 | 
						|
Returns the number of nodes added.
 | 
						|
 | 
						|
Visualization
 | 
						|
-------------
 | 
						|
Contained in visualization.lua, this module allows nodes to be visualized in different ways.
 | 
						|
 | 
						|
### volume = worldedit.volume(pos1, pos2)
 | 
						|
 | 
						|
Determines the volume of the region defined by positions `pos1` and `pos2`.
 | 
						|
 | 
						|
Returns the volume.
 | 
						|
 | 
						|
### count = worldedit.hide(pos1, pos2)
 | 
						|
 | 
						|
Hides all nodes in a region defined by positions `pos1` and `pos2` by non-destructively replacing them with invisible nodes.
 | 
						|
 | 
						|
Returns the number of nodes hidden.
 | 
						|
 | 
						|
### count = worldedit.suppress(pos1, pos2, nodename)
 | 
						|
 | 
						|
Suppresses all instances of `nodename` in a region defined by positions `pos1` and `pos2` by non-destructively replacing them with invisible nodes.
 | 
						|
 | 
						|
Returns the number of nodes suppressed.
 | 
						|
 | 
						|
### count = worldedit.highlight(pos1, pos2, nodename)
 | 
						|
 | 
						|
Highlights all instances of `nodename` in a region defined by positions `pos1` and `pos2` by non-destructively hiding all other nodes.
 | 
						|
 | 
						|
Returns the number of nodes found.
 | 
						|
 | 
						|
### count = worldedit.restore(pos1, pos2)
 | 
						|
 | 
						|
Restores all nodes hidden with WorldEdit functions in a region defined by positions `pos1` and `pos2`.
 | 
						|
 | 
						|
Returns the number of nodes restored.
 | 
						|
 | 
						|
Serialization
 | 
						|
-------------
 | 
						|
Contained in serialization.lua, this module allows regions of nodes to be serialized and deserialized to formats suitable for use outside MineTest.
 | 
						|
 | 
						|
### data, count = worldedit.serialize(pos1, pos2)
 | 
						|
 | 
						|
Converts the region defined by positions `pos1` and `pos2` into a single string.
 | 
						|
 | 
						|
Returns the serialized data and the number of nodes serialized.
 | 
						|
 | 
						|
### pos1, pos2, count = worldedit.allocate(originpos, value)
 | 
						|
 | 
						|
Determines the volume the nodes represented by string `value` would occupy if deserialized at `originpos`.
 | 
						|
 | 
						|
Returns the two corner positions and the number of nodes.
 | 
						|
 | 
						|
### count = worldedit.deserialize(originpos, value)
 | 
						|
 | 
						|
Loads the nodes represented by string `value` at position `originpos`.
 | 
						|
 | 
						|
Returns the number of nodes deserialized.
 | 
						|
 | 
						|
### count = worldedit.deserialize_old(originpos, value)
 | 
						|
 | 
						|
Loads the nodes represented by string `value` at position `originpos`, using the older table-based WorldEdit format.
 | 
						|
 | 
						|
This function is deprecated, and should not be used unless there is a need to support legacy WorldEdit save files.
 | 
						|
 | 
						|
Returns the number of nodes deserialized.
 | 
						|
 | 
						|
### count = worldedit.metasave(pos1, pos2, file)
 | 
						|
 | 
						|
Saves the nodes and meta defined by positions `pos1` and `pos2` into a file.
 | 
						|
 | 
						|
Returns the number of nodes saved.
 | 
						|
 | 
						|
### count = worldedit.metaload(pos1, file)
 | 
						|
 | 
						|
Loads the nodes and meta from `file` to position `pos1`.
 | 
						|
 | 
						|
Returns the number of nodes loaded.
 | 
						|
 | 
						|
Code
 | 
						|
----
 | 
						|
Contained in code.lua, this module allows arbitrary Lua code to be used with WorldEdit.
 | 
						|
 | 
						|
### error = worldedit.lua(code)
 | 
						|
 | 
						|
Executes `code` as a Lua chunk in the global namespace.
 | 
						|
 | 
						|
Returns an error if the code fails or nil otherwise.
 | 
						|
 | 
						|
### error = worldedit.luatransform(pos1, pos2, code)
 | 
						|
 | 
						|
Executes `code` as a Lua chunk in the global namespace with the variable pos available, for each node in a region defined by positions `pos1` and `pos2`.
 | 
						|
 | 
						|
Returns an error if the code fails or nil otherwise. |