Cuberite Forum
WorldEdit - Printable Version

+- Cuberite Forum (https://forum.cuberite.org)
+-- Forum: Plugins (https://forum.cuberite.org/forum-1.html)
+--- Forum: Plugin Releases (https://forum.cuberite.org/forum-2.html)
+--- Thread: WorldEdit (/thread-870.html)

Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18


WorldEdit - NiLSPACE - 05-03-2013

This plugin allows you to easily manage the world, edit the world, navigate around or get information. It bears similarity to the Bukkit's WorldEdit plugin and aims to have the same set of commands,however, it has no affiliation to that plugin.

Permission from sk89q:

   


Saving schematic to cubeset:

Saving to Cubeset files
Cuberite can generate single structures using its SinglePieceStructures generator. This generator uses preset areas which are saved in the Prefab/SinglePieceStructures folder. The files in this folder are Cubeset files which is a custom file format made by Cuberite's developers which stores the blocks, but also additional information like how spread out each structure has to be and in which biome(s) they can spawn. WorldEdit is able to generate these files though while Cubeset files can contain more than one structure WorldEdit only generates one per file. If you want more advanced cubeset files or create multi-piece structures you will have to use the Gallery and GalExport plugin. These plugins were used for example to create the cubeset files for villages and (nether) fortresses.

WorldEdit generates schematic files using the '//schematic save [format] (filename) [options...]' command. This command takes your current clipboard and saves it as the requested format in the "schematics" folder. By default this command uses the mcedit format with the ".schematic" extension. This is the default because most external programs use this format. In order to generate cubeset files you have to explicitly specify that you want the cubeset format. A valid command would look like this: "//schematic save cubeset myfile".

There are numerous adittional options which can be changed to modify how Cuberite's SinglePieceStructures generator handles the structure. The most important of these are:
  • AllowedBiomes In which biomes can the structure generate. If not specified it can generate in every biome.

  • GridSize What is the space between structures on the grid.

  • MaxOffset Used to make the placement less predictable. What is the maximum distance a structure can deviate from the grid.

  • piece.VerticalStrategy How should the generator determine the Y (vertical) coordinate. The choices for this option are listed below.

  • piece.ExpandFloorStrategy What should the generator do with the lowest layer once the piece is placed. The choices for this option are listed below.

  • piece.VerticalStrategy How should the generator determine the Y (vertical) coordinate. Sometimes a the options require one or more extra parameters. These parameters are added and then separated using a pipe character "|"

  • Range|Min|Max Places the structure between the provided min and max parameters. Requires two parameters.

  • TerrainOrOceanTop|Offset Places the structure on the highest terrain or on ocean level. Requires one extra parameter with an offset.

  • TerrainTop|Offset Places the structure on the highest terrain. This can also be underwater. Requires one extra parameter with an offset.

  • Fixed|Height Always places the structure at the exact height.

  • piece.ExpandFloorStrategy What should the generator do with the lowest layer once the piece is placed.

  • RepeatBottomTillNonAir Repeats every block of the lowest layer downwards until a non-air block is reached.

  • RepeatBottomTillNonSolid Repeats every block of the lowest layer downwards until a non-solid block is reached. This will make it go through water and foliage.

  • None Don't repeat the lowest layer at all.

Loading Cubeset files to clipboard
WorldEdit can also load cubeset files back into the users clipboard. This is done using the "//schematic load (filename) [options...]". If there are multiple structures in the cubeset file then it's possible to specify which one using "pieceIdx=(number)". Do note though that WorldEdit will only look in the "schematics" folder.

Loading Cubeset file in Cuberite's world generator
After saving your clipboard to a cubeset file it's possible to load it in the world generator. First you have to copy the file from the "schematics" folder into "Prefabs/SinglePieceStructures" and then enabling it in your world's world.ini file. This is done by adding "SinglePieceStructures: (CubesetFilename)" into your world.ini's Finishers list.


Commands

Biome
Any biome specific commands.
  • //setbiome - Set the biome of the region
    Permission required: worldedit.biome.set

    /biomeinfo - Get the biome of the targeted block(s)
    Permission required: worldedit.biome.info

    /biomelist - Gets all biomes available
    Permission required: worldedit.biomelist


Brush
  • /brush - Brush commands
    Permission required:

    /brush cylinder - Switch to the cylinder brush tool
    Permission required: worldedit.brush.cylinder

    /brush sphere - Switch to the sphere brush tool
    Permission required: worldedit.brush.sphere

    /mask - Set the brush mask
    Permission required: worldedit.brush.options.mask


Clipboard
All the commands that have anything todo with a players clipboard.
  • //copy - Copy the selection to the clipboard
    Permission required: worldedit.clipboard.copy

    //cut - Cut the selection to the clipboard
    Permission required: worldedit.clipboard.cut

    //paste - Pastes the clipboard's contents
    Permission required: worldedit.clipboard.paste

    //rotate - Rotates the contents of the clipboard
    Permission required: worldedit.clipboard.rotate


Entities
  • /butcher - Kills nearby mobs based on the given radius, if no radius is given it uses the default in configuration
    Permission required: worldedit.butcher

    /remove - Removes all entities of a type
    Permission required: worldedit.remove


Generation
Commands that generates structures.
  • //cyl - Generates a cylinder
    Permission required: worldedit.generation.cylinder

    //generate - Generates a shape according to a formula
    Permission required: worldedit.generation.shape

    //hcyl - Generates a hollow cylinder
    Permission required: worldedit.selection.cylinder

    //hpyramid - Generate a hollow pyramid
    Permission required: worldedit.generation.pyramid

    //hsphere - Generates a hollow sphere
    Permission required: worldedit.generation.hsphere

    //pyramid - Generate a filled pyramid
    Permission required: worldedit.generation.pyramid

    //sphere - Generates a filled sphere
    Permission required: worldedit.generation.sphere


History
Commands that can undo/redo past WorldEdit actions.
  • //redo - Redoes the last action (from history)
    Permission required: worldedit.history.redo

    //undo - Undoes the last action
    Permission required: worldedit.history.undo


Navigation
Commands that helps the player moving to locations.
  • /ascend - Go up a floor
    Permission required: worldedit.navigation.ascend

    /ceil - Go to the celing
    Permission required: worldedit.navigation.ceiling

    /descend - Go down a floor
    Permission required: worldedit.navigation.descend

    /jumpto - Teleport to a location
    Permission required: worldedit.navigation.jumpto.command

    /thru - Passthrough walls
    Permission required: worldedit.navigation.thru.command

    /up - Go upwards some distance
    Permission required: worldedit.navigation.up


Region
Commands in this category will allow the player to edit the region he/she has selected using //pos[1/2] or using the wand item.
  • //addleaves - Adds leaves next to log blocks
    Permission required: worldedit.region.addleaves

    //ellipsoid - Creates an ellipsoid in the selected region
    Permission required: worldedit.region.ellipsoid

    //faces - Build the walls, ceiling, and floor of a selection
    Permission required: worldedit.region.faces

    //leafdecay - Removes all the leaves in the selection that would decay
    Permission required: worldedit.region.leafdecay

    //mirror - Mirrors the selection by the specified plane
    Permission required: worldedit.region.mirror
    The following parameter combinations are recognized:
    //mirror plane - Mirrors the selection by the specified plane

    //replace - Replace all the blocks in the selection with another
    Permission required: worldedit.region.replace

    //set - Set all the blocks inside the selection to a block
    Permission required: worldedit.region.set

    //stack - Repeat the contents of the selection
    Permission required: worldedit.region.stack

    //vmirror - Mirrors the selection vertically
    Permission required: worldedit.region.vmirror

    //walls - Build the four sides of the selection
    Permission required: worldedit.region.walls


Schematic
Commands that load or save schematic's
  • //schematic formats - List available schematic formats
    Permission required: worldedit.schematic.list

    //schematic list - List available schematics
    Permission required: worldedit.schematic.list

    //schematic load - Loads the given schematic file
    Permission required: worldedit.schematic.load

    //schematic save - Saves the current clipboard to a file with the given filename
    Permission required: worldedit.schematic.save


Scripting
  • /.s - Execute last CraftScript
    Permission required: worldedit.scripting.execute

    /cs - Execute a CraftScript
    Permission required: worldedit.scripting.execute


Selection
Commands that give info/help setting the region you have selected.
  • //chunk - Select the chunk you are currently in
    Permission required: worldedit.selection.chunk

    //contract - Contract the selection area
    Permission required: worldedit.selection.contract

    //count - Count the number of blocks in the region
    Permission required: worldedit.selection.count

    //deselect - Deselect the current selection
    Permission required: worldedit.selection.deselect

    //distr - Inspect the block distribution of the current selection
    Permission required: worldedit.selection.distr

    //expand - Expand the selection area
    Permission required: worldedit.selection.expand

    //hpos1 - Set position 1 to the position you are looking at
    Permission required: worldedit.selection.pos

    //hpos2 - Set position 2 to the position you are looking at
    Permission required: worldedit.selection.pos

    //loadsel - Loads a selection that was saved before
    Permission required: worldedit.selection.loadselection

    //pos1 - Set position 1
    Permission required: worldedit.selection.pos

    //pos2 - Set position 2
    Permission required: worldedit.selection.pos

    //savesel - Saves the current selection so it can be used later
    Permission required: worldedit.selection.saveselection

    //shift - Move the selection area
    Permission required: worldedit.selection.size

    //shrink - Shrink the current selection to exclude air-only layers of the selection
    Permission required: worldedit.selection.shrink

    //size - Get the size of the selection
    Permission required: worldedit.selection.size


Special
Commands that don't realy fit in another category.
  • //help - Sends all the available commands to the player
    Permission required: worldedit.help

    //wand - Get the wand object
    Permission required: worldedit.wand

    /toggleeditwand - Toggle functionality of the edit wand
    Permission required: worldedit.wand.toggle

    /we - WorldEdit command
    Permission required:

    /we cui - Complete CUI handshake
    Permission required:

    /we help - Sends all the available commands to the player
    Permission required: worldedit.help

    /we version - Sends the plugin version to the player
    Permission required:


Terraforming
Commands that help you Modifying the terrain.
  • //drain - Drains all water around you in the given radius
    Permission required: worldedit.drain

    //extinguish - Removes all the fires around you in the given radius
    Permission required: worldedit.extinguish

    //fill - Fill a hole
    Permission required: worldedit.fill

    //fillr - Fill a hole recursively
    Permission required: worldedit.fill.recursive

    //green - Changes all the dirt to grass
    Permission required: worldedit.green

    //replacenear - Replace nearby blocks
    Permission required: worldedit.replacenear

    //snow - Makes it look like it has snown
    Permission required: worldedit.snow

    //thaw - Removes all the snow around you in the given radius
    Permission required: worldedit.thaw

    /pumpkins - Generates pumpkins at the surface
    Permission required: worldedit.generation.pumpkins

    /removeabove - Remove all the blocks above you
    Permission required: worldedit.removeabove

    /removebelow - Remove all the blocks below you
    Permission required: worldedit.removebelow


Tool
Commands that activate a tool. If a tool is activated you can use it by right or left clicking with your mouse.
  • // - Toggle the super pickaxe pickaxe function
    Permission required: worldedit.superpickaxe

    /farwand - Use the wand from a distance
    Permission required: worldedit.tool.farwand

    /none - Unbind a bound tool from your current item

    /repl - Block replace tool
    Permission required: worldedit.tool.replacer

    /tool - Select a tool to bind
    Permission required:

    /tool cylinder - Switch to the cylinder brush tool
    Permission required: worldedit.brush.cylinder

    /tool farwand - Use the wand from a distance
    Permission required: worldedit.tool.farwand

    /tool none - Unbind a bound tool from your current item

    /tool repl - Block replace tool
    Permission required: worldedit.tool.replacer

    /tool sphere - Switch to the sphere brush tool
    Permission required: worldedit.brush.sphere

    /tool tree - Tree generator tool
    Permission required: worldedit.tool.tree

    /tree - Tree generator tool
    Permission required: worldedit.tool.tree

Permissions:

Permissions
  • - worldedit.biome.info -
    • Commands affected:
      - /biomeinfo
    - worldedit.biome.set -
    • Commands affected:
      - //setbiome
    - worldedit.biomelist -
    • Commands affected:
      - /biomelist
    - worldedit.brush.cylinder -
    • Commands affected:
      - /tool cylinder
      - /brush cylinder
    - worldedit.brush.options.mask -
    • Commands affected:
      - /mask
    - worldedit.brush.sphere -
    • Commands affected:
      - /tool sphere
      - /brush sphere
    - worldedit.butcher -
    • Commands affected:
      - /butcher
    - worldedit.clipboard.copy -
    • Commands affected:
      - //copy
    - worldedit.clipboard.cut -
    • Commands affected:
      - //cut
    - worldedit.clipboard.paste -
    • Commands affected:
      - //paste
    - worldedit.clipboard.rotate -
    • Commands affected:
      - //rotate
    - worldedit.drain -
    • Commands affected:
      - //drain
    - worldedit.extinguish -
    • Commands affected:
      - //extinguish
    - worldedit.fill -
    • Commands affected:
      - //fill
    - worldedit.fill.recursive -
    • Commands affected:
      - //fillr
    - worldedit.generation.cylinder -
    • Commands affected:
      - //cyl
    - worldedit.generation.hsphere -
    • Commands affected:
      - //hsphere
    - worldedit.generation.pumpkins -
    • Commands affected:
      - /pumpkins
    - worldedit.generation.pyramid -
    • Commands affected:
      - //pyramid
      - //hpyramid
    - worldedit.generation.shape -
    • Commands affected:
      - //generate
    - worldedit.generation.sphere -
    • Commands affected:
      - //sphere
    - worldedit.green -
    • Commands affected:
      - //green
    - worldedit.help -
    • Commands affected:
      - //help
      - /we help
    - worldedit.history.redo -
    • Commands affected:
      - //redo
    - worldedit.history.undo -
    • Commands affected:
      - //undo
    - worldedit.navigation.ascend -
    • Commands affected:
      - /ascend
    - worldedit.navigation.ceiling -
    • Commands affected:
      - /ceil
    - worldedit.navigation.descend -
    • Commands affected:
      - /descend
    - worldedit.navigation.jumpto.command -
    • Commands affected:
      - /jumpto
    - worldedit.navigation.thru.command -
    • Commands affected:
      - /thru
    - worldedit.navigation.up -
    • Commands affected:
      - /up
    - worldedit.region.addleaves -
    • Commands affected:
      - //addleaves
    - worldedit.region.ellipsoid -
    • Commands affected:
      - //ellipsoid
    - worldedit.region.faces -
    • Commands affected:
      - //faces
    - worldedit.region.leafdecay -
    • Commands affected:
      - //leafdecay
    - worldedit.region.mirror -
    • Commands affected:
      - //mirror
    - worldedit.region.replace -
    • Commands affected:
      - //replace
    - worldedit.region.set -
    • Commands affected:
      - //set
    - worldedit.region.stack -
    • Commands affected:
      - //stack
    - worldedit.region.vmirror -
    • Commands affected:
      - //vmirror
    - worldedit.region.walls -
    • Commands affected:
      - //walls
    - worldedit.remove -
    • Commands affected:
      - /remove
    - worldedit.removeabove -
    • Commands affected:
      - /removeabove
    - worldedit.removebelow -
    • Commands affected:
      - /removebelow
    - worldedit.replacenear -
    • Commands affected:
      - //replacenear
    - worldedit.schematic.list -
    • Commands affected:
      - //schematic formats
      - //schematic list
    - worldedit.schematic.load -
    • Commands affected:
      - //schematic load
    - worldedit.schematic.save -
    • Commands affected:
      - //schematic save
    - worldedit.scripting.execute -
    • Commands affected:
      - /.s
      - /cs
    - worldedit.selection.chunk -
    • Commands affected:
      - //chunk
    - worldedit.selection.contract -
    • Commands affected:
      - //contract
    - worldedit.selection.count -
    • Commands affected:
      - //count
    - worldedit.selection.cylinder -
    • Commands affected:
      - //hcyl
    - worldedit.selection.deselect -
    • Commands affected:
      - //deselect
    - worldedit.selection.distr -
    • Commands affected:
      - //distr
    - worldedit.selection.expand -
    • Commands affected:
      - //expand
    - worldedit.selection.loadselection -
    • Commands affected:
      - //loadsel
    - worldedit.selection.pos -
    • Commands affected:
      - //hpos1
      - //hpos2
      - //pos1
      - //pos2
    - worldedit.selection.saveselection -
    • Commands affected:
      - //savesel
    - worldedit.selection.shrink -
    • Commands affected:
      - //shrink
    - worldedit.selection.size -
    • Commands affected:
      - //size
      - //shift
    - worldedit.snow -
    • Commands affected:
      - //snow
    - worldedit.superpickaxe -
    • Commands affected:
      - //
    - worldedit.thaw -
    • Commands affected:
      - //thaw
    - worldedit.tool.farwand -
    • Commands affected:
      - /tool farwand
      - /farwand
    - worldedit.tool.replacer -
    • Commands affected:
      - /tool repl
      - /repl
    - worldedit.tool.tree -
    • Commands affected:
      - /tool tree
      - /tree
    - worldedit.wand -
    • Commands affected:
      - //wand
    - worldedit.wand.toggle -
    • Commands affected:
      - /toggleeditwand

Source: Link
Download: Link


RE: WorldEdit - tonibm19 - 05-03-2013

Very good plugin, the only bad I found is that there aren't /undo and /redo. Will you add it?


RE: WorldEdit - NiLSPACE - 05-03-2013

Yes i want to add it but i don't know how Sad i was thinking of every time you do something it saves a schematic but then it has to create a file every time you do something so thats not realy good :S


RE: WorldEdit - tonibm19 - 05-03-2013

(05-03-2013, 06:03 AM)STR_Warrior Wrote: yes i want to add it but i don't know how Sad i was thinking of every time you do something it saves a schematic but then it has to create a file every time you do something so thats not realy good :S
Look at the CuboidPlus code.


RE: WorldEdit - NiLSPACE - 05-03-2013

CuboidPlus is not using cBlockArea. This plugin is using that. Because of cBlockArea this plugin supports .schematics and is way faster.


RE: WorldEdit - xoft - 05-03-2013

I'd only do Undo / Redo for the big operations, not for individual block changes. There's not that many of those.
Also, I'd keep a "map" of PlayerName -> List of up to N BlockAreas of Undo; N being configurable in the settings. I don't think there'll be many players with WE rights, so this shouldn't grow too large. Also, one must not forget to clear the list for a player when that player disconnects (or maybe after a timeout; if they reconnect soon, keep their undo).


RE: WorldEdit - NiLSPACE - 05-03-2013

Fun fact: This plugin can crash your minecraft client if you use a region that is too large.


RE: WorldEdit - tonibm19 - 05-03-2013

I have a pluggin suggestion for you. Could you make a WorldGuard type plugin? It would be very usefull.


RE: WorldEdit - NiLSPACE - 05-03-2013

I have no idea how to do that :S


RE: WorldEdit - xoft - 05-03-2013

Crash, or freeze? I know that writing a big BlockArea will freeze the client for a while, but never seens a crash.