-
Notifications
You must be signed in to change notification settings - Fork 28
Changelog
platz1de edited this page Jun 1, 2023
·
18 revisions
Released on 16 May 2021
Released on 23 May 2021
- Fix selections being active in different levels
- this produced problems when loading chunks
- Fix undo in non-default levels
- Fix move on chunk borders
- Fix crash when editing levels depending on ItemFactory
Released on 25 Jul 2021
New Features:
- cylinders
- hollow cylinders
- cylinder brushes
- dynamic blocks (ignore Meta if used in block comparisons)
- center pattern
- wall pattern
- sides pattern
Commands:
- Implement count command
- Implement extinguish command
- Implement walls command
- Implement sides command
- Implement status command
- Implement cancel command
- Implement benchmark command
- Position commands now accept coordinates
- Send selected coordinates with message
Bug Fixes:
- Fix brushes activating when breaking blocks
- Fix various problems when pasting
- Fix problems causing a crash when undoing
- Fix a lot of edge-cases creating problems when copying & pasting
- Fix stacked cube being mirrored when stacking in negative direction
- Fix stacked cube crashing when crossing chunk borders
- Move double chests correctly
Performance Optimizations:
- Custom serialisation
- Implement selection splitting to more selection types
- spheres & hollow spheres
- cylinder & hollow cylinders
- undo & redo
- paste & insert
- Wait a tick before some actions to allow the server to tick normally
- Inject chunks directly without loading old ones first
- decreases needed time to set Chunks by about 90%
- Only save edited chunks & pass necessary ones between treads
- decreases saved chunks per operation from 25 to 9
Released on 06 Dec 2021
API4 support
Note: The syntax and function of patterns has changed, please refer to the documentation
New Features:
- Improved Patterns
- Support for percentage notation
- differentiation between logical and classical patterns
- Schematics
- McEdit Format (until Java 1.12.2)
- Sponge Format (Java 1.13+)
- Block translations, converting blocks from java to bedrock
- “hand” argument, representing the current held block
- revert actions of other players (//undo <target>; deactivatable via config)
Commands:
- Clipboard:
- //loadschematic (//load) command, loading schematics from “schematics” directory in plugin_data directory
- //saveschematic (//save) command, saving current clipboard
- //rotate command
- //flip command
- //cut command
- //noise command
- //blockinfo command
- //istack command
Utility Improvements:
- New blockparser allowing use of string ids like “red_wool”
- Legacy numeric ids are still supported
- Inserting now ignores the same blocks as smoothing does (configurable via config)
- Proper permission naming system
- More tolerant pattern parser, allow use of spaces in most commands
- //status command now shows memory consumption of edit thread
- World generation is no longer handled differently, this allows support for custom generators depending on special properties
- Patterns now report wrong usage directly
- //center command is now async & undoable
- Parameters like radius or thickness now allow use of floating point numbers
Bug Fixes:
- Selection axe now works properly on mobile devices
- Fix some potential data loss when passing chunk data
- Fix some rounding faults causing selections to have unexpected behavior
- Fix some crashes when trying to exceed world height limitations
- Fix selection level being ignored in some cases
Performance Optimizations:
- Clipboard & History is now saved on the editing Thread directly, saving cost of transferring data
- Add selection contexts, reducing checked blocks for commands like //center drastically
- A ton of other tiny improvements
- Tiles of selections now get split into pieces like blocks do
Internal Changes:
- Complete rewrite of task structure, switching to a request-based thread
- Allows for way more customization of features
- Gave Config & Message files updating scripts allowing to update to newer versions without loosing settings
- Tracking read & written block count for edits
Released on 1 Jan 2022
- Fixed a crash occurring when switching into a previously unloaded world
Released on 26 Jan 2022
- Fixed a bug causing spheres & cylinders being cut off at bigger diameters
- Fixed sponge (or custom saved) schematics not being offset
- Selected area is now displayed correctly when rejoining the server
Released on 25 Feb 2022
- Fixed deletion of tiles around big editing tasks
- Fixed some pattern usage messages not being sent
Released on 18 Jun 2022
New Features:
- Tile support for schematics
- Containers including items with custom names/lores
- Support for mobheads & shulker boxes
- Works with java world edit
- Flicker-free setting
- only for smaller selections
- Added a translation system
- Currently supports English, German & Japanese (~ yuko fuyutsuki)
- Help translate
Minor Features:
- Support for plugins adding new blocks (if properly registered to pmmp)
- Option to remap commands autocompleted by minecraft (start with thee slashes..)
- Implemented gravity pattern
- gravity option for brushes
- Implemented a paste brush
- Added a horizontal pattern
- Implemented an embed pattern
- Improved smoothing
- better handling of floating objects
- not creating any floating nature elements
- no air pockets underwater
- NOTE: Normal smooth pattern was removed
- stacking / moving now gets split like all other tasks
Commands:
- //fill command
- //drain command
- //overlay command
- //line command
- Direct line to given coordinates
- //line find command
- //view command
- //builderrod command
- //commands command
- //pastestates command (pastes everything)
- //wand command
- default wooden axe still works
Utility Improvements:
- All blocks can now be made static using # (static blocks are not counted as a group)
- Added a center argument to //copy command
- //replace now replaces all solid blocks by default
- Implemented support for relative & directional coordinates (~ ~10 ~ / ^ ^10 ^)
- Brushes now work through water & underwater
- Leaves no longer decay when set
- Most commands now accept directional arguments ("up", "north"...)
- if none is given facing direction will be used
- Brushes now save whichever item was in the hand when creating them
- Task progress is now a lot more accurate
- Tool cooldown can now be configured
Bug Fixes:
- Benchmarks now actually set a 3d-checkers pattern
- Fix a rare occasion where the thread would freeze the server
- Fixed crashes when data couldn't be loaded
- Hand pattern now works with all items
- Fix crash when using non-numeric weight or weight without a pattern
- Fixed crash when using patterns with insufficient arguments
- Fixed wall pattern missing a side of cubes
- Fixed thread waiting for already sent data ~ JavierLeon9966
- Fixed a bug causing thread to repeatedly crash
- Patterns without closing brackets now throw an error
- Fix brushes crashing the server when created with invalid patterns
- Fixed schematics generating with duplicate palette entries
- Deleting the data directory now doesn't crash the server
- Fix crash when raycasting fails
Internal Changes:
- datafiles are now shipped with the plugin
- full usage without an internet connection
- downloaded files are cached to save bandwidth
- chunks now get cached instead of being loaded repeatedly
- Improved chunk handling by a lot
- Most magic arguments were changed to actual parameters, improving error handling
Released on 05 Aug 2022
- Tiles are now properly removed when their blocks are replaced
- Fixed a crash related to smoothing near world limitations
Released on 01 Jun 2023 API5 support
New Features:
- Improved block parser
- Now accepts block states (full or partial, auto-completion included)
- Full support for java block states
- Block tags
- Allows to affect a group of similar blocks (e.g. all logs)
- Can be used to set random variants (//set #wool)
- Command Flags
- Allows to specify more options for commands (see the command usages for more information)
Minor Features:
- Added movement related commands
- //thru command
- //unstuck command
- //up command
- Added more pasting options
- //merge command
- //rpaste command
- flag for options above
- Added generation commands for cubes
- //cube command
- //hcube command
- Improved support for java <-> bedrock conversion
- Data files are now specific for your pocketmine version
- Improved handling of unknown blocks to allow partial conversion
- Implemented item conversion
- Also converts display properties (name, lore, enchantments)
- Added support for new tile data:
- Bells
- Note Blocks & Jukeboxes
- Flower Pots
- Beds & Banners
- New Languages
- Vietnamese ~NhanAZ
- Indonesian ~Kylan1940
Utility Improvements:
- Execution Time now includes all time spent on the task
- previously it only included the time spent setting blocks
- Cancelling someones task now notifies them
- Improved error handling
- Server no longer crashes due to a world being invalid
- Detect broken block states in config
- All commands now accept parameters case-insensitive
- Improved handling of utility blocks
- Selection outlines should now show way more reliably
- Selection outlines now show up after teleporting
- //view block now automatically disappears when moving
- Added option for count command to show block states
- Use -d flag to show block states
- Improved benchmarks
- Added option to keep benchmarked world after completing (use -keep flag)
- Increased benchmark size
- Allow cancelling benchmarks
Removed features relying on old chunk loading system
- around & horizontal pattern
- embed pattern
Bug Fixes:
- Fixed random patterns not working
- Fixed brush cooldown affecting all players
- Fixed crash when pasting tiles outside of world boundaries
- Fixed undo of expanding tasks not being complete
- Task results now properly report all the time (even when cancelled)
- Fixed minor synchronization issues
- Fixed crash when moving blocks outside of world boundaries
- Requesting unknown blocks no longer causes invalid blocks to be placed
- Fixed some cases where an internal EasyEdit crash would affect the main thread
- Fix tiles being written multiple times when pasting
- Fixed possibility for edit thread to enter a crash loop
- Report invalid player names in commands instead of crashing
- Fixed crash when using line command without specifying a mode
- Fixed crash when using an empty legacy pattern
- Fixed wall pattern being offset by two blocks in southern direction
Performance Improvements:
- Chunks are now loaded on the fly
- This drastically reduces the amount of time tasks take to execute
- Allowed chunks to be executed in any order
- Only actual needed chunks are loaded
- e.g. when setting a large sphere, chunks outside of the sphere are no longer loaded
- Huge improvements to performance of some specialized tasks
- moving and stacking tasks now load chunks in a much more efficient order
- Line tasks no longer save all blocks to be set in a list
- Pasting now ignores empty chunks altogether
- Cutting is now executed in a single step (Chunks no longer need to be loaded twice)
- Loading schematics has an about 90% reduced memory footprint
- Only the compressed schematic is loaded into memory and decompressed on the fly
- Added some caches for frequent calculations
- All needed block states are being loaded from the main thread on server startup
- Loading McEdit schematics no longer loads block states every time
- Undoing data is no longer copied for every edited piece
Internal Changes:
- Switched to a promise based task system
- Allows third party plugins to easily hook into task execution
- Implemented own vector system
- This allows for more flexibility and reliability when working around world boundaries
- Api is now independent from player instances
- Chunks are now edited on a one by one basis instead of splitting the selection into smaller parts