* Address deprecations in queue/generation code
* Move to new generation API
- Currently not working due to lack of biome-setting capability via BiomeProvider for flat worlds
* Any fixes to flat world biome setting will target 1.19
* Ensure compiled is actually set to true in BlockBucket
* Delegate to platformGenerator in deprecated generation method if applicable when using new generation methods (1.19)
* Re-add wrongly removed method
* Handle exceptions using logger
* We can simplify getting relative offset using floormod
* Replace many booleans with EnumSet
* Address comments, remove needless boolean return for populateChunk
* 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
* Begin to implement extended world heights:
- Implemented in Bukkit module (and where required in Core module)
* Implement extended world heights into core module
* Add min gen height to setup,
* Default gen/build heights based on minecraft version
* Few fixes
* Fix up queues
* Address comments
* Make road schematic stuff slightly more efficient by sharing queues
* Minor fixes, don't overlay error many times for the same y
* Fix incorrect schematic paste height, undo changes to HybridUtils
* Overhall regenallroads method to make it work, make sure BukkitChunkCoordinator can/will finish
* Process chunks in order when regenerating all roads
* Address comments
* Address comments
* Ground level//bedrock is at min gen height
- Add comment on == rather than <= being used
- It's because it's only checking for the bedrock layer being broken if that's disabled
* Fix offset for min build height in SchematicHandler
* Better javadoc
Co-authored-by: Hannes Greule <SirYwell@users.noreply.github.com>
* Address inclusivity issues for max world height
* Javadocs/comments/deprecation
* Use world min/max heights if present in QueueCoordinator
* Address some deprecations for regions and biome setting
* Add a count for chunks we're currently trying to load to not skip chunks at the end of a queue's edit
* Use minGenHeight + 1 rather than build height in AugmentedUtils
* Create utility method for layer index in GenChunk
* Correct height in HybridUtils, also use minGenHeight + 1
* Don't magically split to 128 height in regeneration
* Add utility methods for world height in QueueCoordinator
* Clean up ClassicPlotManager road creation/removal
* Start generation at min gen height if bedrock is disabled
* min gen height is set in PlotArea
* Add note on schem y normalisation
* Improve plot getVolume method readability
* Don't overly extend height when regenerating road region
* y index utility method in ChunknQueueCoordinator
* Layer index utility method in LocalChunk
* Use version min/max heights if world not present in QueueCoordinator
* Fix min -> max
* Don't allow players to modify outside build height when using plot set / schematics.
- Also fixes schematic height issues
* Remove debug
* Address comments
* Switch loadingChunks to AtomicInteger to be safe (in case of multi-threaded)
* Fix "security" issue that was already present
* Ensure sign isn't physicsed
Co-authored-by: Hannes Greule <SirYwell@users.noreply.github.com>
This would either need to be one WorldEdit operation or (preferable) WorldEdit allows Extents (including EditSessions) into the regenerate adapter method