* Implement build height limits into more events
* Implement util method to check if y is within world build limits
* Extract duplicate player-build-height-checking to plot area
- Extract to core module to allow any possible future platforms to access the method, as they will always duplicate
* Add code tag to javadoc
Co-authored-by: Alexander Brandes <mc.cache@web.de>
Co-authored-by: Alexander Brandes <mc.cache@web.de>
* fix: Don't publish root directory (Fixes#3647)
* fix: More investigations
* fix: Exclude task 'jar' from root project
* chore: Keep group ID in the root scope
* Ensure forceSync is provided when constructing chunk coordinators
* Re-add old factory create method and deprecate for removal
* Remove old create method that Guice doesn't like
* Implement tile entities to generation using Populators
- Fixes#3051
* Javadocs
* Don't do the big error if heads don't work
* Address comments regarding javadocs/comments
* Ensure Location is still sealed, and add api description annotation to public methods in UncheckedWorldLocation
* Clean up HybridGen
- There's no need for while loops acting as a modulo after we've already performed a modulo
- Make the code-sections calculating if positions are in the wall/road more readable
- Collaps duplicate if-elseif bodies
* Better exception handling when setting data to LimitedRegion during chunk population
* Address comments
Co-authored-by: Alexander Brandes <mc.cache@web.de>
* Better naming for "legacy" block state populator
Co-authored-by: Alexander Brandes <mc.cache@web.de>
* Only load world cofigurations if WorldEdit has fully enabled (safe to do)
- Fixes#3664
(cherry picked from commit f2e1e99be3b4f1fd5ce00e32ea7773dd4d1855aa)
* Fix imports
* QueryCapability is effectively a "dumb" method
* Update Core/src/main/java/com/plotsquared/core/PlotSquared.java
Co-authored-by: Alexander Brandes <mc.cache@web.de>
- Begin by implementing forceSync to the queue system as we know the chunk will be accessible to edits in some cases (i.e. population).
- Also implement custom SideEffectSets to override any decided by the default chunk consumer, as we do NOT want to update neighbours in population (this caused infinite generation to be required causing the lag and server death). We also do not want to enqueue the QueueCoordinator in AugmentedUtils as this would write to the world and update neighbours before we might want to (plus it's just used to restrict and offset the blocks being set)
- Then implement disabling any biomes from being saved/set to the queue to prevent augmented worlds having their biomes overridden in roads
- Consequently fix ScopedQueueCoordinator, preventing the y value of blocks being set from needlessly being changed, fixing road heights in augmented worlds
- Finally we do not need a method with chunkObject in the signature in AugmentedUtils as this is no longer used by the method
* Fix plot analysis
- Stop using deprecated ChunkQueueCoordinator and create a new purpose-built coordinator
- Generation is chunk-by-chunk thus the old blocks cache needs to be filled accordingly
- Remove the **four** System#gc calls
- Fixes#3464
- Fix really weird dumb... maths? in ExpiryTask
- Fixes#3600
* Add since annotation
* Address comments and maxY should be inclusive
* Annotate new queue as internal use only