WorldEdit/CHANGELOG.txt
2024-02-29 22:53:43 +10:00

1512 lines
71 KiB
Plaintext
Raw Blame History

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<64> (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 <block> <radius> and right click blocks
to flood fill them.
- Added //gmask to set a *GLOBAL* mask that affects nearly ALL operations.
Now you can confine //sphere to a region or create //walls that do not
replace existing blocks.
- Added a region-based mask that confines changes to the current region
(when the mask is set).
- Added support for combining masks, i.e. /mask #region rock,brick
- Added //fast mode, which allows the server to skip the dirtying of chunks.
This means that you have to rejoin to see changes though, but most
operations are doubled in speed. This only applies to the Bukkit version
at the moment.
- Changed the block type check to be implementation-dependent. The Bukkit
plugin now checks Bukkit's Material.
- Added -p flag to //butcher to kill pet wolves. Thanks to wizjany.
- Added -s flag to //move and //stack to move the selection along with the
blocks. Thanks to wizjany.
- Made CUI selection clear on disable (including Bukkit's /reload).
Thanks to wizjany.
- Added "deltree" tool for removing floating trees. Thanks to moo0.
- Added rotation support to redstone repeaters.
- Fixed //expand vert not updating client.
- Fixed the issue with log files not being closed on unload in Bukkit.
Thanks to stoneLeaf.
- Fixed history size being 0 with old config files.
4.5:
- Fixed the IllegalAccessException with /remove (hopefully).
- Removed wolves from /butcher. There's no way to check if a wolf is owned
or not in Bukkit yet.
- Added permission checks for tools on use, so now if you switch world or
lose your permissions, you lose your tools.
- Added expiration timer to sessions. Sessions will now last up to 10 minutes
(by default) before removed, so you can quickly disconnect (or crash) and
come back and still maintain your history.
- Removed minimum cap on history size (now you have history sizes under 15).
4.4.1:
- Maven-built release.
- Sun Rhino removed.
4.4:
- Updated for Minecraft 1.5.
- Updated for latest Bukkit.
- Add cycling for wall signs and steps.
- Fixed rotating wall signs.
- Fixed exception thrown by commands with multiple spaces between arguments.
4.3:
- Updated for Minecraft 1.4.
- Added support for newer versions of Permissions.
- Took polygon-in-point algorithm from WorldGuard, which is a minor
improvement. Please submit a better algorithm that properly handles edges!
- Fixed WorldEdit unpacking the wrong config.yml.
- Added improved selection getting/setting API.
- Diagonal stacking added (not up or down yet) (thanks Valentin Stahlmann!)
- Palette option added to draw.js (thanks J0s3f!)
- CraftScripts: Made EditSession.rawSetBlock() public.
4.2:
Bukkit users: Minimum build #: 541
- Changed the compass so that left click is /jumpto and
right click is /thru.
- Add a basic API method to get a player's selection region.
- Added shortcut fire extinguisher brush.
- Added //regen to regenerate an area.
- Added McRegion support to /chunkinfo.
- Added /snap before [date] and /snap after [date].
Example: /snap before last Monday 2am
- Added /worldedit tz to set your timezone. It currently does not persist
yet. Example: /we tz america/los_angeles
- Fixed block mine drops for 1.3.
- Possibly fixed item dropping with undo/redo.
- Fixed the permissions resolver not being loaded if it was loaded after
a plugin was enabled or re-enabled.
- Removed GroupUsers support.
- Added some support for the WorldEdit client-side UI (CUI) protocol.
4.1:
- Added McRegion support.
- Optimized the case when worlds were not in the root directory of a zip.
- Fixed snapshot restoration not working on sign blocks and other special
tile entity blocks.
- Added beds as a place-last block.
- Fixed beds and redstone repeaters not being set.
- Added an alias for wool colors as though they were blocks, so you can now
do //set blue, etc.
- Removed "blue" as an alias for lapis lazuli.
4.0-beta8:
- Added things for CraftBook.
4.0-beta7:
- Added 1.3 block support.
4.0-beta6:
- Fixed //count being ///count.
- Added a workaround to the fact that Minecraft no longer sends a block
dig packet for bedrock. WorldEdit now detects if you're hitting bedrock,
but it may not be entirely accurate (torches will trick it!).
- Removed /t on request of Kainzo.
- Fixed second position setting commands saying position one instead of two
when selecting cuboids.
4.0-beta5:
- Fixed permissions with brush commands.
4.0-beta4:
- /b changed to /br.
4.0-beta3:
- Fixed BLOCK_DAMAGED bug.
- Fixed command conflicts.
4.0-beta2:
- Fixed issue with too many commands being put into plugin.yml, causing
conflicts with other plugins.
- //size works properly again.
- /search is now an alias for /searchitem.
4.0-beta1:
- Added /remove command to remove entities (paintings, items, minecarts,
boats, arrows, and primed TNT).
- /butcher now works for slimes and ghasts and will no longer drop items.
- The tool system has been overhauled so that when you use a tool, it gets
bound to your currently held item. For example, you could bind the tree
tool to a wooden sword and the brush tool to a diamond axe.
- Brush commands have been broken up. Use /brush, /mat, and /size to adjust
a brush's settings. A different brush can be bound to different items.
- //wand now gives the wand item directly.
- New mask support allows you to filter the blocks that would be changed.
This currently only works for brushes.
- Added some API methods.
- Added multiple undo/redo.
- Added -c flag to //distr to print to console.
- Added //outset and //inset commands to quickly adjust the size of
the current selection.
- Snapshot commands now are nested under /snap and /snapshot commands.
- Changed super pickaxe mode command to /sp.
- Added history size configuration option.
- //size is currently /m due to a bug.
- Added smooth brush.
- Added /we version and /we reload.
- Added 'no-op-permissions' setting for Bukkit.
- Added polygonal regions. These are still in development as they are
a bit inaccurate at the moment.
- Updated WorldEdit for Bukkit.
- Improved parsing of block pattern/data syntax.
- Improved block and item name list.
- Improved debugging messages (if that's enabled).
3.2.2:
- Updated for Bukkit commit 8ccfad945663cd0ea60531b085748c81fc6fefb8.
3.2.1:
- Added version information for SP.
- Improved Bukkit performance drastically.
3.2:
- Fixed /forestgen having an incorrect number of maximum arguments.
- Re-added Sun Rhino implementation as a separate library bundled in
during creation of the .jar.
- Unified file selection and checking API.
- Fixed CraftScripts not properly loading files from the current
working directory as defined by the implementation.
- Enabled queue on EditSessions given to scripts.
- Improved draw.js to be more user friendly.
- Fixed /forestgen having an incorrect number of maximum arguments.
- Fixed /removenear not taking a default size argument.
- Improved overall performance.
3.1:
- Added more tree generators. /tree [type] and
/forestgen [size] [type] [density] are the new commands.
- No longer using the internal Rhino JavaScript engine, so Windows users
will now have to download Rhino separately to use scripting.
3.0:
- Added /searchitem or //l command to lookup items and block by name and ID.
- Added block data cycling super pickaxe tool. (/cycler)
- Added //paste [-ao] syntax to paste without air and at origin.
- Added support for //stack [-a] to not stack air.
- Added the ability to configure the schematic and CraftScript directories.
- Added better support for cake, added some more block/item aliases.
- Added support for rotation block orientation with the rotate and flip
commands (now stairs, torches, etc. will rotate correctly).
- Added distance to //size.
- Added more brush shapes (hollow sphere, cylinder, hollow cylinder,
and clipboard) for the brush tools.
- Added in a valid block ID check.
- Added debugging information for when no snapshots could be found.
- Added pattern support to //overlay (i.e. //overlay 3%torch,97%air).
- Added a clipboard pattern (//set #clipboard) -- useful for repeating
patterns over an area.
- Changed the arm swing tools to also work on right click.
- Improved block drop list (thanks to Gunther De Wachter).
- Fixed scripting.timeout setting taking no effect.
- Fixed group checking with Permissions.
- Moved commands around in the code and added hierarchical permissions
support in the process. All permission systems supported by WorldEdit
(and utilizing plugins) support hierarchy, regardless if they really
do or not. WorldEdit will simulate hierarchy as required.
2.15.2:
- Minor additions for ease of integration.
2.15.1:
- Fixed /script.js shortcut not stripping forward slashes.
- Changed some internal working directory handling code to better support
single player modifications.
2.15:
- Added roof.js by Bentech. It makes a roof over your selection.
- Added wool as an alias for cloth.
- Added support for specifying color names instead of data values for cloth.
- For the brush tools and the compass, you now have to SWING with your arm.
- Right click with the compass now toggles between /thru and /jumpto.
- The algorithm for /thru was improved.
- Fixed quickshot.js not reading notes correctly.
- Fixed /butcher. (I also added necessary methods to Bukkit so you now
have to update that too.)
- draw.js now supports orientation and choses white wool for white pixels
instead of pink! (Thanks to Dean Ward.)
- Improved /info tool to handle more block data.
- Changed /s to /.s to avoid conflicts.
- Now you can use /script.js directly as a command.
- Improved /info tool to handle more block data.
2.14.2:
- Fixed array out of bounds error with snapshots.
2.14.1:
- Improved some error messages.
- Fixed snapshots not supporting all block types.
- Fixed forest generator.
2.14:
- Added full block data support (furnaces, note blocks, etc.) for Bukkit.
- Added /s to repeat last script.
2.13:
- Scripting support is back!
- Colored cloth blocks should now work.
- Fixed issue where the command's arguments were printed to chat when
you also did not have permissions.
2.12:
- Added new flat file permissions resolver, added * support for
ConfigurationPermissionsResolver.
- Added support for Niji's permission system.
- Fixed bad list to array conversion in ConfigurationPermissionsResolver.
- Fixed default permissions with the built-in permission resolvers.
- Fixed issue with BlockWorldVector causing java.lang.VerifyError due to
how Bukkit loads plugins.
- Ops now have all permissions.
- Changed /reload WorldEdit to /reloadwe.
- Moved WorldEdit to use Bukkit's command registration. Let's hope
this didn't break things.
2.11:
- Ported over toi's ray tracing code so that it's now included in
WorldEdit. This will make porting WorldEdit to single player
and other platforms easier.
- Fixed NullPointerExceptions that appeared while saving a chest.
- Fixed NullPointerExceptions in some super pickaxe modes, made arm swing
handler get called on item usage. This means that you can use
/brush and /rbrush now but you right click in the air instead of
swinging your arm.
- Made super pickaxe arm swing and right click modes mutually exclusive.
- Added the navigation wand. Normally a swing of your navigation wand
would call /jumpto, but in the mean time you have to right click.
2.10:
- Inventory support now works for Bukkit.
- Now /jumpto and /thru works.
- Now prints an error message if permission is not available.
- Added support for cloth color with the super pickaxe drops.
- Updated GroupUsers support to use GroupUsers' new API. GroupUsers
must be updated as well.
- Added wand-item to default config.yml.
2.9:
- Added pine tree tool.
- Bukkit: Added support for GroupUsers. If GroupUsers is not present,
WorldEdit will fall back to its own permissions system.
- Bukkit: Added sign support for Bukkit.
2.8.1:
- Added some extra functions to Vector for WorldGuard.
- Made setup easier and less confusing.
2.8:
- Improved Bukkit support.
2.7.2:
- Fixed permissions checking for individual commands.
- /butcher should now kill animals again.
- /thru should now treat torches and such as pass-through blocks.
2.7.1:
- Added tree and item drop support for the Bukkit version.
2.7:
- Added sphere brush tool. Use /sphere <id> [radius] [noReplace?] to
enable it and /none to disable it (note: /none also disables the
right click super pickaxe tool). The brush tool builds a sphere at the
location that you are looking at. For the last argument, put "true"
or "yes" to prevent the brush from replacing non-air blocks.
- Changed water to be considered a pass-through block. This means that
/thru, /jumpto, and such commands will ignore water.
- /tree now makes regular tree and /bigtree makes big trees. /forestgen
will still make big tree forests.
- The block replacer tool should now support inventory.
- Fixed the NullPointerException with /jumpto and similar commands.
- Made handling of non-right angles in getDirection() return more
relevant errors. Now //stack and similar commands won't give you the
cryptic error of "Unknown direction: me".
- Updated sample worldedit.properties file.
2.6:
- Removed 'air' prefix from commands. Now //pasteair is just //paste,
//moveair is just //move, etc.
- Made /worldeditselect permission more encompassing, now including //chunk,
//expand, and //contract.
- Added syntax for //expand <amt> <reverse-amt> <direction> which allows
you to expand in two directions at once. This also works for //contract.
- Added //expand vert|vertical to expand the selection from top to bottom.
- Added /thaw to reverse /snow.
- Fixed WorldEdit not handling ice removal well.
- Fixed some inaccuracy problems regarding player positions caused by a
recent update.
- Fixed the tree generator.
- Code reorganized a little more.
2.5.1:
- Fixed the WorldEdit bridge used by CraftBook and other plugins.
- Fixed issues with permissions where the only reliable permission was
/worldedit.
2.5:
- Fixed issues with permissions not being read correctly.
- WorldEdit is now world-aware (not that the Minecraft server is).
- Abstracted super pickaxe mode/tools and changed commands to /tree, /info,
/none, /single, /area, and /recur.
- New /repl super pickaxe tool.
- Now bundling JNBT.
- Add a very rudimentary command line program that will check the integrity
(a very basic integrity check) of a world.
2.4:
- Added the ability to use (require) inventory with operations, preventing
people from setting blocks that they don't have.
- Simplified the max blocks change limit to be binary (either you have it or
not). Also separated the 'max' limit and the 'default' limit in terms
of configuration. This means that the WorldEdit restrictions file is
no longer used.
- A large part of the code was moved around (again) to make porting
WorldEdit to other modding APIs easier, but this means that something
may have broken.
- Chest handling was rewritten for Minecraft beta, so it should be
reliable now and not cause exceptions.
- Item damage is now managed by WorldEdit's chest handling APIs.
- Worked around an issue with the java.util.zip implementation that
caused ZIP files containing backslashes to not work correctly.
- Changed the TrueZip support to use the API for java.util.zip, meaning
some bugs should be fixed.
- Made all commands support double forward slashes as the command prefix.
2.3.4:
- Fixed issues with chests.
- Added configuration option that disables the "//" prefix and lets you use
single forward slashes too.
2.3.3
- Updated for beta.
- Fixed error caused by not specifying a mob spawner type when using mob
spawner blocks.
- Improved version detection to be more reliable.
- Fixed incorrect item drops for the super pickaxe.
2.3.2:
- Fixed the history/queue array lists being iterated in the wrong direction.
//move should be fixed as a result.
2.3.1:
- Updated for b129+ and v0.2.6_02.
2.3:
- Blocks should now be set and removed correctly so that they don't
drop items.
- /fixwater and /fixlava should no longer cross solely diagonally connected
pools.
- Fixed //smooth lifting water upwards.
- Added //shift to move the selection.
- Added //flip to flip the clipboard.
- ; instead of | can be used when specifying extra tile entity data
for blocks that support them.
- Items are now dropped by the super pickaxe (configurable).
- The info tool is governed by the permission /infotool and the tree tool
is now goverened by the /treetool permission.
- New info tool (//tool info) that tells you information about the block
that you right click with a pickaxe on, including the type of mob
spawned by a mob spawner.
- Mob spawners are now supported for all operations. To specify a mob type,
use syntax like //set mobspawner;Pig or //set mobspawner|Pig
- Added a catch for the IOException now thrown by recent versions of hMod.
2.2.1:
- Fixed compatibility with server v0.2.5.
2.2:
- Added Grum's //smooth command to smooth terrain. Select the entire area
and use //smooth on it, perhaps specifying a number of iterations,
with a larger number of iterations meaning a smoother terrain. Trees and
other blocks like fences currently do not drop.
- Fixed output messages for //pos2 and //hpos2 when used.
- Updated for server version 0.2.5.
2.1:
- Switched usage of HashMaps to double ArrayLists in the history function,
increasing the speed of everything by up to 20x.
- The data values of blocks that use them won't be set anymore, decreasing
the packet spam generated.
- Added //fillr that recursively fills (it's //fill except it will
fill nooks and crannies).
- Fixed /unstuck lifting you when you weren't stuck.
- Added a filename character whitelist to schematic saving/loading
routines. (regex: ^[A-Za-z0-9_\- \./\\'\$@~!%\^\*\(\)\[\]\+\{\},\?]+$)
- Expanded the character whitelist for snapshot names (to the same as the
one for schematic saving/loading).
- .schematics now save original copy offset.
- Added //count that counts the number of blocks in a region.
- Added //distr that prints the distribution of blocks in a region.
- Added /butcher to kill all/nearby mobs.
- Added mob killing to the super pickaxe.
2.0.2:
- Fixed issues with /listsnapshot and //restore not working.
- Fixed help for //expand and //contract.
- /jumpto should work reliably again.
2.0.1:
- Fixed the issue with the super pickaxe not working with bedrock.
- Fixed an issue with the recursive super pickaxe not working properly.
- Added an argument to /listsnapshots to show more snapshots.
- Added an argument to //restore that lets you select a snapshot for
restoring without //use.
2.0:
- Added help message to //load telling users about //paste.
- Added Notch tree planting tool mode with the right click of the pickaxe.
(Undo is supported!)
- Added recursive super pickaxe mode that destroys blocks adjacent,
destroying only blocks of the same type as the block that you clicked on
- Added area super pickaxe mode that destroys a cuboid area on use,
destroying only blocks of the same type as the block that you clicked on.
- Added pasting at origin and saving origin to .schematics.
- Added /chunk to select all the blocks inside the chunk that you are in.
- Shortcut /replacenear lets you replace nearby blocks.
Example: /replacenear 50 rock glass
- /ascend, /descend, and /unstuck now detect pass-through blocks better.
- Added /up to go up some distance.
- Added /snow command to overlay snowfall and freeze lakes in the area.
- Both /pinegen and /forestgen (now) have a density argument. Values
between 0 and 100 are accepted.
- Changed old forest generator command to /pinegen.
- Changed /forestgen to generate forests using Notch's tree algorithm
(fully undoable).
- Improved speed of commands that iterated over cuboids by 5-40%.
- Support for setting random block content with //set.
Example: //set 5%diamondore,95%glass
Numbers don't have to add up to any particular number.
- Block IDs are now resolved with hMod as well, should it fail to resolve
with WorldEdit.
- Added support for replacing a list of blocks with //replace.
- Added register-help configuration to prevent WorldEdit commands from
showing up in help.
- /ascend, /descend, and /unstuck now clamp Y to >= 0.
- Added /worldeditselect permission that will give users access to all
commands and functions that let you define selections.
- Point selection functions now emit the coordinates.
- //size now displays coordinate information.
- Added per-group block change limit restrictions support.
- Possibly added .tar.bz2/tar.gz support. Untested and highly
unrecommended.
- Added command logging setting and logging to file.
- Added max-radius configuration to clamp radii and sizes.
- Added /fixlava.
- New /ex area fire extinguisher command (shortcut to /removenear fire 40).
- Added class to access WorldEdit selections from other plugins.
- //contract and //expand argument orders swapped to go with the other
direction commands like //stack.
- Super pickaxe now ignores TNT. (Before it caused ignition on client-side
only).
- Y coordinates are now clamped between 0 and 127 when blocks are set
by WorldEdit. This fixes some exceptions.
- Expanded the priority block list significantly to handle more block types.
- .schematic load/save error messages are now more descriptive.
- Fixed iron pick axe not working as a super pickaxe.
- Plugin .jar renamed from SMWorldEdit to WorldEdit as it was confusing.
- WorldEdit version is now printed on load.
0.13.2:
- Added support for the new block types from the Halloween update.
0.13.1:
- Updated for b123.
- New /pumpkins command. Happy Halloween!
- //fill now uses its own stack so that it doesn't cause stack overflow
errors for overly large regions.
- For commands that look for a block ID (//replace, /removenear), it will
no longer check against the WorldEdit block restriction list.
0.12
- Added /listchunks
- Added /delchunks (creates a shell script).
0.11:
- New TrueZIP support.
- Fixed the issue with certain blocks dropping items (torches, etc.).
- Chests are partially supported. Double width chests don't paste too well yet.
- //expand and //contract are now bounded on the Y-axis.
- Cactus was removed from the list of allowed blocks.
0.10:
- Issues with the permissions regarding the super pick axe mode and
the edit wand have been resolved.
- For the super pick axe to destroy bedrock, permission must be given for
/worldeditbedrock.
- Added /chunkinfo to tell you information about the chunk that you are in.
- Added support for restoring regions from a backup. /listsnapshots, //use,
and //restore have been added.
- Added //hpos1 and //hpos2 to set the corners of the cuboid to the block
that you are looking at.
- Added /jumpto to go to the spot that you are looking at.
- Added /thru to go through the wall in front of you.
- Added /ceil to get to the ceiling of a room.
0.9:
- Giving permission to just /worldedit is now enough to have access to all
WorldEdit commands.
- The super pickaxe toggle command has been changed to //, but the old "/,"
command will continue to work. When assigning permissions, give access to //
- Added //move and //moveair to move the selection.
- Fixed the help for //wand.
- Fixed a bug that caused commands to be case sensitive.
- Permissions for the non-air command (i.e. //stack vs //stackair) now
extend to the air command.
- Added /removenear to remove nearby blocks of a type.
- Fixed the incorrect help for some commands.
- Added //cyl and //hcyl to generate filled and hollow circles and cylinders.
- Added //sphere and //hsphere to generate filled and hollow spheres.
- Added //walls to generate the sides of a cuboid region.
0.8.3:
- //rotate fixed.
- Fixed some floating point inaccurracy errors.
- Exceptions are now caught when handling commands so that they can be
reported to the current user.
0.8.2:
- Signs that are not in a loaded chunk will no longer cause an exception.
- /unstuck, /ascend, and /descend are more accurate now. /descend also
won't drop you from 20 feet up and it won't drop you into the void anymore.
0.8.1:
- Added a workaround for the onBlockDestroy hook returning (0, 0, 0).
0.8:
- All operations now implicitly support working with block data, including
sign text. This applies to .schematic loading and saving.
- Scripting support has been removed. It may return in the future, possibly
as an additional plugin.
- /edit command prefix was changed to //.
- Added //expand and //contract to expand and contract the selected region.
- Fixed help for //stack and //stackair.
- Added /ascend to ascend to the next level up.
- Added /descend to descend down a level.
- Added /toggleeditwand to toggle use of the toggle wand.
- Re-implemented /forestgen in Java.
- Added /editrotate to rotate the clipboard around the minimum position.
- Added super-pick axe mode with command /,
- Added /toggleplace to switch to using position #1 instead of your feet.
- Plugin for hey0's server mod has been renamed to SMWorldEdit.
- //fill routine now keeps a track of visited blocks to prevent
infinite recursion caused by inconsistent states.
- /editcut will both copy and remove.
- All block name lookups now use WorldEdit's own list.
- New syntax to specify block data when specifying block type. Examples:
//set crops:7
//set sign:4|Line1|Line2
- Colored cloth blocks can no longer be created at all
(they crash clients).
- Added /fixwater to level and correct water.
0.7:
- /editreplace now has reversed arguments. /editreplace [fromID] toID
- /editstack(air) now has reversed arguments. /editstack count [direction]
- /editstack(air) now can take longer direction names ('up' vs. just 'u').
- Added /editdrain drains pools of lava and/or laval.
- Fixed help for /editstack(air) incorrectly referring to the clipboard.
- Removed the dependency on Apache commons and recompiled the JavaScript
engine to be smaller.
0.6:
- Added a check that will warn you when the region you have selected is
larger than the .schematic format can support.
- Implemented smart block queuing that will intelligently create or
destroy blocks so that certain blocks (torches, etc.) will spawn
correctly (though perhaps not in the right orientation) and will
remove correctly (without dropping an item).
- When pasting, if you end up inside a block, you will now be put up top
of the paste.
- Added /editstack and /editstackair for stacking/repeating regions a
certain number of times.
- Added /removebelow.
- Added height parameter to /removeabove.
- Added /editwand to give you the wooden axe.
- Added /editlimit to allow you to clamp the number of blocks that can
changed in one go at a time. A new "max-blocks-changed" setting
lets you configure a default limit.
0.5:
- You can now right click once with the wooden axe to select position 1
and double right click to select position 2.
- /editoutline added to draw the faces of a region.
- New /editload and /editsave that work with .schematic files.
- /clearclipboard now works.
- meteorshower.js added: drop burning resources around you.
- Scripts can now be run directly as a command.
- The forest generator now tops the trees with leaves.
- Scripts will now be aborted if they take 3 seconds or longer to finish.
- Fixed a bug in the undo function that prevented generated forests from
ndoing properly.
- Added Teleport functions to the scripting interface.
0.4
- Added history with undo/redo up to 15 states.
- /editreplace updated with the ability to replace only one type of block.
- Added /editcopy and /editpaste.
- New adjustable whitelist of usuable blocks.
0.1
- Initial release.