Commit Graph

704 Commits

Author SHA1 Message Date
Alexander Söderberg
ee2ed8222d
Merge config packages 2020-04-16 06:14:33 +02:00
Alexander Söderberg
edaf396894
Merge features/v5/internal-updates into api/v5/packages 2020-04-16 06:11:03 +02:00
Alexander Söderberg
6f052f0001
Remove extra line from HEADER 2020-04-16 05:05:58 +02:00
Alexander Söderberg
ba40a56c32
Add GPLv3 License headers to all source files. 2020-04-16 04:52:39 +02:00
MattBDev
780be3776a Addressed some comments 2020-04-15 15:26:54 -04:00
Alexander Söderberg
79bd69e599 Make the entity counting code use the new entity categories, remove usage of magic numbers and add /plot caps 2020-04-12 19:30:50 +02:00
Alexander Söderberg
5772af37fe Reclassify shulker as a hostile mob 2020-04-12 04:46:51 +02:00
Alexander Söderberg
6324bb1134 Use entity categories in events 2020-04-12 01:47:56 +02:00
Alexander Söderberg
658f2a3fc3 Finalize entity type categorisation 2020-04-12 01:23:13 +02:00
Hannes Greule
6e536f81ac Add more entity categories 2020-04-12 00:57:50 +02:00
Alexander Söderberg
dd9450d36a Add entity category loading code to WorldUtil (implemented in BukkitUtil) 2020-04-11 22:26:31 +02:00
Hannes Greule
4a249843eb Workaround to accept Slimes and EnderDragons as Monsters 2020-04-11 21:42:52 +02:00
Alexander Söderberg
5c1f0f51df Add a custom bStats chart tracking terrain types 2020-04-11 20:56:34 +02:00
Alexander Söderberg
2377ce1123 Relocate metrics properly 2020-04-11 19:52:45 +02:00
MattBDev
dfa977a020 Moved more packaged based on feedback 2020-04-10 20:19:18 -04:00
MattBDev
5be2dfa747 Package Changes 2020-04-10 19:26:07 -04:00
Alexander Söderberg
f9ea99fa1d
Merge pull request #2754 from IntellectualSites/features/v5/owners
Remove all direct access to Plot.owner
2020-04-10 19:52:41 +02:00
Alexander Söderberg
280ced7904 Add GPLv3 License headers to all source files.
Reason: "            How to Apply These Terms to Your New Programs

           If you develop a new program, and you want it to be of the greatest
         possible use to the public, the best way to achieve this is to make it
         free software which everyone can redistribute and change under these terms.

           To do so, attach the following notices to the program.  It is safest
         to attach them to the start of each source file to most effectively
         state the exclusion of warranty; and each file should have at least
         the "copyright" line and a pointer to where the full notice is found."
2020-04-10 18:09:01 +02:00
Alexander Söderberg
ce756411cf Remove all direct access to Plot.owner
New methods were added for access to the absolute owner of a plot, and the documentation of the owner getters to clarify the purpose of the methods.
2020-04-10 14:05:01 +02:00
Alexander Söderberg
0d26111fa7 Include golems (snowmen, iron golems and shulkers) in the animal-interact flag. 2020-04-09 21:38:24 +02:00
Alexander Söderberg
f717589074 Fix typo in MainUtil and switch out Consumer<Integer> to IntConsumer 2020-04-09 11:23:39 +02:00
Alexander Söderberg
254a0541cc Fix OfflinePlayerUtil runtime exception 2020-04-08 22:52:13 +02:00
Alexander Söderberg
271109a726 Fix dumdum async getLoadedChunks call, but only because Aikar broke everything. 2020-04-08 21:49:41 +02:00
Alexander Söderberg
38de74c4ff Make sure PlayerEvents#logout is called 2020-04-08 17:53:11 +02:00
Alexander Söderberg
ebba9a2290 Fix interval flags 2020-04-08 17:22:53 +02:00
Alexander Söderberg
bc45b8b695 Merge branch 'features/v5/internal-updates' into features/v5/async-load 2020-04-08 17:17:17 +02:00
Alexander Söderberg
7ac389b698 Fix block ignition location check 2020-04-08 17:15:17 +02:00
Alexander Söderberg
616d22ceac Fix liquid-flow 2020-04-08 17:01:41 +02:00
Alexander Söderberg
ef04ed9151 Fix augmented generation 2020-04-08 04:10:22 +02:00
Alexander Söderberg
1522632f5a Don't replace blocks if they have identical states already 2020-04-08 02:02:20 +02:00
Alexander Söderberg
be6bcafccc Make sure augmented generation doesn't crash the server 2020-04-08 01:23:22 +02:00
Alexander Söderberg
283ff945f3 Fix /plot auto performance and remove sign-guessing 2020-04-07 23:39:56 +02:00
Alexander Söderberg
7fdb7961ce Merge branch 'features/v5/internal-updates' into features/v5/async-load 2020-04-07 22:13:42 +02:00
Alexander Söderberg
5e2e4a8631 Revert testCreate change 2020-04-07 21:43:32 +02:00
Alexander Söderberg
e4a6bd0ca5 Don't try to remove players. Fixes #2742. 2020-04-07 20:56:43 +02:00
Alexander Söderberg
5547185b3f Prevent synchronous chunk loading whenever possible 2020-04-07 20:19:39 +02:00
Hannes Greule
099a680c85
Encapsulation and Magic Values (#2711)
* Encapsulate attributes of PlotArea using lombok Getters/Setters

* Limit access to collections, don't expose implementation details

* Better naming for some boolean attributes

* Replace magic type value with PlotAreaType enum

* Replace magic terrain value with PlotAreaTerrainType enum

* Fix remaining rebase conflicts

* Reduce code duplication

Co-authored-by: Alexander Söderberg <Sauilitired@users.noreply.github.com>
2020-04-02 13:34:38 +01:00
NotMyFault
3a3a06631d Add coral-dry flag 2020-03-25 21:14:58 +01:00
dordsor21
412a3ee344
Support v2 schematics properly. No 3D biomes are supported by it as yet. (#2716) 2020-03-24 09:08:56 +01:00
dordsor21
3d47d7e73f
Use worldedit to regenerate chunks. (#2708)
* Use worldedit to regeneration chunks. It's very slow, but it works.

* Use the AutoClose-ness of EditSession
2020-03-20 13:05:13 +01:00
Alexander Söderberg
d9f9d7dc34
Features/v5/event results (#2706)
* Begin events rewrite using Guava EventBus:
- moved events to within core
- removed BukkitEventUtil
- EventUtil in core is now the implementation
- Refactor any event calls

TODO:
- Test :)
- Implement changes to PlotSquared's own listeners
- Other

* Correct code style for annotations and refactor EventUtil to EventDispatcher

* Make getEventResultRaw default method and remove empty PlotEventListener file

* not raw map

* Remove PlotPlusListener

* Add listener registration to PlotAPI. Add documentation and refactor Result enum

* Add reason for the Event Result. Change how the claim event is called
TODO: better auto event somehow. Possible re-write of auto required..?

* Implement changes to events properly
Add PlayerAutoPlotEvent
Add PlotDoneEvent
Add schematic variable to Claim event and allow it to be changed
Add reason for plot unlink to unlink event
Add pattern to component set event and allow it to be changed
Allow component of component set event to be changed
Add player to plot merge event

* Fix compile

* Correct formating

* Various cleanup
 - Correct formatting in places
 - Add feedback to Desc command cancellation
 - Correct use of flag API
 - Add FlagRemove event to flagcommand where required

* Replace reason with caption

* Switch colours in Event Deny caption

Co-authored-by: dordsor21 <dordsor21@gmail.com>
2020-03-15 12:22:49 +01:00
Alexander Söderberg
05626c2c8f
Features/v5/move swap fixes + some other important commits (comments, etc) (#2699)
* Use generics instead of the raw class

* Add Gradle wrapper verification

* Fix biome setting in versions prior to 1.15

* Fixes #2654

* Document area getters in PlotAreaManager, and replace y-value with z in the area contains check.

* Remove update notifications

* Remove unused dependencies

* Do not kick plot owners on "/p deny *"

* Do not kick any added players on /p deny *

* Allow redstone to be used in server plot with `redstone.disable-offline` enabled.

Potentially fixes #2613

* Disallow swapping ,erged plots

* Fix legacy converter.

* Fix blockbucket pattern generation

* Prevent pasting schematics onto merged plots.

* Cancel claim event correctly

* Revert "Cancel claim event correctly"

This reverts commit 0f786155
Further investigation required

* Fix plot swapping messing up owners. Fixes #2282

* Fix plot move

* Prevent plot swapping form changing the database unless the swap was successful.

* Update signs after swap.

* Only send move success message if the move was successful.

Co-authored-by: Matt <4009945+MattBDev@users.noreply.github.com>
Co-authored-by: NotMyFault <mc.cache@web.de>
Co-authored-by: Daniel <admin@hywse.eu>
Co-authored-by: Hannes Greule <SirYwell@users.noreply.github.com>
2020-02-28 22:15:04 +01:00
Alexander Söderberg
9868648fcb
Pull/2693 (#2694)
* Commit WIP flag work.

* More ported flag types, and additions to the flag API.

* Make PlotFlag more generic to allow generic flag creation

* Pull Captions methods into a Caption interface.

* Port MusicFlag

* Port flight flag

* Port UntrustedVisitFlag

* Port DenyExitFlag

* Remove paper suggestion

* Make ListFlag lists immutable

* Update Flag containers. Add javadocs. Add missing methods.

* Port description flag

* Port greeting and farewell flags

* Port weather flag

* Move getExample implementation to BooleanFlag

* Port reserved flags

* Port all boolean flags.

* Remove unused flag types

* Invert liquid-flow flag

* Find the real (legacy) flag name

* Change NOITFY -> NOTIFY in Captions

* Make IntegerFlag extendable

* Port integer flags

* Update Flag command to current API state

* Begin remaking flag command

* Create DoubleFlag + extract common parsing stuff

* Supply arguments in flag parse exceptions

* Implement missing flag subcommands

* Update Flag command to current API state

* Implement PriceFlag

* Port deny-teleport

* Port gamemode flags

* Port BreakFlag

* Port PlaceFlag

* Port UseFlag

* Remove old unused flag constants

* Port blocked-cmds flag

* Fix entity util

* Port TimeFlag

* Use CaptionUtility for formatting

* Port keep flag

* Fix imports

* Reformat code

* Remove unused classes

* Fix MainUtil.java

* Remove FlagCmd

* Add flag info header and footer

* Comment out flag related stuff in SchematicHandler

* Remove FlagManager

* Finalize Plot.java

* Finalize PlotArea.java

* Finalize PlotListener

* Fix API issues

* Fix a bunch of compile errors

* Fix `/plot flag remove`

* Fix initialization of GlobalFlagContainer

* Apply API changes to events

* Update SQLManager to new API

* Invert default value for DenyExitFlag

* Replace flag.getValue().toString() with flag.toString()

* Make FlagContainer instance in Plot final

* Fix various command issues

* Clean up PlotSettings

* Don't show internal flags in flag list

* Fix `/plot flag add`

* Remove the info inventory as it's 100% broken

* Add plot info entries and fix up the default format

* Fix default flag state in Captions

* 781c200 part 2

* Fix odd grammar in captions

* Fix odd grammar in captions v2

* Add create table statements for plot_flags

* Remove old flag references in SQLManager

* Use the new plot_flags table

* Add tab completion to `/plot flag`

* Improve parse error handling

* Make flag permission check recognize parse exceptions

* Initial progress towards flag conversion

* Fix minor issues

* Don't validate flags during flag conversion

* Allow unrecognized flags to be parsed

* Filter out internal flags from command sugguestions

* Use the wrong caption when there's no plot description set

* Limit command suggestions for boolean flags

* Make blocktypelistflags accept blockcategories

* Require categories to be prefixed with '#' and fix some minor display issues

* Fix plot database conversion

* Update PlotFlagEvent.java

Updated return description

* Fix command annotation wrapping

* Add FLAG_UPDATE event for FlagContainer listeners

* Make getParentContainer nullable

* Document castUnsafe in FlagContainer

* Document FlagContainer constructors

* Add missing documentation to FlagContainer

* Document FlagParseException

* Fix wording in FlagContainer javadoc

* Document InternalFlag

* Document PlotFlag

* Minor changes

* Remove revisit comments

Co-authored-by: Hannes Greule <SirYwell@users.noreply.github.com>
Co-authored-by: NotMyFault <mc.cache@web.de>
Co-authored-by: Matt <4009945+MattBDev@users.noreply.github.com>
2020-02-24 18:42:02 +01:00
Alexander Söderberg
b99631f1bd Fix regen. Fixes #2692 2020-02-24 14:00:45 +01:00
Alexander Söderberg
6be26e8047 Also consider negative locations when cancelling liquid flow 2020-02-24 12:11:22 +01:00
Alexander Söderberg
c7de9379ad Prevent liquids from flowing out of block walls. Fixes #2598. 2020-02-24 11:47:52 +01:00
Alexander Söderberg
464f5e09ae Allow all messages to be formatted by external formatters and add PAPI support 2020-02-20 16:03:17 +01:00
Alexander Söderberg
fc9a221127
Update BukkitMain.java
wiz is quick
2020-02-20 00:02:06 +01:00
NotMyFault
95394ec54f Add Premium verification 2020-02-19 23:55:43 +01:00
NotMyFault
a3759f93a2 Add placeholders 2020-02-16 20:33:24 +01:00
NotMyFault
2632283431 Move recent changes into 1 branch 2020-02-16 15:17:06 +01:00
NotMyFault
b3c91d866b Lazy cherry-pick 5db1e73eae4b0d4628df8bbbc172670c42d96435 without merge conflics 2020-02-16 14:41:51 +01:00
Alexander Söderberg
10dd531cdb Remove paper suggestion 2020-02-16 14:38:33 +01:00
NotMyFault
6953187cac Add current + new version to update notification
And fix a little typo alongside bumping versioning to v5
2020-02-16 14:37:07 +01:00
NotMyFault
7b83f0146e Readd update notification permission implementation 2020-02-16 02:34:51 +01:00
NotMyFault
24b6b23d25 Bind update notifications to spigot resource updates
The notification permission could be moved back into the other class, but well
2020-02-16 01:33:43 +01:00
MattBDev
99a53cb005 DoogiePC doesn't like trees 2020-02-12 18:57:42 -05:00
MattBDev
d7af409d01 Test another workaround 2020-02-12 18:21:23 -05:00
MattBDev
0304e98b00 Workaround for SPIGOT-5574 2020-02-12 15:42:31 -05:00
MattBDev
4b306d454b Fixed an error with the debug command and added @NotNull to generator methods 2020-02-11 17:06:58 -05:00
MattBDev
f79f2ac29e Tweaks to the world generator 2020-02-11 16:16:56 -05:00
NotMyFault
312b2ad1a8 Send the bStats ID 2020-01-24 18:10:19 +01:00
NotMyFault
0953b5627e Add bStats plugin version
bStats 1.7 requires plugins to have an ID to submit data.
2020-01-24 16:08:48 +01:00
Matt
57af89f1d0
Merge pull request #2652 from SynergyMC/breaking
Revert teleportation behavior to pre-4.400
2020-01-22 21:23:25 -05:00
NotMyFault
9a626ea1de Deprecate metrics methods
Metrics are controlled via bstats config for some time now. The config option in settings.yml has already been deprecated in the past.
2020-01-10 14:18:38 +01:00
zombachu
3aa554c52b Implemented optional specification of teleport causes
This should have backwards-compatibility for any users of the API but would require an update from anything reimplementing (for whatever reason) the interfaces amended by this commit.
2020-01-02 18:29:12 -10:00
zombachu
0f39df0e0b
Revert teleportation behavior to pre-4.400 2019-12-31 16:05:53 -10:00
Traks
519d3ee2d6 Fix 'Unable to find method createTag' on 1.15 servers (#2642)
* Fix 'Unable to find method createTag' on 1.15 servers (#2629)

Mojang apparently refactored their NBT code in 1.15, so the NBT
parsing code in NbtFactory that used Mojang's NBT code via Reflection
broke. Since PlotSquared now depends on WorldEdit, it is much easier
to use their NBT parsing library than to update the Reflection-based
code.

* Clean up NBT streams properly
2019-12-23 20:35:37 +00:00
Jesse Boyd
ccc7b0ec65
Fix #2634 no such method error 2019-12-20 06:03:23 +00:00
Traks
e54cf24248 Fix interact handling for sneaking players 2019-12-18 19:42:57 +01:00
Traks
3bb40a8fff Fix that players cannot place hanging entities 2019-12-17 21:04:44 +01:00
MattBDev
9fd29b264e Some logging operations to check for tps loss. 2019-12-15 13:08:02 -05:00
MattBDev
478c761750 More PlayerEvent fixes. 2019-12-15 12:53:16 -05:00
MattBDev
ed8fa0a2a5 Revert changes to BlockPlaceEvent 2019-12-10 17:53:55 -05:00
MattBDev
07b6942690 Minor code tweaks 2019-12-09 14:43:53 -05:00
MattBDev
9925a320f5 Fix event listeners 2019-12-06 21:16:09 -05:00
MattBDev
7e58f4341e Minor fixes and performance improvement 2019-12-02 17:07:57 -05:00
MattBDev
4bb45fc220 Replace ByteArrayUtilities code with Guava and Replace PlotGameMode with WorldEdit equivalent. 2019-11-28 21:50:21 -05:00
Jesse Boyd
a65d546f3b
Fix debugpaste split 2019-11-25 22:38:03 +00:00
Jesse Boyd
f518c47e09
Fixes #1922 Banned people can still "talk" in plot 2019-11-12 20:52:14 +00:00
Jesse Boyd
765a021ecd
Some flag fixes
Use ItemType for the flags, since they accept items, not blocks.
Fixes #2571
2019-11-12 20:38:18 +00:00
Jesse Boyd
5bb7069c7f
Fixes #2571 2019-11-11 20:39:28 +00:00
Jesse Boyd
10e5760ba8
Merge pull request #2564 from IntellectualSites/we
Use patterns instead of BlockBucket
2019-11-10 14:08:47 -08:00
Jesse Boyd
968c23113c
Fixes #2412 2019-11-10 21:51:29 +00:00
Jesse Boyd
d254633b77
Use patterns instead of BlockBucket
Still use BlockBucket for loading/saving from config
2019-11-10 17:47:37 +00:00
Alexander Söderberg
3e30e9554f Add missing RunnableVal import. 2019-11-10 13:26:59 +01:00
Alexander Söderberg
1a923063b5
Merge branch 'breaking' into we 2019-11-10 13:18:16 +01:00
Jesse Boyd
c512189478
fix import 2019-11-10 11:31:47 +00:00
Alexander Söderberg
a221d6fd07 Run tasks synchronously on Bukkit when the plugin is disabled.
Previously, the tasks would fail to run, as the scheduler prevents disabled plugins from running tasks. This would cause problems on server shutdown, especially when the SQLManager attempts to perform database queries.

This fixes #2446.
2019-11-10 12:10:38 +01:00
Matt
1570c4d08a
Add missing import 2019-11-06 14:20:32 -05:00
Jesse Boyd
252fdefef3
bad regex replace 2019-11-06 11:39:55 +00:00
Jesse Boyd
fed5169724
Get sign lines sync 2019-11-05 15:23:48 +00:00
Jesse Boyd
2cb734bba2
editsession util 2019-11-04 21:55:40 +00:00
Jesse Boyd
88732bb88c
Use CuboidRegion instead of RegionWrapper 2019-11-04 21:08:33 +00:00
Jesse Boyd
8f7f6a4f40
Merge branch 'breaking' into we 2019-11-04 20:17:15 +00:00
Jesse Boyd
7e6dc48d69
imports 2019-11-04 19:58:24 +00:00
Jesse Boyd
37f608258f
Remove PlotBlock 2019-11-04 19:55:55 +00:00
Jesse Boyd
930dee9326
Refactor BlockVector2 2019-11-04 17:44:23 +00:00
NotMyFault
315f26fb82 Add missing color 2019-11-04 00:46:08 +01:00
mindw0rm
cb1767347b
Merge branch 'breaking' into UntrustedVisit 2019-10-23 20:51:59 +02:00