* 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>
* feat: unknown owner(s) for plot expiry
* Sort plugins on `/plot debugpaste` alphabetically (#3447)
* feat: Sort plugins on debugpaste alphabetically
* Put (F[A])WE at the top
* feat: Add 1.18's music disc additions to `/plot music` (#3446)
* refactor: Prepare removal of our maven repository (#3451)
* Allow restoration of road schematic height calculation behaviour from pre 6.1.4 (#3444)
* refactor: Update SquirrelID GAV
* build: Release 6.3.0
* build: Back to snapshot for development
* fix: fallback method in BukkitQueueCoordinator uses world coordinates
* mark since tags as TODO
* fix: get the lowest diff for plot age
* fix: initialize with high value and better readability
* fix: no need for multiple age checks
* fix: address exceptions in plot analysis
* chore: address requested changes
* chore: Fix introduced violations
Co-authored-by: Alex <mc.cache@web.de>
Co-authored-by: Jordan <dordsor21@gmail.com>
- Redo how regeneration works a little to also take a cuboid region for regeneration off-chunk plots
- Fix a couple of cases where we were writing to the queue instead of the world in the ChunkConsumer (dum)
- this seems to be working.
- Add readregions to queues for when we're setting our own consumer (usually meaning the queue writes its own blocks, so it doesn't know which chunks to actually load)
- Finish removing chunk/regionTasks
- Allow the queue to not remove tickets from chunks (useful for swapping chunks so they don't unload needlessly)
- Remove a lot of unused methods
- Implement entities to queues
- Remove chunk unloading (the server should really handle it)
This would either need to be one WorldEdit operation or (preferable) WorldEdit allows Extents (including EditSessions) into the regenerate adapter method
- Move ChunkCoordinatorBuild to Core
- Add core ChunkCoordinator
- Add Factories for ChunkCoordinator and its Builder
- Reimplement refreshChunk but in WorldUtil
- Allow custom Consumers to be used by the Queue when sent to the ChunkCoordinator
- Start switching ChunkTasks to use the new ChunkCoordinator system
- Replace GlobalBlockQueue's "empty task" system with normal sync TaskManager
- Remove lombok from the queue system
- Add back forceSync and chunkObject from LocalBlockQueue
There's still the issue of Spigot's (or paper's) terrible GC that does nothing and stores everything in PS old gen memory so the server just numpties itself though.