diff options
author | Anthony Zhang <azhang9@gmail.com> | 2012-07-13 22:14:25 -0400 |
---|---|---|
committer | Anthony Zhang <azhang9@gmail.com> | 2012-07-13 22:14:25 -0400 |
commit | 5869ccf7f8000dbf8682a67bed357ff09cd0f929 (patch) | |
tree | 6317760c1cec10864ab569920602587323a31d60 | |
parent | 21f768be1401a920d687c611ee59a7140e625701 (diff) |
Properly document the WorldEdit API.
-rw-r--r-- | README.md | 58 | ||||
-rw-r--r-- | functions.lua | 10 | ||||
-rw-r--r-- | init.lua | 4 |
3 files changed, 65 insertions, 7 deletions
@@ -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
@@ -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,
})
|