WorldEdit/CHANGELOG.txt
2019-06-11 21:15:48 +10:00

1159 lines
53 KiB
Plaintext
Raw Blame History

7.0.0
See https://matthewmiller.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.