summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnthony Zhang <azhang9@gmail.com>2012-07-13 22:14:25 -0400
committerAnthony Zhang <azhang9@gmail.com>2012-07-13 22:14:25 -0400
commit5869ccf7f8000dbf8682a67bed357ff09cd0f929 (patch)
tree6317760c1cec10864ab569920602587323a31d60
parent21f768be1401a920d687c611ee59a7140e625701 (diff)
Properly document the WorldEdit API.
-rw-r--r--README.md58
-rw-r--r--functions.lua10
-rw-r--r--init.lua4
3 files changed, 65 insertions, 7 deletions
diff --git a/README.md b/README.md
index 0e58e6f..b6f6e6c 100644
--- a/README.md
+++ b/README.md
@@ -101,6 +101,64 @@ Load nodes from "(world folder)/schems/<file>.we" with position 1 of the current
//load some random filename
//load 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.
+
+### worldedit.volume(pos1, pos2)
+
+Determines the volume of the region defined by positions `pos1` and `pos2`.
+
+Returns the volume.
+
+### 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.
+
+### 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.
+
+### 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.
+
+### 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.
+
+### 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.
+
+### worldedit.dig(pos1, pos2)
+
+Digs a region defined by positions `pos1` and `pos2`.
+
+Returns the number of nodes dug.
+
+### 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.
+
+### worldedit.deserialize(originpos, value)
+
+Loads the nodes represented by string `value` at position `originpos`.
+
+Returns the number of nodes deserialized.
+
License
-------
Copyright 2012 sfan5 and Anthony Zhang (Temperest)
diff --git a/functions.lua b/functions.lua
index 2226e4c..35015a5 100644
--- a/functions.lua
+++ b/functions.lua
@@ -20,8 +20,8 @@ worldedit.volume = function(pos1, pos2)
return (pos2.x - pos1.x + 1) * (pos2.y - pos1.y + 1) * (pos2.z - pos1.z + 1)
end
---fills a region defined by positions `pos1` and `pos2` with `nodename`, returning the number of nodes filled
-worldedit.fill = function(pos1, pos2, nodename)
+--sets a region defined by positions `pos1` and `pos2` to `nodename`, returning the number of nodes filled
+worldedit.set = function(pos1, pos2, nodename)
local pos1, pos2 = worldedit.sort_pos(pos1, pos2)
local env = minetest.env
@@ -72,7 +72,7 @@ worldedit.replace = function(pos1, pos2, searchnode, replacenode)
return count
end
---copies the region defined by positions `pos1` and `pos2` along the `axis` axis by `amount` nodes, returning the number of nodes copied
+--copies the region defined by positions `pos1` and `pos2` along the `axis` axis ("x" or "y" or "z") by `amount` nodes, returning the number of nodes copied
worldedit.copy = function(pos1, pos2, axis, amount)
local pos1, pos2 = worldedit.sort_pos(pos1, pos2)
local env = minetest.env
@@ -117,7 +117,7 @@ worldedit.copy = function(pos1, pos2, axis, amount)
return worldedit.volume(pos1, pos2)
end
---moves the region defined by positions `pos1` and `pos2` along the `axis` axis by `amount` nodes, returning the number of nodes moved
+--moves the region defined by positions `pos1` and `pos2` along the `axis` axis ("x" or "y" or "z") by `amount` nodes, returning the number of nodes moved
worldedit.move = function(pos1, pos2, axis, amount)
local pos1, pos2 = worldedit.sort_pos(pos1, pos2)
local env = minetest.env
@@ -164,7 +164,7 @@ worldedit.move = function(pos1, pos2, axis, amount)
return worldedit.volume(pos1, pos2)
end
---duplicates the region defined by positions `pos1` and `pos2` along the `axis` axis `count` times, returning the number of nodes stacked
+--duplicates the region defined by positions `pos1` and `pos2` along the `axis` axis ("x" or "y" or "z") `count` times, returning the number of nodes stacked
worldedit.stack = function(pos1, pos2, axis, count)
local pos1, pos2 = worldedit.sort_pos(pos1, pos2)
local length = pos2[axis] - pos1[axis] + 1
diff --git a/init.lua b/init.lua
index f37f754..3191bd0 100644
--- a/init.lua
+++ b/init.lua
@@ -112,8 +112,8 @@ minetest.register_chatcommand("/set", {
return
end
- local count = worldedit.fill(pos1, pos2, param)
- minetest.chat_send_player(name, count .. " nodes filled")
+ local count = worldedit.set(pos1, pos2, param)
+ minetest.chat_send_player(name, count .. " nodes set")
end,
})