7.3.13
- [Bukkit] Fixed issue affecting accuracy of legacy schematic loading in certain circumstances
- [Fabric] Fixed an issue where in some configurations WorldEdit could not load in a server environment
7.3.12
- Added support for 1.21.5
- Added ability to copy the block state string from the info tool output
- Minor optimisation to memory usage of clipboards
- Update underlying text library to improve 1.21.5 compatibility
- Fixed non-persistent entities pasting in an invalid state
- Add support for the new block_pos NBT properties on block-aligned entities
- [Fabric, NeoForge] Fixed issue affecting accuracy of legacy schematic loading in certain circumstances
- [Fabric, NeoForge] Split out the WorldEdit CUI protocol into a separate module to work around a Fabric/NeoForge API issue
7.3.11
- Added //mirror as an alias for //flip
- Fixed an issue where tree generation can get incorrect world state, impacting generation
- Fixed masks for biome operations only applying to //setbiome
- Fixed some bugs in the snapshot system
- Fixed CUI packets being sent to clients unnecessarily
- Fixed cone generation with negative heights
- Fixed world height off-by-one discrepancy since change in Minecraft 1.21.3
- Fixed cases where the task executor would not be shut down correctly
- [NeoForge] Fixed legacy blocks failing to load in some instances
7.3.10
- Added support for 1.21.4
- Improved a few translation lines relating to URLs and newlines
- Fixed issues relating to block entities in generated features and structures
- Added support for pale oak tree variants in the tree commands
- [Paper] Fixed loading extra jars from the WorldEdit folder with Paper's remapping
- [NeoForge] Fixed NeoForge's platform name listing "Forge" instead of "NeoForge"
- [Fabric] Worked around an error caused by other mods bundling old versions of the Fabric Permissions API that are incompatible with MC 1.21.4
7.3.9
- Added support for 1.21.3
- Fixed tools not behaving correctly when mods embed worlds in worlds
7.3.8
- [Bukkit] Update 1.21.1 adapter for Spigot breakage
7.3.7
- Fixed handling of some time-related commands in the snapshot system
- Fixed some situations where rotated pastes can behave oddly with the update side effect disabled
- Fixed an error that can occur when generating completions starting with a `"`
- Fixed Sponge v3 schematics lacking the `BlockEntities` not loading
- Fixed the `//curve` and `//line` commands not accepting decimal values for thickness
- Fixed WorldEdit not using typical error handling systems when an error is thrown during post-edit
- Fixed NBT parsing for certain legacy schematics with non-standard string formatting
- Improved performance of the side effect system, and fixed some API inconsistencies
- Re-enabled the buffering system, due to some systems depending on it in certain situations
- [Sponge] Added `-y` value support that was missing in some situations
7.3.6
- [Bukkit] Allow 1.21 Paper adapter to load on 1.21.1
- Revert "Shutdown the executor service on disable, to prevent waiting on async tasks before shutting down" due to it causing issues in some situations
7.3.5
- [Bukkit] Utilise new Bukkit registry API, allowing WorldEdit to work with Commodore disabled (`paper.disableOldApiSupport` flag on Paper)
- Fixed queryRel not behaving correctly in //deform and the deform brush
- Shutdown the executor service on disable, to prevent waiting on async tasks before shutting down
- Remove legacy code for pre-1.16 //drawsel handling
7.3.4
- Added support for 1.21
- Fixed an issue where //drawsel can prevent using //world overrides in some situation
- Improved performance of repeatedly getting string representations of a block
7.3.3
- [Sponge] Re-add Sponge support
- [NeoForge] Update NeoForge version to workaround API break
7.3.2
- [Paper] Worked around future Paper API change to prevent compatibility issues
- [Bukkit] Dropped 1.19.4-1.20.1 support due to tooling compatibility issues
- [Fabric] Updated the Permissions API to 0.3.1
- [NeoForge] Fixed an issue where the client mod was required for the server mod to function
- Fixed heightmap brush not behaving correctly below Y=0
- Fixed paintings not getting rotated correctly
- Fixed the crafter block not behaving correctly during flips
- Fixed an issue where selection commands could kick some clients in certain circumstances
7.3.1
- Added support for 1.20.5/1.20.6
- Improved warnings when run on unsupported platforms
- Removed some old data that was inflating the jar size
- Disable chunk batching by default. We don't feel it makes sense in modern MC outside of potentially niche situations
7.3.0
- Added an `//update [sideEffect]` command to apply side effects to a selection
- Added a schematic sharing system and corresponding API, with `/schem share`
- Added WorldEdit version and platform information in schematic metadata
- Added API to clear the contents of a registry
- Added a splatter brush, with configurable decay
- Added support for Sponge Schematics v3, and made specific versions accessible as `sponge.1`, `sponge.2`, and `sponge.3`
- Added a snow smoothing brush and command to smooth layered snow
- Added a `//pos` command to allow making entire selections with a single command
- Added a morph brush to apply morphological dilation and erosion, with simple erode and dilate presets
- Added a custom-build NBT library, allowing access to future improvements and modern NBT constructs
- Lazy-load most NBT data to improve performance and memory usage of some operations
- Added API to disable history tracking in an EditSession, to improve performance for plugins that don't care about history
- Added command suggestions for block properties to dynamic patterns such as hand, offhand, pos1, etc
- Added a feature generator command, `//feature [featureName]`
- Added a structure generator command, `//structure [structureName]`
- Added an API to identify the format of a schematic from an InputStream, rather than a File
- Added a `//placement` command to select the placement type, superseding `//toggleplace`
- Added `min` placement mode to correspond to minimum position of a selection
- Added `max` placement mode to correspond to maximum position of a selection
- Added `world` placement mode to correspond to an absolute world location
- Added `here` placement mode to correspond to the player position as of running the command
- Added `-c` flag to the biome brush to set the biome to the entire column
- Added API to memoize mask calls
- Added a `//trim [mask]` command, to trim a selection to the smallest space without removing blocks that match the mask
- Added a `//cone` command to generate cones
- Added support for setting NBT data in patterns, using SNBT syntax (`//set oak_sign[rotation=12]{'is_waxed':1}`)
- Improve performance of arbitrary shape generations
- Improve "fast" reorder mode and make it default, deprecating alternate reorder modes
- Changed schematic pasting to ignore structure void blocks by default, with a `-v` flag to paste it
- Changed the offset mask to not negate itself by default
- Fixed spline generation not correctly using block centres in some situations
- Improve general performance across the board
- Send biome chunk updates to the client when possible
- Use Minecraft's "DataFixerUpper" system when loading legacy schematics where possible
- [Bukkit] Remove legacy data folder migration code from 2012
- [Bukkit] Remove support for all versions prior to 1.17.1, and non-latest patches of 1.18 and 1.19
7.2.20
- [Forge] Workaround various Forge issues that could cause crashes in certain situations
- Minor memory optimisations during startup
- Add a warning about problematic mods when iterating over list of block states takes too long, to assist in tracking down issues
- Rename the 'modulo' expressions operator to 'remainder' to better reflect the actual operation being performed
7.2.19
- [Forge] Fixed Forge mixin issues in the hybrid mod jar
- Improve error handling for unsupported Sponge Schematic versions
7.2.18
- Update to 1.20.4
- Fixed ellipsoid and cylinder regions not fully clearing
- Limit //line and //curve thickness by max-radius option
- Add further validation to biome setting API to prevent errors with invalid positions
7.2.17
- [Forge] Workaround missing part of Forge in some builds
7.2.16
- Update to 1.20.2
- Fixed an issue with the legacy spawner|mobname syntax not setting mobs correctly on initial spawn
- Added a workaround for situations where clients incorrectly send multiple clicks for a single click
- Fixed some situations where //fillr might fail when Y is less than 0
7.2.15
- [Forge] Fix a bug preventing Forge clients lacking WorldEdit from joining Forge servers with WorldEdit in some cases
- [Forge] Added Console and CommandBlock support
- [Fabric] Added Console and CommandBlock support
- [Sponge] Added CommandBlock support
- Update to 1.20 & 1.20.1
- Fixed extend select mode being lost after using `//paste -s`, `//paste -n`, and `//cli selectworld`
- Fixed convex selection type not correctly clearing selection within WECUI protocol
- Fixed an edge case where API usages of the BlockMap type can lead to multiple values at one location
- Fixed a bug breaking the `round` expression function
7.2.14
- Update to 1.19.4
- Fixed some data values not being returned correctly in expression query functions
- Improve error handling and message shown when other mods/plugins break WorldEdit due to too early registry access
- [Bukkit] Bypass Bukkit API to allow custom biome support
7.2.13
- Update to 1.19.3
- Show a friendlier error when trying to access filenames the filesystem doesn't support, such as question marks on Windows
- Improve handling for invalid block types in legacy (<1.13) schematics
- Update SnakeYAML and allow 64MB files to load by default. Can be set via -Dworldedit.yaml.codePointLimit
7.2.12
- [Bukkit] Add support for 1.19.2
- Fixed b/back directions not working along the Y axis
7.2.11
- [Bukkit] Improve thread safety of some API adapter methods
- [Sponge] Fixed adapters incorrectly handling rotation
- [Sponge] Ensure tasks are actually scheduled
- Update to 1.19.1
- Fixed block state mask not working with string/enum properties
- Fixed //stack causing an error when given a count of 0
- Reduced initial memory usage on load
- Clone the returned region of BlockArrayClipboard for API doc accuracy
7.2.10
- [Forge] Fixed a bug where the max world height would not always be read correctly
- [Bukkit] Fixed detection of other plugins bundling WorldEdit for newer Spigot versions
- [Forge] [Fabric] Improve fluid masks to properly detect mod fluids
- [Forge] Fixed the UPDATE side effect
- Update to 1.18.2
- Moved external links away from tinyurl to EngineHub URL shortener
- Allowed biome commands to be used by non-player actors (console, command block, etc)
- Fixed the UPDATE side effect not applying when called later on by API or FAST reorder mode
- Fixed entity passenger and riding status not being copied correctly
7.2.9
- [Forge] Add support for the UPDATE side effect
- [Forge] Fixed regen on recent Forge builds
- [Fabric] Fixed regen outside of Overworld
- [Sponge] Update to Sponge API8 (MC 1.16.5)
- [Bukkit] Fixed regen when biomes are used
- Fixed snapshots in 1.18
- Fixed smooth functions below y=0
- Tweak command usage label correctness for Bukkit API usage
- Fixed legacy error message output for plugins utilising our legacy APIs (Eg, WorldGuard and CraftBook)
7.2.8
- Update to 1.18.1
- Fixed issues with certain imports in craftscripts
- Fixed brush tracing counting the world limit as a placement location
- Removed the height flag from //expand vert
7.2.7
- [Bukkit] Update 1.17.1 adapters for recent Spigot worldgen change
- [Bukkit] Minor improvements to world access performance
- [Bukkit] Prevent editing on unsupported versions by default
- Fixed commands the user did not have permissions for showing in //help
- Improve performance of setting non-BlockEntity blocks
- Fixed CLI warnings due to Log4J dependency
- Fixed Raise/Lower deform brushes moving blocks too far
- Fixed JavaAdapter not being usable via craftscripts
7.2.6
- Return false instead of erroring when trying to remove player entities via the API
- Fix selections at 0,0,0 or radius of 0 with cyl/ellipse selection modes
- Improve plugin lifecycle for stability
- Add support for 1.17 & 1.17.1
- Skip notifying chunk sections if they don't exist
- Optimise legacy schematic loading
- Add CLI-specific commands, //cli selectworld and //cli await
- Fixed //outline for non-cuboid regions
- Fixed setting biomes below Y 0
- Support 48x48x48 //drawsel on new versions of Minecraft
- Fixed the offset mask forcing negation of itself
- Fixed //regen breaking when some certain mods are in use
- Fixed cycler tool removing NBT data
- Improved performance of event bus in situations where it was flooded with data
- Improve performance of poorly constructed masks with heavily-nested negation
- Fixed error when using /delchunks with non-cuboid regions
7.2.5
- Allow /toggleplace to work on any Locatable Actor, e.g. Command Blocks
- Change legacy.json oak stair shape to straight
- Changed to Log4J for logging, no more SLF4J
- Improved API for `getSelection()`
7.2.4
- [Bukkit] Fixed an issue where chest contents may not be erased
- [Bukkit] Worked around a Spigot bug causing potential watchdog timeouts on startup
- [Forge] Fixed some potential issues with the merged -mod file on Forge
- Added a message with install instructions when incorrectly trying to run the jar file
- Fixed a problem where capital characters in block properties could cause suggestion errors
7.2.3
- [Forge/Fabric] Added -mod jar file containing both Fabric and Forge
- [Forge/Fabric] Speed up WorldEdit<->Native block translation layer in some cases
- [Fabric] Disable support for the UPDATE side effect when Carpet or QuickCarpet are available, due to conflict
- Improve performance when working with tile entities
- [Bukkit] Further tile entity performance improvements when using Paper (not Spigot)
- Speed up initialisation from registries at startup, especially when many mods are in use
7.2.2
- [Bukkit] Add support for MC 1.16.5.
- [Fabric] Add support for Lucko's Fabric Permissions API.
- [Fabric] Fix the chunk deleter tool not running.
- Fix repeating extent (e.g. clipboard pattern) direction being incorrect at negative coordinates.
- Fix CUI having wrong selection when switching to an ellipsoid selector.
- Fix some CUI lifecycle issues.
- Fix SideEffectSet.none() using defaults (instead of off).
7.2.1
- Fix some usability issues with the default wand tools and session-persisted
tools conflicting. Wands will now only be saved per-session if they differ
from the default.
- Implement the UPDATE side-effect on Fabric.
- Allow //genbiome to use the y variable for 3D biomes.
- Add a tip to brush/tool commands on how to unbind them.
- Update language bundle and minor language loading fixes/improvements.
7.2.0
- Greatly improve WorldEdit performance on servers with many plugins (See more: https://madelinemiller.dev/talk/optimizing-your-application/)
- Improve general WorldEdit performance
- Added a fine-grained fast mode system with //perf to allow individually enabling or disabling update types
- Added a stack tool that stacks the clicked block until it hits an obstacle (https://gfycat.com/faithfulhardtofinddingo)
- Added 3D biomes support
- Added netherite pickaxe support to superpickaxe
- Added warped_fungus, crimson_fungus, and chorus_plant tree types
- Added a `-s` stack mode to the //snow command to add snow layers
- Added a snow brush with stack mode support
- Improve expression handling
- Enable //watchdog by default
- Improve archive file handling
- Optimize polygon regions
- Improved performance of the deform brush
- Update to a newer Rhino release for craftscripts
- Added support for 1.16.1, 1.16.2, 1.16.3, and 1.16.4
- Added support for regenerating biomes with //regen
- Added support for full offsets to //stack and //move
- Added -c mode to //deform, and fixed -o mode
- Added a Biome brush
- Added an #air mask, that matches all types of air blocks
- Added a #surface mask, that matches any blocks that are next to air
- Added the ability to stack by block units using -r with //stack
- Added an image heightmap brush
- Added the ability to copy block positions on click to //size
- Added -w flag to butcher for water mobs
- Added relative offset support to offset parsing (^x,y,z)
- Improved ES6 support for craftscripts
- Improved //watchdog to also tick get* calls to fix issues with slow chunk loads
- Improved error messages for invalid schematics
- Improved the way translations are bundled and loaded
- Fixed an issue with edges of polygonal regions
- Fixed multiple of the same flag being applied to commands not providing a friendly error
- Fixed potential issues with direction name parsing in commands
- Fixed numerous issues with using commands via the console
- Fixed a bug where languages using non-latin fonts would look odd
- Remove the "please report this" message in legacy schematic loading
- Fixed some potential errors with Paper command handling and protocol hacks
- Fixed //size having inconsistent colors
- Fixed default namespace blocks being suggested and cluttering suggestion list
- Fixed issue where command blocks wouldn't work with sessions
- Fixed beds and banners in legacy schematics
- Fixed an issue with random pattern suggestions
- Fixed biome math on Forge and Fabric
- Fixed vertical flip for stairs
- Fixed region volume not displaying correctly for very large regions
- Fixed wandering traders not being counted as NPCs in /butcher
- Fixed /delchunks in the nether and end on Spigot
- Fixed commands disappearing on a /reload on Fabric
- Partial hacky support for WorldEdit commands to be used in functions on Fabric
- Fixed ascend and descend with entry deny regions
- Fixed some broken localisation strings
- Fixed the snapshot feature on 1.16
- Fixed many error messages not being localisable
- Fixed tool left click action firing on right click on Fabric
- Added a message when using an outdated version of Minecraft
- Fixed a few localisation messages and added validation to prevent further issues
- Allowed attempted loading of schematics with missing version information
- Fixed issues where Fabric versions of WorldEdit could double-click tools in some cases
- Fixed some Sponge schematics not loading due to overly-strict format requirements
- Fixed wands not binding to players if they joined before having permissions to use them
- Fixed edits still occurring even if some masks failed to parse
- Added a tracing mode to EditSessions to help debug API issues where blocks aren't changed
- Fixed issues with snapshots under symlinks on Windows
- Made the schematics folder get generated on startup
- Made WorldEdit print a warning when other plugins include parts of WorldEdit
- Fixed Skull owner tag being incorrect in 1.16+.
- Fixed pastebin services for large files
- Fixed an issue where some messages (such as an out of memory error) would not be displayed when loading schematics
- Deprecate BlockQuirkExtent due to being handled outside of the extent stack now
- Fixed undo/redo not working from console or commandblocks
- Fixed an issue where specific invalid input would cause an error in the block parser
- Fixed entity detection being slightly incorrect around the maximum point of regions on Forge and Fabric
- Fixed loading snapshot files with odd slashes
- Fixed an issue where the output text of //chunk was broken
- Prevent schematics being saved on Bukkit when using an incompatible WorldEdit version
- Fixed variable argument functions in expressions failing, such as min and max
- Fixed an issue where plugins using the deprecated face generation function would fail
- Fixed copy and cut not applying block change limit when creating clipboard
- Fixed uppercase biomes failing in biome commands
- Fixed //snow not perfectly obeying vanilla rules for snow placement
- Require permissions for selection (or navigation) when using //wand (or //wand -n).
7.1.0
- Improve the expression parser by compiling expressions for performance
- Made ItemMaterial accessible via the API
- Added CommandSender adapters to the BukkitAdapter class
- Added legacy data values to the info tool, and expressions
- Improve messages when running the wrong WorldEdit version for the MC version
- Fixed an issue where other plugins could send bad data to clients using the WorldEdit API
- Significant memory optimisations. Many operations will now require less RAM.
- Added WorldEdit-CLI, a tool to run headless WorldEdit from the commandline (see https://madelinemiller.dev/blog/introducing-worldeditcli/)
- Allowed most WorldEdit commands to be run from the console
- Added //world, to override the world in which WorldEdit is operating (useful for console)
- Added support for WorldEdit in CommandBlocks (on Spigot/Paper). Double slash commands require using /worldedit:/set due to a Minecraft bug.
- Fixed the inbuilt pastebin service
- Added 1.15 support
- Re-add the /tool command, and deprecate old top-level tool commands
- Add /brush none as a shortcut to unbind the brush
- Add //watchdog, to make WorldEdit keep the server running during edits.
- Remove FabricAPI requirement of WorldEdit-Fabric
- Fixed //stack with diagonals
- Rewrite the expression parser with ANTLR for a grammar and easier changes in the future
- Fixed pumpkin patches having decaying leaves
- Fixed /lrbuild not obeying history
- Added -n flag to //paste to select without pasting
- Fixed flipping of chests and stairs
- Improve performance of some API methods on Bukkit by bypassing the Bukkit API
- Fixed legacy import of some blocks Mojang renamed
- Added convex polyhedron support to //line
- Fixed /worldedit: commands on Bukkit
- Added support for translations
- Fixed //regen on 1.14+
- Add a experimental new snapshot API / handling, more consistent for various file types. Test it out by switching on `snapshots.experimental`/`snapshots-experimental` in your config file. This will become the default in WE 8.
- Fixed setting navwand and selwand to none via command not persisting
7.0.1
- Fix source masks using EdiSession instead of clipboard
- Fix bug with spaces in suggestions
- Fix schematic list box loading schematics with spaces in path
- Improve //thru (and navwand) in some cases
- Fix error when /up was used below the world
- Fix /up -f using glass anyway.
- Fix suggestions for quoted strings
- Improve suggestions for mask intersections
- Fix setting biomes in unloaded chunks
- BlockStateHolder now extends Pattern (API enhancement)
- Skip invalid blocks when schematic versions are mismatched
- Add -e/-b/-m flags to stack and move, just as copy/paste have
- Fix //center for selections with even-sized height
- (Fabric) Fix setting tile entities
- (Forge) Update to latest Forge builds (28.0.45+ required!)
- (Fabric/Forge Single-player) Fix wrong blocks being used when switching
between worlds generated at different times/with different mods
- Improve //naturalize over large areas
- Fixed //restore with 1.14 worlds
- Added item brush support to WorldEdit for Bukkit (Formerly just Forge)
- Create an internal state ID mapping for performance
- Improve rotation for some blocks
- Added .self permission node to undo/redo to only allow undoing and redoing own history
- Improve sponge schematic implementation
- Re-add the delchunks command
- Added 1.14 blocks, items, tags, etc to the API (Remains compatible with 1.13)
- Made the navigation and selection wands normal tools that can be rebound per-user with //selwand and //navwand
- Added //wand -n to get the navigation wand
- Improved movement of paintings
- Allow command suggestions for selectors
- Allow block replacer to work with tile entities
- Fixed pasting leashed entities
- Fixed setting player heads with names
- Added a mask flag to //count
- Setup pagination for //distr
- Fixed an entity-related error being caused by plugins improperly using Spigot
- Fixed gravity brush
- Modify chunk batching for performance
- Further legacy schematic loading improvements
7.0.0
See https://madelinemiller.dev/blog/introducing-worldedit-7/ for a friendlier explanation of some new features
- Added support for 1.13 and higher versions, and removed support for earlier
- Use the official Minecraft format for entering blocks, `minecraft:oak_sign[rotation=7]`
- Massively improved the //help command
- Added a "##tag" pattern to set random blocks from the tag
- Fixed long-range build tool
- Fixed generation of hollow shapes
- Improve general performance
- Fixed some issues with the fuzzy blocks parser
- Fixed the clipboard brush description not showing some flags
- Added offset to ClipboardPattern, "//set #clipboard@-1,0,1"
- Added a "##*tag" pattern that behaves similarly to "##tag" but sets all BlockStates
- Added methods to set states and types of blocks independently, explained in this blog post
- Fixed an issue with legacy block IDs returning the wrong stair shapes
- Added a biome registry to make biomes more modern and stable
- Fixed a few issues where WorldEdit will fail to load on versions that it hasn't been updated for yet
- Use radius for the clipboard brush rather than diameter
- Fixed some utility commands missing radius checks
- Re-add mask support to the smooth command, to replace natural smoothing
- Fixed some positional issues with craftscripts
- Fixed a few issues with using hand/offhand/pos as block parser targets
- Improved expression timeouts to reduce overhead
- Improved entity conversions with legacy schematics
- Fixed a few issues with "//schem save" and certain filesystem setups
- Fixed a few issues with the forest commands
- Added -f flag to //count to allow fuzzy inputs
- Fixed TrueZip region stores
- Partial support for CubicChunks, only upwards directions
- Update many messages throughout the plugin to use new text features of Minecraft
- Added biome and entity storing to the Sponge schematics
- Improve TileEntity conversions for legacy schematics
- Fixed "//size" on clipboards
- Fixed some locale related issues that could occur in some specific circumstances
- Switched to a new command system, to allow more modern features such as completions
- Fixed an issue with invalid blocks being fuzzy compared
- Added proper world conversions for files being loaded with "//restore"
- Fixed other small miscellaneous issues
- Remove the final stage committer from the MultiStage reorder mode, as it was unnecessary
- Added /we report, and move the reporting system into WorldEdit
- Update draw.js, roof.js, and maze.js
- Allow the 'leave-id' parameter of //move to be a pattern rather than just a block
- Modularised masks and patterns, allowing plugins to register their own
- Minor improvements to the server side CUI
- Cleaned up the fuzzy blocks system
- Improved the error shown when WorldEdit doesn't support the platform
- Provide better caching with LastAccessExtent
- Allow biome changes to be undone
- Workaround for a Spigot bug where it incorrectly sends a few commands to the client for tab completion despite permissions
- Fixed issue where blockbags were checked for items when a block didn't need to change
- Added a "fast" mode for reordering blocks. In the future this will be the default as it is much faster, it just needs more testing.
- Reordering blocks is what allows edits to not break signs off walls, or doors off the ground.
- To enable, run //reorder fast
- To disable, run //reorder multi
- This affects all edits
- You can disable reordering entirely if you know what you're doing, with //reorder none
- Fixed a bug with Entity resolution
- More gracefully handle errors if the world's palette is corrupt
- Made BlockType lazily-loaded
- Properly rotate blocks. This should be fairly future resilient and work with mods
- Added a configurable timeout to expression evaluation
- Edits are now batched by chunks and ordered by region files, improving performance
- Improved the API around flushing edit sessions
- Refactored the vector system to prevent bugs caused by confusion, and improve performance due to less memory allocation
- Added a debug option to help developers find places they've forgotten to flush sessions that require flushing
- Added partial diagonal direction support back to some commands (Was removed in WorldEdit 6)
- Added //drawsel, a Server-Side WorldEditCUI for small cuboid selections (< 32x32x32)
- Rewrote the block parser, now properly handles Minecraft 1.13 names (See this blog post for more information)
- Switched to the Sponge Schematic format, as the MCEdit Schematic Format does not work in 1.13
- Old schematics will be loaded and converted as best as possible
- Major improvements to the API (See this blog post for more information)
- Removal of all old deprecated code
- Added /tracemask, to set masks used for brush tracing
- Added suggestions to almost all commands
- Allowed plugins to register their own masks and patterns
- Removed command requirement for CUI
- Added a permission node to set NBT data, allowing servers to disallow copying full chests etc
- Made a few paged commands use -p for pages
- Fixed //restore not working for very old chunks
- Massively expanded the capabilities of apply and paint item brushes
6.1
- Added support for Spigot for MC 1.8.3 to 1.8.6.
- Added rotation values to lit redstone torches.
- Added banners to usesDamageValue properties list.
- Added stone to usesData properties list.
- Changed cycler tool to use undo sessions rather than changing the world directly.
- Changed PEX support to use UUIDs wherever possible.
- Fixed imprecise rotations.
- Fixed incorrect support BlockBag and EditSession support in two of the tools.
- Fixed entity rotation floating point issues.
- Fixed button rotation and added support for up/down flipping.
- Fixed armor stands being included //butcher by default.
- Fixed /butcher text in the case of only one mob being killed.
- Fixed entity counter for //remove and //butcher.
- Fixed performance issues with some commands that use lists of entities.
6.0.1
- (Forge only) Add a permissions API (temporary) for interoperability.
6.0.0
- Update internal block lists for MC 1.8.
- (Bukkit only) Added support for users of Spigot 1.8.
- (Bukkit only) Fixed the missing configuration file.
6.0-beta-1
- Many major changes!
5.6.3
Note: We are working on WorldEdit 6.x so 5.x are maintenance releases and will
mostly contain bug fixes and minor changes.
- Added support for CraftBukkit 1.7.10.
- Fixed activated hoppers rotating incorrectly.
- Fixed listing schematics with directories in the folder.
5.6.2
- Backport 1.7.9 support to WE 5.x
5.6.1
- Added support for Minecraft 1.7.5 on Bukkit.
- Added //flora command to place flora over grass.
- Fixed //forest accepting the wrong arguments.
5.6
- Added //forest that generates a forest in a selection.
- Added -s flag to //paste to select the pasted area.
- Added //line command and EditSession method.
- Added //curve.
- Added 1.7 blocks, biomes, trees, and items.
- Added a "hand" pseudo block type that uses the currently selected block.
- Added a "pos1" pseudo block type, which uses the block type from the
"primary position".
- Added a //generatebiome command, which uses formulae to generate free-form
biomes.
- Added a check for both superperms and PEX directly to support older versions
of PEX with inGroup.
- Added a SolidBlockMask (#solid).
- Added an item->block mapping for LocalPlayer.getBlockInHand().
- Added colors for stained clay and carpet data values.
- Added configuration option to set the default for the /up and /ceil commands.
- Added data value mappings for certain blocks and made all other block types
wildcard matches.
- Added fly mode support for /up and /ceil,
- Added hollow lines.
- Added Line thickness support.
- Added new log/leaves to floating tree remover tool.
- Added non-cuboid support for //walls and //outline.
- Added query{,Abs,Rel}(x,y,z,typevar,datavar) to the expression parser.
- Added support for rotating hay blocks like logs.
- Added usage of non-existent variables in all LValue expressions.
- Changed /up and /ceil command to use glass block by default. Flight can be
done via -f flag now.
- Removed the /fill command as an alias of /material (which sets the brush
material).
- Fixed //deform not doing anything at all.
- Fixed //walls on non-cuboid regions so that they no longer introduces gaps
in walls beyond 45 degrees.
- Fixed /ascend and /descend to use the height of blocks properly.
- Fixed /green command so that it no longer affects permadirt and podzol.
- Fixed bed rotation.
- Fixed door rotation and disabled door y flipping.
- Fixed forest generator to make trees under snow tiles.
- Fixed head rotation.
- Fixed lever rotation.
- Fixed not flipping the center plane blocks.
- Fixed snapshot restore now so it now obeys masks again.
- Fixed some attachments that would result in items being dropped.
- Fixed the query functions not comparing data values at all for their
return values.
- Fixed improper block probability patterns (i.e. 20%,10%grass) causing an error.
- Fixed /we help not finding commands if uppercase names are used.
5.5.8
- Update for Minecraft 1.6.2 and 1.6.4
- Made generation commands respect max-radius config setting
- Fixed use-inventory overrides not being applied in certain cases
- Made //move work with non-cuboid regions
- Added a convex polyhedron selector
- Made clipboard work with non-cuboid regions
5.5.7
- Update for Minecraft 1.6.1
- Fixed a bug with GroupManager detection.
- Added a coordinate argument for //chunk
- Allowed cylinder selector to be changed to a rough polygon.
- Fix a typo
5.5.6
- Updated for Minecraft 1.5.2.
- Pistons can now be rotated with cycler tool.
- Hoppers no longer lose orientation.
- Using //setbiome now respects global biome masks.
- Fixed an issue with certain blocks that had multiple
possible TileEntities. (mods only)
- Added console support for /remove command. (removes from ALL worlds).
5.5.5
- Updated for Minecraft 1.5.1.
5.5.4
- Fixed a bug caused by MC 1.5 where block updates were not being sent.
5.5.3
- Fixed the error caused by Bukkit's change of the TNT minecart API.
- Added names for new items.
5.5.2
- Update to MineCraft 1.5.
- Fixed //flip going the wrong direction in certain cases.
- Fixed 4096 block id support in schematics and snapshots.
- Fixed max-blocks-changed not being used.
5.5.1
- Added support for multiple versions of Minecraft. A folder will be created in
plugins/WorldEdit/nmsblocks which contains different class files which will be
dynamically checked for compatibility with the current minecraft version.
- Added -d flags to //count and //distr, which allow separating blocks by data values.
- Added a butcher brush (//brush butcher) which works like the command in a brush. The flags
for the command can be passed an an argument for the brush.
- Fixed an issue with use-inventory where container blocks will spill when being removed.
- Added a setting to allow creative mode players to override use-inventory.
5.5
- Added failsafe for when Craftbukkit packaging switches versions. Note that using
mismatched WorldEdit and CraftBukkit version will cause data to be lost when
copy/pasting or loading certain blocks with advanced data.
- Updated cardinal directions to match newer Notchian values.
Using command that take a direction will now use these directions.
- Add support for setting skull blocks. Syntax is skull:data|MobType|rotation. MobType
can also be a player name.
- Removed old permissions for jumpto and thru. You must now use jumpto.command
or jumpto.tool respectively (or thru.).
- Added -c flag to //size and //distr. Operates on the clipboard instead of
current selection.
- Added support for rotating wooden logs.
- Add butcher-radius.maximum and butcher-radius.default to limits section of config.
- Added -b flag to //butcher to specify ambient mobs (currently only bats)
- Added -d and -n flags for //schematic list command. Sorts by date by newest/oldest.
- Added a configuration option to allow symbolic links (for backups, schematics, etc)
- Improved accuracy of command logging, as well as logging to file correctly. The
worldedit.log file (by default) should now be useful.
- Fixed //snow snowing on some blocks it shouldn't (like stairs)
- For developers: Added a LocalPlayer argument to the constructors for EditSession in
the factory. Also added @NestedCommand(executeBody=true/false) so that base commands
can be executed if no subcommands are passed.
5.4.5:
- Fixed minor check issue with //center.
5.4.4:
- Added official support for Minecraft 1.4.
- Added support for 4096 ID blocks (theoretically) in snapshots.
- Fixed issue with block IDs being returned negative in snapshots.
- Fixed //limit being overridden each time a LocalSession is fetched.
- Added EditSessionFactory class for developers.
Thank you to ammaraskar for his contribution.
5.4.3:
- Added block data support to BlockMask.
- Added //center command to set blocks at the center point of a selection.
- Correctly update session permissions on each operation.
- Fix errors when trying to set invalid blocks.
- Fix chests & similar not having their extended (tile entity) data being correctly copied back when the block currently in the location has the same type and data.
- Added emerald as an alias for the emerald block.
- Added string as an alias for the tripwire block (wire, not hook).
Thanks for the contributions from aumgn
5.4.2:
- Fixed //gen not having a proper minimum parameter count of 2.
- Added //re and //rep as aliases for //replace, and aliases /asc(end),
/desc(end), and /j(umpto).
- Fixed schematics not properly loading chests with the new code, meaning that
enchantments and other properties were not always properly loaded.
- Fixed -1 not being a valid data value in Block, which broke //replace.
- Fixed snapshots to support custom blocks/tile entity data.
- Updated bundled README.html to be current.
5.4.1:
- Fixed lingering 256 block ID restriction preventing block IDs up to 4095.
- Fixed certain tile entity blocks not being set correctly.
- Fixed schematic loading code not properly handling the AddBlocks section.
5.4:
- Added support for Minecraft 1.3.
- Added improved, but experimental, support for custom blocks added by
mods, and added by future Minecraft versions.
- Added help to //schematic.
- Added WECUI handshake option.
- Added improved //schem list output.
- Added configuration options for polygonal region limits.
- Added -r to //schematic to ignore format checks.
- Added //generate -c, which offsets the input coordinates from the selection
center.
- Added support for 4096 ID blocks.
- Added support for data values > 127 in schematic files.
- Added [g]closest(x,y,z,index,count,stride) to the expression parser.
- Added an all parameter, and a message indicating its radius, to /butcher.
- Added new "WorldEdit Foundation" classes to eventually replace the current
block/world/etc. classes (for developers!).
- Fixed a number of bugs in schematic handling that created errors.
- Fixed issues with biome processing.
- Fixed insufficient biome type checking.
- Fixed the error for missing schematics, making it easier to understand.
- Fixed snapshots not properly loading .mcr files.
- Fixed //chunk switching from //sel extend to //sel cuboid.
- Removed chat-based WECUI protocol (now replaced with packet 250).
Thank you for the contributions from Ammar Askar (ammaraskar), aumgn,
Jim Nordb� (Silentspy), snaxson, Socolin, and Zhuowei Zhang (zhuowei).
5.3:
- Made #region mask keep the region selected when the pask was added, and
added #dregion mask that always uses the player's current
selection
- Allow inverted and under/overlay masks to affect masks, making them more
flexible. This allows for things like /gmask !$biome and
/gmask >>>#region
- Added basic entity handling with copy and paste. Paintings do not currently
respawn properly, entity pastes cannot be undone yet, and
schematics do not yet store entities
- Added getChunkCubes() to Region to get 16^3 chunks a region overlaps with
- Cleaned up ContainerBlock inventory reading from NBT.
- Added a command to list schematics and the abilitiy to autodetect schematic
format when loading schematics
- Added support for multiple schematic formats
- Corrected flag checks for biome commands
- Added allFlags setting to Command to prevent it from restricting allowed
flags (for dveleopers!)
- Make sure all WorldEdit files are in the plugins/WorldEdit folder
- Added initial support for plugin channels with WECUI
- Remove error-prone redundancy in Polygonal2D min/max management
- Updated for SpoutVanilla changes
- Added Falling sand/gravel entities to /remove command
- Added support for new tree types to TreeGenerator and make adding more tree
types later easier
- Updated for changes to SpoutAPI
- Fixed FloatingTreeRemover (/tool deltree) to work correctly with jungle trees
- Fix bPermissions instanlled check
- Add a -f (friendly) flag to butcher which applies -a, -n, -p, and -g, and a
-g flag which allows butchering of iron and snow golems
- Add FlatRegion interface and an associated iterator (for developers!)
- Fix a NPE with brush using a global mask and no brush mask
- Fixed //shift not updating polygonal regions properly.
- Add support for expand with reverse dir for Cylinder & Ellipsoid
- Make inset/outset use varargs contract/expand, so they can be used with
cylinders and ellipses.
- Add positive() to Vector and Vector2D
- In WorldGuard, teleport/spawn location yaw/pitch should now work.
- Register command permissions, integrate with the Bukkit help API
- Allow annotation-free registering of commands with other plugins
(for developers!)
- Added default radius setting for butcher and added permissions for killing
pets, npcs, and non hostile animals.
- Added support for new Anvil saving format, fixed old chunk saving format.
- Clean up some stray 128 values and update the fallbacks to 256
- Add support for 1.2.4 and newer
- Updated for new 1.2 and 1.2.4 blocks, items, and mobs
- Fix Dispensers, Furnaces and remove redundant casts.
- Fix restoring enchantments from snapshots/schematics.
- Made tree planter tool try 10 times to make the tree before giving up.
Thanks to Nidan, aumgn, Jadedwolf, wizjany, SpectralEdge, md_5, and desht for
their contributions
5.2:
- Made BlockBag use WorldVectors for add(Single)SourcePosition
- Fixed north face not being set with non-singleblockpatterns.
- Moved the block data check to LocalWorld, adding preliminary support for
custom blocks.
- Lookup by id if the string passed to Block/ItemType.lookup() is an integer
- Fixed issues with //replace.
- Factored lookup code from BlockType and ItemType into a method in StringUtil.
- BaseBlock changes
- Properly escape cuipattern
- Fix handling of empty strings passed to Block/ItemType
- Improved formatting and performance of YAMLProcessor when no comments are
present.
- Added bPermissions support
- Update for new events system
- Fixed /scriptname.js and no-double-slash settings not working
- Corrected usage message for maze.js
- Fixed mimimum height check for cylinder generation
- Get the items to be dropped for a block break from Bukkit
5.1.1:
- Fixed some compatibility issues with SpoutPlugin
- Readded Permissions 2/3 support
- Fixed an issue with CylinderRegion
5.1:
- Added a //help command (alias /we help).
- Fixed a NullPointerException in conjunction with CraftBook.
- Added support for console commands to WorldEditPlugin.
- Made /butcher, /searchitem (and /search) and /worldedit (and /we) work on the
console.
- Fixed //stack -s (again).
- Added a thickness parameter to //hollow.
- Added a block/pattern parameter to //hollow.
- Added a -l flag to /butcher, which spawns fake lightning on all killed
entities.
- Added support for dynamic command registration.
- //sel poly now keeps the previous selection, converting its outline into a
polygon if necessary.
- Fixed //sel selection clearing not being dispatched to CUI.
- Improve zip file recognition.
- Added WECUI protocol version support. Eventually, this will disable WECUI
until the user updates, but not yet.
- Added //desel and //deselect as aliases for //sel
- Added a gravity brush.
- Added support for ellipsoid and sphere selections.
- Add cuiVersion to LocalSession and set it via incoming CUI event Refactor
region selectors to handle legacy versions a bit better. Because chat
doesn't allow the section sign to be sent, I have to send non-color codes. Meh. closes #158
- Some region selection fixes
- Removed redundant line from README.md.
- Add a cylindrical region selector.
- Added initial SpoutAPI compatibility
- Allow copying item stacks with damage of > Byte.MAX_VALUE. Closes #972
- Improved output of YAMLProcessor and added support for root-level comments.
(for developers!)
- Removed support for Permissions2/3
- Performance improvements
- 1.1 compatibility
Thanks to everyone for their contributions:
rjwboys, yetanotherx, and GiCodeWarrior
5.0:
- Added a //g[en[erate]] command that can generate a shape given a formula
- Added a //deform command that deforms the current selection given a formula
- Added a //hollow command, which hollows out the object contained in the selection.
- Added /snapshot sel, which preselects a snapshot for future operations
- Added //sel extend, which activates cuboid selector where you can extend
selections by right-clicking.
- Added -a and -n flags to //butcher to kill animals and NPCs, respectively
- Added support for stretched cylinders to //cyl and //hcyl (use //cyl x,z)
- Added sound and particle effects for the super pickaxe
- Added l[eft], r[ight], b[ack] and f[orward] to the commands that take a direction.
- Added an expression parser (for developers!)
- Added a YAML library (for developers!)
- Added extended help to commands manager (for developers!)
- Support for the new blocks/items/mobs that were added with Minecraft 1.0
- Support for non-128 world heights
- Block queues are now flushed based on attachment to other blocks. This should
fix doors popping out.
- Made blockbag (take blocks from inventory) system more consistent.
- Made some commands' syntax error messages more elaborate and useful
- Made /green break on liquids.
- Improved interaction with permission plugins
- Improved negated node support for Bukkit's permissions system
- Changed the WEPIF interface (for developers!)
- Fixed data value handling for fire, chest, reed and jukebox
- Fixed config file generation on windows
- Fixed some navigation wand (compass) quirks
- Fixed the tree remover tool for large forests
- Fixed //stack -s to actually shift the selection to the end of the stack
- Bug fixes
Thanks to everyone for their contributions:
KenanY, Megalin, wizjany and ZachBora
4.7:
- Added support for all the new items and blocks
- Added multiworld permissions support to WEPIF
- Added superperms and native PEX support to WEPIF
- Added /range command for brushes
- Added multiworld snapshot support (check the new structure on the wiki!)
- Added //naturalize command (makes stone/dirt/grass layers)
- Added a //farwand tool, allows selecting pos1 and pos2 at a distance
- Added a //lrbuild tool, allows "placing" and
"destroying" blocks at a distance
- Added /pyramid and /hpyramid generators
- Added underlay and overlay masks
- Added a /green command (adds a layer of grass on top of landscape)
- Added polygon support to the WorldEdit CUI
- Moved config permissions system and other WEPIF configuration to the
wepif.yml file
- Improved command logging to additionally log the position and region of
the player
- Added -n flag to //smooth (smooth only natural terrain)
- Improved item/block name matching
- //pos1 and //pos2 now accept an x,y,z arguement to
select arbitrary coordinates
- Non-integer (decimal) radii now work in cylinders, spheres, fill, drain, etc
- Added -s flag to //chunk (select all chunks in current selection)
- Block patterns now can be used in //replacenear, //walls, and //outline
- Block damage values can be used in //replace and //replacenear
- Added -p flag to flip, flipping the clipboard offset around the player
- Allowed performing //undo from other player's sessions
- Added ellipsoid support to //sphere and //hsphere (use //sphere x,y,z)
- Entity /remove command can now remove "xp", for xp orbs
- Using //set mobspawner is no longer case sensitive for mob type
- The /deltree tool now deletes floating mushrooms as well
- Added value flag support to the command system (for developers!)
- Fixed superpickaxe dropping the wrong items sometimes
- Fixed errors when manipulating note blocks
- Fixed cylinders generating too short
- Fixed inaccurate polygon edges
- Fixed flipping of signs and doors
- Fixed manipulating blocks in unloaded chunks
Thanks to everyone for their contributions:
zml2008, wizjany, TomyLobo, Nichts, mrapple, jjkoletar, robinjam, jascotty2,
Hretsam, Elizacat, masteroftime, x1337x, TLUL, Droolio, ZerothAngel, md-5,
and t3hk0d3
4.6:
- Updated for Minecraft 1.6.
- Added flood fill tool. Use /floodfill