* 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: only show categories with access in help-menu
* chore: cleanup imports
* feat: tab complete should respect category permissions as well
* chore: cleanup imports again
* chore: rename ambiguous method name and update access modifier
* fix: NPE on unavailable music discs
* chore: documentation for InventoryUtil changes
* fix: no need for additional decrement
* chore: address requested changes
* fix: prevent binary mismatch
Co-authored-by: Alex <mc.cache@web.de>
* 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>
* Fix: getName should return something
* Fix caption typo
* Deprecate old getName methods + add new methods for username retrieval
* Remove wildcard import
* Use @since TODO instead of hard coded version
* chore: Update `@since` tags to TODO
Co-authored-by: NotMyFault <mc.cache@web.de>
* feat: display explosion particles even after event cancel
And add settings option to change behavior
* refactor
* refactor: Change settings comment to clearer connect to it's purpose.
* Fix: use ownersInclude instead of ownedBy where required
- Also account for multiple plot owners in Cluster player removal
- Add whereBasePlot to avoid merged plots listing multiple times if required
- Only use ownersInclude in visit if enabled in config
- Fixes#3143
* Remove static import
* Refactor: Replace Rörledning with Cloud-Services
Cloud-Services is actually maintained, as opposed to Rörledning. Furthermore, Rörledning is available through Maven Central, whereas rörledning isn't.
This is a semi-breaking change, but because we relocate, it might be fine? Either way, this is a necessary change.
* build: Provide jsr at runtime
* Merge branch 'v6' into refactor/v6/cloud-services
Co-authored-by: NotMyFault <mc.cache@web.de>
* fix: Standardize projectile permissions
- Let all projectiles (not just splash potions) have a permissions check on throwing
- Fixes snowballs, eggs, etc. being able to be thrown when not added to the plot, etc.
- Fixes#2986 (splash potions only able being to be thrown when also added to the plot)
- Remove the specialized code for egg hatching as now eggs are cancelled entirely
- Remove the non-standard plots.projectile.unowned and plots.projectile.other permissions in favor of the standard admin ones
* docs: Add back deprecated projectile permissions
* docs: Update Core/src/main/java/com/plotsquared/core/permissions/Permission.java
Co-authored-by: Alex <mc.cache@web.de>
Co-authored-by: Alex <mc.cache@web.de>
* Better deciding of heights to use for generation and schematics
- If bedrock is disabled, we should still be filling the space with something
- Use minBuildHeight instead of hardcoding "1" for schematics (it is still 1 by default) to ensure all-encompassing schematics
- Schematic generation/handling for roads etc. should be accounting for all of wall, road, and plot heights for deciding point of origin
- Fixes#3269
- Starts to address #3175
* Also do for HybridPlotManager clear
* Add border bypass permission
- Fixes#3297
* Add permission to plots.admin permpack
* Implement messages on leaving/entering border area
* Rename to border.denied and make border msg red
* change too le/ge as tthey are likely to be equal to border when hit.
- Since we check for being across the border beforehand, it will hopefully not be spammed too much?
- If it's spammed then either we use meta to set if a player's left the border, or we just remove the come-back-in altogether because it's a little looong
* Respect non-visible players in tab completion (Closes#3263)
* Deprecate old Tab-Complete methods instead of hard-replacing them
* wtf git
* Mark for removal, useless new-lines
* Pass ConsolePlayer.getConsole() instead of Nullable param
* Minor work for 1.17
* Address TODOs
Introduce `entity-change-block` flag covering blocks affected by `onPeskyMobsChangeTheWorldLikeWTFEvent`. Previously this was covered by the mob-place flag, however, changing the tilt state of big drip leafs and a series of other blocks call `EntityChangeBlockEvent` so this shouldn't be covered by mob flags only.
* Address other TODOs
* Compile against paper 1.17
This will only work if you built paper locally and deployed it to your local maven repo.
* Updated linked javadoc links
* Handle sculk sensor events in a more controllable way
* Update issue forms for 1.17
- Ditch slf4j in favor of log4j. slf4j is (unfortunately) very much unmaintained at this time and future versions of MC (1.17+) will use log4j version 2.14.1 onwards over some ancient sfl4j version.
- Using log4j reduces our jar size as well, because we don't need to bridge it as the game provides it natively.