1
0
mirror of https://github.com/Uberi/Minetest-WorldEdit.git synced 2024-11-15 23:20:16 +01:00
Minetest-WorldEdit/Chat Commands.md

407 lines
13 KiB
Markdown
Raw Normal View History

Chat Commands
-------------
For more information, see the [README](README.md).
Many commands also have shorter names that can be typed faster. For example, if we wanted to use `//move ? 5`, we could instead type `//m ? 5`. All shortened names are listed below:
| Short Name | Original Name |
|:-----------|:-------------------|
| `//i` | `//inspect` |
| `//rst` | `//reset` |
| `//mk` | `//mark` |
| `//umk` | `//unmark` |
| `//1` | `//pos1` |
| `//2` | `//pos2` |
| `//fp` | `//fixedpos` |
| `//v` | `//volume` |
| `//s` | `//set` |
| `//r` | `//replace` |
| `//ri` | `//replaceinverse` |
| `//hspr` | `//hollowsphere` |
| `//spr` | `//sphere` |
| `//hdo` | `//hollowdome` |
| `//do` | `//dome` |
| `//hcyl` | `//hollowcylinder` |
| `//co` | `//correctorigin` |
| `//oc` | `//correctorigin` |
| `//la` | `//loadalign` |
| `//lao` | `//loadalignoffset`|
2014-01-28 20:14:36 +01:00
### `//about`
2013-08-29 02:28:49 +02:00
Get information about the mod.
//about
2014-01-28 20:14:36 +01:00
### `//inspect on/off/1/0/true/false/yes/no/enable/disable/<blank>`
Enable or disable node inspection.
//inspect on
//inspect off
//inspect 1
//inspect 0
//inspect true
//inspect false
//inspect yes
//inspect no
//inspect enable
//inspect disable
//inspect
2014-01-28 20:14:36 +01:00
### `//reset`
Reset the region so that it is empty.
//reset
2014-01-28 20:14:36 +01:00
### `//mark`
Show markers at the region positions.
//mark
2014-01-28 20:14:36 +01:00
### `//unmark`
Hide markers if currently shown.
//unmark
2014-01-28 20:14:36 +01:00
### `//pos1`
Set WorldEdit region position 1 to the player's location.
//pos1
2014-01-28 20:14:36 +01:00
### `//pos2`
Set WorldEdit region position 2 to the player's location.
//pos2
2014-01-28 20:14:36 +01:00
### `//p set/set1/set2/get`
Set WorldEdit region, WorldEdit position 1, or WorldEdit position 2 by punching nodes, or display the current WorldEdit region.
//p set
//p set1
//p set2
//p get
2014-01-28 20:14:36 +01:00
### `//fixedpos set1 x y z`
2014-01-28 20:14:36 +01:00
Set a WorldEdit region position to the position at (`<x>`, `<y>`, `<z>`).
//fixedpos set1 0 0 0
//fixedpos set1 -30 5 28
//fixedpos set2 1004 -200 432
2014-01-28 20:14:36 +01:00
### `//volume`
Display the volume of the current WorldEdit region.
//volume
2014-01-28 20:14:36 +01:00
### `//set <node>`
2014-01-28 20:14:36 +01:00
Set the current WorldEdit region to `<node>`.
2013-07-22 17:04:03 +02:00
//set air
//set cactus
//set Bronze Block
//set mesecons:wire_00000000_off
2014-01-28 20:14:36 +01:00
### `//replace <search node> <replace node>`
2014-01-28 20:14:36 +01:00
Replace all instances of `<search node>` with `<replace node>` in the current WorldEdit region.
2013-07-22 17:04:03 +02:00
//replace Cobblestone air
//replace lightstone_blue glass
//replace dirt Bronze Block
//replace mesecons:wire_00000000_off flowers:flower_tulip
2014-01-28 20:14:36 +01:00
### `//replaceinverse <search node> <replace node>`
2014-01-28 20:14:36 +01:00
Replace all nodes other than `<search node>` with `<replace node>` in the current WorldEdit region.
2013-07-22 17:04:03 +02:00
//replaceinverse Cobblestone air
//replaceinverse flowers:flower_waterlily glass
//replaceinverse dirt Bronze Block
//replaceinverse mesecons:wire_00000000_off flowers:flower_tulip
2014-01-28 20:14:36 +01:00
### `//hollowsphere <radius> <node>`
2014-01-28 20:14:36 +01:00
Add hollow sphere centered at WorldEdit position 1 with radius `<radius>`, composed of `<node>`.
//hollowsphere 5 Diamond Block
//hollowsphere 12 glass
//hollowsphere 17 mesecons:wire_00000000_off
2014-01-28 20:14:36 +01:00
### `//sphere <radius> <node>`
2014-01-28 20:14:36 +01:00
Add sphere centered at WorldEdit position 1 with radius `<radius>`, composed of `<node>`.
//sphere 5 Diamond Block
//sphere 12 glass
//sphere 17 mesecons:wire_00000000_off
2014-01-28 20:14:36 +01:00
### `//hollowdome <radius> <node>`
2014-01-28 20:14:36 +01:00
Add hollow dome centered at WorldEdit position 1 with radius `<radius>`, composed of `<node>`.
//hollowdome 5 Diamond Block
//hollowdome -12 glass
//hollowdome 17 mesecons:wire_00000000_off
2014-01-28 20:14:36 +01:00
### `//dome <radius> <node>`
2014-01-28 20:14:36 +01:00
Add dome centered at WorldEdit position 1 with radius `<radius>`, composed of `<node>`.
//dome 5 Diamond Block
//dome -12 glass
//dome 17 mesecons:wire_00000000_off
2014-01-28 20:14:36 +01:00
### `//hollowcylinder x/y/z/? <length> <radius> <node>`
2014-01-28 20:14:36 +01:00
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 Bronze Block
//hollowcylinder y 28 10 glass
//hollowcylinder z -12 3 mesecons:wire_00000000_off
//hollowcylinder ? 2 4 default:stone
2014-01-28 20:14:36 +01:00
### `//cylinder x/y/z/? <length> <radius> <node>`
2014-01-28 20:14:36 +01:00
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 Bronze Block
//cylinder y 28 10 glass
//cylinder z -12 3 mesecons:wire_00000000_off
//cylinder ? 2 4 default:stone
2014-01-28 20:14:36 +01:00
### `//pyramid x/y/z? <height> <node>`
2014-01-28 20:14:36 +01:00
Add pyramid centered at WorldEdit position 1 along the x/y/z/? axis with height `<height>`, composed of `<node>`.
2013-08-01 04:29:01 +02:00
//pyramid x 8 Diamond Block
//pyramid y -5 glass
//pyramid z 2 mesecons:wire_00000000_off
//pyramid ? 12 mesecons:wire_00000000_off
2014-01-28 20:14:36 +01:00
### `//spiral <length> <height> <spacer> <node>`
2014-01-28 20:14:36 +01:00
Add spiral centered at WorldEdit position 1 with side length `<length>`, height `<height>`, space between walls `<spacer>`, composed of `<node>`.
//spiral 20 5 3 Diamond Block
//spiral 5 2 1 glass
//spiral 7 1 5 mesecons:wire_00000000_off
2014-01-28 20:14:36 +01:00
### `//copy x/y/z/? <amount>`
2014-01-28 20:14:36 +01:00
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
2014-01-28 20:14:36 +01:00
### `//move x/y/z/? <amount>`
2014-01-28 20:14:36 +01:00
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
2014-01-28 20:14:36 +01:00
### `//stack x/y/z/? <count>`
2014-01-28 20:14:36 +01:00
Stack the current WorldEdit region along the x/y/z/? axis `<count>` times.
//stack x 3
//stack y -1
//stack z +5
//stack ? 12
2014-01-28 20:14:36 +01:00
### `//scale <factor>`
2014-01-28 20:14:36 +01:00
Scale the current WorldEdit positions and region by a factor of positive integer `<factor>` with position 1 as the origin.
//scale 2
//scale 1
//scale 10
2014-01-28 20:14:36 +01:00
### `//transpose x/y/z/? x/y/z/?`
Transpose the current WorldEdit positions and region along the x/y/z/? and x/y/z/? axes.
//transpose x y
//transpose x z
//transpose y z
//transpose ? y
2014-01-28 20:14:36 +01:00
### `//flip x/y/z/?`
Flip the current WorldEdit region along the x/y/z/? axis.
2013-02-23 09:35:16 +01:00
//flip x
//flip y
//flip z
//flip ?
2014-01-28 20:14:36 +01:00
### `//rotate x/y/z/? <angle>`
2014-01-28 20:14:36 +01:00
Rotate the current WorldEdit positions and region along the x/y/z/? axis by angle `<angle>` (90 degree increment).
//rotate x 90
//rotate y 180
//rotate z 270
//rotate ? -90
2014-01-28 20:14:36 +01:00
### `//orient <angle>`
2014-01-28 20:14:36 +01:00
Rotate oriented nodes in the current WorldEdit region around the Y axis by angle `<angle>` (90 degree increment)
//orient 90
//orient 180
//orient 270
//orient -90
2014-01-28 20:14:36 +01:00
### `//fixlight`
Fixes the lighting in the current WorldEdit region.
//fixlight
2014-01-28 20:14:36 +01:00
### `//hide`
Hide all nodes in the current WorldEdit region non-destructively.
//hide
2014-01-28 20:14:36 +01:00
### `//suppress <node>`
Suppress all <node> in the current WorldEdit region non-destructively.
//suppress Diamond Block
//suppress glass
//suppress mesecons:wire_00000000_off
2014-01-28 20:14:36 +01:00
### `//highlight <node>`
Highlight <node> in the current WorldEdit region by hiding everything else non-destructively.
//highlight Diamond Block
//highlight glass
//highlight mesecons:wire_00000000_off
2014-01-28 20:14:36 +01:00
### `//restore`
Restores nodes hidden with WorldEdit in the current WorldEdit region.
//restore
2014-01-28 20:14:36 +01:00
### `//save <file>`
2014-01-28 20:14:36 +01:00
Save the current WorldEdit region to "(world folder)/schems/`<file>`.we".
//save some random filename
//save huge_base
2014-01-28 20:14:36 +01:00
### `//allocate <file>`
2014-01-28 20:14:36 +01:00
Set the region defined by nodes from "(world folder)/schems/`<file>`.we" as the current WorldEdit region.
Also display any mods which are not currently enabled in the world, but are referenced in the schem file.
//allocate some random filename
//allocate huge_base
2014-01-28 20:14:36 +01:00
### `//load <file>`
2014-01-28 20:14:36 +01:00
Load nodes from "(world folder)/schems/`<file>`.we" with position 1 of the current WorldEdit region as the origin.
NB is it suggested you do a dummy-run with //allocate to list referenced mods not currently enabled (which will cause errors)
//load some random filename
//load huge_base
### `//correctorigin`
Moves pos1 and pos2 so pos1 is at the origin of the region (ie pos1 located with minimum x,y,z, pos2 with maximum x,y,z)
This is ideally used before /save to decrease confusion with placement for /load and /loadalign
Shortcut of /co and /oc (to ease confusion) is set in worldedit_shortcommands/init.lua
//correctorigin
### `//loadalignoffset [x y z]`
Set a global variable to enable an offset to the player location for /loadalign
-- This can be useful it a particular location is not easily accessible (eg if you want a file y-origin to be below ground level, or x- or z- inside a cliff)
-- the offset is cleared by using the command without params (=arguments)
-- Shortcut of /lao is set in worldedit_shortcommands/init.lua
//load
//load x y z
### `//loadalign <file>`
Load nodes from "(world folder)/schems/`<file>`.we" with player location as the origin. The loaded schem will be in a region to the front, right and above the players location.
NB is it suggested you do a dummy-run with //allocate to list referenced mods not currently enabled (which will cause errors)
If the location is not easily accessible (eg if you want a file y-origin to be below ground level, or x- or z- inside a cliff), you can set an offset with /loadalignoffset
The player is moved backwards one space to moved them out of the load zone (or more if there is and offset). This may mean the player ends up inside a node (if it suddenly gets dark). You may be able to step out. If not you'll have to teleport to an unblocked location.
The /save command saves the file with the origin at the xmin,ymin,zmin, irrespective of where pos1 and pos2 are. To reduce confusion it is suggested that you use the /correctorigin command before saving
to move the markers to reflect this, but if you are copying a section one node wide, there are two possible orientations.
You need to be facing in the positive z direction to correctly orient yourself to the orientation when it is reloaded.
If you are using a schem regularly, and markers are not in your prefered orientation, it is best to do an initial /loadalign to get the correct orientation, then resave it
The loaded region is marked with pos1/pos2 with pos1 where the origin would have been when the schem was saved.
The function has only been tested with the current (version 4) schem files, so consider use with older schem files to be at your own risk.
The most likely bugs with untested versions are: either the entire region is incorrectly rotated or individual nodes are incorrectly oriented (so faces point in the incorrect direction)
The functions is a modifications of the original register //load to support alignment relative to player, so code from the screwdriver mod was used as a starter for node orientation.
The main functions are in the WorldEdit/worldedit/serialization.lua (worldedit.deserializeAligned which also uses worldedit.getNewRotation, and might need worldedit.screwdriver_handler
depending on compatibility with old files)
Shortcut of /la is set in worldedit_shortcommands/init.lua
//loadalign some random filename
//loadalign huge_base
2014-01-28 20:14:36 +01:00
### `//lua <code>`
2014-01-28 20:14:36 +01:00
Executes `<code>` as a Lua chunk in the global namespace.
//lua worldedit.pos1["singleplayer"] = {x=0, y=0, z=0}
//lua worldedit.rotate(worldedit.pos1["singleplayer"], worldedit.pos2["singleplayer"], "y", 90)
2014-01-28 20:14:36 +01:00
### `//luatransform <code>`
2014-01-28 20:14:36 +01:00
Executes `<code>` as a Lua chunk in the global namespace with the variable pos available, for each node in the current WorldEdit region.
//luatransform minetest.add_node(pos, {name="default:stone"})
//luatransform if minetest.get_node(pos).name == "air" then minetest.add_node(pos, {name="default:water_source"})
2014-01-28 20:14:36 +01:00
### `//mtschemcreate <file>`
2014-01-28 20:14:36 +01:00
Save the current WorldEdit region using the Minetest Schematic format to "(world folder)/schems/`<file>`.mts".
//mtschemcreate some random filename
//mtschemcreate huge_base
2014-01-28 20:14:36 +01:00
### `//mtschemplace <file>`
2014-01-28 20:14:36 +01:00
Load nodes from "(world folder)/schems/`<file>`.mts" with position 1 of the current WorldEdit region as the origin.
//mtschemplace some random filename
//mtschemplace huge_base
2014-01-28 20:14:36 +01:00
### `//mtschemprob start/finish/get`
2014-01-28 20:14:36 +01:00
After using `//mtschemprob start` all nodes punched will bring up a text field where a probablity can be entered.
This mode can be left with `//mtschemprob finish`. `//mtschemprob get` will display the probabilities saved for the nodes.
//mtschemprob get
2014-01-28 20:14:36 +01:00
### `//clearobjects`
Clears all objects within the WorldEdit region.
//clearobjects