- It's very resource-intensive and probably doesn't work anyway
- Tick limiter should not be enabled by default, it confuses a lot of people with the console logs
* fix: add null-check for brush in traceMask
- Fixes#2149
* Switch to print from printError
Co-authored-by: Alexander Brandes <mc.cache@web.de>
---------
Co-authored-by: Alexander Brandes <mc.cache@web.de>
* feat: improvements to clipboard on disk
- close clipboard on instantiation failure
- set canHaveBiomes when loading clipboard from disk (only possible cause I can find for #2151 ..?)
- check file length and give more appropriate error if it exceeds maximum. Fixes#2151 I guess?#
- set byteBuffer to null before invoking cleaning. Addresses #1985
- don't catch and print all exceptions when getBlock fails - prevents large console output for what is likely to be a failed operation anyway
* Fix comments
The problem: Off by one error for negative coordinates. Source: Behaviour of rounding coordinates (doubles) after deform.
The off by error came down to rounding using casts (int) and rounding using Math.floor()
(int)( 1.8) = 1
(int)(-1.8) = -1
(int)Math.floor( 1.8) = 1
(int)Math.floor(-1.8) = -2
Looking at the original WorldEdit implementation a Math.floor call is present too. It was missing FAWE which resulted in the bug.
Co-authored-by: Alexander Brandes <mc.cache@web.de>
* feat: retrieve the latest release version automatically
(cherry picked from commit a8885a349a567849f6db29565cc65b14e3dab155)
* feat/fix: validate hash of downloaded asset file
* chore: address review comments
Usage of nio Path instead of direct File access
Usage of HexFormat instead of custom implementation
No need for usage of channels
* chore: simplified sha-1 calculation logic
Co-authored-by: Pierre Maurice Schwang <mail@pschwang.eu>
* Don't do the unbelievable bad use of a MutableBlockVector2 in the creation of a set
- FixesIntellectualSites/PlotSquared#3683
* Clean up remnants of the use of MutableBlockVector2
* If a char mask is successfully created from the full input, return it
* Don't double-up adding a block to a BlockMaskBuilder (if adding by regex is successful)
- InputParseException is thrown if unsuccessful
* Fix optimisation of BlockMask for negation of a single block type
- Fixes#1755
* Allow early returning of an optimized MaskIntersection to avoid unnecessary work
* Actually allow underscore in isAlphanumericUnd
- Fixes#1626
* Replace a few more hard-coded air internal IDs
* Don't fail silently if BlockMaskBuilder#addRegex doesn't work when testing all block types
* Remove unused import
* Fix horrendous variable assignment in PNGWriter
- Fixes#1679
* More detailed information on PNG format
* Avoid a larger number of blocks that do nto have a color assigned in TextureUtil
* Don't error in PNGWriter if biomes aren't saved to clipboard and grass is present
* Only implement cache to MaskingExtent when off main thread
- It's possible for a [Chunk/Char]FilterBlock to be used multiple times in the same "tree" of method calls meaning the mutable paramets (particularly index) get increased within a loop, causing AIOOBs and other issues
- This is only possible on the main thread due to the handling of submissions in SingleThreadQueueExtent, as it ensures all operation remains on the main thread to prevent deadlocks
- Therefore safe usage of FilterBlocks requires that main-threaded operation create a new [Chunk/Char]FilterBlock instance each time
- Further fixes#1681
* Fix typos
* Switch to LongFunction
* Only synchronise tree generation at the very lowest level
- Fixes#1681
* Perform the generate inside try-finally and actually use the resultant copied map to place blocks to the editsession
* Check result of generateTree and return null if failed
* Implement limits to image size and load times
- Prevents issues caused by users attempting to load large images
- Implements #1729
* Check dimensions given before attempting to load image
* feat: Add support for 1.19
* build: Update paperweight version
* fix: obfuscated names, invalid method signatures
* avoid NPE on config access
* build: Update paperweight
* implement no-op light engine to avoid stalled tasks that never complete
* Apply DelegateSemaphore fixes to 1.19 (#1782)
* Apply DelegateSemaphore fixes to 1.19
* Fixes
* Avoid using PalettedContainerRO#recreate as much as possible. Show an error or warning when we're forced to use it to help fix (#1784)
Co-authored-by: Pierre Maurice Schwang <mail@pschwang.eu>
Co-authored-by: SirYwell <hannesgreule@outlook.de>
Co-authored-by: Jordan <dordsor21@gmail.com>