├── .github ├── CODEOWNERS ├── ISSUE_TEMPLATE │ ├── config.yml │ ├── documentation-issue.yml │ └── documentation-request.yml ├── PULL_REQUEST_TEMPLATE.adoc └── workflows │ └── generate-docs.yml ├── .gitignore ├── README.adoc ├── renovate.json └── sources ├── README.adoc ├── api └── api-usage.adoc ├── basic-commands ├── analysis.adoc ├── biomes.adoc ├── brushes.adoc ├── geometry.adoc ├── main-commands-and-permissions.adoc ├── nature.adoc ├── navigation.adoc └── selection.adoc ├── configuration ├── configuration.adoc └── permissions.adoc ├── docinfo-footer.adoc ├── installation └── installation.adoc ├── masks └── masks.adoc ├── patterns └── patterns.adoc └── transforms └── transforms.adoc /.github/CODEOWNERS: -------------------------------------------------------------------------------- 1 | * @IntellectualSites/core-team 2 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/config.yml: -------------------------------------------------------------------------------- 1 | blank_issues_enabled: false 2 | contact_links: 3 | - name: IntellectualSites Discord 4 | url: https://discord.gg/intellectualsites 5 | about: Our support Discord, please ask questions and seek support here. 6 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/documentation-issue.yml: -------------------------------------------------------------------------------- 1 | name: "🐛 Documentation Issue" 2 | description: Create a report for an issue or a wrong part in the documentation 3 | 4 | body: 5 | - type: markdown 6 | attributes: 7 | value: | 8 | Describe your use-case which is not covered by existing documentation. If it is easier to submit a documentation patch instead of writing an issue, just do it! 9 | 10 | - type: textarea 11 | attributes: 12 | label: Describe the issue in the documentation 13 | description: A clear and concise description what is wrong in the documentation. 14 | validations: 15 | required: true 16 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/documentation-request.yml: -------------------------------------------------------------------------------- 1 | name: "📝 Documentation Request" 2 | description: Create a report for an undocumented feature you want to see in the documentation 3 | 4 | body: 5 | - type: markdown 6 | attributes: 7 | value: | 8 | Describe your use-case which is not covered by existing documentation. If it is easier to submit a documentation patch instead of writing an issue, just do it! 9 | 10 | - type: textarea 11 | attributes: 12 | label: Describe feature you want to see in documentation 13 | description: A clear and concise description how and why you want to see this feature in the documentation. 14 | validations: 15 | required: true 16 | -------------------------------------------------------------------------------- /.github/PULL_REQUEST_TEMPLATE.adoc: -------------------------------------------------------------------------------- 1 | == Description 2 | // Please describe what this pull request does. 3 | 4 | == Submitter Checklist 5 | // Make sure you have completed the following steps (put an "X" between of brackets): 6 | - [ ] Make sure you are opening from a topic branch (**/feature/fix/docs/ branch** (right side)) and not your main branch. 7 | - [ ] Ensure that the pull request title represents the proposed change appropriately. 8 | - [ ] I read and followed the [contribution guidelines](https://github.com/IntellectualSites/.github/blob/main/CONTRIBUTING.md) 9 | -------------------------------------------------------------------------------- /.github/workflows/generate-docs.yml: -------------------------------------------------------------------------------- 1 | name: generate-wiki 2 | on: 3 | push: 4 | branches: [main] 5 | jobs: 6 | build: 7 | runs-on: ubuntu-latest 8 | steps: 9 | - uses: actions/checkout@v4 10 | - name: asciidoctor-ghpages 11 | uses: manoelcampos/asciidoctor-ghpages-action@9527ff583929b1000c23c209123bba4e98a21f08 # v2 12 | with: 13 | asciidoctor_params: --attribute=nofooter 14 | pdf_build: true 15 | source_dir: sources/ 16 | slides_build: true 17 | slides_main_adoc_file: README 18 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .idea/ 2 | -------------------------------------------------------------------------------- /README.adoc: -------------------------------------------------------------------------------- 1 | # End-of-life notice 2 | 3 | This repository is end of life. FastAsyncWorldEdit's documentation sources are available at https://github.com/IntellectualSites/documentation and deployed on https://intellectualsites.gitbook.io/fastasyncworldedit/. 4 | -------------------------------------------------------------------------------- /renovate.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://docs.renovatebot.com/renovate-schema.json", 3 | "extends": [ 4 | "config:base", 5 | ":semanticCommitsDisabled" 6 | ], 7 | "labels": ["dependencies"], 8 | "rebaseWhen": "conflicted", 9 | "schedule": ["on the first day of the month"] 10 | } 11 | -------------------------------------------------------------------------------- /sources/README.adoc: -------------------------------------------------------------------------------- 1 | = FastAsyncWorldEdit Documentation 2 | :toc: left 3 | :toclevels: 3 4 | 5 | :docinfo: shared,shared-footer 6 | 7 | :apidir: api 8 | :basicdir: basic-commands 9 | :permissiondir: permission 10 | :configurationdir: configuration 11 | :installationdir: installation 12 | :masksdir: masks 13 | :patterndir: patterns 14 | :transformdir: transforms 15 | 16 | :icons: font 17 | 18 | :wip: icon:warning[title=Work in progress] 19 | 20 | == Get FastAsyncWorldEdit 21 | * Download https://www.spigotmc.org/resources/13932/[FastAsyncWorldEdit] 22 | * Our support discord is available at https://discord.gg/intellectualsites 23 | 24 | == API 25 | === xref:{apidir}/api-usage.adoc[API Documentation] 26 | 27 | == Basic commands 28 | === xref:{basicdir}/analysis.adoc[Analysis] 29 | === xref:{basicdir}/biomes.adoc[Biomes] 30 | === xref:{basicdir}/brushes.adoc[Brushes] 31 | === xref:{basicdir}/geometry.adoc[Geometry] 32 | === {wip} xref:{basicdir}/main-commands-and-permissions.adoc[Main commands and permissions] 33 | === xref:{basicdir}/nature.adoc[Nature] 34 | === xref:{basicdir}/navigation.adoc[Navigation] 35 | === xref:{basicdir}/selection.adoc[Selection] 36 | 37 | == Configuration 38 | === xref:{configurationdir}/configuration.adoc[Configuration] 39 | === xref:{configurationdir}/permissions.adoc[Permission Explanation] 40 | 41 | == Installation 42 | === xref:{installationdir}/installation.adoc[Installation] 43 | 44 | == Masks 45 | === {wip} xref:{masksdir}/masks.adoc[Masks] 46 | 47 | == Patterns 48 | === {wip} xref:{patterndir}/patterns.adoc[Patterns] 49 | 50 | == Transforms 51 | === {wip} xref:{transformdir}/transforms.adoc[Transforms] 52 | -------------------------------------------------------------------------------- /sources/api/api-usage.adoc: -------------------------------------------------------------------------------- 1 | = API Usage 2 | :toc: left 3 | :toclevels: 3 4 | :icons: font 5 | :source-highlighter: coderay 6 | 7 | :bomVersion: 1.38 8 | 9 | ===== xref:../README.adoc[🏠 Return to the index] 10 | 11 | == Maven & Gradle Examples 12 | 13 | JavaDocs: https://intellectualsites.github.io/fastasyncworldedit-javadocs/ + 14 | 15 | The WorldEdit documentation widely applies to FAWE too, you can find it here: https://worldedit.enginehub.org/en/latest/api/index.html 16 | 17 | We suggest that FAWE operations are completed asynchronously. Using FAWE API from the main thread is likely to block the main thread if FAWE is used correctly. `Operations#complete` (and the other `Operations` methods) are blocking, as is `EditSession#close` so anything you want to happen after an edit, place after closing the EditSession with close(), try-with-resources, etc. Always ensure EditSessions are closed before doing anything else, and that you do not reuse EditSessions else changes may not necessarily be flushed to the world. 18 | 19 | [NOTE] 20 | The API requires using Java 17 at development time. Make sure to point your toolchain to Java 17. 21 | 22 | If you are looking for snapshots, add the repository of S01 OSS Sonatype to the repositories' block. 23 | 24 | === Gradle - FAWE Core 25 | 26 | [source, kotlin, subs="attributes"] 27 | ---- 28 | repositories { 29 | mavenCentral() 30 | maven { url = uri("https://repo.papermc.io/repository/maven-public/") } 31 | } 32 | 33 | dependencies { 34 | implementation(platform("com.intellectualsites.bom:bom-newest:{bomVersion}")) 35 | compileOnly("com.fastasyncworldedit:FastAsyncWorldEdit-Core") 36 | } 37 | ---- 38 | 39 | === Gradle - FAWE Bukkit and Core 40 | 41 | [source, kotlin, subs="attributes"] 42 | ---- 43 | repositories { 44 | mavenCentral() 45 | maven { url = uri("https://repo.papermc.io/repository/maven-public/") } 46 | } 47 | 48 | dependencies { 49 | implementation(platform("com.intellectualsites.bom:bom-newest:{bomVersion}")) 50 | compileOnly("com.fastasyncworldedit:FastAsyncWorldEdit-Core") 51 | compileOnly("com.fastasyncworldedit:FastAsyncWorldEdit-Bukkit") { isTransitive = false } 52 | } 53 | ---- 54 | 55 | === Maven - Fawe Core 56 | 57 | [source, xml, subs="attributes, verbatim"] 58 | ---- 59 | 60 | 61 | papermc 62 | https://repo.papermc.io/repository/maven-public/ 63 | 64 | 65 | 66 | 67 | 68 | com.intellectualsites.bom 69 | bom-newest 70 | {bomVersion} 71 | import 72 | pom 73 | 74 | 75 | 76 | 77 | com.fastasyncworldedit 78 | FastAsyncWorldEdit-Core 79 | provided 80 | 81 | ---- 82 | 83 | === Maven - FAWE Bukkit and Core 84 | 85 | [source, xml, subs="attributes, verbatim"] 86 | ---- 87 | 88 | 89 | papermc 90 | https://repo.papermc.io/repository/maven-public/ 91 | 92 | 93 | 94 | 95 | 96 | com.intellectualsites.bom 97 | bom-newest 98 | {bomVersion} 99 | import 100 | pom 101 | 102 | 103 | 104 | 105 | 106 | com.fastasyncworldedit 107 | FastAsyncWorldEdit-Core 108 | provided 109 | 110 | 111 | 112 | com.fastasyncworldedit 113 | FastAsyncWorldEdit-Bukkit 114 | provided 115 | 116 | 117 | FastAsyncWorldEdit-Core 118 | * 119 | 120 | 121 | 122 | 123 | ---- 124 | -------------------------------------------------------------------------------- /sources/basic-commands/analysis.adoc: -------------------------------------------------------------------------------- 1 | = Analysis 2 | :toc: left 3 | :toclevels: 3 4 | :icons: font 5 | 6 | :experimental: // Used for keyboard buttons 7 | 8 | ===== xref:../README.adoc[🏠 Return to the index] 9 | 10 | == Nbtinfo 11 | 12 | Displays the NBT info for the target block in your https://minecraft.gamepedia.com/File:HUD_example.png[crosshair] in the form of a user-friendly string (plain-text). 13 | 14 | The "Named Binary Tag" (NBT) is a format used to store data in a tree structure made up of various tags in Minecraft. 15 | 16 | [TIP] 17 | More information regarding the NBT format can be found https://minecraft.gamepedia.com/NBT_format[here]. 18 | 19 | === Usage 20 | `//nbtinfo` 21 | 22 | === Permission 23 | `worldedit.nbtinfo` 24 | 25 | *Visual Example:* 26 | 27 | image::https://i.imgur.com/dNAu8xR.png[nbtinfo.png] 28 | 29 | == Chunkinfo 30 | 31 | With this command you get information about the chunk you are inside. 32 | 33 | * The first line display the X and Z coordinate of your chunk. 34 | * The two other lines display the chunk files name. 35 | 36 | [TIP] 37 | More information regarding the Region file format can be found https://minecraft.gamepedia.com/Region_file_format[here]. 38 | 39 | With kbd:[F3 + G] you see the chunk border. 40 | 41 | === Usage 42 | `//chunkinfo` 43 | 44 | === Permission 45 | `worldedit.chunkinfo` 46 | 47 | === Visual Example 48 | 49 | image::https://i.imgur.com/tzRoWmB.png[chunkinfo.png] 50 | 51 | === Distr 52 | 53 | This command gets the distribution of blocks in the selection (picture 1) with the percentage distribution, the count and the name of this block translated in your minecraft client language. 54 | 55 | * You can analyze the block distribution of your clipboard (e.g. after a `//copy` command) instead of your selection with using of the `-c` flag. 56 | * With the `-d` flag the block list will separate all blocks with different blocks values (picture 2). 57 | * With a mouse-over above the block names you see the technical names (e.g. "minecraft:oak_log") and with using of the `-d` flag the block values in squared brackets too (picture 2). 58 | * With the optional `-p` flag and a side number you switch between the list side. 59 | 60 | === Usage 61 | 62 | Primary: 63 | 64 | `//distr` 65 | 66 | Secondary: 67 | 68 | `//distr [-c] [-d] [-p ]` 69 | 70 | === Permission 71 | `worldedit.analysis.distr` 72 | 73 | === Visual Examples 74 | 75 | ( 1 ) 76 | image:https://i.imgur.com/MA3YAnj.png[distr.png] 77 | 78 | ( 2 ) 79 | image:https://i.imgur.com/rd5Dkz4.png[distr-d.png] 80 | 81 | == Count 82 | 83 | With this command you get the count of a certain type of block in your selection. 84 | 85 | * You can search a block with an specify bock value with using of the squared brackets (e.g. `rose_bush[half=upper]`) 86 | 87 | === Usage 88 | `//count ` 89 | 90 | === Permission 91 | `worldedit.analysis.count` 92 | 93 | === Visual Example 94 | 95 | image::https://i.imgur.com/v5d7qps.png[count.png] 96 | 97 | == Size 98 | 99 | With this command you get different measurements and other info about your selection. 100 | 101 | * You can analyze the block measurements of your clipboard / schematic (e.g. after a `//copy` command) instead of your selection with using of the `-c` flag. 102 | 103 | === Usage 104 | `//size [-c]` 105 | 106 | === Permission 107 | `worldedit.selection.size` 108 | 109 | === Analyzing a selection 110 | 111 | image::https://i.imgur.com/O0HHzyW.png[size_chatoutput.png] 112 | 113 | . selection-type 114 | . type specific selection-infos 115 | . max. size of length, height and width 116 | . diagonal distance in block-length 117 | . amount of blocks (with AIR) 118 | 119 | === Analyzing a clipboard 120 | 121 | image::https://i.imgur.com/JffswW6.png[size-d_chatoutput_selection.png] 122 | 123 | . clipboard-list number 124 | . cuboid size of length, height and width 125 | . position of your copy (important for the schematic offset) 126 | . amount of blocks (with AIR) 127 | 128 | === Analyzing a schematic 129 | 130 | image::https://i.imgur.com/NqfkzeB.png[size-d_chatoutput_schematic.png] 131 | 132 | . schematic name 133 | . cuboid size of length, height and width 134 | . schematic offset (distance between one of the corner and your save-position) 135 | . amount of blocks (with AIR) 136 | 137 | (Note, that a schematic always has a cuboid form.) 138 | -------------------------------------------------------------------------------- /sources/basic-commands/biomes.adoc: -------------------------------------------------------------------------------- 1 | = Biomes 2 | :toc: left 3 | :toclevels: 3 4 | :icons: font 5 | 6 | :biomeinfo: Biomes are independent of the Y-Axis in version *prior* to 1.16. From 1.16 and onwards biomes are now defined in 4x4x4 sections. More (rather technical) information regarding the new format can be found https://wiki.vg/Protocol#Chunk_Data[here] 7 | 8 | ===== xref:../README.adoc[🏠 Return to the index] 9 | 10 | == Biomelist 11 | 12 | [TIP] 13 | Read more about biomes https://minecraft.gamepedia.com/Biome[here]. 14 | 15 | Get a list of all available biomes in Bukkit. 16 | 17 | === Usage 18 | `//biomelist [-p ]` 19 | 20 | === Permission 21 | `worldedit.biome.list` 22 | 23 | === Visual Example 24 | 25 | image::https://i.imgur.com/mvdiNnQ.png[biomelist.png] 26 | 27 | == Biomeinfo 28 | 29 | Displays the current biome. 30 | 31 | * By default, you get a list of all biomes in your region selection (picture 1). 32 | * If the `-p` flag is specified, the command will instead display the biome of the chunk you are currently in (picture 2). 33 | * If the `-t` flag is specified, is the biome of the target block in your https://minecraft.gamepedia.com/File:HUD_example.png[crosshair] (picture 3) will be displayed. 34 | 35 | [NOTE] 36 | {biomeinfo} 37 | 38 | === Usage 39 | `//biomeinfo [-p] [-t]` 40 | 41 | === Permission 42 | `worldedit.biome.info` 43 | 44 | === Visual Examples 45 | 46 | . image:https://i.imgur.com/PxB1JOG.png[biomeinfo.png] 47 | 48 | . image:https://i.imgur.com/I2hD28o.png[biomeinfo-p.png] 49 | 50 | . image:https://i.imgur.com/R5G8XP9.png[biomeinfo-t.png] 51 | 52 | == Setbiome 53 | 54 | Set the biome of the region selection. 55 | 56 | * By default, the commands changes the biome(s) in your selection (picture 1). 57 | * Use `-p` to ignore the selection and change the biome at your current position (picture 2). 58 | 59 | [NOTE] 60 | {biomeinfo} 61 | 62 | === Usage 63 | `//setbiome [-p]` 64 | 65 | === Permission 66 | `worldedit.biome.set` 67 | 68 | === Visual Examples 69 | 70 | . image:https://i.imgur.com/ut2Im7O.png[setbiome.png] 71 | 72 | . image:https://i.imgur.com/MxdpUFK.png[setbiome-p.png] 73 | -------------------------------------------------------------------------------- /sources/basic-commands/brushes.adoc: -------------------------------------------------------------------------------- 1 | = Brushes 2 | :toc: left 3 | :toclevels: 3 4 | :icons: font 5 | 6 | ===== xref:../README.adoc[🏠 Return to the index] 7 | 8 | == Introduction 9 | 10 | FAWE has brush tools that allow you to build and draw from far away. When you enable a brush, it gets bound to your currently held item. You can have different tools bound to different items and up to two brushes bound to a single item. 11 | 12 | == Equipping a brush 13 | 14 | * Bind to any click: 15 | `/br ` 16 | * Equip it to right click: 17 | `/br primary ` 18 | * Equip in to left click: 19 | `/br secondary ` 20 | 21 | === Changing brush settings 22 | 23 | * xref:../patterns/patterns.adoc[`/mat `] - Patterns decide what is placed 24 | * xref:../masks/masks.adoc#_masks[`/mask `] - A destination mask decides if a block should be changed 25 | * xref:../masks/masks.adoc#_smask_masks_[`/smask `] - A source mask changes if a block can be placed 26 | * xref:../masks/masks.adoc[`/targetmask `] - What blocks are targeted by the brush. The default mask is `!air` 27 | * xref:../transforms/transforms.adoc[`/transform `] - A transform changes where the blocks are placed 28 | * `/range ` - The distance you can use the brush at 29 | * `/size ` - The size of the brush (e.g. radius 10 sphere) 30 | * `/none` - Unbind tool + 31 | Use the `-h` flag to change the settings for your offhand brush. 32 | 33 | === Change brush targeting 34 | 35 | You can change the target mode to assist building in different areas (air, walls, ground etc.) 36 | Changing the `//brush range` can also be useful. + 37 | `/br target <0-3>` 38 | 39 | * 0 = Target block 40 | * 1 = Target point directly ahead, distance depends on pitch 41 | * 2 = Target point, distance depends on height from ground 42 | * 3 = Target block face 43 | 44 | === Add brush actions 45 | 46 | Use the mouse wheel to change brush behavior 47 | 48 | * `/br scroll clipboard ` 49 | * `+/br scroll mask +` 50 | * `+/br scroll pattern +` 51 | * `/br scroll range` 52 | * `/br scroll size` 53 | * `/br scroll target` 54 | 55 | === Resetting a brush 56 | 57 | Crouch (`shift`) and click to reset a brush. + 58 | This will for example, clear the clipboard of the copypaste brush, and reset the points in the spline brush. 59 | 60 | === Visualize the brush (Currently not implemented) 61 | 62 | With FAWE you can visualize how the brush will change blocks: 63 | `/br vis <0-2>` 64 | 65 | * 0 = No visualization 66 | * 1 = Single point 67 | * 2 = All block changes are visualized 68 | 69 | Video: https://www.youtube.com/watch?v=xX-MTSLoNXw + 70 | image:https://i.imgur.com/J2g6Qfn.jpeg[] 71 | 72 | === Brushes: 73 | 74 | xref:main-commands-and-permissions.adoc#_brush_commands[For a list of brushes, visit the command page.] 75 | -------------------------------------------------------------------------------- /sources/basic-commands/geometry.adoc: -------------------------------------------------------------------------------- 1 | = Geometric 2 | :toc: left 3 | :toclevels: 3 4 | :icons: font 5 | 6 | ===== xref:../README.adoc[🏠 Return to the index] 7 | 8 | == Fill 9 | 10 | This command generates a half circle with the defined `radius`. 11 | 12 | * An example use-case for this command could be something like filling in a hole in the world (picture 1). 13 | * Only air will be replaced by the block(s) defined with `pattern`. 14 | * By default, the half circle has a `depth` of 1 block (picture 2). Once the depth defined has been reached the circle will be "cut". 15 | * The maximum value for the `depth` is the radius (picture 3). 16 | * The default `direction` is "down", but you can use always use the other direction options provided by FAWE (picture 4). 17 | 18 | The middle of the selection in the images below are marked by a yellow block. 19 | 20 | === Usage 21 | `//fill [depth] [direction]` 22 | 23 | === Permission 24 | `worldedit.fill` 25 | 26 | === Visual Examples 27 | 28 | . image:https://i.imgur.com/6WItisE.png[fill_example.png] 29 | 30 | . image:https://i.imgur.com/6EZs2B2.png[fill.png] 31 | 32 | . image:https://i.imgur.com/EwP81Kg.png[fill_depth.png] 33 | 34 | . image:https://i.imgur.com/vvEzTvC.png[fill_direction.png] 35 | 36 | == Removenear 37 | 38 | This command removes all blocks with the defined `block` type in a cuboid region around you (picture 1). 39 | 40 | * The `size` parameter defines the distance between your position (middle point) and the border. 41 | * By default `size` is 50, so the command will be executed with a region in a 99 x 99 block cube. 42 | 43 | The middle of the selection in the images below are marked by a yellow block. 44 | 45 | === Usage 46 | `//removenear [size]` 47 | 48 | === Permission 49 | `worldedit.removenear` 50 | 51 | === Visual Example 52 | 53 | . image:https://i.imgur.com/riMmbhq.png[removenear.png] 54 | -------------------------------------------------------------------------------- /sources/basic-commands/main-commands-and-permissions.adoc: -------------------------------------------------------------------------------- 1 | = Commands and Permissions 2 | :toc: left 3 | :toclevels: 3 4 | :icons: font 5 | 6 | :experimental: // Used for keyboard buttons 7 | 8 | ===== xref:../README.adoc[🏠 Return to the index] 9 | 10 | == Introduction 11 | 12 | To view this information ingame use `//help [category|command]` 13 | 14 | == Command Syntax 15 | 16 | * `` - A required parameter 17 | * `[arg]` - An optional parameter 18 | * `` - Multiple parameters options 19 | * `` - Default or suggested value 20 | * `-a` - A command flag e.g. `// -a [flag-value]` 21 | 22 | See also: 23 | 24 | * xref:biomes.adoc[Biomes] 25 | * xref:brushes.adoc[Brushes] 26 | * xref:geometry.adoc[Geometry] 27 | * xref:nature.adoc[Nature] 28 | * xref:navigation.adoc[Navigation] 29 | * xref:selection.adoc[Selection] 30 | * xref:../masks/masks.adoc[Masks] 31 | * xref:../patterns/patterns.adoc[Patterns] 32 | * xref:../transforms/transforms.adoc[Transforms] 33 | 34 | == Content 35 | 36 | Click on a category to go to the list of commands, or `More Info` for detailed descriptions 37 | 38 | * <<_world_edit_commands,`World Edit Commands`>> (Updating, informational, debug and help commands) 39 | * <<_utility_commands,`Utility Commands`>> (Various utility commands) 40 | * <<_region_commands,`Region Commands`>> (Commands that operate on regions) 41 | * <<_selection_commands,`Selection Commands`>> (Change your selection points, mode or view info about your selection) 42 | * <<_history_commands,`History Commands`>> (Commands to undo, redo, and clear history) 43 | * <<_schematic_commands,`Schematic Commands`>> (Commands that work with schematic files) 44 | * <<_clipboard_commands,`Clipboard Commands`>> (Related commands to copy and pasting blocks) 45 | * <<_generation_commands,`Generation Commands`>> (Create structures and features) 46 | * https://worldedit.readthedocs.io/en/latest/commands/#biome-commands[Biome Commands] 47 | * <<_super_pickaxe_commands,`Super Pickaxe Commands`>> (Super-pickaxe commands) 48 | * <<_navigation_commands,`Navigation Commands`>> (Commands for moving the player around) 49 | * <<_snapshot_commands,`Snapshot Commands`>> (List, load and view information related to snapshots) 50 | * <<_scripting_commands,`Scripting Commands`>> (Run craftscripts) 51 | * <<_chunk_commands_,`Chunk Commands`>> (Inspect chunks) 52 | * <<_options_commands,`Options Commands`>> (Player toggles, settings and item info) 53 | * <<_brush_options_commands,`Brush Options Commands`>> (Tool commands) 54 | * <<_tool_commands,`Tool Commands`>> (Bind functions to held items) 55 | * <<_brush_commands,`Brush Commands`>> (Commands to build and draw from far away.) 56 | * <<_masks,`/Masks`>> (Help for the various masks. ) 57 | * <<_patterns_,`/Patterns`>> (Help for the various patterns.) 58 | * <<_transforms_,`/Transforms`>> (Help for the various transforms.) 59 | * <<_create_from_image_currently_not_implemented,`Create From Image`>> (Create a world from images, currently not implemented) 60 | 61 | === Uncategorized 62 | 63 | |=== 64 | |Aliases |Permission |Flags |Usage 65 | 66 | |//cancel |fawe.cancel | None | Cancels your current operations 67 | |/plot replaceall |plots.replaceall | None | Replace all blocks in the plot world 68 | |Column 4, row 1 69 | |=== 70 | 71 | === *World Edit Commands* 72 | Informational, debug and help commands 73 | 74 | ==== /we threads 75 | 76 | *Perm*: `worldedit.threads` + 77 | *Desc*: Print all thread stacks 78 | 79 | ==== /we version 80 | 81 | *Desc*: Get WorldEdit/FAWE version 82 | 83 | ==== /we help [] 84 | 85 | *Perm*: `worldedit.help` + 86 | *Desc*: Displays help for FAWE commands 87 | 88 | ==== /we reload 89 | 90 | *Perm*: `worldedit.reload` + 91 | *Desc*: Reload configuration 92 | 93 | ==== /we cui 94 | 95 | *Desc*: Complete CUI handshake (internal usage) 96 | 97 | ==== /fawe debugpaste 98 | 99 | *Perm*: `worldedit.debugpaste` + 100 | *Desc*: Upload debug information to https://athion.net/ISPaster/paste 101 | 102 | ==== /we tz [timezone] 103 | 104 | *Desc*: Set your timezone for snapshots 105 | 106 | ''' 107 | 108 | === *Utility Commands* 109 | 110 | ____ 111 | Various utility commands 112 | ____ 113 | 114 | ''' 115 | 116 | ==== /remove 117 | 118 | *Perm*: `worldedit.remove` + 119 | *Desc*: Remove all entities of a type 120 | 121 | ==== //fill [depth] [direction] 122 | 123 | *Perm*: `worldedit.fill` + 124 | *Desc*: Fill a hole 125 | 126 | ==== //help [] 127 | 128 | *Desc*: Displays help for WorldEdit commands 129 | 130 | ==== //drain 131 | 132 | *Perm*: `worldedit.drain` + 133 | *Desc*: Drain a pool 134 | 135 | ==== /transforms [page=1|search|transform] 136 | 137 | *Perm*: `worldedit.transforms` + 138 | *Desc*: Transforms modify how a block is placed + 139 | - Use [brackets] for arguments + 140 | - Use , to OR multiple + 141 | - Use & to AND multiple + 142 | 143 | ==== //removenear [size] 144 | 145 | *Perm*: `worldedit.removenear` + 146 | *Desc*: Remove blocks near you. 147 | 148 | ==== //fixlava 149 | 150 | *Perm*: `worldedit.fixlava` + 151 | *Desc*: Fix lava to be stationary 152 | 153 | ==== //removeabove [size] [height] 154 | 155 | *Perm*: `worldedit.removeabove` + 156 | *Desc*: Remove blocks above your head. 157 | 158 | ==== /masks [page=1|search|mask] 159 | 160 | *Perm*: `worldedit.masks` + 161 | *Desc*: Masks determine if a block can be placed + 162 | - Use [brackets] for arguments + 163 | - Use , to OR multiple + 164 | - Use & to AND multiple + 165 | e.g. >[stone,dirt],#light[0][5],$jungle + 166 | 167 | ==== //fillr [depth] 168 | 169 | *Perm*: `worldedit.fill.recursive` + 170 | *Desc*: Fill a hole recursively 171 | 172 | ==== /patterns [page=1|search|pattern] 173 | 174 | *Perm*: `worldedit.patterns` + 175 | *Desc*: Patterns determine what blocks are placed + 176 | - Use [brackets] for arguments + 177 | - Use , to OR multiple + 178 | e.g. #surfacespread[10][#existing],andesite + 179 | 180 | ==== //replacenear [-f] 181 | 182 | *Perm*: `worldedit.replacenear` + 183 | *Desc*: Replace nearby blocks 184 | 185 | ==== //snow [radius] 186 | 187 | *Perm*: `worldedit.snow` + 188 | *Desc*: Simulates snow 189 | 190 | ==== //thaw [radius] 191 | 192 | *Perm*: `worldedit.thaw` + 193 | *Desc*: Thaws the area 194 | 195 | ==== //removebelow [size] [height] 196 | 197 | *Perm*: `worldedit.removebelow` + 198 | *Desc*: Remove blocks below you. 199 | 200 | ==== //fixwater 201 | 202 | *Perm*: `worldedit.fixwater` + 203 | *Desc*: Fix water to be stationary 204 | 205 | ==== /butcher [radius] [-p] [-l] [-a] [-n] [-g] [-b] [-t] [-f] [-r] 206 | 207 | *Perm*: `worldedit.butcher` + 208 | *Desc*: Kills nearby mobs, based on radius, if none is given uses default in configuration. + 209 | Flags: + 210 | -p also kills pets. + 211 | -n also kills NPCs. + 212 | -g also kills Golems. + 213 | -a also kills animals. + 214 | -b also kills ambient mobs. + 215 | -t also kills mobs with name tags. + 216 | -f compounds all previous flags. + 217 | -r also destroys armor stands. + 218 | -l currently does nothing. 219 | 220 | ==== //confirm 221 | 222 | *Perm*: `fawe.confirm` + 223 | *Desc*: Confirm a command 224 | 225 | ==== //green [radius] [-f] 226 | 227 | *Perm*: `worldedit.green` + 228 | *Desc*: Greens the area 229 | 230 | ==== //calc 231 | 232 | *Perm*: `worldedit.calc` + 233 | *Desc*: Evaluate a mathematical expression 234 | 235 | ==== //ex [radius] 236 | 237 | *Perm*: `worldedit.extinguish` + 238 | *Desc*: Extinguish nearby fire 239 | 240 | ==== /heightmapinterface 241 | 242 | *Perm*: `fawe.admin` + 243 | *Desct*: Generates the heightmap interface 244 | 245 | ''' 246 | 247 | === *Region Commands* 248 | 249 | ____ 250 | Commands that operate on regions 251 | ____ 252 | 253 | ''' 254 | 255 | ==== //replace [from-mask] [-f] 256 | 257 | *Perm*: `worldedit.region.replace` + 258 | *Desc*: Replace all blocks in the selection with another 259 | 260 | ==== //stack [count] [direction] [-s] [-a] [-m] 261 | 262 | *Perm*: `worldedit.region.stack` + 263 | *Desc*: Repeats the contents of the selection. + 264 | Flags: + 265 | -s shifts the selection to the last stacked copy + 266 | -a skips air blocks 267 | 268 | ==== //set [pattern] 269 | 270 | *Perm*: `worldedit.region.set` + 271 | *Desc*: Set all blocks within selection 272 | 273 | ==== //fall [replace] [-m] 274 | 275 | *Perm*: `worldedit.region.fall` + 276 | *Desc*: Make the blocks in the selection fall + 277 | The -m flag will only fall within the vertical selection. 278 | 279 | ==== //faces 280 | 281 | *Perm*: `worldedit.region.faces` + 282 | *Desc*: Build the walls, ceiling, and floor of a selection 283 | 284 | ==== //hollow [[ ]] 285 | 286 | *Perm*: `worldedit.region.hollow` + 287 | *Desc*: Hollows out the object contained in this selection. + 288 | Optionally fills the hollowed out part with the given block. + 289 | Thickness is measured in manhattan distance. 290 | 291 | ==== //center 292 | 293 | *Perm*: `worldedit.region.center` + 294 | *Desc*: Set the center block(s) 295 | 296 | ==== //setskylight 297 | 298 | *Perm*: `worldedit.light.set` + 299 | *Desc*: Set sky lighting in a selection 300 | 301 | ==== //nbtinfo 302 | 303 | *Perm*: `worldedit.nbtinfo` + 304 | *Desc*: View nbt info for a block 305 | 306 | ==== //setblocklight 307 | 308 | *Perm*: `worldedit.light.set` + 309 | *Desc*: Set block lighting in a selection 310 | 311 | ==== //curve [thickness] [-h] 312 | 313 | *Perm*: `worldedit.region.curve` + 314 | *Desc*: Draws a spline through selected points. + 315 | Can only be used with convex polyhedral selections. + 316 | Flags: + 317 | -h generates only a shell 318 | 319 | ==== //overlay 320 | 321 | *Perm*: `worldedit.region.overlay` + 322 | *Desc*: Set a block on top of blocks in the region 323 | 324 | ==== //lay 325 | 326 | *Perm*: `worldedit.region.overlay` + 327 | *Desc*: Set the top block in the region 328 | 329 | ==== //naturalize 330 | 331 | *Perm*: `worldedit.region.naturalize` + 332 | *Desc*: 3 layers of dirt on top then rock below 333 | 334 | ==== //walls 335 | 336 | *Perm*: `worldedit.region.walls` + 337 | *Desc*: Build the four sides of the selection 338 | 339 | ==== //getlighting 340 | 341 | *Perm*: `worldedit.light.fix` + 342 | *Desc*: Get the light at a position 343 | 344 | ==== //removelight 345 | 346 | *Perm*: `worldedit.light.remove` + 347 | *Desc*: Removing lighting in a selection 348 | 349 | ==== //fixlighting 350 | 351 | *Perm*: `worldedit.light.fix` + 352 | *Desc*: Get the light at a position 353 | 354 | ==== //smooth [iterations] [mask] 355 | 356 | *Perm*: `worldedit.region.smooth` + 357 | *Desc*: Smooths the elevation in the selection. + 358 | Flags: + 359 | -l Set the amount of snow blocks under the snow + 360 | -m The mask of blocks to use as the height map 361 | 362 | ==== //line [thickness] [-h] 363 | 364 | *Perm*: `worldedit.region.line` + 365 | *Desc*: Draws a line segment between cuboid selection corners. + 366 | Can only be used with cuboid selections. + 367 | Flags: + 368 | -h generates only a shell 369 | 370 | ==== //regen [biome] [seed] 371 | 372 | *Perm*: `worldedit.regen` + 373 | *Desc*: Regenerates the contents of the current selection. + 374 | This command might affect things outside the selection, + 375 | if they are within the same chunk. 376 | 377 | ==== //wea 378 | 379 | *Perm*: `fawe.admin` + 380 | *Desc*: Bypass region restrictions 381 | 382 | ==== //move [count] [direction] [leave-id] [-s] 383 | 384 | *Perm*: `worldedit.region.move` + 385 | *Desc*: Moves the contents of the selection. + 386 | -s flag shifts the selection to the target location. + 387 | -b also copies biomes + 388 | -e ignores entities + 389 | -a ignores air + 390 | Optionally fills the old location with ++++++.++++++ 391 | 392 | ==== //forest [type] [density] 393 | 394 | *Perm*: `worldedit.region.forest` + 395 | *Desc*: Make a forest within the region 396 | 397 | ==== //deform [-r] [-o] 398 | 399 | *Perm*: `worldedit.region.deform` + 400 | *Desc*: Deforms a selected region with an expression + 401 | The expression is executed for each block and is expected + 402 | to modify the variables x, y and z to point to a new block + 403 | to fetch. See also tinyurl.com/wesyntax. 404 | 405 | ==== //flora [density] 406 | 407 | *Perm*: `worldedit.region.flora` + 408 | *Desc*: Make flora within the region 409 | 410 | ==== //wer 411 | 412 | *Perm*: `fawe.worldeditregion` + 413 | *Desc*: Select your current allowed region 414 | 415 | ''' 416 | 417 | === *Selection Commands* 418 | 419 | ____ 420 | Change your selection points, mode or view info about your selection 421 | ____ 422 | 423 | ''' 424 | 425 | ==== //count [-d] 426 | 427 | *Perm*: `worldedit.analysis.count` + 428 | *Desc*: Counts the number of a certain type of block 429 | 430 | ==== //size [-c] 431 | 432 | *Perm*: `worldedit.selection.size` + 433 | *Desc*: Get information about the selection 434 | 435 | ==== //expand [reverse-amount] 436 | 437 | *Perm*: `worldedit.selection.expand` + 438 | *Desc*: Expand the selection area 439 | 440 | ==== //shift [direction] 441 | 442 | *Perm*: `worldedit.selection.shift` + 443 | *Desc*: Shift the selection area 444 | 445 | ==== //sel [cuboid|extend|poly|ellipsoid|sphere|cyl|convex] [-d] 446 | 447 | *Desc*: Choose a region selector 448 | 449 | ==== //contract [reverse-amount] [direction] 450 | 451 | *Perm*: `worldedit.selection.contract` + 452 | *Desc*: Contract the selection area 453 | 454 | ==== //pos2 [coordinates] 455 | 456 | *Perm*: `worldedit.selection.pos` + 457 | *Desc*: Set position 2 458 | 459 | ==== //pos1 [coordinates] 460 | 461 | *Perm*: `worldedit.selection.pos` + 462 | *Desc*: Set position 1 463 | 464 | ==== //chunk [x,z coordinates] [-s] [-c] 465 | 466 | *Perm*: `worldedit.selection.chunk` + 467 | *Desc*: Set the selection to the chunk you are currently in. + 468 | With the -s flag, your current selection is expanded + 469 | to encompass all chunks that are part of it. + 470 | + 471 | Specifying coordinates will use those instead of your + 472 | current position. Use -c to specify chunk coordinates, + 473 | otherwise full coordinates will be implied. + 474 | (for example, the coordinates 5,5 are the same as -c 0,0) 475 | 476 | ==== //hpos1 477 | 478 | *Perm*: `worldedit.selection.hpos` + 479 | *Desc*: Set position 1 to targeted block 480 | 481 | ==== //outset [-h] [-v] 482 | 483 | *Perm*: `worldedit.selection.outset` + 484 | *Desc*: Expands the selection by the given amount in all directions. + 485 | Flags: + 486 | -h only expand horizontally + 487 | -v only expand vertically 488 | 489 | ==== //wand 490 | 491 | *Perm*: `worldedit.wand` + 492 | *Desc*: Get the wand object 493 | 494 | ==== /toggleeditwand 495 | 496 | *Perm*: `worldedit.wand.toggle` + 497 | *Desc*: Toggle functionality of the edit wand 498 | 499 | ==== //hpos2 500 | 501 | *Perm*: `worldedit.selection.hpos` + 502 | *Desc*: Set position 2 to targeted block 503 | 504 | ==== //inset [-h] [-v] 505 | 506 | *Perm*: `worldedit.selection.inset` + 507 | *Desc*: Contracts the selection by the given amount in all directions. + 508 | Flags: + 509 | -h only contract horizontally + 510 | -v only contract vertically 511 | 512 | ==== //distr [-c] [-d] 513 | 514 | *Perm*: `worldedit.analysis.distr` + 515 | *Desc*: Gets the distribution of blocks in the selection. + 516 | The -c flag gets the distribution of your clipboard. + 517 | The -d flag separates blocks by data 518 | 519 | ''' 520 | 521 | === *History Commands* 522 | 523 | ____ 524 | Commands to undo, redo, and clear history 525 | ____ 526 | 527 | ''' 528 | 529 | ==== //clearhistory 530 | 531 | *Perm*: `worldedit.history.clear` + 532 | *Desc*: Clear your history 533 | 534 | ==== //undo [times] [player] 535 | 536 | *Perm*: `worldedit.history.undo` + 537 | *Desc*: Undoes the last action 538 | 539 | ==== //redo [times] [player] 540 | 541 | *Perm*: `worldedit.history.redo` + 542 | *Desc*: Redoes the last action (from history) 543 | 544 | ==== //inspect 545 | 546 | *Perm*: `worldedit.tool.inspect` + 547 | *Desc*: Scan blocks for changes 548 | 549 | ==== //frb history 550 | 551 | *Perm*: `worldedit.history.rollback` + 552 | *Desc*: Undo a specific edit. - The time uses s, m, h, d, y. + 553 | - Import from disk: /frb #import 554 | 555 | ''' 556 | 557 | === *Schematic Commands* 558 | 559 | ____ 560 | Commands that work with schematic files 561 | ____ 562 | 563 | ''' 564 | 565 | ==== /schematic clear 566 | 567 | *Perm*: `worldedit.clipboard.clear`, `worldedit.schematic.clear` + 568 | *Desc*: Clear your clipboard 569 | 570 | ==== /schematic load [] 571 | 572 | *Perm*: `worldedit.clipboard.load`, `worldedit.schematic.load`, `worldedit.schematic.upload`, `worldedit.schematic.load.other` + 573 | *Desc*: Load a schematic into your clipboard 574 | 575 | ==== /schematic delete 576 | 577 | *Perm*: `worldedit.schematic.delete`, `worldedit.schematic.delete.other` + 578 | *Desc*: Delete a schematic from the schematic list 579 | 580 | ==== /schematic list [global|mine|] [page=1] [-d] [-n] [-p] 581 | 582 | *Perm*: `worldedit.schematic.list` + 583 | *Desc*: List all schematics in the schematics directory + 584 | -p ++++++prints the requested page + 585 | -f ++++++restricts by format++++++++++++ 586 | 587 | ==== /schematic save [format] 588 | 589 | *Perm*: `worldedit.clipboard.save`, `worldedit.schematic.save`, `worldedit.schematic.save.other` + 590 | *Desc*: Save a schematic into your clipboard 591 | 592 | ==== /schematic unload [file] 593 | 594 | *Perm*: `worldedit.clipboard.clear`, `worldedit.schematic.clear` + 595 | *Desc*: Remove a clipboard from your multi-clipboard 596 | 597 | ==== /schematic loadall [] 598 | 599 | *Perm*: `worldedit.clipboard.load`, `worldedit.schematic.load`, `worldedit.schematic.upload` + 600 | *Desc*: Load multiple clipboards + 601 | The -r flag will apply random rotation 602 | 603 | ==== /schematic move 604 | 605 | *Perm*: `worldedit.schematic.move`, `worldedit.schematic.move.other` + 606 | *Desc*: Move your currently loaded schematics 607 | 608 | ==== /schematic formats 609 | 610 | *Perm*: `worldedit.schematic.formats` + 611 | *Desc*: List available formats 612 | 613 | ==== /schematic show [global|mine|] [-d] [-n] [-p] 614 | 615 | *Perm*: `worldedit.schematic.show` + 616 | *Desc*: List all schematics in the schematics directory + 617 | -f ++++++restricts by format++++++ 618 | 619 | ''' 620 | 621 | === *Clipboard Commands* 622 | 623 | ____ 624 | Related commands to copy and pasting blocks 625 | ____ 626 | 627 | ''' 628 | 629 | ==== //copy [-e] [-m] 630 | 631 | *Perm*: `worldedit.clipboard.copy` + 632 | *Desc*: Copy the selection to the clipboard + 633 | Flags: + 634 | -e also copy entities + 635 | -m sets a source mask so that excluded blocks become air + 636 | -b copies biomes + 637 | WARNING: Pasting entities cannot yet be undone! 638 | 639 | ==== //flip [] 640 | 641 | *Perm*: `worldedit.clipboard.flip` + 642 | *Desc*: Flips the contents of the clipboard across the point from which the copy was made. 643 | 644 | ==== //rotate [] [] 645 | 646 | *Perm*: `worldedit.clipboard.rotate` + 647 | *Desc*: Non-destructively rotate the contents of the clipboard. + 648 | Angles are provided in degrees and a positive angle will result in a clockwise rotation. Multiple rotations can be stacked. Interpolation is not performed so angles should be a multiple of 90 degrees. 649 | 650 | ==== //lazycopy [-e] [-m] 651 | 652 | *Perm*: `worldedit.clipboard.lazycopy` + 653 | *Desc*: Lazily copy the selection to the clipboard + 654 | Flags: + 655 | -e skips copying entities + 656 | -m sets a source mask so that excluded blocks become air + 657 | -b copies biomes + 658 | WARNING: Pasting entities cannot yet be undone! 659 | 660 | ==== /asset [category] 661 | 662 | *Perm*: `worldedit.clipboard.asset` + 663 | *Desc*: Saves your clipboard to the asset web interface 664 | 665 | ==== //cut [leave-id] [-e] [-m] 666 | 667 | *Perm*: `worldedit.clipboard.cut` + 668 | *Desc*: Copy the selection to the clipboard + 669 | Flags: + 670 | -e skips entity copy + 671 | -m sets a source mask so that excluded blocks become air + 672 | -b copies biomes + 673 | WARNING: Cutting and pasting entities cannot yet be undone! 674 | 675 | ==== /download ` 676 | 677 | *Perm*: `worldedit.clipboard.download` + 678 | *Desc*: Downloads your clipboard through the configured web interface 679 | 680 | ==== //paste [-s] [-a] [-o] 681 | 682 | *Perm*: `worldedit.clipboard.paste` + 683 | *Desc*: Pastes the clipboard's contents. + 684 | Flags: + 685 | -a skips air blocks + 686 | -b skips pasting biomes + 687 | -e skips pasting entities + 688 | -o pastes at the original position + 689 | -s selects the region after pasting 690 | 691 | ==== //lazycut [-e] [-m] 692 | 693 | *Perm*: `worldedit.clipboard.lazycut` + 694 | *Desc*: Lazily cut the selection to the clipboard + 695 | Flags: + 696 | -e skips entity copy + 697 | -m sets a source mask so that excluded blocks become air + 698 | -b copies biomes + 699 | WARNING: Pasting entities cannot yet be undone! 700 | 701 | ==== //place [-s] [-a] [-o] 702 | 703 | *Perm*: `worldedit.clipboard.place` + 704 | *Desc*: Places the clipboard's contents without applying transformations (e.g. rotate). + 705 | Flags: + 706 | -a skips air blocks + 707 | -o pastes at the original position + 708 | -s selects the region after pasting 709 | 710 | ==== /clearclipboard 711 | 712 | *Perm*: `worldedit.clipboard.clear` + 713 | *Desc*: Clear your clipboard 714 | 715 | ''' 716 | 717 | === *Generation Commands* 718 | 719 | ____ 720 | Create structures and features 721 | ____ 722 | 723 | ''' 724 | 725 | ==== //image [randomize=true] [complexity=100] [dimensions] 726 | 727 | *Perm*: `worldedit.generation.image` + 728 | *Desc*: Generate an image 729 | 730 | ==== //generate [-h] [-r] [-o] [-c] 731 | 732 | *Perm*: `worldedit.generation.shape` + 733 | *Desc*: Generates a shape according to a formula that is expected to + 734 | return positive numbers (true) if the point is inside the shape + 735 | Optionally set type/data to the desired block. + 736 | Flags: + 737 | -h to generate a hollow shape + 738 | -r to use raw minecraft coordinates + 739 | -o is like -r, except offset from placement. + 740 | -c is like -r, except offset selection center. + 741 | If neither -r nor -o is given, the selection is mapped to -1..1 + 742 | See also tinyurl.com/wesyntax. 743 | 744 | ==== //pyramid [-h] 745 | 746 | *Perm*: `worldedit.generation.pyramid` + 747 | *Desc*: Generate a filled pyramid 748 | 749 | ==== //sphere [,,] [raised?] [-h] 750 | 751 | *Perm*: `worldedit.generation.sphere` + 752 | *Desc*: Generates a filled sphere. + 753 | By specifying 3 radii, separated by commas, + 754 | you can generate an ellipsoid. The order of the ellipsoid radii + 755 | is north/south, up/down, east/west. 756 | 757 | ==== //cyl [,] [height] [-h] 758 | 759 | *Perm*: `worldedit.generation.cylinder` + 760 | *Desc*: Generates a cylinder. + 761 | By specifying 2 radii, separated by a comma, + 762 | you can generate elliptical cylinders. + 763 | The 1st radius is north/south, the 2nd radius is east/west. 764 | 765 | ==== /pumpkins [size] 766 | 767 | *Perm*: `worldedit.generation.pumpkins` + 768 | *Desc*: Generate pumpkin patches 769 | 770 | ==== //hsphere [,,] [raised?] 771 | 772 | *Perm*: `worldedit.generation.sphere` + 773 | *Desc*: Generates a hollow sphere. + 774 | By specifying 3 radii, separated by commas, + 775 | you can generate an ellipsoid. The order of the ellipsoid radii + 776 | is north/south, up/down, east/west. 777 | 778 | ==== //hcyl [,] [height] 779 | 780 | *Perm*: `worldedit.generation.cylinder` + 781 | *Desc*: Generates a hollow cylinder. + 782 | By specifying 2 radii, separated by a comma, + 783 | you can generate elliptical cylinders. + 784 | The 1st radius is north/south, the 2nd radius is east/west. 785 | 786 | ==== //caves [size=8] [freq=40] [rarity=7] [minY=8] [maxY=127] [sysFreq=1] [sysRarity=25] [pocketRarity=0] [pocketMin=0] [pocketMax=3] 787 | 788 | *Perm*: `worldedit.generation.caves` + 789 | *Desc*: Generates a cave network 790 | 791 | ==== //ore 792 | 793 | *Perm*: `worldedit.generation.ore` + 794 | *Desc*: Generates ores 795 | 796 | ==== /forestgen [size] [tree-type] [density] 797 | 798 | *Perm*: `worldedit.generation.forest` + 799 | *Desc*: Generate a forest 800 | 801 | ==== //hpyramid 802 | 803 | *Perm*: `worldedit.generation.pyramid` + 804 | *Desc*: Generate a hollow pyramid 805 | 806 | ==== //ores 807 | 808 | *Perm*: `worldedit.generation.ore` + 809 | *Desc*: Generates ores 810 | 811 | ==== //generatebiome [-h] [-r] [-o] [-c] 812 | 813 | *Perm*: `worldedit.generation.shape`, `worldedit.biome.set` + 814 | *Desc*: Generates a shape according to a formula that is expected to + 815 | return positive numbers (true) if the point is inside the shape + 816 | Sets the biome of blocks in that shape. + 817 | Flags: + 818 | -h to generate a hollow shape + 819 | -r to use raw minecraft coordinates + 820 | -o is like -r, except offset from placement. + 821 | -c is like -r, except offset selection center. + 822 | If neither -r nor -o is given, the selection is mapped to -1..1 + 823 | See also tinyurl.com/wesyntax. 824 | 825 | ''' 826 | 827 | === *Biome Commands* 828 | 829 | ____ 830 | Change, list and inspect biomes 831 | ____ 832 | 833 | ''' 834 | 835 | ==== //setbiome [-p] 836 | 837 | *Perm*: `worldedit.biome.set` + 838 | *Desc*: Set the biome of the region. + 839 | By default use all the blocks contained in your selection. + 840 | -p use the block you are currently in 841 | 842 | ==== /biomelist [page] 843 | 844 | *Perm*: `worldedit.biome.list` + 845 | *Desc*: Gets all biomes available. 846 | 847 | ==== /biomeinfo [-p] [-t] 848 | 849 | *Perm*: `worldedit.biome.info` + 850 | *Desc*: Get the biome of the block. + 851 | By default use all the blocks contained in your selection. + 852 | -t use the block you are looking at. + 853 | -p use the block you are currently in 854 | 855 | ''' 856 | 857 | === *Super Pickaxe Commands* 858 | 859 | ____ 860 | Super-pickaxe commands 861 | ____ 862 | 863 | ''' 864 | 865 | ==== /sp recur 866 | 867 | *Perm*: `worldedit.superpickaxe.recursive` + 868 | *Desc*: Enable the recursive super pickaxe mode 869 | 870 | ==== /sp area 871 | 872 | *Perm*: `worldedit.superpickaxe.area` + 873 | *Desc*: Enable the area super pickaxe mode 874 | 875 | ==== /sp single 876 | 877 | *Perm*: `worldedit.superpickaxe` + 878 | *Desc*: Enable the single block super pickaxe mode 879 | 880 | ''' 881 | 882 | === *Navigation Commands* 883 | 884 | ____ 885 | Commands for moving the player around 886 | ____ 887 | 888 | ''' 889 | 890 | ==== /unstuck 891 | 892 | *Perm*: `worldedit.navigation.unstuck` + 893 | *Desc*: Escape from being stuck inside a block 894 | 895 | ==== /thru 896 | 897 | *Perm*: `worldedit.navigation.thru.command` + 898 | *Desc*: Passthrough walls 899 | 900 | ==== /jumpto [world,x,y,z] 901 | 902 | *Perm*: `worldedit.navigation.jumpto.command` + 903 | *Desc*: Teleport to a location 904 | 905 | ==== /up [-f] [-g] 906 | 907 | *Perm*: `worldedit.navigation.up` + 908 | *Desc*: Go upwards some distance 909 | 910 | ==== /ascend [# of levels] 911 | 912 | *Perm*: `worldedit.navigation.ascend` + 913 | *Desc*: Go up a floor 914 | 915 | ==== /ceil [clearance] [-f] [-g] 916 | 917 | *Perm*: `worldedit.navigation.ceiling` + 918 | *Desc*: Go to the celing 919 | 920 | ==== /descend [# of floors] 921 | 922 | *Perm*: `worldedit.navigation.descend` + 923 | *Desc*: Go down a floor 924 | 925 | ''' 926 | 927 | === *Snapshot Commands* 928 | 929 | ____ 930 | List, load and view information related to snapshots 931 | ____ 932 | 933 | ''' 934 | 935 | ==== /snapshot list [num] 936 | 937 | *Perm*: `worldedit.snapshots.list` + 938 | *Desc*: List snapshots 939 | 940 | ==== /snapshot after 941 | 942 | *Perm*: `worldedit.snapshots.restore` + 943 | *Desc*: Choose the nearest snapshot after a date 944 | 945 | ==== /snapshot before 946 | 947 | *Perm*: `worldedit.snapshots.restore` + 948 | *Desc*: Choose the nearest snapshot before a date 949 | 950 | ==== /snapshot use 951 | 952 | *Perm*: `worldedit.snapshots.restore` + 953 | *Desc*: Choose a snapshot to use 954 | 955 | ==== /snapshot sel 956 | 957 | *Perm*: `worldedit.snapshots.restore` + 958 | *Desc*: Choose the snapshot based on the list id 959 | 960 | ''' 961 | 962 | === *Snapshot Util Commands* 963 | 964 | ''' 965 | 966 | ==== /restore [snapshot] 967 | 968 | *Perm*: `worldedit.snapshots.restore` + 969 | *Desc*: Restore the selection from a snapshot 970 | 971 | ''' 972 | 973 | === *Scripting Commands* 974 | 975 | ____ 976 | Run craftscripts 977 | ____ 978 | 979 | ''' 980 | 981 | ==== +/cs [args...]+ 982 | 983 | *Perm*: `worldedit.scripting.execute` + 984 | *Desc*: Execute a CraftScript 985 | 986 | ==== +/.s [args...]+ 987 | 988 | *Perm*: `worldedit.scripting.execute` + 989 | *Desc*: Execute last CraftScript 990 | 991 | ''' 992 | 993 | === *Chunk Commands* 994 | 995 | ____ 996 | Inspect chunks 997 | ____ 998 | 999 | ''' 1000 | 1001 | ==== /chunkinfo 1002 | 1003 | *Perm*: `worldedit.chunkinfo` + 1004 | *Desc*: Get information about the chunk that you are inside 1005 | 1006 | ==== /delchunks 1007 | 1008 | *Perm*: `worldedit.delchunks` 1009 | 1010 | ==== /listchunks 1011 | 1012 | *Perm*: `worldedit.listchunks` + 1013 | *Desc*: List chunks that your selection includes 1014 | 1015 | ''' 1016 | 1017 | === *Options Commands* 1018 | 1019 | ____ 1020 | Player toggles, settings and item info 1021 | ____ 1022 | 1023 | ''' 1024 | 1025 | ==== //fast [on|off] 1026 | 1027 | *Perm*: `worldedit.fast` + 1028 | *Desc*: Toggles FAWE undo 1029 | 1030 | ==== //gsmask [mask] 1031 | 1032 | *Perm*: `worldedit.global-mask` + 1033 | *Desc*: The global source mask applies to all edits you do and masks based on the source blocks (e.g. the blocks in your clipboard) 1034 | 1035 | ==== //gtransform [transform] 1036 | 1037 | *Perm*: `worldedit.global-transform` + 1038 | *Desc*: Set the global transform 1039 | 1040 | ==== //toggleplace 1041 | 1042 | *Desc*: Switch between your position and pos1 for placement 1043 | 1044 | ==== //searchitem [-b] [-i] 1045 | 1046 | *Perm*: `worldedit.searchitem` + 1047 | *Desc*: Searches for an item. + 1048 | Flags: + 1049 | -b only search for blocks + 1050 | -i only search for items 1051 | 1052 | ==== //gmask [mask] 1053 | 1054 | *Perm*: `worldedit.global-mask` + 1055 | *Desc*: The global destination mask applies to all edits you do and masks based on the destination blocks (i.e. the blocks in the world). 1056 | 1057 | ==== //tips 1058 | 1059 | *Perm*: `fawe.tips` + 1060 | *Desc*: Toggle FAWE tips 1061 | 1062 | ''' 1063 | 1064 | === *Brush Options Commands* 1065 | 1066 | ____ 1067 | Tool commands 1068 | ____ 1069 | 1070 | ''' 1071 | 1072 | ==== /target [1 - 4] 1073 | 1074 | * Target Public Range 1075 | * Forward Point Pitch 1076 | * Target Point Height 1077 | * Target Face Range + 1078 | *Desc*: Toggle between different target modes 1079 | 1080 | ==== /size [pattern] 1081 | 1082 | *Perm*: `worldedit.brush.options.size` + 1083 | *Desc*: Set the brush size 1084 | 1085 | ==== //listbrush [mine|] [page=1] [-d] [-n] [-p] 1086 | 1087 | *Perm*: `worldedit.brush.list` + 1088 | *Desc*: List all brushes in the brush directory + 1089 | -p ++++++prints the requested page++++++ 1090 | 1091 | ==== /range [pattern] 1092 | 1093 | *Perm*: `worldedit.brush.options.range` + 1094 | *Desc*: Set the brush range 1095 | 1096 | ==== /mask [mask] 1097 | 1098 | *Perm*: `worldedit.brush.options.mask` + 1099 | *Desc*: Set the brush destination mask 1100 | 1101 | ==== /transform [transform] 1102 | 1103 | *Perm*: `worldedit.brush.options.transform` + 1104 | *Desc*: Set the brush transform 1105 | 1106 | ==== /mat [pattern] 1107 | 1108 | *Perm*: `worldedit.brush.options.material` + 1109 | *Desc*: Set the brush material 1110 | 1111 | ==== /loadbrush [name] 1112 | 1113 | *Perm*: `worldedit.brush.load` + 1114 | *Desc*: load a brush 1115 | 1116 | ==== /smask [mask] 1117 | 1118 | *Perm*: `worldedit.brush.options.mask` + 1119 | *Desc*: Set the brush source mask 1120 | 1121 | ==== /visualize [mode=0] 1122 | 1123 | *Perm*: `worldedit.brush.visualize` + 1124 | *Desc*: Toggle between different visualization modes + 1125 | 0 = No visualization + 1126 | 1 = Single block at target position + 1127 | 2 = Glass showing what blocks will be changed 1128 | 1129 | ==== // [on|off] 1130 | 1131 | *Perm*: `worldedit.superpickaxe` + 1132 | *Desc*: Toggle the super pickaxe function 1133 | 1134 | ==== /targetmask [mask] 1135 | 1136 | *Perm*: `worldedit.brush.targetmask` + 1137 | *Desc*: Set the targeting mask 1138 | 1139 | ==== /targetoffset [mask] 1140 | 1141 | *Perm*: `worldedit.brush.targetoffset` + 1142 | *Desc*: Set the targeting mask 1143 | 1144 | ==== /primary [brush-arguments] 1145 | 1146 | *Perm*: `worldedit.brush.primary` + 1147 | *Desc*: Set the right click brush 1148 | 1149 | ==== /none 1150 | 1151 | *Desc*: Unbind a bound tool from your current item 1152 | 1153 | ==== /secondary [brush-arguments] 1154 | 1155 | *Perm*: `worldedit.brush.secondary` + 1156 | *Desc*: Set the left click brush 1157 | 1158 | ==== /savebrush [name] 1159 | 1160 | *Perm*: `worldedit.brush.save` + 1161 | *Desc*: Save your current brush + 1162 | use the -g flag to save globally 1163 | 1164 | ==== /scroll [none|clipboard|mask|pattern|range|size|visual|target] 1165 | 1166 | *Perm*: `worldedit.brush.scroll` + 1167 | *Desc*: Toggle between different target modes 1168 | 1169 | ''' 1170 | 1171 | === *Tool Commands* 1172 | 1173 | ____ 1174 | Bind functions to held items 1175 | ____ 1176 | 1177 | ''' 1178 | 1179 | ==== /tool tree [type] 1180 | 1181 | *Perm*: `worldedit.tool.tree` + 1182 | *Desc*: Tree generator tool 1183 | 1184 | ==== /tool repl 1185 | 1186 | *Perm*: `worldedit.tool.replacer` + 1187 | *Desc*: Block replacer tool 1188 | 1189 | ==== /tool info 1190 | 1191 | *Perm*: `worldedit.tool.info` + 1192 | *Desc*: Block information tool 1193 | 1194 | ==== /tool lrbuild 1195 | 1196 | *Perm*: `worldedit.tool.lrbuild` + 1197 | *Desc*: Long-range building tool 1198 | 1199 | ==== /tool inspect 1200 | 1201 | *Perm*: `worldedit.tool.inspect` + 1202 | *Desc*: Chooses the inspect brush 1203 | 1204 | ==== /tool farwand 1205 | 1206 | *Perm*: `worldedit.tool.farwand` + 1207 | *Desc*: Wand at a distance tool 1208 | 1209 | ==== /tool floodfill 1210 | 1211 | *Perm*: `worldedit.tool.flood-fill` + 1212 | *Desc*: Flood fill tool 1213 | 1214 | ==== /tool cycler 1215 | 1216 | *Perm*: `worldedit.tool.data-cycler` + 1217 | *Desc*: Block data cycler tool 1218 | 1219 | ==== /tool deltree 1220 | 1221 | *Perm*: `worldedit.tool.deltree` + 1222 | *Desc*: Floating tree remover tool 1223 | 1224 | ''' 1225 | 1226 | === *Brush Commands* 1227 | 1228 | ____ 1229 | Commands to build and draw from far away 1230 | ____ 1231 | 1232 | ''' 1233 | 1234 | ==== /brush copypaste [depth=5] 1235 | 1236 | *Perm*: `worldedit.brush.copy` + 1237 | *Desc*: Left click the base of an object to copy. + 1238 | Right click to paste + 1239 | The -r flag Will apply random rotation on paste + 1240 | The -a flag Will apply auto view based rotation on paste + 1241 | Note: Works well with the clipboard scroll action + 1242 | Video: https://www.youtube.com/watch?v=RPZIaTbqoZw 1243 | 1244 | ==== +/brush command [cmd1;cmd2...]+ 1245 | 1246 | *Perm*: `worldedit.brush.command` + 1247 | *Desc*: Run the commands at the clicked position. + 1248 | - Your selection will be expanded to the specified size around each point + 1249 | - Placeholders: \{x}, \{y}, \{z}, \{world}, \{size} 1250 | 1251 | ==== /brush populateschematic [radius=30] [points=5] [-r] 1252 | 1253 | *Perm*: `worldedit.brush.populateschematic` + 1254 | *Desc*: Chooses the scatter schematic brush. + 1255 | The -r flag will apply random rotation 1256 | 1257 | ==== +/brush scmd + 1258 | 1259 | *Perm*: `worldedit.brush.scattercommand` + 1260 | *Desc*: Run commands at random points on a surface + 1261 | - The scatter radius is the min distance between each point + 1262 | - Your selection will be expanded to the specified size around each point + 1263 | - Placeholders: \{x}, \{y}, \{z}, \{world}, \{size} 1264 | 1265 | ==== /brush shatter [radius=10] [count=10] 1266 | 1267 | *Perm*: `worldedit.brush.shatter` + 1268 | *Desc*: Creates uneven lines separating terrain into multiple pieces + 1269 | Pic: https://i.imgur.com/2xKsZf2.png 1270 | 1271 | ==== /brush erode [radius=5] 1272 | 1273 | *Perm*: `worldedit.brush.erode` + 1274 | *Desc*: Erodes terrain 1275 | 1276 | ==== /brush sphere [radius=2] [-h] [-f] 1277 | 1278 | *Perm*: `worldedit.brush.sphere` + 1279 | *Desc*: Creates a sphere. + 1280 | The -h flag creates hollow spheres instead.The -f flag creates falling spheres. 1281 | 1282 | ==== /brush pull [radius=5] 1283 | 1284 | *Perm*: `worldedit.brush.pull` + 1285 | *Desc*: Pull terrain towards you 1286 | 1287 | ==== /brush stencil [radius=5] [file|#clipboard|imgur=null] [rotation=360] [yscale=1.0] 1288 | 1289 | *Perm*: `worldedit.brush.stencil` + 1290 | *Desc*: Use a height map to paint any surface. + 1291 | The -w flag will only apply at maximum saturation + 1292 | The -r flag will apply random rotation 1293 | 1294 | ==== /brush recursive [radius=5] 1295 | 1296 | *Perm*: `worldedit.brush.recursive` + 1297 | *Desc*: Set all connected blocks + 1298 | The -d flag Will apply in depth first order + 1299 | Note: Set a mask to recurse along specific blocks 1300 | 1301 | ==== /brush spline 1302 | 1303 | *Perm*: `worldedit.brush.spline` + 1304 | *Desc*: Click to select some objects,click the same block twice to connect the objects. + 1305 | Insufficient brush radius, or clicking the wrong spot will result in undesired shapes. The shapes must be simple lines or loops. + 1306 | Pic1: http://i.imgur.com/CeRYAoV.jpg \-> http://i.imgur.com/jtM0jA4.png + 1307 | Pic2: http://i.imgur.com/bUeyc72.png \-> http://i.imgur.com/tg6MkcF.pngTutorial: https://www.planetminecraft.com/blog/fawe-tutorial/ 1308 | 1309 | ==== /brush sweep [copies=-1] 1310 | 1311 | *Perm*: `worldedit.brush.sweep` + 1312 | *Desc*: Sweeps your clipboard content along a curve. + 1313 | Define a curve by selecting the individual points with a brush + 1314 | Set [copies] to a value > 0 if you want to have your selection pasted a limited amount of times equally spaced on the curve 1315 | 1316 | ==== /brush catenary [lengthFactor=1.2] [size=0] 1317 | 1318 | *Perm*: `worldedit.brush.spline` + 1319 | *Desc*: Create a hanging line between two points. + 1320 | The lengthFactor controls how long the line is + 1321 | The -h flag creates only a shell + 1322 | The -s flag selects the clicked point after drawing 1323 | 1324 | ==== /brush line [radius=0] [-h] [-s] [-f] 1325 | 1326 | *Perm*: `worldedit.brush.line` + 1327 | *Desc*: Create lines. + 1328 | The -h flag creates only a shell + 1329 | The -s flag selects the clicked point after drawing + 1330 | The -f flag creates a flat line 1331 | 1332 | ==== /brush sspl [size=0] [tension=0] [bias=0] [continuity=0] [quality=10] 1333 | 1334 | *Perm*: `worldedit.brush.surfacespline` + 1335 | *Desc*: Create a spline on the surface + 1336 | Video: https://www.youtube.com/watch?v=zSN-2jJxXlM 1337 | 1338 | ==== /brush blendball [-a] [radius=5] [minFreqDiff=1] [-m] 1339 | 1340 | *Perm*: `worldedit.brush.blendball` + 1341 | *Desc*: Smooths and blends terrain + 1342 | - The `-a` flag sets that the brush should only compare air vs existing blocks 1343 | - `-m` sets a mask to limit blocks being considered for smoothing 1344 | Pic: https://i.imgur.com/cNUQUkj.png \-> https://i.imgur.com/hFOFsNf.png 1345 | 1346 | ==== /brush circle [radius=5] 1347 | 1348 | *Perm*: `worldedit.brush.sphere` + 1349 | *Desc*: Creates a circle which revolves around your facing direction. + 1350 | Note: Decrease brush radius, and enabled visualization to assist with placement mid-air 1351 | 1352 | ==== /brush rock [radius=10] [roundness=100] [frequency=30] [amplitude=50] [-h] 1353 | 1354 | *Perm*: `worldedit.brush.rock` + 1355 | *Desc*: Creates a distorted sphere 1356 | 1357 | ==== /brush height [-lrs] [radius] [yscale] [image] [rotation] 1358 | 1359 | *Perm*: `worldedit.brush.height` + 1360 | *Desc*: This brush raises and lowers land. + 1361 | - The `-r` flag enables random off-axis rotation + 1362 | - The `-l` flag will work on snow layers + 1363 | - The `-s` flag disables smoothing + 1364 | Note: Use a negative yscale to reduce height + 1365 | Snow Pic: https://i.imgur.com/Hrzn0I4.png 1366 | 1367 | ==== /brush flatten [radius=5] [file|#clipboard|imgur=null] [rotation=0] [yscale=1.00] [-h] 1368 | 1369 | *Perm*: `worldedit.brush.height` + 1370 | *Desc*: Flatten brush flattens terrain + 1371 | - The `-r` flag enables random off-axis rotation + 1372 | - The `-l` flag will work on snow layers + 1373 | - The `-s` flag disables smoothing 1374 | 1375 | ==== /brush layer 1376 | 1377 | *Perm*: `worldedit.brush.layer` + 1378 | *Desc*: Replaces terrain with a layer. + 1379 | Example: /br layer 5 oak_planks,orange_stained_glass,magenta_stained_glass,black_wool - Places several layers on a surface + 1380 | Pic: https://i.imgur.com/XV0vYoX.png 1381 | 1382 | ==== /brush cylinder [radius=2] [height=1] [-h] 1383 | 1384 | *Perm*: `worldedit.brush.cylinder` + 1385 | *Desc*: Creates a cylinder. + 1386 | The -h flag creates hollow cylinders instead. 1387 | 1388 | ==== /brush surface [radius=5] 1389 | 1390 | *Perm*: `worldedit.brush.surface` + 1391 | *Desc*: Use a height map to paint any surface. + 1392 | The -w flag will only apply at maximum saturation + 1393 | The -r flag will apply random rotation 1394 | 1395 | ==== /brush ex [radius=5] 1396 | 1397 | *Perm*: `worldedit.brush.ex` + 1398 | *Desc*: Shortcut fire extinguisher brush 1399 | 1400 | ==== /brush gravity [radius=5] [-h] 1401 | 1402 | *Perm*: `worldedit.brush.gravity` + 1403 | *Desc*: This brush simulates the affect of gravity. + 1404 | The -h flag makes it affect blocks starting at the world's max y, instead of the clicked block's y + radius. 1405 | 1406 | ==== /brush clipboard [-a] [-o] [-e] [-b] [-m] 1407 | 1408 | *Perm*: `worldedit.brush.clipboard` + 1409 | *Desc*: Chooses the clipboard brush. + 1410 | The -a flag makes it not paste air. + 1411 | Without the -o flag, the paste will appear centered at the target location. With the flag, then the paste will appear relative to where you had stood relative to the copied area when you copied it. + 1412 | -e pastes entities + 1413 | -b pastes biomes, if available + 1414 | -m Skips blocks matching a mask in the clipboard 1415 | 1416 | ==== /brush butcher [radius=5] [-p] [-l] [-a] [-n] [-g] [-b] [-t] [-f] [-r] 1417 | 1418 | *Perm*: `worldedit.brush.butcher` + 1419 | *Desc*: Kills nearby mobs within the specified radius. + 1420 | Flags: + 1421 | -p also kills pets. + 1422 | -n also kills NPCs. + 1423 | -g also kills Golems. + 1424 | -a also kills animals. + 1425 | -b also kills ambient mobs. + 1426 | -t also kills mobs with name tags. + 1427 | -f compounds all previous flags. + 1428 | -r also destroys armor stands. + 1429 | -l currently does nothing. 1430 | 1431 | ==== /brush splatter [radius=5] [seeds=1] [recursion=5] [solid=true] 1432 | 1433 | *Perm*: `worldedit.brush.splatter` + 1434 | *Desc*: Sets a bunch of blocks randomly on a surface. + 1435 | Pic: https://i.imgur.com/hMD29oO.png + 1436 | Example: /br splatter stone,dirt 30 15 + 1437 | Note: The seeds define how many splotches there are, recursion defines how large, solid defines whether the pattern is applied per seed, else per block. 1438 | 1439 | ==== /brush cliff [radius=5] [file|#clipboard|imgur=null] [rotation=0] [yscale=1.00] [-h] 1440 | 1441 | *Perm*: `worldedit.brush.height` + 1442 | *Desc*: This brush flattens terrain and creates cliffs. + 1443 | - The `-r` flag enables random off-axis rotation + 1444 | - The `-l` flag will work on snow layers + 1445 | - The `-s` flag disables smoothing 1446 | 1447 | ==== /brush smooth [size=2] [iterations=4] [-n] 1448 | 1449 | *Perm*: `worldedit.brush.smooth` + 1450 | *Desc*: Chooses the terrain softener brush. + 1451 | The -n flag makes it only consider naturally occurring blocks. 1452 | 1453 | ==== /brush scatter [radius=5] [points=5] [distance=1] [-o] 1454 | 1455 | *Perm*: `worldedit.brush.scatter` + 1456 | *Desc*: Set a number of blocks randomly on a surface each a certain distance apart. + 1457 | The -o flag will overlay the block + 1458 | Video: https://youtu.be/RPZIaTbqoZw?t=34s 1459 | 1460 | ''' 1461 | 1462 | === */Masks* 1463 | 1464 | Masks determine if a block can be placed 1465 | 1466 | * Use [brackets] for arguments 1467 | * Use , to OR multiple 1468 | * Use & to AND multiple 1469 | e.g. >[stone,dirt],#light[0][5],$jungle 1470 | 1471 | ''' 1472 | 1473 | ==== #offset 1474 | 1475 | *Desc*: Offset a mask 1476 | 1477 | ==== % 1478 | 1479 | *Desc*: percentage chance 1480 | 1481 | ==== #id 1482 | 1483 | *Desc*: Restrict to initial id 1484 | 1485 | ==== #existing 1486 | 1487 | *Desc*: If there is a non-air block 1488 | 1489 | ==== #data 1490 | 1491 | *Desc*: Restrict to initial data 1492 | 1493 | ==== { 1494 | 1495 | *Desc*: Restricts blocks to within a specific radius range of the initial block 1496 | 1497 | ==== #surface 1498 | 1499 | *Desc*: Restrict to surfaces (any solid block touching air) 1500 | 1501 | ==== = 1502 | 1503 | *Desc*: expression mask 1504 | 1505 | ==== ! 1506 | 1507 | *Desc*: Negate another mask 1508 | 1509 | ==== $ 1510 | 1511 | *Desc*: in a specific biome. For a list of biomes use //biomelist 1512 | 1513 | ==== #region 1514 | 1515 | *Desc*: inside the provided selection 1516 | 1517 | ==== ~ [min=1] [max=8] 1518 | 1519 | *Desc*: Adjacent to a specific number of other blocks 1520 | 1521 | ==== \ 1522 | 1523 | *Desc*: Restrict to specific terrain angle + 1524 | The -o flag will only overlayExample: /[0d][45d] + 1525 | Explanation: Allows any block where the adjacent block is between 0 and 45 degrees. + 1526 | Example: /[3][20] + 1527 | Explanation: Allows any block where the adjacent block is between 3 and 20 blocks below 1528 | 1529 | ==== #dregion 1530 | 1531 | *Desc*: inside the player's selection 1532 | 1533 | ==== #xaxis 1534 | 1535 | *Desc*: Restrict to initial x axis 1536 | 1537 | ==== #skylight 1538 | 1539 | *Desc*: Restrict to specific sky light levels 1540 | 1541 | ==== #blocklight 1542 | 1543 | *Desc*: Restrict to specific block light levels 1544 | 1545 | ==== #opacity 1546 | 1547 | *Desc*: Restrict to specific opacity levels 1548 | 1549 | ==== #haslight 1550 | 1551 | *Desc*: Restricts to blocks with light (sky or emitted) 1552 | 1553 | ==== #brightness 1554 | 1555 | *Desc*: Restrict to specific block brightness 1556 | 1557 | ==== #liquid 1558 | 1559 | *Desc*: If there is a solid block 1560 | 1561 | ==== true 1562 | 1563 | *Desc*: Always true 1564 | 1565 | ==== #nolight 1566 | 1567 | *Desc*: Restrict to blocks without light (sky or emitted) 1568 | 1569 | ==== false 1570 | 1571 | *Desc*: Always false 1572 | 1573 | ==== #iddata 1574 | 1575 | *Desc*: Restrict to initial block id and data 1576 | 1577 | ==== > 1578 | 1579 | *Desc*: above a specific block 1580 | 1581 | ==== | 1582 | 1583 | *Desc*: sides with a specific number of other blocks 1584 | 1585 | ==== #wall 1586 | 1587 | *Desc*: Restrict to walls (any block n,e,s,w of air) 1588 | 1589 | ==== #zaxis 1590 | 1591 | *Desc*: Restrict to initial z-axis 1592 | 1593 | ==== #yaxis 1594 | 1595 | *Desc*: Restrict to initial y-axis 1596 | 1597 | ==== < 1598 | 1599 | *Desc*: below a specific block 1600 | 1601 | ==== #simplex 1602 | 1603 | *Desc*: Use simplex noise as the mask 1604 | 1605 | ==== #light 1606 | 1607 | *Desc*: Restrict to specific light levels 1608 | 1609 | ==== #solid 1610 | 1611 | *Desc*: If there is a solid block 1612 | 1613 | Also see: https://worldedit.enginehub.org/en/latest/usage/general/masks/#available-masks 1614 | 1615 | ''' 1616 | 1617 | === */Patterns* 1618 | 1619 | Patterns determine what blocks are placed 1620 | 1621 | * Use [brackets] for arguments 1622 | * Use , to OR multiple 1623 | e.g. #surfacespread[10][#existing],andesite 1624 | 1625 | ''' 1626 | 1627 | ==== #offset 1628 | 1629 | *Desc*: Offset a pattern 1630 | 1631 | ==== #mask 1632 | 1633 | *Desc*: Apply a pattern depending on a mask 1634 | 1635 | ==== #spread 1636 | 1637 | *Desc*: Randomly spread blocks 1638 | 1639 | ==== #buffer 1640 | 1641 | *Desc*: Only place a block once while a pattern is in use + 1642 | Use with a brush when you don't want to apply to the same spot twice 1643 | 1644 | ==== #color 1645 | 1646 | *Desc*: Use the block closest to a specific color 1647 | 1648 | ==== #clipboard 1649 | 1650 | *Desc*: Use the blocks in your clipboard as the pattern 1651 | 1652 | ==== #existing 1653 | 1654 | *Desc*: Use the block that is already there 1655 | 1656 | ==== #biome 1657 | 1658 | *Desc*: Set the biome 1659 | 1660 | ==== = 1661 | 1662 | *Desc*: Expression pattern 1663 | 1664 | ==== #relative 1665 | 1666 | *Desc*: Offset the pattern to where you click 1667 | 1668 | ==== #saturate 1669 | 1670 | *Desc*: Saturate the existing block with a color 1671 | 1672 | ==== #darken 1673 | 1674 | *Desc*: Darken the existing block 1675 | 1676 | ==== #anglecolor 1677 | 1678 | *Desc*: A darker block based on the existing terrain angle 1679 | 1680 | ==== #desaturate 1681 | 1682 | *Desc*: Desaturated color of the existing block 1683 | 1684 | ==== #averagecolor 1685 | 1686 | *Desc*: Average between the existing block and a color 1687 | 1688 | ==== #fullcopy [schem|folder|url=#copy] [rotate=false] [flip=false] 1689 | 1690 | *Desc*: Places your full clipboard at each block 1691 | 1692 | ==== #buffer2d 1693 | 1694 | *Desc*: Only place a block once in a column while a pattern is in use 1695 | 1696 | ==== #lighten 1697 | 1698 | *Desc*: Lighten the existing block 1699 | 1700 | ==== #!x 1701 | 1702 | *Desc*: The pattern will not be provided the z axis info. + 1703 | Example: #!x[#!z[#~[#l3d[pattern]]]] 1704 | 1705 | ==== #surfacespread 1706 | 1707 | *Desc*: Applies to only blocks on a surface. Selects a block from provided pattern with a given randomized offset [0, ++++++). e.g. Use `#existing` to randomly offset blocks in the world, or `#copy` to offset blocks in your clipboard++++++ 1708 | 1709 | ==== #solidspread 1710 | 1711 | *Desc*: Randomly spread solid blocks 1712 | 1713 | ==== #linear2d [xscale=1] [zscale=1] 1714 | 1715 | *Desc*: Use the x,z coordinate to pick a block from the list 1716 | 1717 | ==== #!y 1718 | 1719 | *Desc*: The pattern will not be provided the y axis info 1720 | 1721 | ==== #linear3d [xscale=1] [yscale=1] [zscale=1] 1722 | 1723 | *Desc*: Use the x,y,z coordinate to pick a block from the list 1724 | 1725 | ==== #linear 1726 | 1727 | *Desc*: Sequentially set blocks from a list of patterns 1728 | 1729 | ==== #!z 1730 | 1731 | *Desc*: The pattern will not be provided the z axis info 1732 | 1733 | ==== #simplex 1734 | 1735 | *Desc*: Use simplex noise to randomize blocks 1736 | 1737 | Also see: https://worldedit.enginehub.org/en/latest/usage/general/patterns/#available-patterns 1738 | 1739 | ''' 1740 | 1741 | === */Transforms* 1742 | 1743 | * Use [brackets] for arguments 1744 | * Use , to OR multiple 1745 | * Use & to AND multiple 1746 | 1747 | ''' 1748 | 1749 | ==== #offset [transform] 1750 | 1751 | *Desc*: Offset transform 1752 | 1753 | ==== #rotate [transform] 1754 | 1755 | *Desc*: All changes will be rotated around the initial position 1756 | 1757 | ==== #scale [transform] 1758 | 1759 | *Desc*: All changes will be scaled 1760 | 1761 | ==== #pattern [transform] 1762 | 1763 | *Desc*: Always use a specific pattern 1764 | 1765 | ==== #linear3d 1766 | 1767 | *Desc*: Use the x,y,z coordinate to pick a transform from the list 1768 | 1769 | ==== #linear 1770 | 1771 | *Desc*: Sequentially pick from a list of transform 1772 | 1773 | ==== #spread [transform] 1774 | 1775 | *Desc*: Random offset transform 1776 | 1777 | ''' 1778 | 1779 | === *Create From Image (Currently not implemented)* 1780 | 1781 | ____ 1782 | Create a world from images 1783 | ____ 1784 | 1785 | ''' 1786 | 1787 | ==== /cfi update 1788 | 1789 | *Perm*: `worldedit.anvil.cfi` + 1790 | *Desc*: Resend the CFI chunks 1791 | 1792 | ==== /cfi mask 1793 | 1794 | *Perm*: `worldedit.anvil.cfi` + 1795 | *Desc*: Select a mask 1796 | 1797 | ==== /cfi pattern 1798 | 1799 | *Perm*: `worldedit.anvil.cfi` + 1800 | *Desc*: Select a pattern 1801 | 1802 | ==== /cfi color [imageMask|mask] 1803 | 1804 | *Perm*: `worldedit.anvil.cfi` + 1805 | *Desc*: Color the terrain using only blocks + 1806 | Provide an image, or worldedit mask for the 2nd argument to restrict what areas are colored + 1807 | The -w (disableWhiteOnly) will randomly apply depending on the pixel luminance 1808 | 1809 | ==== /cfi image 1810 | 1811 | *Perm*: `worldedit.anvil.cfi` + 1812 | *Desc*: Select an image 1813 | 1814 | ==== /cfi snow [image|mask] 1815 | 1816 | *Perm*: `worldedit.anvil.cfi` + 1817 | *Desc*: Create some snow 1818 | 1819 | ==== /cfi height 1820 | 1821 | *Perm*: `worldedit.anvil.cfi` + 1822 | *Desc*: Set the terrain height either based on an image heightmap, or a numeric value. 1823 | 1824 | ==== /cfi cancel 1825 | 1826 | *Perm*: `worldedit.anvil.cfi` + 1827 | *Desc*: Cancel creation 1828 | 1829 | ==== /cfi biome [image|mask] 1830 | 1831 | *Perm*: `worldedit.anvil.cfi` + 1832 | *Desc*: Set the biome in specific parts of the map. + 1833 | - If an image is used, the biome will have a chance to be set based on how white the pixel is (white #FFF = 100% chance) - The whiteOnly parameter determines if only white values on the image are set - If a mask is used, the biome will be set anywhere the mask applies 1834 | 1835 | ==== /cfi overlay [url|mask] 1836 | 1837 | *Perm*: `worldedit.anvil.cfi` + 1838 | *Desc*: Change the block directly above the floor (default: air) + 1839 | e.g. Tallgrass 1840 | 1841 | ==== /cfi caves 1842 | 1843 | *Perm*: `worldedit.anvil.cfi` + 1844 | *Desc*: Generate vanilla caves 1845 | 1846 | ==== /cfi ore 1847 | 1848 | *Perm*: `worldedit.anvil.cfi` + 1849 | *Desc*: Use a specific pattern and settings to generate ore 1850 | 1851 | ==== /cfi ores 1852 | 1853 | *Perm*: `worldedit.anvil.cfi` + 1854 | *Desc*: Generate the vanilla ores 1855 | 1856 | ==== /cfi download 1857 | 1858 | *Perm*: `worldedit.anvil.cfi` + 1859 | *Desc*: Download the current image 1860 | 1861 | ==== /cfi schem [url] 1862 | 1863 | *Perm*: `worldedit.anvil.cfi` + 1864 | *Desc*: Populate a schematic on the terrain + 1865 | - Change the mask (e.g. angle mask) to only place the schematic in specific locations. + 1866 | - The rarity is a value between 0 and 100. + 1867 | - The distance is the spacing between each schematic 1868 | 1869 | ==== /cfi brush 1870 | 1871 | *Perm*: `worldedit.anvil.cfi` + 1872 | *Desc*: Info about using brushes with CFI 1873 | 1874 | ==== /cfi randomization 1875 | 1876 | *Perm*: `worldedit.anvil.cfi` + 1877 | *Desc*: This is enabled by default, randomization will add some random variation in the blocks used to closer match the provided image. + 1878 | If disabled, the closest block to the color will always be used. + 1879 | Randomization will allow mixing biomes when coloring with biomes 1880 | 1881 | ==== /cfi done 1882 | 1883 | *Perm*: `worldedit.anvil.cfi` + 1884 | *Desc*: Create the world 1885 | 1886 | ==== /cfi column [url|mask] 1887 | 1888 | *Perm*: `worldedit.anvil.cfi` + 1889 | *Desc*: Set the floor and main block 1890 | 1891 | ==== /cfi biomepriority [percent=50] 1892 | 1893 | *Perm*: `worldedit.anvil.cfi` + 1894 | *Desc*: Increase or decrease biome priority when using blockBiomeColor. + 1895 | A value of 50 is the default + 1896 | Above 50 will prefer to color with biomes + 1897 | Below 50 will prefer to color with blocks 1898 | 1899 | ==== /cfi floor [url|mask] 1900 | 1901 | *Perm*: `worldedit.anvil.cfi` + 1902 | *Desc*: Set the floor (default: grass) 1903 | 1904 | ==== /cfi main [url|mask] 1905 | 1906 | *Perm*: `worldedit.anvil.cfi` + 1907 | *Desc*: Set the main block (default: stone) 1908 | 1909 | ==== /cfi smooth [image|mask] 1910 | 1911 | *Perm*: `worldedit.anvil.cfi` + 1912 | *Desc*: Smooth terrain within an image-mask, or worldedit mask + 1913 | - You can use !0 as the mask to smooth everything + 1914 | - This supports smoothing snow layers (set the floor to 78:7) + 1915 | - A good value for radius and iterations would be 1 8. 1916 | 1917 | ==== /cfi complexity 1918 | 1919 | *Perm*: `worldedit.anvil.cfi` + 1920 | *Desc*: Set the complexity for coloring + 1921 | Filter out blocks to use based on their complexity, which is a measurement of how much color variation there is in the texture for that block. + 1922 | Glazed terracotta is complex, and not very pleasant for terrain, whereas stone and wool are simpler textures. + 1923 | Using 0 73 for the min/max would use the simplest 73% of blocks for coloring, and is a reasonable value. 1924 | 1925 | ==== /cfi paletteblocks 1926 | 1927 | *Perm*: `worldedit.anvil.cfi` + 1928 | *Desc*: Allow only specific blocks to be used for coloring + 1929 | `blocks` is a list of blocks e.g. stone,bedrock,wool + 1930 | `#clipboard` will only use the blocks present in your clipboard. 1931 | 1932 | ==== /cfi biomecolor [imageMask|mask] 1933 | 1934 | *Perm*: `worldedit.anvil.cfi` + 1935 | *Desc*: Color the terrain using biomes. + 1936 | Note: Biome coloring does not change blocks: + 1937 | - If you changed the block to something other than grass you will not see anything. 1938 | 1939 | ==== /cfi floorthickness 1940 | 1941 | *Perm*: `worldedit.anvil.cfi` + 1942 | *Desc*: Set the thickness of the top layer + 1943 | - A value of 0 is the default and will only set the top block 1944 | 1945 | ==== /cfi water 1946 | 1947 | *Perm*: `worldedit.anvil.cfi` + 1948 | *Desc*: Change the block used for water + 1949 | e.g. Lava 1950 | 1951 | ==== /cfi tp 1952 | 1953 | *Perm*: `worldedit.anvil.cfi` + 1954 | *Desc*: Teleport to the CFI virtual world 1955 | 1956 | ==== /cfi waterheight 1957 | 1958 | *Perm*: `worldedit.anvil.cfi` + 1959 | *Desc*: Set the level water is generated at + 1960 | Set the level water is generated at + 1961 | - By default water is disabled (with a value of 0) 1962 | 1963 | ==== /cfi glass 1964 | 1965 | *Perm*: `worldedit.anvil.cfi` + 1966 | *Desc*: Color terrain using glass 1967 | 1968 | ==== /cfi populate 1969 | 1970 | *Perm*: `worldedit.anvil.cfi` + 1971 | *Desc*: 1972 | 1973 | ==== /cfi blockbiomecolor [imageMask|mask] 1974 | 1975 | *Perm*: `worldedit.anvil.cfi` + 1976 | *Desc*: Color the terrain using blocks and biomes. + 1977 | Provide an image, or worldedit mask to restrict what areas are colored + 1978 | The -w (disableWhiteOnly) will randomly apply depending on the pixel luminance 1979 | 1980 | ==== /cfi coloring 1981 | 1982 | *Perm*: `worldedit.anvil.cfi` + 1983 | *Desc*: Color the world using an image 1984 | 1985 | ==== /cfi baseid 1986 | 1987 | *Perm*: `worldedit.anvil.cfi` + 1988 | *Desc*: Change the block used for the base + 1989 | e.g. Bedrock 1990 | 1991 | ==== /cfi worldthickness 1992 | 1993 | *Perm*: `worldedit.anvil.cfi` + 1994 | *Desc*: Set the thickness of the generated world + 1995 | - A value of 0 is the default and will not modify the height 1996 | 1997 | ==== /cfi component 1998 | 1999 | *Perm*: `worldedit.anvil.cfi` + 2000 | *Desc*: Components menu 2001 | 2002 | ==== /cfi empty 2003 | 2004 | *Perm*: `worldedit.anvil.cfi` + 2005 | *Desc*: Start CFI with an empty map as a base 2006 | 2007 | ==== /cfi heightmap 2008 | 2009 | *Perm*: `worldedit.anvil.cfi` + 2010 | *Desc*: Start CFI with a height map as a base 2011 | 2012 | ''' 2013 | -------------------------------------------------------------------------------- /sources/basic-commands/nature.adoc: -------------------------------------------------------------------------------- 1 | = Nature 2 | :toc: left 3 | :toclevels: 3 4 | :icons: font 5 | 6 | ===== xref:../README.adoc[🏠 Return to the index] 7 | 8 | == Drain 9 | 10 | This command removes water from a spherical region (picture 1). 11 | 12 | * You must choose a location which contains water to execute this command. This command will drain water from a sphere around you with the defined `radius` with the centre being your current position. 13 | * Note that the command delete only the water in one resource: if you have another pool inside your radius, it will be ignored (picture 2). 14 | * With the argument `-w` you can change the water-logged https://minecraft.gamepedia.com/Block_states[block state] state of blocks to "false". For example, wooden slabs will be "dried" and no longer be water-logged (picture 3). 15 | * With the argument `-p` all of plants which are in the water will be removed (picture 4). 16 | 17 | The middle of the selection in the images below are marked by a yellow block. 18 | 19 | === Usage 20 | `//drain [-w] [-p]` 21 | 22 | === Permission 23 | `worldedit.drain` 24 | 25 | === Visual Examples 26 | 27 | . image:https://i.imgur.com/wnjgiXJ.png[drain.png] 28 | 29 | . image:https://i.imgur.com/YTGLAqx.png[drain_ressource.png] 30 | 31 | . image:https://i.imgur.com/mf5arBW.png[drain-w.png] 32 | 33 | . image:https://i.imgur.com/r1NAWsr.png[drain-p.png] 34 | 35 | == Fixwater 36 | 37 | This command help to generate a water see around you. Additionally, you can fix and exist see (picture 1). 38 | 39 | * You must choose a location which contains water to execute this command. This command will replace air with water from a half sphere around you with the defined `radius` with the center being your current position (picture 2). 40 | * Similar to `//drain` this command will only execute for blocks in the same water pool or hole: if you have another water pool or hole inside your radius, it will be ignored (picture 3). 41 | 42 | The middle of the selection in the images below are marked by a yellow block. 43 | 44 | === Usage 45 | `//fixwater ` 46 | 47 | === Permission 48 | `worldedit.fixwater` 49 | 50 | === Visual Examples 51 | 52 | . image:https://i.imgur.com/eaFTnG0.png[fixwater.png] 53 | 54 | . image:https://i.imgur.com/Krav8oA.png[fixwater-full.png] 55 | 56 | . image:https://i.imgur.com/FBuYNm4.png[fixwater_ressource.png] 57 | 58 | == Fixlava 59 | 60 | This command help to generate a lava see around you. Additionally, you can fix and exist see (picture 1). 61 | 62 | * You must choose a location which contains lava to execute this command. This command will replace air with lava from a half sphere around you with the defined `radius` with the center being your current position (picture 2). 63 | * Similar to `//drain` this command will only execute for blocks in the same lava pool or hole: if you have another lava pool or hole inside your radius, it will be ignored (picture 3). 64 | 65 | The middle of the selection in the images below are marked by a yellow block. 66 | 67 | === Usage 68 | `//fixlava ` 69 | 70 | === Permission 71 | `worldedit.fixlava` 72 | 73 | === Visual Examples 74 | 75 | . image:https://i.imgur.com/wbA3QsB.png[fixlava.png] 76 | 77 | . image:https://i.imgur.com/0zhsjLL.png[fixlava-full.png] 78 | 79 | . image:https://i.imgur.com/zmaFyy7.png[fixlava_ressource.png] 80 | 81 | == Snow 82 | 83 | With this command you generate snow around you (picture 1). 84 | 85 | * The command will execute for a circle with the defined `radius` around you. 86 | * The snow will only generate above the highest block in the X- & Z coordinate, so your Y-coordinate are not matter, and it's easy to change a hilly or mountain region. 87 | * The command will generate snow only above a free solid block. So this command don't remove a grass-plant. 88 | 89 | The middle of the selection in the images below are marked by a yellow block. 90 | 91 | === Usage 92 | `//snow [radius]` 93 | 94 | === Permission 95 | `worldedit.snow` 96 | 97 | === Visual Examples 98 | 99 | . image:https://i.imgur.com/vsXCLVH.png[snow.png] 100 | 101 | == Thaw 102 | 103 | With this command you melt snow around you (picture 1). 104 | 105 | * The command will execute for a circle with the defined `radius` around you. 106 | * The snow will only remove above the highest block in the X- & Z coordinate, so your Y-coordinate are not matter, and it's easy to change a hilly or mountain region. 107 | 108 | The middle of the selection in the images below are marked by a yellow block. 109 | 110 | === Usage 111 | `//thaw [radius]` 112 | 113 | === Permission 114 | `worldedit.thaw` 115 | 116 | === Visual Examples 117 | 118 | . image:https://i.imgur.com/Z5f3djS.png[thaw.png] 119 | -------------------------------------------------------------------------------- /sources/basic-commands/navigation.adoc: -------------------------------------------------------------------------------- 1 | = Navigation 2 | :toc: left 3 | :toclevels: 3 4 | :icons: font 5 | 6 | ===== xref:../README.adoc[🏠 Return to the index] 7 | 8 | == Jumpto 9 | 10 | With this command you teleport you to a specific position. 11 | 12 | * You can manually define the position with the `[world,x,y,z]` option. Else, if undefined, the command will default the target block in your https://minecraft.gamepedia.com/File:HUD_example.png[crosshair]. 13 | * To prevent a stuck you will teleport upstairs of the next solid block in the vertical with two free blocks in the hight for a place to stay (picture 1). 14 | 15 | === Usage 16 | `//jumpto [world,x,y,z]` 17 | 18 | === Permission 19 | `worldedit.navigation.jumpto.command` 20 | 21 | === Visual Example 22 | 23 | . image:https://i.imgur.com/mbeJqzP.png[jumpto-topblock.png] 24 | 25 | == Unstuck 26 | 27 | With this command you can escape from being stuck inside a block. 28 | 29 | * Similar to `//jumpto`, you will teleport to the nearest solid block above (vertically) that also has two air blocks above it. 30 | 31 | === Usage 32 | `//unstuck` 33 | 34 | === Permission 35 | `worldedit.navigation.unstuck` 36 | 37 | == Thru 38 | 39 | With this command you pass through walls in your https://minecraft.gamepedia.com/File:HUD_example.png[crosshair] direction (picture 1). 40 | 41 | * For this command you have to standing before a wall. The maximum teleport distance are 6 blocks. Thus, the wall may be up to 5 blocks deep. 42 | 43 | === Usage 44 | `//thru` 45 | 46 | === Permission 47 | `worldedit.navigation.thru.command` 48 | 49 | === Visual Example 50 | 51 | . image:https://i.imgur.com/SLtpfPv.png[thru.png] 52 | 53 | == Ascend 54 | 55 | With this command you can teleport you up a specify `amount of floors` (picture 1). 56 | 57 | * You will teleport upstairs of the next solid block in the vertical with two free blocks in the height for a place to stay. 58 | * The distance between the floors are irrelevant. 59 | 60 | === Usage 61 | `//ascend [amount of floors]` 62 | 63 | === Permission 64 | `worldedit.navigation.ascend` 65 | 66 | === Visual Example 67 | 68 | . image:https://i.imgur.com/J15EzHi.png[ascend.png] 69 | 70 | == Descend 71 | 72 | With this command you can teleport down a specified `amount of floors` (picture 1). 73 | 74 | * You will teleport downs to the next solid block in the vertical which has two air blocks above it. 75 | * The distance between the floors are irrelevant. 76 | 77 | === Usage 78 | `//descend [amount of floors]` 79 | 80 | === Permission 81 | `worldedit.navigation.descend` 82 | 83 | === Visual Example 84 | 85 | . image:https://i.imgur.com/xB5AD3f.png[descend.png] 86 | 87 | == Up 88 | 89 | With this command you can teleport you upwards with your specify `distance`. 90 | 91 | * By default, you will stand on a glass block to keep you still (picture 1). 92 | 93 | === Usage 94 | `//up [-f] [-g]` 95 | 96 | === Permission 97 | `worldedit.navigation.up` 98 | 99 | === Visual Example 100 | 101 | . image:https://i.imgur.com/9cbxPNP.png[up.png] 102 | 103 | == Ceil 104 | 105 | With this command you can teleport upwards above a ceiling. 106 | 107 | * By default, you will stand on a glass block to keep you still (picture 1). 108 | * With the `clearance` option you can specify a distance between your head and the ceiling. The default distance is 0, so you won't have any clearance above your head. 109 | 110 | === Usage 111 | `//ceil [clearance] [-f] [-g]` 112 | 113 | === Permission 114 | `worldedit.navigation.ceiling` 115 | 116 | === Visual Example 117 | 118 | . image:https://i.imgur.com/Mk82aBk.png[ceil.png] 119 | -------------------------------------------------------------------------------- /sources/basic-commands/selection.adoc: -------------------------------------------------------------------------------- 1 | = Selection 2 | :toc: left 3 | :toclevels: 3 4 | :icons: font 5 | 6 | ===== xref:../README.adoc[🏠 Return to the index] 7 | 8 | == Introduction 9 | 10 | Some FAWE commands require a region selection to work. This command allows you to amend and or remove your current selection. The `selection-type` argument is used to alter the region selected, whether it be to enlarge the selection or to change its shape. 11 | 12 | *Usage:* 13 | `//sel [selection-type]` 14 | 15 | *Aliases:* 16 | `[ deselect, desel, /; ]` 17 | 18 | *Permission:* 19 | `worldedit.analysis.sel` 20 | 21 | == Selection-Types 22 | 23 | === Cuboid 24 | 25 | This most commonly used selection and is the *default type*. The cuboid selection requires two points to be defined. 26 | 27 | image::https://i.imgur.com/vWZJ9Pt.png[sel-cuboid.png] 28 | 29 | 30 | === Extend 31 | 32 | This is an advanced version of the cuboid selection. After the first two points are defined, the selection can be expanded by defining even more point. The final selection will remain a cuboid. 33 | 34 | image::https://i.imgur.com/dcKxjPZ.png[sel-extend.png] 35 | 36 | === Poly 37 | 38 | With this type you get a geometrical selection with a free polygonal border. The height of the polygon is determined by the Y-coordinate of the highest and lowest positions. An infinite amount of points can be defined. The border connects all corners and is sorted by an incrementing number. 39 | 40 | image::https://i.imgur.com/iqC3Cf8.png[sel-poly.png] 41 | 42 | === Ellipsoid 43 | 44 | In this selection, your region is an ellipsoid. The `position 1` argument defines the mid-point, the `position 2` argument is used to alter the length, width and height of the ellipsoid. 45 | 46 | image::https://i.imgur.com/ZIt64eK.png[sel-ellipsoid.png] 47 | 48 | === Sphere 49 | 50 | This selection yields a spherical region. The `position 1` argument defines the mid-point and the `position 2` argument defines the radius. 51 | 52 | image::https://i.imgur.com/gmpDkxI.png[sel-sphere.png] 53 | 54 | === Cyl 55 | 56 | The selection type produces a cylindrical selection. The `position 1` argument defines the mid-point of the cylinder and the `position 2` argument define both the radius and the depth (height) of the cylinder. 57 | 58 | image::https://i.imgur.com/XXhLMpB.png[sel-cyl.png] 59 | 60 | === Polyhedron 61 | 62 | Alias: "Convex" and "Hull" 63 | 64 | With this selection type you get anfree polygonal selection. In different of the `poly` selection, the height isn't determined. 65 | 66 | === Fuzzy 67 | 68 | Alias: "Magic" 69 | 70 | This selection type select all blocks from the same material of your marked block. So if you click at an `orange_wool` block all `orange_wool` blocks in the next near without one block distance are selected. 71 | 72 | * With a left-click you choice the first block / the first material. With the following right-click you add it to your choice. 73 | * It check the neighbor blocks with an path-finder (top, bottom, side-blocks for each block separately) so it doesn't need a radius argument. 74 | 75 | == Selection commands 76 | 77 | === Wand 78 | 79 | Positions are defined in various ways. One of these ways is through the use of a tool-item, by default this is the ubiquitous vanilla `wooden_axe`. Left-clicking a block with the item defines the primary position (aka "pos1") and right click defines the secondary position (aka "pos2"). 80 | 81 | The FAWE tool-item is obtained through the `//wand` command. 82 | 83 | *Usage:* 84 | `//wand` 85 | 86 | *Permission:* 87 | `worldedit.wand` 88 | 89 | === Pos 90 | 91 | A different way to define the selection corner is through the use of the `//pos` commands. If no parameters are specified, the position will be set to the coordinate your standing in (picture). Alternatively, you can define the coordinates explicitly with the `coordinates` argument. The argument follows this syntax: `,,`. You use one value for all three coordinates. 92 | 93 | *Usage:* 94 | `//pos1 [coordinates]` and `//pos2 [coordinates]` 95 | 96 | *Aliases:* 97 | `//1` and `//2` 98 | 99 | *Permission:* 100 | `worldedit.selection.pos` 101 | 102 | *Visual Example:* 103 | 104 | image::https://i.imgur.com/03trNF5.png[sel.png] 105 | 106 | === Hpos 107 | 108 | This is the third way to define the selection corner. This will select the next solid block in your https://minecraft.gamepedia.com/File:HUD_example.png[crosshair]. 109 | 110 | *Usage:* 111 | `//hpos1` and `//hpos2` 112 | 113 | *Permission:* 114 | `worldedit.selection.hpos` 115 | 116 | *Visual Example:* 117 | 118 | image::https://i.imgur.com/hWOvW4t.png[hpos.png] 119 | 120 | === Chunk 121 | 122 | This command changes your selection type to the `cuboid` selection type and selects all the blocks in a given https://minecraft.gamepedia.com/Chunk[chunk]. By default, the chunk you are currently located in will be selected. 123 | 124 | Alternatively, the target chunk can be explicitly defined by either: 125 | 126 | * Passing a block's `x` and `z` coordinate 127 | * Passing valid https://minecraft.gamepedia.com/Chunk#Finding_chunk_edges[chunk coordinates] alongside the `-c` flag. 128 | 129 | The `-s` flag allows you to re-select all chunks of your current selection. 130 | 131 | *Usage:* 132 | 133 | Primary: 134 | 135 | `//chunk` 136 | 137 | Secondary: 138 | 139 | * `//chunk ` 140 | * `//chunk -c` 141 | * `//chunk -s` 142 | 143 | *Permission:* 144 | `worldedit.selection.chunk` 145 | 146 | === Shift 147 | 148 | With the shift command you can shift your selection. In different of the `//move` command you shift not any blocks (see picture). 149 | 150 | * To define your target direction, look to to the direction or use the `direction` argument. The list of valid direction arguments you find https://wiki.intellectualsites.comhttps://github.com/IntellectualSites/FastAsyncWorldEdit-Documentation/wiki/Commands-new#direction-argument[here]. 151 | * With the `amount` argument your specify the amount of block which are moved in the direction. 152 | * An negative `amount` will invert your shift direction. 153 | 154 | *Usage:* 155 | 156 | Primary: 157 | 158 | `//shift ` 159 | 160 | Secondary: 161 | 162 | `//shift ` 163 | 164 | *Visual Example:* 165 | 166 | image::https://i.imgur.com/3ZvSx8F.png[shift.png] 167 | 168 | === Inset 169 | 170 | With this command your decrease your selection with the same amount by all sides (see picture). 171 | 172 | Alternatively, the decrease can be explicitly defined by: 173 | 174 | * The `amount` of block for the horizontal line alongside the `-h` flag 175 | * The `amount` of block for the vertical line alongside the `-v` flag 176 | 177 | *Usage:* 178 | 179 | Primary: 180 | 181 | `//inset ` 182 | 183 | Secondary: 184 | 185 | * `//inset -h` 186 | * `//inset -v` 187 | 188 | *Visual Example:* 189 | 190 | image::https://i.imgur.com/sw0uQdo.png[inset.png] 191 | 192 | === Outset 193 | 194 | With this command your increase your selection with the same amount by all sides (see picture). 195 | 196 | Alternatively, the increase can be explicitly defined by: 197 | 198 | * The `amount` of block for the horizontal line alongside the `-h` flag 199 | * The `amount` of block for the vertical line alongside the `-v` flag 200 | 201 | *Usage:* 202 | 203 | Primary: 204 | 205 | `//outset ` 206 | 207 | Secondary: 208 | 209 | * `//outset -h` 210 | * `//outset -v` 211 | 212 | *Visual Example:* 213 | 214 | image::https://i.imgur.com/tC0LhXY.png[outset.png] 215 | 216 | === Contract 217 | 218 | Comparable to the `inset` command your can decrease your selection - but at here for a specify direction. So the decrease will only execute for one or two sides (see picture). 219 | 220 | * To define your target direction, look to to the direction or use the `direction` argument. The list of valid direction arguments you find https://wiki.intellectualsites.comhttps://github.com/IntellectualSites/FastAsyncWorldEdit-Documentation/wiki/Commands-new#direction-argument[here]. 221 | * With the `amount` argument your specify the amount of block which are decreased. 222 | * An second `reverse-amount` will decrease the selection for the inverted side. 223 | 224 | *Usage:* 225 | 226 | Primary: 227 | 228 | `//contract ` 229 | 230 | Secondary: 231 | 232 | * `//contract ` 233 | * `//contract ` 234 | * `//contract ` 235 | 236 | *Visual Example:* 237 | 238 | image::https://i.imgur.com/ZEB4ocp.png[contract.png] 239 | 240 | === Expand 241 | 242 | Comparable to the `outset` command your can increase your selection - but at here for a specify direction. So the increase will only execute for one or two sides (see picture). 243 | 244 | * To define your target direction, look to to the direction or use the `direction` argument. The list of valid direction arguments you find https://wiki.intellectualsites.comhttps://github.com/IntellectualSites/FastAsyncWorldEdit-Documentation/wiki/Commands-new#direction-argument[here]. 245 | * With the `amount` argument your specify the amount of block which are increased. 246 | * An second `reverse-amount` will decrease the selection for the inverted side. 247 | * With the shortest specification of the expand command `vert`, the selection will increase for all blocks in the vertical line (level 0 - 256). 248 | 249 | *Usage:* 250 | 251 | Primary: 252 | 253 | `//expand ` 254 | 255 | Secondary: 256 | 257 | * `//expand ` 258 | * `//expand ` 259 | * `//expand ` 260 | * `//expand vert` 261 | 262 | *Visual Example:* 263 | 264 | image::https://i.imgur.com/baDkdlZ.png[expand.png] 265 | -------------------------------------------------------------------------------- /sources/configuration/configuration.adoc: -------------------------------------------------------------------------------- 1 | = Configuration 2 | :toc: left 3 | :toclevels: 3 4 | :icons: font 5 | :source-highlighter: coderay 6 | :source-language: YAML 7 | 8 | ===== xref:../README.adoc[🏠 Return to the index] 9 | 10 | == Introduction 11 | 12 | FAWE works well out of the box, but configuration settings in the Limits and Queue Operation sections may be used to fine tune FAWE for your server operation. Refer to the following discussions as well as the comments in the Default Configuration file shown below. 13 | 14 | If you make setting changes and encounter problems with edit operations, return to the default setting values before additional finetuning attempts. To reset the config.yml file, delete it and restart the server or reload FAWE using the `/fawe` command. 15 | 16 | == Asynchronous Operation 17 | 18 | WorldEdit by itself tries to finish each edit operation completely in memory before placing any blocks. WorldEdit also stores undo (history) blocks in memory, which increases memory requirements and with large edits, can cause the server to run out of memory and crash, or cause the edit to fail. 19 | 20 | FAWE provides most of its speed improvements by running each edit operation in a separate asynchronous thread. And it starts placing blocks in the world as soon as they are available rather than waiting for the operation to complete. This lets the overall edit finish much faster. Also, since blocks are placed when available, they don't fill up memory. 21 | 22 | FAWE may also be configured to store Undo (History) blocks on disk, which when used with the other improvements, enables FAWE to make unlimited sized edits with minimal impact. 23 | 24 | == Limits Settings 25 | 26 | These settings enable you to control the maximum WorldEdit block edit sizes for various groups of users. The "`default`" section applies to non--admin users who do not have limit bypass enabled. See *fawe.bypass* and *fawe.admin* permissions for more info. 27 | 28 | You can also define limits for specific groups and enable them using a permission node. See comments in the default config file listing below. 29 | 30 | == Queue Settings 31 | 32 | Settings in this section enable you to fine tune the asynchronous queue operation to affect memory use and editing speed. 33 | 34 | == Local Queues 35 | 36 | FAWE runs each Edit command in a separate asynchronous thread from the main server thread, and queues blocks processed by the edit to a per player local queue. 37 | 38 | Inside the queue, the blocks are ordered by chunks, which enables FAWE to use more efficient chunk optimized algorithms to finally place (dispatch) the blocks into the world. For example, WorldEdit used by itself, performs lighting, and physics, and sends packets, for each block being changed. FAWE on the other hand, using its queue of blocks grouped by chunks, can use more efficient chunk algorithms to place the blocks in the world. 39 | 40 | Local queues begin in the incomplete state when an edit starts. When simple //set or //copy type commands queue blocks, the blocks are ready to be placed. When other commands (e.g. //smooth and //deform) edit blocks, the blocks changed depend on the position of other blocks in the world, and related blocks may be changed multiple times. (Typically, all localized changes are complete within 64 chunks worth of block changes.) 41 | 42 | When the edit has finished, the local queue changes to the Complete state. 43 | 44 | == Global Queues 45 | 46 | FAWE uses a global queue to actually place blocks from all active local queue edits. The global queue prioritizes on insertion order, so older local queues have their blocks placed first. Blocks on the global queue are placed in the world on the main server thread. 47 | 48 | FAWE always places blocks from the Completed local queues first *AND* the list of completed local queues MUST be empty before blocks are placed from incomplete local queues. 49 | 50 | The global queue links to local queues for edits in progress. (Internally this is implemented as two queues -- one for the local queues that are completed, the other for local queues that are incomplete.) 51 | 52 | == Efficiency Improvements 53 | 54 | FAWE also tries to improve efficiency by placing blocks from Incomplete queues when there are no completed queues ready. 55 | 56 | * *target-size* 57 | 58 | FAWE uses *target-size* to regulate placing blocks from incomplete queues and to ensure that there is a reasonable likelihood that the blocks to be placed are stable and not likely to be changed again. 59 | 60 | Some commands such as //smooth and //deform may not smooth or deform properly if they are dispatched while the command is still processing (though these usually don't modify anywhere near 64 chunks). The blocks changed depend on the position of other blocks in the world, and related blocks may be changed multiple times. In this case, the likelihood that any block will be re--modified falls off after around 64 chunks worth of blocks have been queued. This is not an issue with simple operations like //copy and //set, since those blocks are not changed multiple times. 61 | 62 | The global queue will start processing available blocks from still in--process edits if there are no completed local queues waiting to be placed AND there are target--size or more in--process edit chunks queued. 63 | 64 | This setting ensures that blocks from commands like //smooth and //deform are stable, and it also contributes to making sure that the global queue keeps placing available blocks rather than staying idle. 65 | 66 | The default *target-size* value is 64. 67 | 68 | Without *target-size*, running a huge edit with `/fastmode` would normally cause the incomplete queue to fill up faster than the *max-wait-ms* setting could empty it. 69 | 70 | Reducing *target--size* may reduce performance for operations like //smooth and //deform, since time may be wasted re--changing blocks that have already been placed. Also, since these commands depend on the position of other blocks, if the *target--size* is not large enough and blocks from incomplete queues are placed but may be changed later, the final result of blocks placed might be different from if the processing completed before any changes are placed. This would result in the commands not performing properly. So having a large enough *target-size* will avoid this problem. 71 | 72 | Increasing *target-size* is not helpful since most related changes occur in less than 64 chunks processing time. ALSO if set exceptionally large, it would reduce FAWE's ability to recover from exceptionally large edits that would potentially run the server out of memory. 73 | 74 | * *max-wait-ms* 75 | 76 | FAWE is most efficient when placing blocks from edits that have finished processing. However, waiting till completion wastes time and fills memory, therefore, this setting is used to try to keep dispatching blocks from the global queue rather than letting it sit idle while edits haven't finished but blocks are available to place. 77 | 78 | The global queue will start placing blocks from still-processing edits if there are no blocks from completed local queues waiting to be placed AND the global queue remains idle for *max--wait--ms* milliseconds or more. 79 | 80 | The *max--wait--ms* setting also serves as a time--out for chunk load problems. Chunks normally load in much less than a second, so the default *max--wait--ms* value of 1000 ms avoids having edits freeze on chunk load errors. 81 | 82 | Increase it if chunks fail to load in time. 83 | 84 | == Default Configuration File 85 | 86 | The default configuration file is shown below, located in `/plugins/FastAsyncWorldEdit/config.yml` 87 | 88 | [source] 89 | ---- 90 | # These first 6 aren't configurable 91 | issues: "https://github.com/IntellectualSites/FastAsyncWorldEdit/issues" 92 | wiki: "https://github.com/IntellectualSites/FastAsyncWorldEdit-Documentation/wiki" 93 | date: "Sun Feb 27 00:00:00 CET 2022" 94 | build: "https://ci.athion.net/job/FastAsyncWorldEdit/78" 95 | commit: "https://github.com/IntellectualSites/FastAsyncWorldEdit/commit/fd8d6df1" 96 | platform: "Bukkit" 97 | # Set true to enable WorldEdit restrictions per region (e.g. PlotSquared or WorldGuard). 98 | # To be allowed to WorldEdit in a region, users need the appropriate 99 | # fawe. permission. See the Permissions page for supported region plugins. 100 | region-restrictions: true 101 | # FAWE will cancel non admin edits when memory consumption exceeds this % 102 | # - Bypass with `/wea` or `//fast` or `fawe.bypass` 103 | # - Disable with 100 or -1. 104 | max-memory-percent: 95 105 | 106 | # Enable or disable core components 107 | enabled-components: 108 | commands: true 109 | # Show additional information in console. It helps us at IntellectualSites to find out more about an issue. 110 | # Leave it off if you don't need it, it can spam your console. 111 | debug: false 112 | # Whether or not FAWE should notify you on startup about new versions available. 113 | update-notifications: true 114 | 115 | clipboard: 116 | # Store the clipboard on disk instead of memory 117 | # - Will be slightly slower 118 | # - Uses 2 bytes per block 119 | use-disk: true 120 | # Compress the clipboard to reduce the size: 121 | # - TODO: Buffered random access with compression is not implemented on disk yet 122 | # - 0 = No compression 123 | # - 1 = Fast compression 124 | # - 2-17 = Slower compression 125 | # - levels over 6 require ZSTD 1.4.8+ to be installed to the system 126 | compression-level: 1 127 | # Number of days to keep history on disk before deleting it 128 | delete-after-days: 1 129 | # If a player's clipboard should be deleted upon logout 130 | delete-on-logout: false 131 | 132 | lighting: 133 | # If packet sending should be delayed until relight is finished 134 | delay-packet-sending: true 135 | async: true 136 | # The relighting mode to use: 137 | # - 0 = None (Do no relighting) 138 | # - 1 = Optimal (Relight changed light sources and changed blocks) 139 | # - 2 = All (Slowly relight every blocks) 140 | mode: 1 141 | # If existing lighting should be removed before relighting 142 | remove-first: true 143 | 144 | # Generic tick limiter (not necessarily WorldEdit related, but useful to stop abuse) 145 | tick-limiter: 146 | # Enable the limiter 147 | enabled: true 148 | # The interval in ticks 149 | interval: 20 150 | # Max falling blocks per interval (per chunk) 151 | falling: 64 152 | # Max physics per interval (excluding redstone) 153 | physics-ms: 10 154 | # Max item spawns per interval (per chunk) 155 | items: 256 156 | # Whether fireworks can load chunks 157 | # - Fireworks usually travel vertically so do not load any chunks 158 | # - Horizontal fireworks can be hacked in to crash a server 159 | fireworks-load-chunks: false 160 | 161 | web: 162 | # The web interface for clipboards 163 | # - All schematics are anonymous and private 164 | # - Downloads can be deleted by the user 165 | # - Supports clipboard uploads, downloads and saves 166 | url: "https://schem.intellectualsites.com/fawe/" 167 | 168 | extent: 169 | # Don't bug console when these plugins slow down WorldEdit operations 170 | # - You'll see a message in console or ingame if you need to change this option 171 | allowed-plugins: 172 | - "com.example.ExamplePlugin" 173 | # Should debug messages be sent when third party extents are used? 174 | debug: true 175 | 176 | # Experimental options, use at your own risk 177 | # - UNSAFE = Can cause permanent damage to the server 178 | # - SAFE = Can be buggy but unlikely to cause any damage 179 | experimental: 180 | # [UNSAFE] Directly modify the region files. (OBSOLETE - USE ANVIL COMMANDS) 181 | # - IMPROPER USE CAN CAUSE WORLD CORRUPTION! 182 | anvil-queue-mode: false 183 | # [SAFE] Dynamically increase the number of chunks rendered 184 | # - Requires Paper 185 | # - Set your server view distance to 1 (spigot.yml, server.properties) 186 | # - Based on tps and player movement 187 | # - Note: If entities become hidden, increase the server view distance to 3 188 | dynamic-chunk-rendering: -1 189 | # Allows brushes to be persistent (default: true) 190 | persistent-brushes: true 191 | # [SAFE] Keep entities that are positioned in non-air blocks when editing an area 192 | # Might cause client-side FPS lag in some situations 193 | keep-entities-in-blocks: false 194 | # Other experimental features 195 | other: false 196 | # Allow blocks placed by WorldEdit to tick. This could cause the big lags. 197 | # This has no effect on existing blocks one way or the other. 198 | allow-tick-placed: false 199 | # Force re-ticking of existing blocks not edited by FAWE. 200 | # This will increase time taken slightly. 201 | allow-tick-existing: true 202 | # Sets a maximum limit (in kb) for the size of a player's schematics directory (per-player mode only) 203 | # Set to -1 to disable 204 | per-player-file-size-limit: -1 205 | # Sets a maximum limit for the amount of schematics in a player's schematics directory (per-player mode only) 206 | # Set to -1 to disable 207 | per-player-file-num-limit: -1 208 | 209 | # This relates to how FAWE places chunks 210 | queue: 211 | progress: 212 | # Display constant titles about the progress of a user's edit 213 | # - false = disabled 214 | # - title = Display progress titles 215 | # - chat = Display progress in chat 216 | display: "false" 217 | # How often edit progress is displayed 218 | interval: 1 219 | # Delay sending progress in milliseconds (so quick edits don't spam) 220 | delay: 5000 221 | # This should equal the number of processors you have 222 | parallel-threads: 16 223 | # When doing edits that effect more than this many chunks: 224 | # - FAWE will start placing before all calculations are finished 225 | # - A larger value will use slightly less CPU time 226 | # - A smaller value will reduce memory usage 227 | # - A value too small may break some operations (deform?) 228 | # - Values smaller than the configurated parallel threads are not accepted 229 | target-size: 64 230 | # Force FAWE to start placing chunks regardless of whether an edit is finished processing 231 | # - A larger value will use slightly less CPU time 232 | # - A smaller value will reduce memory usage 233 | # - A value too small may break some operations (deform?) 234 | max-wait-ms: 1000 235 | # Increase or decrease queue intensity (ms) [-50,50]: 236 | # 0 = balance of performance / stability 237 | # -10 = Allocate 10ms less for chunk placement 238 | # Too high can cause lag spikes (you might be okay with this) 239 | # Too low will result in slow edits 240 | extra-time-ms: 0 241 | # Loading the right amount of chunks beforehand can speed up operations 242 | # - Low values may result in FAWE waiting on requests to the main thread 243 | # - Higher values use more memory and isn't noticeably faster 244 | # - A good (relatively) safe way to set this is 245 | # - Use 128 x GB of RAM / number of players expected to be using WE at the same time 246 | # - Paper and derivatives only. (requires delay-chunk-unloads-by to be set). 247 | preload-chunk-count: 512 248 | # If pooling is enabled (reduces GC, higher memory usage) 249 | # - Enable to improve performance at the expense of memory 250 | pool: true 251 | # Discard edits which have been idle for a certain amount of time (ms) 252 | # - E.g. A plugin creates an EditSession but never does anything with it 253 | # - This only applies to plugins improperly using WorldEdit's legacy API 254 | discard-after-ms: 60000 255 | # When using fastmode also do not bother to fix existing ticking blocks 256 | no-tick-fastmode: true 257 | 258 | history: 259 | # Should history be saved on disk: 260 | # - Frees up a lot of memory 261 | # - Persists restarts 262 | # - Unlimited undo 263 | # - Does not affect edit performance if `combine-stages` 264 | use-disk: true 265 | # Use a database to store disk storage summaries: 266 | # - Enables inspection and rollback 267 | # - Does not impact performance 268 | use-database: true 269 | # Record history with dispatching: 270 | # - Much faster as it avoids duplicate block checks 271 | # - Slightly worse compression since dispatch order is different 272 | combine-stages: true 273 | # Do not wait for a chunk's history to save before sending it 274 | # - Undo/redo commands will wait until the history has been written to disk before executing 275 | # - Requires combine-stages = true 276 | send-before-history: true 277 | # Higher compression reduces the size of history at the expense of CPU 278 | # 0 = Uncompressed byte array (fastest) 279 | # 1 = 1 pass fast compressor (default) 280 | # 2 = 2 x fast 281 | # 3 = 3 x fast 282 | # 4 = 1 x medium, 1 x fast 283 | # 5 = 1 x medium, 2 x fast 284 | # 6 = 1 x medium, 3 x fast 285 | # 7 = 1 x high, 1 x medium, 1 x fast 286 | # 8 = 1 x high, 1 x medium, 2 x fast 287 | # 9 = 1 x high, 1 x medium, 3 x fast (best compression) 288 | # NOTE: If using disk, do some compression (3+) as smaller files save faster 289 | # - levels over 6 require ZSTD 1.4.8+ to be installed to the system 290 | compression-level: 3 291 | # The buffer size for compression: 292 | # - Larger = better ratio but uses more upfront memory 293 | # - Must be in the range [64, 33554432] 294 | buffer-size: 531441 295 | # The maximum time in milliseconds to wait for a chunk to load for an edit. 296 | # (50ms = 1 server tick, 0 = Fastest). 297 | # The default value of 100 should be safe for most cases. 298 | # 299 | # Actions which require loaded chunks (e.g. copy) which do not load in time 300 | # will use the last chunk as filler, which may appear as bands of duplicated blocks. 301 | # Actions usually wait about 25-50ms for the chunk to load, more if the server is lagging. 302 | # A value of 100ms does not force it to wait 100ms if the chunk loads in 10ms. 303 | # 304 | # This value is a timeout in case a chunk is never going to load (for whatever odd reason). 305 | # If the action times out, the operation continues by using the previous chunk as filler, 306 | # and displaying an error message. In this case, either copy a smaller section, 307 | # or increase chunk-wait-ms. 308 | # A value of 0 is faster simply because it doesn't bother loading the chunks or waiting. 309 | chunk-wait-ms: 1000 310 | # Delete history on disk after a number of days 311 | delete-after-days: 7 312 | # Delete history in memory on logout (does not effect disk) 313 | delete-on-logout: true 314 | # If history should be enabled by default for plugins using WorldEdit: 315 | # - It is faster to have disabled 316 | # - Use of the FAWE API will not be effected 317 | enable-for-console: true 318 | # Should redo information be stored: 319 | # - History is about 20% larger 320 | # - Enables use of /redo 321 | store-redo: true 322 | # Assumes all edits are smaller than 4096x256x4096: 323 | # - Reduces history size by ~10% 324 | small-edits: false 325 | 326 | # Paths for various directories 327 | paths: 328 | # Put any minecraft or mod jars for FAWE to be aware of block textures 329 | textures: "textures" 330 | heightmap: "heightmap" 331 | history: "history" 332 | # Multiple servers can use the same clipboards 333 | # - Use a shared directory or NFS/Samba 334 | clipboard: "clipboard" 335 | # Each player has his or her own sub directory for schematics 336 | per-player-schematics: false 337 | 338 | # Region restriction settings 339 | region-restrictions-options: 340 | # What type of users are allowed to WorldEdit in a region 341 | # - MEMBER = Players added to a region 342 | # - OWNER = Players who own the region 343 | mode: "MEMBER" 344 | # Allow region blacklists. 345 | # - Currently only implemented for WorldGuard 346 | # - see region-restrictions-options.worldguard-region-blacklist 347 | allow-blacklists: false 348 | # List of plugin mask managers that should be exclusive. Exclusive managers are not 349 | # checked for edit restrictions if another manager already allowed an edit, and further 350 | # managers are not checked if an exclusive manager allows an edit. 351 | # - May be useful to add PlotSquared if using both P2 and WorldGuard on a server 352 | # - Some custom-implementations in other plugins may override this setting 353 | exclusive-managers: 354 | - "ExamplePlugin" 355 | # If a worldguard-protected world should be considered as a region blacklist. 356 | # - This will create a blacklist of regions where an edit cannot operate. 357 | # - Useful for a "freebuild" worlds with few protected areas. 358 | # - May cause performance loss with large numbers of protected areas. 359 | # - Requires region-restrictions-options.allow-blacklists be true. 360 | # - Will still search for current allowed regions to limit the edit to. 361 | # - Any blacklist regions are likely to override any internal allowed regions. 362 | worldguard-region-blacklist: false 363 | # The "default" limit group affects those without a specific limit permission. 364 | # To grant someone different limits, copy the default limits group 365 | # and give it a different name (e.g. newbie). Then give the user the limit 366 | # permission node with that limit name (e.g. fawe.limit.newbie ) 367 | limits: 368 | default: 369 | # Max actions that can be run concurrently (i.e. commands) 370 | max-actions: 1 371 | # Max number of block changes (e.g. by `//set stone`). 372 | max-changes: 50000000 373 | # Max number of blocks checked (e.g. `//count stone` which doesn't change blocks) 374 | max-checks: 50000000 375 | # Number of times a change can fail (e.g. if the player can't access that region) 376 | max-fails: 50000000 377 | # Allowed brush iterations (e.g. `//brush smooth`) 378 | max-iterations: 1000 379 | # Max allowed entities (e.g. cows) 380 | max-entities: 1337 381 | # Blockstates include Banner, Beacon, BrewingStand, Chest, CommandBlock, 382 | # CreatureSpawner, Dispenser, Dropper, EndGateway, Furnace, Hopper, Jukebox, 383 | # NoteBlock, Sign, Skull, Structure 384 | max-blockstates: 1337 385 | # Maximum size of the player's history in Megabytes: 386 | # - History on disk or memory will be deleted 387 | max-history-mb: -1 388 | # Maximum time in milliseconds //calc can execute 389 | max-expression-ms: 50 390 | # Cinematic block placement: 391 | # - Adds a delay to block placement (nanoseconds/block) 392 | # - Having an artificial delay will use more CPU/Memory 393 | speed-reduction: 0 394 | # Place chunks instead of individual blocks: 395 | # - Disabling this will negatively impact performance 396 | # - Only disable this for compatibility or cinematic placement 397 | fast-placement: true 398 | # Should WorldEdit use inventory? 399 | # 0 = No inventory usage (creative) 400 | # 1 = Inventory for removing and placing (freebuild) 401 | # 2 = Inventory for placing (survival) 402 | inventory-mode: 0 403 | # Should large edits require confirmation (>16384 chunks) 404 | confirm-large: true 405 | # If undo and redo commands should be restricted to allowed regions 406 | # - Prevents scenarios where players can delete/reset a region, and then continue to undo/redo on it 407 | restrict-history-to-regions: true 408 | # List of nbt tags to strip from blocks, e.g. Items 409 | strip-nbt: [] 410 | # If the disallowed blocks listed in worldedit-config.yml should be disallowed in all edits, 411 | # not just where blocks patterns are used. 412 | # - Can prevent blocks being pasted from clipboards, etc. 413 | # - If fast-placement is disabled, this may cause edits to be slower. 414 | universal-disallowed-blocks: true 415 | # List of blocks to deny use of. Can be either an entire block type or a block with a specific property value. 416 | # Where block properties are specified, any blockstate with the property will be disallowed (i.g. all directions 417 | # of a waterlogged fence). For blocking/remapping of all occurence of a property like waterlogged, see 418 | # remap-properties below. 419 | # Example block property blocking: 420 | # - "minecraft:conduit[waterlogged=true]" 421 | # - "minecraft:piston[extended=false,facing=west]" 422 | # - "minecraft:wheat[age=7]" 423 | disallowed-blocks: 424 | - "minecraft:wheat" 425 | - "minecraft:fire" 426 | - "minecraft:redstone_wire" 427 | # List of block properties that should be remapped if used in an edit. Entries should take the form 428 | # "property_name[value1_old:value1_new,value2_old:value2_new]". For example: 429 | # - "waterlogged[true:false]" 430 | # - "age[7:4,6:4,5:4]" 431 | # - "extended[true:false]" 432 | remap-properties: [] 433 | ---- 434 | -------------------------------------------------------------------------------- /sources/configuration/permissions.adoc: -------------------------------------------------------------------------------- 1 | = Permissions 2 | :toc: left 3 | :toclevels: 3 4 | :icons: font 5 | 6 | ===== xref:../README.adoc[🏠 Return to the index] 7 | 8 | [TIP] 9 | *Info:* For command related permissions: xref:../basic-commands/main-commands-and-permissions.adoc[see here] 10 | 11 | == Admin permissions 12 | 13 | * `fawe.admin` (allow bypassing through `/wea` command) 14 | * `fawe.bypass` (automatically bypass worldedit restrictions) 15 | * `worldedit.anyblock` (bypass worldedit's `disallowed-blocks`) 16 | * `worldedit.inventory.unrestricted` (bypass inventory restrictions if those are enabled) 17 | 18 | == User permissions: 19 | 20 | * `fawe.limit.` (Grants the user the specific group of limits.) 21 | * https://github.com/IntellectualSites/FastAsyncWorldEdit/blob/main/worldedit-bukkit/src/main/resources/plugin.yml#L31[`fawe.permpack.basic`] (A bunch of worldedit perms which are okay to use on a creative server) 22 | * `worldedit.navigation.jumpto.tool` (Access to the jumpto wand) 23 | * `worldedit.navigation.thru.tool` (Access to the thru wand) 24 | 25 | == Region permissions: 26 | 27 | FAWE by default is restricted to regions, this is useful for servers wanting to give ordinary players access to WorldEdit. To enable region restrictions, set config setting `region-restrictions` true, and give players the appropriate region permission. If you want an admin to be able to WorldEdit anywhere using `//wea` command, give them the `fawe.admin` permission. 28 | 29 | * `fawe.plotsquared` - Allow PlotSquared owners (`+/plot setowner ...+`) and trusted (`+/plot trust ...+`) to use WorldEdit. NOTE: This permission is activated by default in the https://github.com/IntellectualSites/FastAsyncWorldEdit/blob/e40a657faf993536133b2e1bbe771a5c96619bd7/worldedit-bukkit/src/main/resources/plugin.yml#L14-L17[plugin.yml] ! For a permission override it is advised to use this permission instead of the child `fawe.plotsquared.trusted` because of a higher prioritization. 30 | * `fawe.plotsquared.member` - Allows PlotSquared members (`+/plot add ...+`) to use WorldEdit. 31 | * `fawe.plotsquared.admin` - Allows WorldEdit in any PlotSquared plots (but not on roads). 32 | * `fawe.griefprevention` 33 | * `fawe.plotme` 34 | * `fawe.towny` 35 | * `fawe.towny.member` 36 | * `fawe.towny.*` 37 | * `fawe.worldguard` - Allow WorldGuard region owners (`+/rg addowner ...+`) to use WorldEdit. 38 | * `fawe.worldguard.member` - Allow WorldGuard region members (`+/rg addmember ...+`) to use WorldEdit. 39 | * `fawe.worldguardextraflags` - If you've installed WorldGuard Extra Flags this permission is also used. 40 | 41 | == Extended WorldEdit permissions: 42 | 43 | * `worldedit.schematic.load.other` (allow loading of schematics in the main schematics folder via `../` when per-player-schematics are enabled) 44 | * `worldedit.schematic.save.other` (allow saving of schematics in the main schematics folder via `../` when per-player-schematics are enabled) 45 | -------------------------------------------------------------------------------- /sources/docinfo-footer.adoc: -------------------------------------------------------------------------------- 1 | image:https://img.shields.io/badge/dynamic/json.svg?url=https://api.spiget.org/v2/resources/13932&label=Spigot-Downloads&query=$.downloads&colorB=ee8a18&style=flat-square&maxAge=3600[Spigot Downloads,link=https://www.spigotmc.org/resources/13932/] 2 | image:https://img.shields.io/badge/dynamic/json.svg?url=https://api.spiget.org/v2/resources/13932&label=Rating&query=$.rating.average&colorB=00AB66&style=flat-square&maxAge=3600[Spigot Rating,link=https://www.spigotmc.org/resources/13932/] 3 | image:https://img.shields.io/discord/268444645527126017.svg?style=flat-square&maxAge=3600&colorB=7289DA[Discord,link=https://discord.gg/intellectualsites] 4 | -------------------------------------------------------------------------------- /sources/installation/installation.adoc: -------------------------------------------------------------------------------- 1 | = Installation 2 | :toc: left 3 | :toclevels: 3 4 | :icons: font 5 | 6 | :source-highlighter: coderay 7 | :source-language: YAML 8 | 9 | ===== xref:../README.adoc[🏠 Return to the index] 10 | 11 | == Initial Setup 12 | 13 | * https://www.spigotmc.org/resources/13932/[Download the plugin] 14 | * Put "FastAsyncWorldEdit.jar" into your `plugins` folder 15 | * Reboot the server and FAWE will generate all necessary files. 16 | 17 | [WARNING] 18 | Make sure your server has been launched with https://adoptium.net/[Java 17]. 19 | 20 | [WARNING] 21 | Do not install WorldEdit! FAWE is a direct replacement. 22 | 23 | == Third Party Plugin Support 24 | 25 | === Region Restrictions Systems 26 | 27 | The following region restriction plugins are supported natively by us. Other third party plugins may not be listed: 28 | 29 | * https://www.spigotmc.org/resources/factionsuuid.1035/[FactionsUUID] 30 | * https://www.spigotmc.org/resources/68900/[GriefDefender] 31 | * https://www.spigotmc.org/resources/griefprevention.1884/[GriefPrevention] 32 | * https://www.spigotmc.org/resources/plotsquared-v6.77506/[PlotSquared v6] 33 | * https://www.spigotmc.org/resources/towny-advanced.72694/[Towny] 34 | * https://dev.bukkit.org/projects/worldguard[WorldGuard] 35 | 36 | [TIP] 37 | This can be disabled in the config or bypassed with the `/wea` command or the `fawe.bypass` permission. 38 | 39 | === Other Plugins 40 | 41 | We also offer an asynchronous version of VoxelSniper that follows the restriction of FAWE: 42 | https://dev.bukkit.org/projects/favs[FastAsyncVoxelSniper] 43 | 44 | == Logging and Rollback 45 | 46 | Enable `use-disk` and `use-database` in the `config.yml` to use the in built FAWE logging / rollback. 47 | 48 | [TIP] 49 | It is safe to give normal players access to FAWE rollback. To bypass logging use `//fast`. 50 | -------------------------------------------------------------------------------- /sources/masks/masks.adoc: -------------------------------------------------------------------------------- 1 | = Masks 2 | :toc: left 3 | :toclevels: 3 4 | :icons: font 5 | 6 | ===== xref:../README.adoc[🏠 Return to the index] 7 | 8 | == Introduction 9 | 10 | [NOTE] 11 | This page is currently being revised. 12 | 13 | == Masks 14 | 15 | *To learn about basic masks that WorldEdit offers please click https://worldedit.readthedocs.io/en/latest/usage/general/masks/[here].* 16 | 17 | A mask is a restriction on an edit for when blocks are placed e.g. only replace blocks below stone. Global masks apply to all edits, brush masks apply to just the current brush. 18 | 19 | ''' 20 | 21 | == Syntax 22 | 23 | === Blocks 24 | 25 | Use the name or id of a block (e.g. `stone`). 26 | 27 | === Multiple masks 28 | 29 | Use `,`(OR) or `&`(AND) to separate multiple masks. e.g. `grass_block,$desert` 30 | 31 | === Arguments 32 | 33 | Mask arguments should be inside square brackets e.g. `#offset[0][5][3]` 34 | 35 | == Setting a mask 36 | 37 | 38 | === //gmask [masks...] 39 | 40 | Perm: `worldedit.global-mask` 41 | Desc: This command applies a mask(s) to all your WorldEdit actions globally. This command masks based on the destination blocks (i.e. the blocks in the world). 42 | 43 | === //gsmask [masks...] 44 | 45 | Perm: `worldedit.global-mask` + 46 | Desc: The global source mask applies to all edits you do and masks based on the source blocks (e.g. the blocks in your clipboard) 47 | 48 | === //mask [masks...] 49 | 50 | Perm: `worldedit.brush.options.mask` + 51 | Desc: Set the brush destination mask 52 | 53 | === //smask [masks...] 54 | 55 | Perm: `worldedit.brush.options.mask` + 56 | Desc: Set the brush source mask 57 | 58 | ''' 59 | 60 | == Mask list 61 | 62 | === #offset 63 | 64 | *Desc*: Offset a mask 65 | 66 | === % 67 | 68 | *Desc*: percentage chance 69 | 70 | === #id 71 | 72 | *Desc*: Restrict to initial id 73 | 74 | === #existing 75 | 76 | *Desc*: If there is a non air block 77 | 78 | === #data 79 | 80 | *Desc*: Restrict to initial data 81 | 82 | === { 83 | 84 | *Desc*: Restricts blocks to within a specific radius range of the initial block 85 | 86 | === #surface 87 | 88 | *Desc*: Restrict to surfaces (any solid block touching air) 89 | 90 | === = 91 | 92 | *Desc*: expression mask 93 | 94 | === ! 95 | 96 | *Desc*: Negate another mask 97 | 98 | === $ 99 | 100 | *Desc*: in a specific biome. For a list of biomes use //biomelist 101 | 102 | === #region 103 | 104 | *Desc*: inside the provided selection 105 | 106 | === ~ [min=1] [max=8] 107 | 108 | *Desc*: Adjacent to a specific number of other blocks 109 | 110 | === / 111 | 112 | *Desc*: Restrict to specific terrain angle + 113 | The -o flag will only overlayExample: /[0d][45d] + 114 | Explanation: Allows any block where the adjacent block is between 0 and 45 degrees. + 115 | Example: /[3][20] + 116 | Explanation: Allows any block where the adjacent block is between 3 and 20 blocks below 117 | 118 | === #dregion 119 | 120 | *Desc*: inside the player's selection 121 | 122 | === #xaxis 123 | 124 | *Desc*: Restrict to initial x axis 125 | 126 | === #liquid 127 | 128 | *Desc*: If there is a solid block 129 | 130 | === true 131 | 132 | *Desc*: Always true 133 | 134 | === false 135 | 136 | *Desc*: Always false 137 | 138 | === > 139 | 140 | *Desc*: above a specific block 141 | 142 | === #wall 143 | 144 | *Desc*: Restrict to walls (any block n,e,s,w of air) 145 | 146 | === #zaxis 147 | 148 | *Desc*: Restrict to initial z axis 149 | 150 | === #yaxis 151 | 152 | *Desc*: Restrict to initial y axis 153 | 154 | === < 155 | 156 | *Desc*: below a specific block 157 | 158 | === #simplex ` 159 | 160 | *Desc*: Use simplex noise as the mask 161 | 162 | === #solid 163 | 164 | *Desc*: If there is a solid block 165 | 166 | === #surfaceangle[min][max][depth] (material) 167 | 168 | *Desc*: Replace the surface of blocks 169 | -------------------------------------------------------------------------------- /sources/patterns/patterns.adoc: -------------------------------------------------------------------------------- 1 | = Patterns 2 | :toc: left 3 | :toclevels: 3 4 | :icons: font 5 | 6 | ===== xref:../README.adoc[🏠 Return to the index] 7 | 8 | == Introduction 9 | 10 | [NOTE] 11 | This page is currently being revised. 12 | 13 | Patterns are used in various commands when changing blocks. e.g. `//set ` and `//material ` 14 | 15 | == Syntax 16 | 17 | === Blocks 18 | 19 | Use the name or id of a block (e.g. `stone`). 20 | 21 | === Inventory 22 | 23 | You can use `hand`, or e.g. `slot5` to use blocks from your inventory. 24 | 25 | === Multiple patterns 26 | 27 | Use a comma (`,`) to randomly use a block from multiple patterns. For specific ratios you can use `%` e.g. `80%stone,20%planks` 28 | 29 | === Arguments 30 | 31 | Pattern arguments should be inside square brackets e.g. `#simplex[10][stone,wood]` 32 | 33 | == Pattern list 34 | 35 | === #offset 36 | 37 | *Desc*: Offset a pattern 38 | 39 | === #mask 40 | 41 | *Desc*: Apply a pattern depending on a mask 42 | 43 | === #spread 44 | 45 | *Desc*: Randomly spread blocks 46 | 47 | === #buffer 48 | 49 | *Desc*: Only place a block once while a pattern is in use + 50 | Use with a brush when you don't want to apply to the same spot twice 51 | 52 | === #color 53 | 54 | *Desc*: Use the block closest to a specific color 55 | 56 | === #clipboard 57 | 58 | *Desc*: Use the blocks in your clipboard as the pattern 59 | 60 | === #existing 61 | 62 | *Desc*: Use the block that is already there 63 | 64 | === #biome 65 | 66 | *Desc*: Set the biome 67 | 68 | === = 69 | 70 | *Desc*: Expression pattern: http://wiki.sk89q.com/wiki/WorldEdit/Expression_syntax 71 | 72 | === #relative 73 | 74 | *Desc*: Offset the pattern to where you click 75 | 76 | === #saturate 77 | 78 | *Desc*: Saturate the existing block with a color 79 | 80 | === #darken 81 | 82 | *Desc*: Darken the existing block 83 | 84 | === #anglecolor 85 | 86 | *Desc*: A darker block based on the existing terrain angle 87 | 88 | === #desaturate 89 | 90 | *Desc*: Desaturated color of the existing block 91 | 92 | === #averagecolor 93 | 94 | *Desc*: Average between the existing block and a color 95 | 96 | === #fullcopy [schem|folder|url=#copy] [rotate=false] [flip=false] 97 | 98 | *Desc*: Places your full clipboard at each block 99 | 100 | === #buffer2d 101 | 102 | *Desc*: Only place a block once in a column while a pattern is in use 103 | 104 | === #angledata 105 | 106 | *Desc*: Block data based on the existing terrain angle 107 | 108 | === #lighten [randomize=true] [max-complexity=100] 109 | 110 | *Desc*: Lighten the existing block 111 | 112 | === #!x 113 | 114 | *Desc*: The pattern will not be provided the z axis info. + 115 | Example: #!x[#!z[#~[#l3d[pattern]]]] 116 | 117 | === #surfacespread 118 | 119 | *Desc*: Applies to only blocks on a surface. Selects a block from provided pattern with a given ranomized offset [0, ++++++). e.g. Use `#existing` to randomly offset blocks in the world, or `#copy` to offset blocks in your clipboard++++++ 120 | 121 | === #solidspread 122 | 123 | *Desc*: Randomly spread solid blocks 124 | 125 | === #linear2d [xscale=1] [zscale=1] 126 | 127 | *Desc*: Use the x,z coordinate to pick a block from the list 128 | 129 | === #!y 130 | 131 | *Desc*: The pattern will not be provided the y axis info 132 | 133 | === #linear3d [xscale=1] [yscale=1] [zscale=1] 134 | 135 | *Desc*: Use the x,y,z coordinate to pick a block from the list 136 | 137 | === #linear 138 | 139 | *Desc*: Sequentially set blocks from a list of patterns 140 | 141 | === #!z 142 | 143 | *Desc*: The pattern will not be provided the z axis info 144 | 145 | === #simplex 146 | 147 | *Desc*: Use simplex noise to randomize blocks 148 | 149 | === #perlin 150 | 151 | *Desc*: Use perlin noise to randomize blocks 152 | 153 | === #rmf 154 | 155 | *Desc*: Use ridged multi-fractal noise to randomize blocks 156 | 157 | === #voronoi 158 | 159 | *Desc*: Use voronoi noise to randomize blocks 160 | -------------------------------------------------------------------------------- /sources/transforms/transforms.adoc: -------------------------------------------------------------------------------- 1 | = Transforms 2 | :toc: left 3 | :toclevels: 3 4 | :icons: font 5 | 6 | ===== xref:../README.adoc[🏠 Return to the index] 7 | 8 | [NOTE] 9 | This page is currently being revised. 10 | 11 | == Introduction 12 | 13 | A transformation can be applied to a brush or globally to modify where and how blocks are changed. 14 | 15 | == Syntax 16 | 17 | === Multiple transforms 18 | 19 | Use a comma (`,`) to randomly use a transform from a list e.g. `#offset[0][1][0],#pattern[stone]` (offset the block one up, OR change it to stone) 20 | 21 | Use an ampersand (`&`) to use multiple transforms for each block e.g. `#offset[0][1][0]&#pattern[stone]` (offset the block one up AND change it to stone) 22 | 23 | === Arguments 24 | 25 | Transform arguments should be inside square brackets e.g. `#offset[0][1][0]` 26 | 27 | === Setting a transform 28 | 29 | ==== //gtransform [transforms...] 30 | 31 | Perm: `worldedit.global-transform` + 32 | Desc: Set the global mask 33 | 34 | ==== //transform [transform...] 35 | 36 | Perm: `worldedit.brush.options.transform` + 37 | Desc: Set the brush mask (separate multiple masks by spaces ` ` or colons `:`) 38 | 39 | == Transform List 40 | 41 | === #offset [transform] 42 | 43 | *Desc*: Offset transform 44 | 45 | === #rotate [transform] 46 | 47 | *Desc*: All changes will be rotated around the initial position 48 | 49 | === #scale [transform] 50 | 51 | *Desc*: All changes will be scaled 52 | 53 | === #pattern [transform] 54 | 55 | *Desc*: Always use a specific pattern 56 | 57 | === #linear3d 58 | 59 | *Desc*: Use the x,y,z coordinate to pick a transform from the list 60 | 61 | === #linear 62 | 63 | *Desc*: Sequentially pick from a list of transform 64 | 65 | === #spread [transform] 66 | 67 | *Desc*: Random offset transform 68 | --------------------------------------------------------------------------------