]> git.lizzy.rs Git - worldedit.git/blobdiff - README.md
Replace worldedit.spiral with worldedit.pyramid, as well as related chat commands.
[worldedit.git] / README.md
index cc4063061a8757617009c05aca233e9f809b37c1..5324efb0284c1fc3493f53a3790c97c20b67a3c5 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.
@@ -83,69 +91,102 @@ 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
 
-### //hollowcylinder x/y/z <length> <radius> <node>
+### //hollowsphere <radius> <node>
+
+Add hollow sphere at WorldEdit position 1 with radius <radius>, composed of <node>.
+
+    //hollowsphere 5 dirt
+    //hollowsphere 12 default:glass
+    //hollowsphere 17 mesecons:mesecon
+
+### //sphere <radius> <node>
+
+Add sphere at WorldEdit position 1 with radius <radius>, composed of <node>.
+
+    //sphere 5 dirt
+    //sphere 12 default:glass
+    //sphere 17 mesecons:mesecon
+
+### //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>.
+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>
+### //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>.
+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
+    
+### //pyramid <height> <node>
 
-### //copy x/y/z <amount>
+Add pyramid at WorldEdit position 1 with height <height>, composed of <node>.
 
-Copy the current WorldEdit region along the x/y/z axis by <amount> nodes.
+    //pyramid 8 dirt
+    //pyramid 5 default:glass
+    //pyramid 2 stone
+
+
+### //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 x/y/z/? x/y/z/?
 
-Transpose the current WorldEdit region along the x/y/z and x/y/z axes.
+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 x/y/z/?
 
-Flip the current WorldEdit region along the x/y/z axis.
+Flip the current WorldEdit region along the x/y/z/? axis.
 
    //flip x
    //flip y
    //flip z
+   //flip ?
 
-### //rotate
+### //rotate x/y/z/? <angle>
 
-Rotate the current WorldEdit region around the y axis by angle <angle> (90 degree increment).
+Rotate the current WorldEdit region along the x/y/z/? axis by angle <angle> (90 degree increment).
 
-    //rotate 90
-    //rotate 180
-    //rotate 270
+    //rotate x 90
+    //rotate y 180
+    //rotate z 270
+    //rotate ? -90
 
 ### //dig
 
@@ -167,6 +208,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.
@@ -189,15 +244,33 @@ Replaces all instances of `searchnode` with `replacenode` in a region defined by
 
 Returns the number of nodes replaced.
 
+### worldedit.hollow_sphere = function(pos, radius, nodename)
+
+Adds a hollow sphere at `pos` with radius `radius`, composed of `nodename`.
+
+Returns the number of nodes added.
+
+### worldedit.sphere = function(pos, radius, nodename)
+
+Adds a sphere at `pos` with radius `radius`, composed of `nodename`.
+
+Returns the number of nodes added.
+
 ### 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`.
+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.
 
 ### 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`.
+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.
+
+### worldedit.pyramid(pos, height, nodename)
+
+Adds a pyramid at `pos` with height `height`.
 
 Returns the number of nodes added.
 
@@ -263,6 +336,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)
@@ -271,4 +356,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.