Allows cancellation information to be fed back into the ascend/descend
algorithms.
(cherry picked from commit 71e104bcb187a5313e88dda5df79059c8ffbc1fe)
- bring fixes to 1.16
- Fix for all lighting where it only set sky lighting if not present, even if it was trying to set block lighting (unlikely to have caused issues as block lighting seems always to be present, but wrong nonetheless)
First noticed incident of operations ruining ChunkSections. Do not build and use this unless you're testing.
Rushed some of the changes, gotta sleep. Would be nice to get a review of this one from @mattbdev and @dordsor21
- Very basic implementation of the SideEffects system. Will definitely need fine tuning for it to be functional, but is not considered a priority in my opinion.
- Minor changes to the World interface and World implementations related to the SideEffects system. Shouldn't be the cause of any new bugs but be on the lookout.
- Included debug in BukkitImplLoader.java to assist contributors in understanding what needs to be implemented for the adapter to load properly.
Still very WIP but we're a few steps closer. So far, this is coming along better than I anticipated. Hopefully we can keep the momentum.
This commit will allow the branch to build properly but the plugin will not function properly due to the lack of a proper adapter implementation. Proceeding will require the implementation of the SideEffects system from upstream (865c3a24d2 (diff-8fd33296e427c87d0296ad7f3ccc050a)).
* Use a long to refer to the volume of a region, and rename the method to getVolume
* Fixed issues noted in review
* Forgot to floor
* Fixed review notes
* Can use a long here rather than BigDecimal
* Improve javadocs
* style
(cherry picked from commit 328030fd6281e58a4ea1d0cdd0a2e274da90afbe)
* Start work on lighting engine (does not build)
* Implement getLighting
* Setting, flushing light etc works. Getting light should be working..?
* Better queue/chunk handling
* Use correct location for lighting update
* Correct set location, remove debug
* cleanup a little
* Fix fixlight
* Apply to all versions for the numpties
* Remove lighting extent if not using
* Actually bitmask blocks when setting in chunks
* Initialise Maps and Dequeues with inital size
* format
* Documentation maybe
- Should ensure the server doesn't tick the chunksection while we're editing it
- Basically using the old issue with FAWE breaking block ticking by setting this to zero :)
- Revert back to default FAWE behaviour where placed blocks do not tick by default (until a restart, or another edit is done in the same chunksection without changing the block)