Commit Graph

756 Commits

Author SHA1 Message Date
Alexander Söderberg
8c0f7b207e
Make the chunk listener NOT delete all tile entities in the chunk 2020-05-13 14:39:58 +02:00
Alexander Söderberg
ec347f8738
Add missing blocks and block tile entities from /plot set if the chunk processor is enabled 2020-05-13 14:24:04 +02:00
Alexander Söderberg
19fe2efb6e
Fix the WE extent and add our own tile entity list 2020-05-13 14:11:17 +02:00
Alexander Söderberg
435d877262
Make the tile entity check respect the chunk processor status 2020-05-13 12:25:48 +02:00
Alexander Söderberg
3deff629b0
Add paper specific listener for limiting the amount of tile entities in a chunk during build, instead of just doing it during chunk unloading 2020-05-12 23:01:14 +02:00
dordsor21
a038cb6d1b Merge branch 'v5' of https://github.com/IntellectualSites/PlotSquared into v5 2020-05-12 18:53:57 +01:00
dordsor21
637dd7d0c2 correct update messaging 2020-05-12 18:53:26 +01:00
Alexander Söderberg
d20fa39cf5
Add flag that prevents people from copying NBT data in the plot unless they're added as members 2020-05-12 19:25:06 +02:00
Alexander Söderberg
10dbcbcdbd Prevent NPE in entityDamage
This is done by creating a fake (WE) entity type in the case that the entity type name is null. In these cases, WE has no equivalent.

By doing this, all entity category contains check will fail, and it will default to the PVE check at the bottom of the if-else if chain.
2020-05-12 10:05:47 +02:00
Alexander Söderberg
e20319f4e1
Merge branch 'v5' into backups
# Conflicts:
#	Core/src/main/java/com/plotsquared/core/configuration/Captions.java
2020-05-11 20:15:48 +02:00
Alexander Söderberg
3c17b76b1c
Remove dum-dum line break 2020-05-11 11:21:32 +02:00
Alexander Söderberg
7a6909dab1
Merge branch 'v5' into backups 2020-05-11 11:19:59 +02:00
Alexander Söderberg
3064ae80d1
Add a keep-inventory flag 2020-05-11 11:19:36 +02:00
Alexander Söderberg
8ed5a21b36
Merge branch 'v5' into backups 2020-05-10 17:03:36 +02:00
Alexander Söderberg
723e29cdd0
Continue working on the backup system 2020-05-10 14:02:25 +02:00
dordsor21
667098268f Almost fix slime pathing?
This almost works, there's no real way to do it gracefully because you can't set where the slime should be travelling to nicely, nor can you set rotation etc. Seems to be a fairly large part of the event capability missing from paper.
2020-05-10 12:18:55 +01:00
Alexander Söderberg
a37ab10414
Don't send chat spy to message sender 2020-05-03 18:13:54 +02:00
dordsor21
daee26681a use strings for spawn reasons to be safe 2020-05-02 12:13:00 +01:00
dordsor21
729469e030 Add config options for all paper events. 2020-05-02 11:58:32 +01:00
dordsor21
c6dc9ee189 Add some more listeners
- Also use setShouldAbortSpawn so it doesn't just try forever
 - Add config to enable or disable all paper listeners
2020-05-02 11:58:32 +01:00
dordsor21
8ec8b8d803 Add some paper-specific listeners 2020-05-02 11:58:32 +01:00
MeFisto94
d864792d09 Fixes #2800 Allow to wrap OfflinePlayers in 1.15.2 2020-05-02 11:28:06 +01:00
dordsor21
17698065a0 Add extra SpawnReasons to spawn listener 2020-04-30 17:00:35 +01:00
dordsor21
e7216d4aef Merge branch 'v5' into reformat 2020-04-30 11:33:31 +01:00
dordsor21
0751e9cea3 Make LiquidFlowFlag an enum 2020-04-30 11:18:28 +01:00
dordsor21
0091580ae0 Reformat it all. 2020-04-30 11:01:52 +01:00
dordsor21
4a16f9c1a7 LiquidFlow true will override BlockPhysics false 2020-04-30 10:59:43 +01:00
dordsor21
577fe3037f Update checker improvements and 5.10.4
- Add config option to disable poll once it's found an update (true by default)
 - Better PlotVersion stuff can now detect if you're using a later version than the spigot API, and not tell you about it
2020-04-30 10:17:19 +01:00
NotMyFault
670f6d9f8b
Fix coral-dry flag not respecting horn coral blocks 2020-04-29 21:55:55 +02:00
N0tMyFaultOG
51b6f41eff Update papi hook message 2020-04-25 23:54:30 +02:00
dordsor21
ccb43d0661 Do placeholders better.
- Still allow parsing of placeholder if no plot is required and plot is null.
- Properly check if the player is null before getting the plot, and if the plot is null
- These were still issues before my initial "fix" city
2020-04-23 14:16:06 +01:00
dordsor21
caa4a08b26 getOfflinePlayer once 2020-04-23 09:21:52 +01:00
dordsor21
0fa99d7940 Never return null in Placeholder. Also slight cleanup. 2020-04-23 09:06:37 +01:00
dordsor21
73dae7842d Only poll for updates every 30 mins.
- Don't do GET requests on player join (bad idea, it was sync...)
 - If there's an update it will notify the player still, it just caches the update status
2020-04-22 12:09:00 +01:00
dordsor21
92a18d810c Correct usage of Json.
I'm dumb and forgot toString doesn't work. Repalce with getAsString
2020-04-22 09:57:46 +01:00
NotMyFault
8ff4566905
Change misleading information 2020-04-21 23:42:31 +02:00
N0tMyFaultOG
c8d8fb6aff Reformat premium information 2020-04-21 23:38:56 +02:00
dordsor21
5b30711470 Cant use bar chart 2020-04-21 12:39:48 +01:00
dordsor21
336f27f078 Only check update if premium. Add bstats bars for premium vs not. 2020-04-21 12:39:48 +01:00
dordsor21
8d61e6f111 Fix update checker
- No more NPEs
 - Use the better spigot API
 - No obnoxious tooltip displaying the link without being clickable
2020-04-21 08:56:23 +01:00
Alexander Söderberg
59f8f2fdff
Fix biome setting in 1.13 and 1.14 2020-04-20 23:40:04 +02:00
Alexander Söderberg
5c6175badb
Merge remote-tracking branch 'origin/v5' into v5 2020-04-20 23:37:02 +02:00
Alexander Söderberg
8db8a30455
Fix biome setting 2020-04-20 23:36:56 +02:00
NotMyFault
cbe8fda1df
Fix update notification 2020-04-20 23:24:28 +02:00
N0tMyFaultOG
558df450b5 Update spigot updater 2020-04-20 21:04:30 +02:00
Cheezybo99
f1d10c96bc Added PERMISSIONS_ADMIN_CHAT_BYPASS enum for the permission plots.admin.chat.bypass allowing users to bypass the plot chat security feature. 2020-04-20 18:55:28 +02:00
Cheezybo99
4d1b08a628 Updated to properly use the permissions system from com.plotsquared.core.util.Permissions and com.plotsquared.core.configuration.Captions 2020-04-20 18:55:28 +02:00
Cheezybo99
2eda56bc1f If all players are denied from a plot, this will allow administrators with permission to see chatspy, talk in plots they have been denied from. 2020-04-20 18:55:28 +02:00
Lennart ten Wolde
bb291b947f Use primite int type for setBiome 1.13 workaround 2020-04-20 17:27:46 +02:00
Alexander Söderberg
bf5862942a
Disable prefixes for flag info headers and footers and suppress NPE in the update utility 2020-04-18 22:26:13 +02:00
dordsor21
3ee29297e0 Add option to force plot chat in plot areas. 2020-04-16 16:55:14 +01:00
dordsor21
714b8dad87 Implement IntellectualSites/PlotSquaredSuggestions/96
Also make Plot Chat work properly. Not sure what was going on there before...
2020-04-16 11:54:32 +01:00
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