* accessing clipboards should not be synchronized to LocalSession
I believe this may be the issue causing thread locks when wrapping new players. If we're attempting to run a synchronised method within the LocalSesison when initialising it, it may go wrong..?
* nullcheck within synchronisation
* Allow parallelisation of masks
Increasing performance improvement with increased masking complexity and edit size.
* Address comments
- Rename Mask#clone to Mask#copy
- Rename Mask2D#copy to Mask2D#copy2D
- Correct formatting
* cx -> centerX
* Make various operations relying on a single SingleThreadQueueExtent instance (mainly brushes) thread safe
Shrinks the jar size since we no longer must bundle the Kotlin library. The downside is that some classes grew in size compared to their Kotlin versions.
Many contributors didn't care for Kotlin either.
* Begin working on improved lighting to better match 1.14's "new" lighting engine
I guess the "new" lighting engine is somewhat old now lol
Also implement the remove first stuff to fixlight
* And then make it work
* Add a #air mask, the opposite of #existing (#1511)
(cherry picked from commit 84fa2bbbc63de7bece01f41c0d5cb7d85cf129e6)
* Remove unused methods in Mask.java
* Remove `test(Extent, BlockVector3)` from Masks.
This was a poorly planned idea. This should save some memory too.
Authored-by: Matthew Miller <mnmiller1@me.com>
Masks Reimplemented:
- Adjacent (~): Adjacent to a specific number of other blocks.
- Example: ~[oak_log][1][4]
- Extrema (#extrema): Restrict to near specific terrain extrema. The "-o" flag will only overlay existing terrain.
- Example: #extrema[0d][45d][-o]
- ROC Angle (#roc): Restrict to near specific terrain slope rate of change. The "-o" flag will only overlay existing terrain.
- Example: #roc[0d][45d][-o]
- Surface (#surface): Restrict to surfaces (any solid block touching air).
- Example: #surface
- Wall (#wall): Restrict to walls (any block n,e,s,w of air).
- Example: #wall
Other Changes:
- Minor logic change to angle mask's overlay.
- Fixed negating air mask.
- Added overlay flag to angle (/) mask.