From 12dfbd198d117b9d76e86a056f79b7276e8db0a6 Mon Sep 17 00:00:00 2001 From: Anthony Zhang Date: Mon, 1 Oct 2012 16:19:09 -0400 Subject: [PATCH] Use modpack for easier installation (idea is taken from cornernote's mod format), fix some grammar in API reference, move chat command reference and API reference to separate files. --- Chat Commands.md | 195 +++++++++++ README.md | 329 +----------------- WorldEdit API.md | 131 +++++++ modpack.txt | 0 functions.lua => worldedit/functions.lua | 0 init.lua => worldedit/init.lua | 0 mark.lua => worldedit/mark.lua | 0 table_save.lua => worldedit/table_save.lua | 0 .../textures}/worldedit_pos1.png | Bin .../textures}/worldedit_pos2.png | Bin 10 files changed, 333 insertions(+), 322 deletions(-) create mode 100644 Chat Commands.md create mode 100644 WorldEdit API.md create mode 100644 modpack.txt rename functions.lua => worldedit/functions.lua (100%) rename init.lua => worldedit/init.lua (100%) rename mark.lua => worldedit/mark.lua (100%) rename table_save.lua => worldedit/table_save.lua (100%) rename {textures => worldedit/textures}/worldedit_pos1.png (100%) rename {textures => worldedit/textures}/worldedit_pos2.png (100%) diff --git a/Chat Commands.md b/Chat Commands.md new file mode 100644 index 0000000..f4febf7 --- /dev/null +++ b/Chat Commands.md @@ -0,0 +1,195 @@ +Chat Commands +------------- +For more information, see the [README](README.md). + +### //reset + +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. + + //pos1 + +### //pos2 + +Set WorldEdit region position 2 to the player's location. + + //pos2 + +### //p set/get + +Set WorldEdit region by punching two nodes, or display the current WorldEdit region. + + //p set + //p get + +### //volume + +Display the volume of the current WorldEdit region. + + //volume + +### //set + +Set the current WorldEdit region to . + + //set dirt + //set default:glass + //set mesecons:mesecon + +### //replace + +Replace all instances of with in the current WorldEdit region. + + //replace cobble stone + //replace default:steelblock glass + //replace dirt flowers:flower_waterlily + //replace flowers:flower_rose flowers:flower_tulip + +### //hollowsphere + +Add hollow sphere at WorldEdit position 1 with radius , composed of . + + //hollowsphere 5 dirt + //hollowsphere 12 default:glass + //hollowsphere 17 mesecons:mesecon + +### //sphere + +Add sphere at WorldEdit position 1 with radius , composed of . + + //sphere 5 dirt + //sphere 12 default:glass + //sphere 17 mesecons:mesecon + +### //hollowcylinder x/y/z/? + +Add hollow cylinder at WorldEdit position 1 along the x/y/z/? axis with length and radius , composed of . + + //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/? + +Add cylinder at WorldEdit position 1 along the x/y/z/? axis with length and radius , composed of . + + //cylinder x +5 8 dirt + //cylinder y 28 10 default:glass + //cylinder z -12 3 mesecons:mesecon + //cylinder ? 2 4 stone + +### //pyramid + +Add pyramid at WorldEdit position 1 with height , composed of . + + //pyramid 8 dirt + //pyramid 5 default:glass + //pyramid 2 stone + +### //spiral + +Add spiral at WorldEdit position 1 with width , height , space between walls , composed of . + + //spiral 20 5 3 dirt + //spiral 5 2 1 default:glass + //spiral 7 1 5 stone + +### //copy x/y/z/? + +Copy the current WorldEdit region along the x/y/z/? axis by nodes. + + //copy x 15 + //copy y -7 + //copy z +4 + //copy ? 8 + +### //move x/y/z/? + +Move the current WorldEdit positions and region along the x/y/z/? axis by nodes. + + //move x 15 + //move y -7 + //move z +4 + //move ? -1 + +### //stack x/y/z/? + +Stack the current WorldEdit region along the x/y/z/? axis 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/? + +Rotate the current WorldEdit region along the x/y/z/? axis by angle (90 degree increment). + + //rotate x 90 + //rotate y 180 + //rotate z 270 + //rotate ? -90 + +### //dig + +Dig the current WorldEdit region. + + //dig + +### //save + +Save the current WorldEdit region to "(world folder)/schems/.we". + + //save some random filename + //save huge_base + +### //load + +Load nodes from "(world folder)/schems/.we" with position 1 of the current WorldEdit region as the origin. + + //load some random filename + //load huge_base + +### //metasave + +Save the current WorldEdit region including metadata to "(world folder)/schems/.wem". + + //metasave some random filename + //metasave huge_base + +### //metaload + +Load nodes and metadata from "(world folder)/schems/.wem" with position 1 of the current WorldEdit region as the origin. + + //metaload some random filename + //metaload huge_base \ No newline at end of file diff --git a/README.md b/README.md index f6dbf87..5313137 100644 --- a/README.md +++ b/README.md @@ -34,336 +34,21 @@ Entities are used to mark the location of the WorldEdit regions. They appear as To remove the entities, simply punch them. This does not reset the positions themselves. -Commands --------- +Chat Commands +------------- +WorldEdit is accessed in-game through an interface. By default, the mod distribution includes a chat interface for this purpose. It is documented in the [Chat Commands Reference](Chat Commands.md). -### //reset - -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. - - //pos1 - -### //pos2 - -Set WorldEdit region position 2 to the player's location. - - //pos2 - -### //p set/get - -Set WorldEdit region by punching two nodes, or display the current WorldEdit region. - - //p set - //p get - -### //volume - -Display the volume of the current WorldEdit region. - - //volume - -### //set - -Set the current WorldEdit region to . - - //set dirt - //set default:glass - //set mesecons:mesecon - -### //replace - -Replace all instances of with in the current WorldEdit region. - - //replace cobble stone - //replace default:steelblock glass - //replace dirt flowers:flower_waterlily - //replace flowers:flower_rose flowers:flower_tulip - -### //hollowsphere - -Add hollow sphere at WorldEdit position 1 with radius , composed of . - - //hollowsphere 5 dirt - //hollowsphere 12 default:glass - //hollowsphere 17 mesecons:mesecon - -### //sphere - -Add sphere at WorldEdit position 1 with radius , composed of . - - //sphere 5 dirt - //sphere 12 default:glass - //sphere 17 mesecons:mesecon - -### //hollowcylinder x/y/z/? - -Add hollow cylinder at WorldEdit position 1 along the x/y/z/? axis with length and radius , composed of . - - //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/? - -Add cylinder at WorldEdit position 1 along the x/y/z/? axis with length and radius , composed of . - - //cylinder x +5 8 dirt - //cylinder y 28 10 default:glass - //cylinder z -12 3 mesecons:mesecon - //cylinder ? 2 4 stone - -### //pyramid - -Add pyramid at WorldEdit position 1 with height , composed of . - - //pyramid 8 dirt - //pyramid 5 default:glass - //pyramid 2 stone - -### //spiral - -Add spiral at WorldEdit position 1 with width , height , space between walls , composed of . - - //spiral 20 5 3 dirt - //spiral 5 2 1 default:glass - //spiral 7 1 5 stone - -### //copy x/y/z/? - -Copy the current WorldEdit region along the x/y/z/? axis by nodes. - - //copy x 15 - //copy y -7 - //copy z +4 - //copy ? 8 - -### //move x/y/z/? - -Move the current WorldEdit positions and region along the x/y/z/? axis by nodes. - - //move x 15 - //move y -7 - //move z +4 - //move ? -1 - -### //stack x/y/z/? - -Stack the current WorldEdit region along the x/y/z/? axis 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/? - -Rotate the current WorldEdit region along the x/y/z/? axis by angle (90 degree increment). - - //rotate x 90 - //rotate y 180 - //rotate z 270 - //rotate ? -90 - -### //dig - -Dig the current WorldEdit region. - - //dig - -### //save - -Save the current WorldEdit region to "(world folder)/schems/.we". - - //save some random filename - //save huge_base - -### //load - -Load nodes from "(world folder)/schems/.we" with position 1 of the current WorldEdit region as the origin. - - //load some random filename - //load huge_base - -### //metasave - -Save the current WorldEdit region including metadata to "(world folder)/schems/.wem". - - //metasave some random filename - //metasave huge_base - -### //metaload - -Load nodes and metadata from "(world folder)/schems/.wem" with position 1 of the current WorldEdit region as the origin. - - //metaload some random filename - //metaload huge_base +If visual manipulation of nodes is desired, the [WorldEdit GUI](http://minetest.net/forum/viewtopic.php?id=3112) mod provides a simple interface with buttons and text entry fields for this purpose. 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 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. The API is useful for tasks such as high-performance node manipulation, alternative interfaces, and map creation. -### 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.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`, 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`, 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. - -### worldedit.spiral(pos, width, height, spacer, nodename) - -Adds a spiral at `pos` with width `width`, height `height`, space between walls `spacer`, composed of `nodename`. - -Returns the number of nodes added. - -### 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.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`. - -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. - -### worldedit.deserialize_old(originpos, value) - -Loads the nodes represented by string `value` at position `originpos`, using the older table-based WorldEdit format. - -This function is deprecated, and should not be used unless there is a need to support legacy WorldEdit save files. - -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 +This API is documented in the [WorldEdit API Reference](WorldEdit API.md). License ------- -Copyright 2012 sfan5 and Anthony Zhang (Temperest) +Copyright 2012 sfan5, Anthony Zhang (Temperest), and Brett O'Donnell (cornernote). This mod is licensed under the [GNU Affero General Public License](http://www.gnu.org/licenses/agpl-3.0.html). diff --git a/WorldEdit API.md b/WorldEdit API.md new file mode 100644 index 0000000..41fab69 --- /dev/null +++ b/WorldEdit API.md @@ -0,0 +1,131 @@ +WorldEdit API +------------- +For more information, see the [README](README.md). + +### 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.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`, 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`, 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. + +### worldedit.spiral(pos, width, height, spacer, nodename) + +Adds a spiral at `pos` with width `width`, height `height`, space between walls `spacer`, composed of `nodename`. + +Returns the number of nodes added. + +### 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.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`. + +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. + +### worldedit.deserialize_old(originpos, value) + +Loads the nodes represented by string `value` at position `originpos`, using the older table-based WorldEdit format. + +This function is deprecated, and should not be used unless there is a need to support legacy WorldEdit save files. + +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. \ No newline at end of file diff --git a/modpack.txt b/modpack.txt new file mode 100644 index 0000000..e69de29 diff --git a/functions.lua b/worldedit/functions.lua similarity index 100% rename from functions.lua rename to worldedit/functions.lua diff --git a/init.lua b/worldedit/init.lua similarity index 100% rename from init.lua rename to worldedit/init.lua diff --git a/mark.lua b/worldedit/mark.lua similarity index 100% rename from mark.lua rename to worldedit/mark.lua diff --git a/table_save.lua b/worldedit/table_save.lua similarity index 100% rename from table_save.lua rename to worldedit/table_save.lua diff --git a/textures/worldedit_pos1.png b/worldedit/textures/worldedit_pos1.png similarity index 100% rename from textures/worldedit_pos1.png rename to worldedit/textures/worldedit_pos1.png diff --git a/textures/worldedit_pos2.png b/worldedit/textures/worldedit_pos2.png similarity index 100% rename from textures/worldedit_pos2.png rename to worldedit/textures/worldedit_pos2.png