Commit Graph

2080 Commits

Author SHA1 Message Date
Bernhard
5eb2fc3ad0
Kick players on merged plots appropriately (#3639)
fix: kick denied player regardless on all connected plots
2022-05-24 20:30:06 +02:00
Alexander Brandes
41f546ca6b
build: Release 6.8.0 2022-05-18 22:05:31 +02:00
Jordan
96dfc27411
Fix lag caused when generating augmented worlds with roads (#3614)
- 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
2022-05-16 13:27:41 +01:00
Jordan
171d2e5e99
Fix generation of augmented/partial worlds when single worlds are enabled (#3615) 2022-05-16 13:21:43 +01:00
Jordan
98a07dad1b
Fix plot analysis (#3618)
* 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
2022-05-15 11:58:04 +02:00
Jordan
0ffa22b7a6
Deprecations to Queues (#3613)
* Deprecations and niceties
 - Deprecate ScopedQueueCoordinator as it is poorly named
 - Deprecate ChunkQueueCoordinator for complete removal as it is poorly designed (though still used)

* Add since tags
2022-05-15 11:57:26 +02:00
Hannes Greule
d5f8a0842b
make y location of homes always absolute part 2 (#3620) 2022-05-13 15:46:52 +02:00
Bernhard
85911646f3
Add ability to disable random Mojang uuid API calls (#3586)
* feature: ability to disable impromtu Mojang uuid API calls

* refactor: update comment for the new setting
2022-05-11 13:11:57 +01:00
Jordan
8b75dece69
Implement chunkObject into queueing (#3612) 2022-05-11 13:11:38 +01:00
Bernhard
7d6e515ba8
Improvements to /plot list command (#3585)
* refactor: list command shows owner better
added check for:
- unknown owners (UUID not cached/invalid)
- server plots
- plots owner by everyone

* fix: show correct color in list command if plot is owned by everyone

* refactor: improved List command for server plots

(cherry picked from commit fed700f0d8)

* refactor: removed duplicate code

* refactor: renamed placeholders to reflect their use

Co-authored-by: Alexander Brandes <mc.cache@web.de>
2022-05-10 09:50:27 +02:00
dordsor21
13d7357c85
Niceties
- Better ordering of augmented information printed to consol on startup
 - Override
2022-05-10 01:43:01 +01:00
Bernhard
f49ddb819d
Add Plot flag for projectiles (#3581)
* feature: add flag for projectiles

* build: add License to ProjectilesFlag.java

Co-authored-by: Alexander Brandes <mc.cache@web.de>
2022-05-04 23:21:24 +02:00
Traks
a6aaa9538f
Set plot biome chunk by chunk (#3590)
* Actually set plot biome chunk by chunk

* Better variable name for chunk position
2022-04-30 14:16:58 +02:00
Hannes Greule
b11bb6fa22
make y location of homes always absolute (#3568) 2022-04-19 00:48:51 +02:00
Alexander Brandes
e5764b958d
build: Replace jsr305 with spotbugs (#3576) 2022-04-19 00:48:23 +02:00
Pierre Maurice Schwang
38682ecff6
fix: share the QueueCoordinator in PlotModificationManager#unlinkPlot (#3571)
Co-authored-by: Alexander Brandes <mc.cache@web.de>
2022-04-15 07:01:53 +00:00
Pierre Maurice Schwang
6a54dc7eff
fix: typo (MaxBuildHeight -> MinBuildHeight) (#3572) 2022-04-15 08:59:01 +02:00
Pierre Maurice Schwang
8454c29c91
fix: Make PlayerManager#resolveName blocking for entry title (#3556) 2022-04-11 14:38:02 +00:00
NotMyFault
8a80f252cf
chore: Fill in since TODOs 2022-04-04 12:54:42 +02:00
Hannes Greule
dc5c80d812
clean up PlayerCommandPreprocess listener (#3557) 2022-04-01 19:30:37 +02:00
Alexander Brandes
96e9a61e7c
refactor: Deprecate Load#secToTime() (#3558) 2022-04-01 19:30:11 +02:00
Jordan
b9bd9b81e6
Make confirm tasks synchronous. It was changed in 7ac3f7ca03 (#3551) 2022-03-23 15:04:39 +01:00
Jordan
308dba5601
Only add extent to WE operations once (#3537) 2022-03-10 22:40:09 +01:00
dordsor21
5c7bfb988c
Fix #3532 2022-03-08 18:14:19 +00:00
NotMyFault
fd4a542062
build: Release 6.6.0 2022-03-07 15:35:00 +01:00
Jordan
9f632af0ae
Implement extended world heights from Y-64 to Y319 #3473 (#3473)
* 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>
2022-03-05 19:03:39 +01:00
Hannes Greule
75f31c5bf6
Replace delombok-ed equals and hashCode methods (#3518)
* regenerate leftover delombok-ed equals and hashCode methods

* delegate to hashCode directly instead of single parameter calls
2022-02-27 18:51:37 +01:00
NotMyFault
78125ff1e2
build: Release 6.5.0 2022-02-10 12:32:02 +01:00
Alex
d7c8715b25
Don't open the component GUI if the actor has no permission for a specific preset (#3496)
* fix: Handle an empty component GUI gracefully

* Address comments
2022-02-10 12:19:35 +01:00
Alex
34f005c244
Restore ability to use PlaceholderAPI in greeting and farewell flag (#3489)
Fixes #3465
2022-02-10 12:11:39 +01:00
Alex
6fbd1376ca
Don't enable presets with prices if economy is disabled (#3497) 2022-02-10 12:10:47 +01:00
Pierre Maurice Schwang
951767dc64
fix: synchronize confirmExpiry (#3481)
Prevents that the MetaDataAccess is closed before setting the data
2022-02-08 15:57:09 +01:00
Pierre Maurice Schwang
16928b05f1
Display "/plot help" categories only, if the player has permission to access these commands (#3490)
* 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
2022-02-08 15:56:29 +01:00
Pierre Maurice Schwang
543284e016
fix: NPE on unavailable music discs on lower versions (#3475)
* 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>
2022-02-04 18:21:43 +01:00
NotMyFault
9ba2b62fc2
[ci skip] style: Restore GlobalFlagContainer's entry list being sorted alphabetically
Mostly helps me when updating the wiki
2022-01-31 15:50:44 +01:00
Hannes Greule
d06a827e31
Always call plot events through the event dispatcher (#3479) 2022-01-29 13:12:00 +01:00
Alex
10bb520f3a
docs: Switch to generated wiki (#3482) 2022-01-29 00:12:54 +01:00
NotMyFault
ac71046feb
build: Release 6.4.0 2022-01-27 13:49:17 +01:00
Alex
4d297cc829
Separate linked javadocs per module (#3476)
* docs: Separate javadocs per module

* docs: Read javadoc version from Gradle version catalog
2022-01-27 13:26:27 +01:00
Alex
5ab410a5c5
fix: Don't ommit flag int input in no permission message (#3466) 2022-01-27 12:14:39 +01:00
Pierre Maurice Schwang
92c54de5e9
fix: run whenDone on empty queue (#3474) 2022-01-27 12:13:55 +01:00
Alex
ff5d79699d
docs: Add @since annotation for v6 changes (#3471) 2022-01-24 21:46:01 +01:00
Alex
a0594c19ee
docs: Address dangling @see tags (#3469) 2022-01-24 21:43:35 +01:00
Alex
da41c136fe
docs: Unify true/false style in @return (#3470) 2022-01-24 21:41:54 +01:00
Pierre Maurice Schwang
59e0b4b67a
feat: unknown owner(s) for plot expiry (#3452)
* 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>
2022-01-23 10:44:11 +01:00
Yannick Lamprecht
a003836dbc
feat: plot-title flag value should allow single values (#3410) 2022-01-22 11:02:08 +01:00
NotMyFault
42bf413528
chore: Address more violations 2022-01-20 21:01:38 +01:00
Alex
827f46566c
draft: Address false positives in code style issues (#3461)
* chore: Address false positive code style issues

* chore: More work

* More work
2022-01-20 12:39:40 +01:00
Pierre Maurice Schwang
6f4d2f6d5a
Fix: Missing Component returns + plot info on unknown plot owner (#3449)
* 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>
2022-01-19 15:56:31 +01:00
Bernhard
6073b96317
feat: add worldname to the notify flags (#3457)
* feat: add worldname to the notify flags

* fix: change default message

* refactor: extract duplicated code

* fix: use area instead of world
2022-01-18 20:42:44 +01:00
NotMyFault
8b6e7b2f2b
build: Release 6.3.0 2022-01-14 11:14:00 +01:00
Jordan
9a85080bf6
Allow restoration of road schematic height calculation behaviour from pre 6.1.4 (#3444) 2022-01-14 10:46:04 +01:00
Alex
bcfe7c58dd
feat: Add 1.18's music disc additions to /plot music (#3446) 2022-01-12 22:22:01 +01:00
Alex
289f0f3bfd
Sort plugins on /plot debugpaste alphabetically (#3447)
* feat: Sort plugins on debugpaste alphabetically

* Put (F[A])WE at the top
2022-01-12 22:21:51 +01:00
StealWonders
6fc4005c72
Fix for unwanted audio panning (#3430)
* Fixes https://github.com/IntellectualSites/PlotSquared/issues/3422

* Removed old code

Co-authored-by: Alex <mc.cache@web.de>
2022-01-11 11:02:23 +01:00
Alex
8f7c2e4c02
fix: /plot music being able to be used on unclaimed plots (#3432) 2022-01-11 11:01:36 +01:00
Xaver106
b43d08f4aa
feat: Display explosion particles even after the event got canceled (with setting to control behavior) (#3436)
* 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.
2022-01-10 13:18:19 +01:00
Jordan
4b77f1ab28
Make road flags great again (#3420)
Fixes #3111
2022-01-05 21:21:58 +01:00
Jordan
7cc38b5fa8
Fix: use ownersInclude instead of ownedBy where required (#3419)
* 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
2022-01-05 21:21:48 +01:00
Jordan
7e1d56c849
fix: Reimplement the "unknown owner" option to plot purge (#3412)
- Warn user that backgorund UUID caching may fix the issue
- Also correct the UUID set when purging based on "shared" (added) player
- Fixes #3353
2022-01-05 21:21:08 +01:00
NotMyFault
25095f4546
chore: Welcome 2022 2022-01-02 22:22:19 +01:00
Alexander Söderberg
fd0c2050d8
Refactor: Replace Rörledning with Cloud-Services (#3409)
* 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>
2021-12-31 15:49:11 +01:00
Jordan
07fdc94dd8
Account for mutability of plot objects when sending move/swap success messages (#3414)
Fixes #3337
2021-12-31 15:46:08 +01:00
dordsor21
eb334b3aac
Fix: add missing placeholders for plot info
Fixes #3339
2021-12-30 14:41:31 +00:00
NotMyFault
7d981bc610
build: Release 6.2.2 2021-12-30 10:14:15 +01:00
Alex
3eb485e900
refactor: Drop guava annotations and create annotation helper (#3389) 2021-12-29 16:18:19 +01:00
Yannick Lamprecht
e042566bb7
fix: Strip redundant space at flag collection (#3400) 2021-12-26 23:28:03 +01:00
dordsor21
1f26808c7b
Don't return the "side" for world plots when accessing default home locations 2021-12-22 17:47:48 +00:00
dordsor21
a7026047d0
Adding gold at the end might stop the prefix weirdness? 2021-12-22 17:46:39 +00:00
NotMyFault
af2613202d
refactor: Satisfy Semgrep 2021-12-22 02:06:07 +01:00
zombachu
a93402e27b
fix: Standardize projectile permissions (#3374)
* 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>
2021-12-17 22:06:56 +01:00
Alex
47ae79e123
Revert "refactor: Address MiniMessage deprecations (#3354)" (#3371)
This reverts commit f086826942.
2021-12-14 23:04:36 +01:00
Alex
858b6b5471
tests: Move to JUnit 5 (#3357) 2021-12-13 10:41:36 +01:00
Alex
f086826942
refactor: Address MiniMessage deprecations (#3354)
* refactor: Address MiniMessage deprecations

* refactor: More MiniMessage deprecations

* Move away from our `Templates#of`

* Address comments

* style: Address migration style issues

* docs: Add javadoc link for MiniMessage
2021-12-13 09:48:34 +01:00
NotMyFault
9c84dc2bc0
build: Update pipeline version to release build 2021-12-10 11:25:21 +01:00
Pierre Maurice Schwang
b9a130ab00
feat: Add -Post events firing after operational plot events (#3334)
* Create Post* events

* Address license violations

* address review

* standardize post event calls in EventDispatcher

* Add package-info.java

* Add @since-tag to Post* events

* fix licenser issue

Co-authored-by: Alex <mc.cache@web.de>
2021-12-06 19:50:04 +01:00
NotMyFault
2a40f52dea
docs: Update issue template to 1.18 2021-12-05 23:29:28 +01:00
Alex
3ed369de19
style: Add missing bracket for deny example (#3351) 2021-11-29 20:56:48 +01:00
Pascal Bürklin
8f3fa419c4
Fixes #3344, Wrong iterator algorithm in PlotRangeIterator (#3345) 2021-11-23 19:52:23 +00:00
dordsor21
d1dbf777a4
Don't check/set if a chunk should be saved if it's a world-plot 2021-11-11 17:57:59 +00:00
Jordan
823e78377b
feat: Better deciding of heights to use for generation and schematics (#3300)
* 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
2021-11-11 17:33:38 +00:00
dordsor21
87a2e81ec3
Don't write biome data to schematics if it's not present 2021-11-10 19:51:14 +00:00
Alex
88775334b7
Schematic paths are configurable (#3303) 2021-11-09 10:32:07 +00:00
Jordan
c1163cdb2e
feat: Split configuration for teleport on claim/auto (#3308)
- Fixes #2953
2021-11-07 22:29:49 +01:00
NotMyFault
30d06b7801
build: Reduce consumer dependencies 2021-11-05 11:57:58 +01:00
dordsor21
a5cf7bf2c2
Fix BlockLoc to the requirements for use as a home location
- Add home locations to #fromString
 - Switch to y=Integer#minValue more
 - May help with #3321
2021-11-04 20:47:56 +00:00
dordsor21
3d4d413de8
Minor adjustment to plot home location logic
- Allow "centre" spelling
 - ClassicPlotWorld contains the PLOT_HEIGHT config setting, not HPW
2021-11-02 15:41:16 +00:00
Hannes Greule
b97e843849
perf: Get rid of Guice overhead when accessing the plot area manager (#3315)
Fixes #3311
Co-authored-by: Jordan <dordsor21@gmail.com>
2021-11-02 13:38:48 +00:00
Alex
48c7a3e94e
refactor: Use player friendly done message on restricted building (#3309) 2021-11-02 13:32:04 +00:00
mindw0rm
7263290bbe
fix: Untrusted visit flag not working with untrusted visit permission
Fixes #3317 
Co-authored-by: Alex <mc.cache@web.de>
2021-11-02 13:28:39 +00:00
Jordan
6f3eabba0e
feat: Don't display the default plot title if on a server-plot, unless configured otherwise. (#3305)
- If plot-title flag is set, title will still be displayed.
2021-11-01 11:23:53 +00:00
Jordan
804228fa6c
Allow pitch and yaw to be used in default home location (#3304) 2021-10-29 10:48:35 +01:00
Jordan
be85708e5a
feat: Add border bypass permission (#3302)
* 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
2021-10-28 10:13:36 +02:00
NotMyFault
b022a97196
fix: Flag list parsing for console players (#3277)
Instead of recreating the logic, we can simply reuse what we created above and string-ify that for parsing.
2021-10-18 20:20:52 +02:00
dordsor21
cb596ee6ea
Fix StackOverFlow 2021-10-18 17:27:51 +01:00
Xaver106
4e391136c0
Add and Trust permission now count correctly (#3290) 2021-10-15 11:28:23 +01:00
NotMyFault
6528c60f4d
fix: Fix greeting & farewell captions not being used (#3272)
* fix: Fix greeting & farewell captions not being used

Fixes #3250

* feat: Allow alias in greeting & farewell flag
2021-10-07 08:10:00 +00:00
NotMyFault
7ee46be2ac
feat: Allow plot alias in title (#3273)
Fixes #3171
2021-10-07 08:07:13 +00:00
NotMyFault
21727ebfc7
build: Overhaul build & deployment workflow (#3267)
* Fixes #3250

* build: Overhaul build & deployment workflow

- Move to release drafter
- Replace publishing with gradle nexus
- Conventional commits are handy
- Determine build status in gh actions before deploying
2021-10-04 15:28:47 +02:00
Pierre Maurice Schwang
e322ee85fd
feat: Respect non-visible players in tab completion (Closes #3263) (#3264)
* 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
2021-10-03 14:32:02 +02:00