]> git.lizzy.rs Git - worldedit.git/blobdiff - README.md
added metasave/metaload to readme
[worldedit.git] / README.md
index 000bfb25b7510cbedd3e94d827a15565128fe782..d72643819e6aad873a601207e36f0b097d033b7d 100644 (file)
--- a/README.md
+++ b/README.md
@@ -12,6 +12,14 @@ WorldEdit has a huge potential for abuse by untrusted players. Therefore, users
 
 For in-game information about these commands, type `/help <command name>` in the chat. For example, to learn more about the `//copy` command, simply type `/help /copy` to display information relevant to copying a region.
 
+Axes
+----
+The coordinate system is the same as that used by MineTest; Y is upwards, X is perpendicular, and Z is parallel.
+
+When an axis is specified in a WorldEdit command, it is specified as one of the following values: x, y, z, or ?.
+
+The value ? represents the axis the player is currently facing. If the player is facing more than one axis, the axis the player face direction is closest to will be used.
+
 Regions
 -------
 Most WorldEdit commands operate on regions. Regions are a set of two positions that define a 3D cube. They are local to each player and chat commands affect only the region for the player giving the commands.
@@ -35,6 +43,12 @@ Reset the region so that it is empty.
 
     //reset
 
+### //mark
+
+Show markers at the region positions.
+
+    //mark
+
 ### //pos1
 
 Set WorldEdit region position 1 to the player's location.
@@ -77,29 +91,86 @@ Replace all instances of <search node> with <place node> in the current WorldEdi
     //replace dirt flowers:flower_waterlily
     //replace flowers:flower_rose flowers:flower_tulip
 
-### //copy x/y/z <amount>
+### //hollowcylinder x/y/z/? <length> <radius> <node>
+
+Add hollow cylinder at WorldEdit position 1 along the x/y/z/? axis with length <length> and radius <radius>, composed of <node>.
+
+    //hollowcylinder x +5 8 dirt
+    //hollowcylinder y 28 10 default:glass
+    //hollowcylinder z -12 3 mesecons:mesecon
+    //hollowcylinder ? 2 4 stone
+
+### //cylinder x/y/z/? <length> <radius> <node>
+
+Add cylinder at WorldEdit position 1 along the x/y/z/? axis with length <length> and radius <radius>, composed of <node>.
+
+    //cylinder x +5 8 dirt
+    //cylinder y 28 10 default:glass
+    //cylinder z -12 3 mesecons:mesecon
+    //cylinder ? 2 4 stone
+    
+### //spiral <size> <node>
+
+Add spiral at WorldEdit position 1 with size <size>, composed of <node>.
+
+    //spiral 8 dirt
+    //spiral 5 default:glass
+    //spiral 2 stone
+
 
-Copy the current WorldEdit region along the x/y/z axis by <amount> nodes.
+### //copy x/y/z/? <amount>
+
+Copy the current WorldEdit region along the x/y/z/? axis by <amount> nodes.
 
     //copy x 15
     //copy y -7
     //copy z +4
+    //copy ? 8
 
-### //move x/y/z <amount>
+### //move x/y/z/? <amount>
 
-Move the current WorldEdit region along the x/y/z axis by <amount> nodes.
+Move the current WorldEdit positions and region along the x/y/z/? axis by <amount> nodes.
 
     //move x 15
     //move y -7
     //move z +4
+    //move ? -1
 
-### //stack x/y/z <count>
+### //stack x/y/z/? <count>
 
-Stack the current WorldEdit region along the x/y/z axis <count> times.
+Stack the current WorldEdit region along the x/y/z/? axis <count> times.
 
     //stack x 3
     //stack y -1
     //stack z +5
+    //stack ? 12
+
+### //transpose x/y/z/? x/y/z/?
+
+Transpose the current WorldEdit region along the x/y/z/? and x/y/z/? axes.
+
+    //transpose x y
+    //transpose x z
+    //transpose y z
+    //transpose ? y
+
+### //flip x/y/z/?
+
+Flip the current WorldEdit region along the x/y/z/? axis.
+
+   //flip x
+   //flip y
+   //flip z
+   //flip ?
+
+### //rotate x/y/z/? <angle>
+
+Rotate the current WorldEdit region along the x/y/z/? axis by angle <angle> (90 degree increment).
+
+    //rotate x 90
+    //rotate y 180
+    //rotate z 270
+    //rotate ? -90
 
 ### //dig
 
@@ -121,6 +192,20 @@ Load nodes from "(world folder)/schems/<file>.we" with position 1 of the current
     //load some random filename
     //load huge_base
 
+### //metasave <file>
+
+Save the current WorldEdit region including metadata to "(world folder)/schems/<file>.wem".
+
+    //metasave some random filename
+    //metasave huge_base
+
+### //metaload <file>
+
+Load nodes and metadata from "(world folder)/schems/<file>.wem" with position 1 of the current WorldEdit region as the origin.
+
+    //metaload some random filename
+    //metaload huge_base
+
 WorldEdit API
 -------------
 WorldEdit exposes all significant functionality in a simple interface. Adding WorldEdit to the file "depends.txt" in your mod gives you access to all of the `worldedit` functions. These are useful if you're looking for high-performance node manipulation without all the hassle of writing tons of code.
@@ -143,6 +228,24 @@ Replaces all instances of `searchnode` with `replacenode` in a region defined by
 
 Returns the number of nodes replaced.
 
+### 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`.
+
+Returns the number of nodes added.
+
+### 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`.
+
+Returns the number of nodes added.
+
+### worldedit.spiral(pos, size, nodename)
+
+Adds a spiral at `pos` with size `size`.
+
+Returns the number of nodes changed.
+
 ### 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.
@@ -157,10 +260,28 @@ Returns the number of nodes moved.
 
 ### 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.
+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.
 
+### 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.
+
+### 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.
+
+### 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.
+
 ### worldedit.dig(pos1, pos2)
 
 Digs a region defined by positions `pos1` and `pos2`.
@@ -187,6 +308,18 @@ This function is deprecated, and should not be used unless there is a need to su
 
 Returns the number of nodes deserialized.
 
+### 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
+
+### worldedit.metaload(pos1, file)
+
+Loads the nodes and meta from `file` to position `pos1`
+
+Returns the number of nodes loaded
+
 License
 -------
 Copyright 2012 sfan5 and Anthony Zhang (Temperest)
@@ -195,4 +328,4 @@ This mod is licensed under the [GNU Affero General Public License](http://www.gn
 
 Basically, this means everyone is free to use, modify, and distribute the files, as long as these modifications are also licensed the same way.
 
-Most importantly, the Affero variant of the GPL requires you to publish your modifications in source form, even if the mod is run only on the server, and not distributed.
\ No newline at end of file
+Most importantly, the Affero variant of the GPL requires you to publish your modifications in source form, even if the mod is run only on the server, and not distributed.