Commit Graph

1331 Commits

Author SHA1 Message Date
Alexander Brandes
9ffa935c0c
build: Switch to bill of materials (#3653)
* build: Switch to managed dependencies

* build: Move bom to root build script

* build: Update bom

* Update build.gradle.kts

* fix: Use the correct bom version
2022-06-09 12:57:37 +02:00
Bernhard
0a32268784
Prevent blocks moving/generating below and above build height (#3641)
* fix: cancel BlockFormEvent outside of build limit

* refactor: rename variables for easier readability

* fix: cancel liquid flow outside build limit

* refactor: implement to/from context
2022-06-05 20:51:07 +02:00
Alexander Brandes
ae3b8c06f6
chore: Address Paper javadoc warnings (#3648) 2022-06-05 20:50:49 +02:00
Alexander Brandes
62754362c2
build: Don't expose jcip and findbugs annotations to the world on runtime (#3533)
* build: Don't expose jcip and findbugs

* build: Revert relocation change of unpublished, shaded deps

* chore: Exclude .DS_Store files
2022-05-21 10:01:06 +00:00
BlockyTheDev
2e9dfd6f6f
chore: Update PaperMC repository endpoint (#3633)
Migration - New PaperMC endpoints
2022-05-21 07:57:22 +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
Bernhard
4433892431
fix: Block Endermites from spawning if mob spawning is disabled (#3623) 2022-05-16 13:20:03 +01:00
Jordan
60a0129fe9
Correctly use yIndex when regenerating plots in certain world configurations (#3601)
- Fixes #3597
2022-05-15 11:42:19 +02:00
Jordan
f7d55ce105
Implement restoring tags directly using a supplied block (#3616)
- Reduces overhead when setting blocks via fallback
 - Also means blocks will not be accessed via world when they should be access via chunk (https://github.com/IntellectualSites/PlotSquared/pull/3612)
2022-05-11 13:12:19 +01: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
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
Alexander Brandes
e5764b958d
build: Replace jsr305 with spotbugs (#3576) 2022-04-19 00:48:23 +02:00
Hannes Greule
dc5c80d812
clean up PlayerCommandPreprocess listener (#3557) 2022-04-01 19:30:37 +02:00
dordsor21
efc2083798 Change the default sign orientation to better match the wall location 2022-03-15 16:25:40 +00:00
dordsor21
3a6f845c01 Use correct field for unsaved in 1.18 2022-03-15 16:25:23 +00:00
dordsor21
5f233bb5d1 Use new FAWE method including actor for schematic pasting 2022-03-09 16:31:33 +01: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
Alex
e653961385
Fix shulkers teleporting on the road (#3501)
* fix: Don't teleport shulkers on the road

* Address comments
2022-02-16 13:48:20 +01:00
Pierre Maurice Schwang
7557df96c7
Cancel block placement if the block consists of two block states (#3487)
* fix: cancel block placements out of area

* chore: use BlockMultiPlaceEvent

* chore: fix comment typo

* fix: max build height should be exclusive
2022-02-11 11:21:59 +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
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
Jordan
1f28bac955
Fix: Plot#getOwner can be nullable, and redstone may be present on unowned plots (#3472) 2022-01-27 12:14:16 +01:00
Alex
ff5d79699d
docs: Add @since annotation for v6 changes (#3471) 2022-01-24 21:46:01 +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
Jordan
5fc153d896
fix: PlayerInteractEvent does not necessarily interact with a block (#3463) 2022-01-22 17:25:41 +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
Alex
d14d2caa2d
refactor: Prepare removal of our maven repository (#3451) 2022-01-13 14:50:07 +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
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
31f48cc7d1
Fix: 1.18 uses the same field as 1.17 for mustNotSave (#3428) 2022-01-05 21:22:09 +01:00
Jordan
0c76d08b10
Only send border area exit message once (#3418)
Fixes #3335
2022-01-05 21:21:37 +01:00
Jordan
9c474570c8
Fix: use portal corners to test for event cancellation as entity can be null (#3417)
* Fix: use portal corners to test for event cancellation as entity can be null

* Remove duplicate flag check?

* Simplify to Set#of
2022-01-05 21:21:25 +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
Yannick Lamprecht
9f4af889f7
fix: npe thrown in entity spawn listener (#3399) 2021-12-27 11:01:28 +01:00
Alex
7551450cf9
fix: Send user-friendly message on join of denied plot (#3388)
Also refactor local variable `now` to a more fitting name
2021-12-26 23:28:50 +01: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
zombachu
92f41f43c5
fix: Ignore the use flag for liquid placement/removal (#3375)
Fixes #3069
2021-12-17 21:52:15 +01:00
Alex
47ae79e123
Revert "refactor: Address MiniMessage deprecations (#3354)" (#3371)
This reverts commit f086826942.
2021-12-14 23:04: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
Alex
cba0f3ac1f
build: Switch PRTree GAV to our deployment (#3360)
* build: Switch PRTree repository

* build: Use our GAV
2021-12-09 18:30:35 +01:00
NotMyFault
2a40f52dea
docs: Update issue template to 1.18 2021-12-05 23:29:28 +01: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
NotMyFault
30d06b7801
build: Reduce consumer dependencies 2021-11-05 11:57:58 +01: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
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
Pierre Maurice Schwang
d70f99b489
fix: Respect tab-complete aliases (Fixes #3266) (#3268)
* Fixes #3250

* ListFlag#merge should not allow duplicates (Fixes #3157) (#3265)

* 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

* Respect tab-complete aliases (Fixes #3266)

* Useless import

Co-authored-by: NotMyFault <mc.cache@web.de>
Co-authored-by: dordsor21 <dordsor21@gmail.com>
2021-10-04 17:10:36 +02:00
NotMyFault
bb5d6c91da
Update Fawe version 2021-09-20 16:21:18 +02:00
dordsor21
b2b8598b5b
Fix #3246 2021-09-15 13:19:25 +01:00
NotMyFault
9f54472dd6
Relocate annotations properly 2021-09-12 13:56:08 +02:00
dordsor21
04821f777e
Mappings be obfuscated 2021-09-11 12:19:46 +01:00
dordsor21
4568b17c54
Fix issues with chunk saving in single world plots 2021-09-10 14:05:12 +01:00
dordsor21
d77a8c8fa4
Some improvements to events (#3238)
#3222 #3072
2021-09-09 21:37:44 +02:00
NotMyFault
b224a8d1b8
Include world in plot chat & spy template 2021-09-07 16:36:08 +02:00
dordsor21
732f79bbfc
Fix #3231 2021-09-07 14:47:37 +01:00
NotMyFault
da3fb1abec
Closes #3236 2021-09-07 13:52:47 +02:00
NotMyFault
4caaead7ee
Renovate
Closes #3217
Closes #3226
Closes #3227
Closes #3229
Closes #3230
2021-09-06 13:47:40 +02:00
NotMyFault
f036980dc5
Disband wilderness permission pack 2021-09-03 20:01:37 +02:00
dordsor21
0e4f54e9c0
Bump (FA)WE versions 2021-08-29 10:56:57 +01:00
dordsor21
7a3d5bd737
Don't trigger async catcher when adding chunk ticket
- Apparently PaperLib#getChunkAtAsync#whenComplete doesn't necessarily run the task on the main thread
2021-08-25 15:24:07 +01:00
NotMyFault
2ab1973668
Handle administrative overrides sanely 2021-08-25 11:49:54 +02:00
dordsor21
8a53b41b52
Improve ChunkListener class
- Add quicker method for getting chunks (not requiring a slow stream done by CB) but comment it out for now because we shouldn't need to do our own GC for loaded chunks; they're "handled much better by minecraft as of 1.14" (not really) meaning the required methods for testing if a chunk is allowed to be unloaded is not present. We instead must now rely on the ChunkUnloadEvent for setting if a chunk should be saved.
- Optimise the shouldSave method by not requiring access to injected classes frequently. Location#getPlot methods are not optimised for frequent usage in the same task.
2021-08-22 15:54:05 +01:00
dordsor21
34f0236e9f
Add option to "update" blocks that are altered in P2 queues. (#3200) 2021-08-19 20:30:38 +02:00
Traks
8f0ae7e51d
Clean up chunk coordinators and queue coordinators (#3208) 2021-08-19 12:31:47 +01:00
NotMyFault
2988ad6b11
Address style violations 2021-08-18 11:58:18 +02:00
dordsor21
252d6a2866
Fix nms chunk reference 2021-08-17 22:43:58 +01:00
NotMyFault
bfe2dda5b1
Closes #3212 2021-08-17 16:38:24 +02:00
dordsor21
33a79595af
Add TitleFlag (#3202) 2021-08-16 09:02:58 +00:00
dordsor21
eb2848e5d7
Fix bad method names etc for chunk/world listener 2021-08-15 13:58:56 +01:00
dordsor21
da4ae9f4f5
Slightly change how flag permissions are handled (#3201) 2021-08-14 13:13:01 +00:00
Traks
a405611b3a
Fix emptying buckets in plot border (#3192)
* Fix emptying buckets in plot border

* Note on 1.13 compatibility for bucket-empty event

Co-authored-by: NotMyFault <mc.cache@web.de>
2021-08-03 21:03:53 +00:00
Traks
fd4cec39c4
Fix sponge absorbing water across plot borders (#3191)
* Fix sponge absorbing water across plot borders

* Shorten for-loops by using removeIf

* Use 'Location' instead of 'var'

Co-authored-by: NotMyFault <mc.cache@web.de>
2021-08-03 19:07:02 +00:00
NotMyFault
e7fa057abe
Detach shoulder entities from natural mob spawning 2021-08-03 10:20:59 +02:00
SirYwell
89e17bb468 Properly handle economy initialization (fixes #3189) 2021-07-30 20:29:12 +02:00
Aurélien
6ad51bba65
Hot-fix for IntellectualSites#3179 (#3188)
Authored by @SirYwell ty!
2021-07-28 12:42:20 +02:00
dordsor21
3b27b6c850
FAWE-Bukkit shouldn't be in core 2021-07-23 16:24:30 +01:00
Traks
fbde60fcf9
Handle edge cases of EntityChangeBlockEvent (#3163)
* Handle edge cases of EntityChangeBlockEvent

* Remove excessive plot area existence check

Co-authored-by: NotMyFault <mc.cache@web.de>
2021-07-21 19:57:42 +00:00
Traks
2e64ac6d25
Revert projectile hit on splash (#3162)
* Revert projectile hit on splash

* Notes about potions splashing after hit cancelled
2021-07-15 18:43:05 +02:00
Traks
cc60d50dd2
Actually cancel projectile hit events (#3154)
Co-authored-by: NotMyFault <mc.cache@web.de>
2021-07-13 08:57:12 +00:00
NotMyFault
635e18e7ed
Add copper-oxide flag 2021-07-10 15:50:38 +02:00
dordsor21
b9cb6842e2
Add an online check for teleport listener
- Some plugins seem to like teleport players before they're online (e.g. NoCheatPlus)
 - Addresses #3142
2021-07-10 10:40:44 +01:00
NotMyFault
fdb6367351
Remove unneeded maven repos 2021-07-05 15:25:22 +02:00
NotMyFault
3b5b51b40c
Update link if outdated Fawe version is spotted 2021-07-02 14:22:33 +02:00
NotMyFault
8e23b10f7c
Fix update notification ingame message 2021-06-27 18:11:57 +02:00
dordsor21
a5452012b5
separate 1.17-only events 2021-06-26 20:08:25 +01:00
dordsor21
67bbd64fa1
Update to FAWE 1.17 2021-06-26 16:19:07 +01:00
NotMyFault
6a57a5c369
Fixes #3100 2021-06-24 16:40:10 +02:00
NotMyFault
9fa0a8b27b
Update ServerLib & remove Java version check
We now require Java 16 onwards
2021-06-22 23:49:31 +02:00
NotMyFault
9acf9f4f19
Improve documentation of deprecated methods 2021-06-22 18:11:48 +02:00
SirYwell
0e84cf085b Fix compatibility issues with Citizens (fixes #3105) 2021-06-22 10:18:48 +02:00
NotMyFault
45c566859e
Don't fail loading on versions prior to 1.17 2021-06-21 10:30:48 +02:00
NotMyFault
4dbbf8f599
1.17 (#3088)
* 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
2021-06-20 18:17:18 +02:00