1
0
mirror of https://github.com/Uberi/Minetest-WorldEdit.git synced 2024-12-26 10:40:40 +01:00

Properly document the WorldEdit API.

This commit is contained in:
Anthony Zhang 2012-07-13 22:14:25 -04:00
parent 21f768be14
commit 5869ccf7f8
3 changed files with 65 additions and 7 deletions

View File

@ -101,6 +101,64 @@ Load nodes from "(world folder)/schems/<file>.we" with position 1 of the current
//load some random filename //load some random filename
//load huge_base //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 License
------- -------
Copyright 2012 sfan5 and Anthony Zhang (Temperest) Copyright 2012 sfan5 and Anthony Zhang (Temperest)

View File

@ -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) return (pos2.x - pos1.x + 1) * (pos2.y - pos1.y + 1) * (pos2.z - pos1.z + 1)
end end
--fills a region defined by positions `pos1` and `pos2` with `nodename`, returning the number of nodes filled --sets a region defined by positions `pos1` and `pos2` to `nodename`, returning the number of nodes filled
worldedit.fill = function(pos1, pos2, nodename) worldedit.set = function(pos1, pos2, nodename)
local pos1, pos2 = worldedit.sort_pos(pos1, pos2) local pos1, pos2 = worldedit.sort_pos(pos1, pos2)
local env = minetest.env local env = minetest.env
@ -72,7 +72,7 @@ worldedit.replace = function(pos1, pos2, searchnode, replacenode)
return count return count
end 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) worldedit.copy = function(pos1, pos2, axis, amount)
local pos1, pos2 = worldedit.sort_pos(pos1, pos2) local pos1, pos2 = worldedit.sort_pos(pos1, pos2)
local env = minetest.env local env = minetest.env
@ -117,7 +117,7 @@ worldedit.copy = function(pos1, pos2, axis, amount)
return worldedit.volume(pos1, pos2) return worldedit.volume(pos1, pos2)
end 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) worldedit.move = function(pos1, pos2, axis, amount)
local pos1, pos2 = worldedit.sort_pos(pos1, pos2) local pos1, pos2 = worldedit.sort_pos(pos1, pos2)
local env = minetest.env local env = minetest.env
@ -164,7 +164,7 @@ worldedit.move = function(pos1, pos2, axis, amount)
return worldedit.volume(pos1, pos2) return worldedit.volume(pos1, pos2)
end 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) worldedit.stack = function(pos1, pos2, axis, count)
local pos1, pos2 = worldedit.sort_pos(pos1, pos2) local pos1, pos2 = worldedit.sort_pos(pos1, pos2)
local length = pos2[axis] - pos1[axis] + 1 local length = pos2[axis] - pos1[axis] + 1

View File

@ -112,8 +112,8 @@ minetest.register_chatcommand("/set", {
return return
end end
local count = worldedit.fill(pos1, pos2, param) local count = worldedit.set(pos1, pos2, param)
minetest.chat_send_player(name, count .. " nodes filled") minetest.chat_send_player(name, count .. " nodes set")
end, end,
}) })