Commit graph

97 commits

Author SHA1 Message Date
MD
1be3daf0b5
Update bStats Metrics and add wrapper class for new graphs (#3451)
This PR updates the version of the bStats Metrics class to the latest version, supporting plugin IDs in place of just plugin names. It also adds the following graphs:
- Active permissions backend
- Active economy backend
- Whether or not a command has been used as a bar chart (pending bStats backend implementation)
- Version history graph as a multiline graph (also pending bStats impl)

It also removes the weird `getMetrics` and `setMetrics` APIs which should never have been API in the first place.
2020-07-05 19:30:01 +01:00
Josh Roy
1ab1b5713e
Update to 1.16.1 (#3408)
Co-authored-by: Josh Roy <10731363+JRoy@users.noreply.github.com>
Co-authored-by: md678685 <1917406+md678685@users.noreply.github.com>
Co-authored-by: pop4959 <pop4959@gmail.com>
2020-06-27 12:17:35 -07:00
Josh Roy
d9bf099c3d
Reduce sync loads for teleporting (#3102)
This PR reduces the number of sync loads occurring on any teleport caused by essentials.

Fixes #2861
Fixes #2287
Fixes #3274
Fixes #3201
Fixes #2120

Before this PR, essentials would get a block multiple times causing sync loads to check if it was safe to teleport to. Now, the target block's chunk if fetched async with PaperLib and passed along to `LocationUtil#isBlockUnsafeForUser` (which internally calls other LocationUtil methods what that chunk object) resulting in the chunk only loading once, off the main thread. The only operations remaining on the main thread is `LocationUtil#getSafeDestination`. This is due to the method's recursion which would be a pain to move async. **However:** since the chunk was already loaded async, `LocationUtil#getSafeDestination` most of the time won't cause sync chunk loads. The only time it would cause sync chunk loads is with an unsafe location near a chunk border.

-----------------------------------------

* Reduce sync teleporting loads

* Avoid argument re-assigning

* Remove async teleports when unnecessary

* Make exceptions cleaner

* Async all the things

Made an async version of every method with fallbacks for deprecated methods.

* Remove old now fallback method

* Migrate everything to the new async teleport API

* Update ITeleport javadocs

* Fix invoking via async context

* Fix /jail using deprecated method

* Fix jail join handler using deprecated method

* Rename all teleport classes to indicate async

* Remove deprecated methods

* Add (and deprecate) old teleport api

* Revert TimedTeleport.java

* Reduce Diff

* Add legacy sendToJail method

* Reduce Diff Further

* Use getNewExceptionFuture in Commandtpo

* Use getNewExceptionFuture everywhere

* Fix even more usages

* Revert LocationUtil.java

* Fix issue causing unsafe locations to not work properly

* Add deprecated notice in IUser implementation

* Use CompletableFuture#completeExceptionally for exceptions

* Use Essentials' logger in EssentialsCommand#showError

* Return implementation rather than interface

* Avoid possible deadlocks with entity ejections

* Nuke some sync loads with homes

Took 7 hours and 2 PRs to paper but it's here!

* Fix ABI and make the codestyle worse

* Make the codestyle worse because muh diff

* Further ruin the codestyle

* Fix error messages not showing in TimedTeleports

* Improve messages around beds for /home

* Fix #3274

Allow unsafe locations for different worlds + spectator mode

* Fix fly safety operators
2020-06-24 09:52:25 +01:00
DoNotSpamPls
3856a690eb Use PaperLib to load chunks and teleport players async (#2409)
* Remove outdated permission plugin handlers, minor test fixes

* Re-add PermissionEX handler

* Use PaperLib to load chunks async whenever possible

* Revert "Use PaperLib to load chunks async whenever possible"

This reverts commit db4df6f3cfa82d15d889933711674d02f5d95440.

* Use PaperLib to load chunks and teleport players async

* Resolve some PR issues

* Update PaperLib, return teleport causes

* Remove useless PaperLib usage in LocationUtil

* Fix FakeServer spacing
2019-02-20 12:25:05 +00:00
DoNotSpamPls
82ede4530a Lots of little fixes in the Essentials modules (#2337) @DoNotSpamPls
Look at changed files for the changes
2019-01-05 18:42:09 +00:00
md678685
8882e0214c
Add bStats metrics for each EssentialsX module (#2333)
Does what it says on the tin.
2019-01-05 17:48:44 +00:00
md678685
613e852ffd Implement new versioning as per #1873 (#1882) 2018-03-28 20:00:19 -07:00
md678685
ed5aa1f469 Alter config options for EssentialsX Spawn listeners (#1491)
* Add spawn-join-listener-priority setting
* Make "none" an option for priority settings
* Register each listener with separate priorities
* Add note to spawn-join-listener priority
    Warns about effect on spawn-on-join
2017-09-16 15:23:56 +01:00
Ali Moghnieh
27ab90ab2a
Improve spawn-on-join with ability to specify groups. 2016-10-30 13:29:21 +00:00
Mark
1f5b659f2d Fix version EssentialsSpawn 2016-08-30 19:30:42 -07:00
Ali Moghnieh
04f14285e7
Directly teleport Player in EssentialsSpawn when joining. 2016-07-11 15:12:47 +01:00
Ali Moghnieh
b673630a7e Implement spawn-on-join configuration.
Admins can now specify whether all joining players should be teleported to the user's group spawn when joining the server. Players can be assigned the essentials.spawn-on-join.exempt permission to become exempt from this feature.
2016-06-19 21:07:45 +01:00
drtshock
bcc76aff63 Build number in version. 2015-06-02 14:47:42 -05:00
drtshock
6b2f87c5a9 Consistent versioning. 2015-04-20 12:51:51 -05:00
drtshock
dde0b20775 Reformat 2015-04-14 23:06:16 -05:00
KHobbits
dbceccaa3e Kit cleanup and refactor. 2014-06-25 19:03:31 +01:00
KHobbits
1f8b60081e Reduce a few nickname refresh calls. 2014-06-19 04:02:15 +01:00
KHobbits
50a815bdb9 Revert "Add spawn location cache to reduce blocking on player respawn."
This reverts commit 7804516793.
2014-06-17 23:27:46 +01:00
KHobbits
7804516793 Add spawn location cache to reduce blocking on player respawn. 2014-06-16 19:55:34 +01:00
KHobbits
36e580474f Converted emulated player class calls to use base class. 2014-04-13 01:01:49 +01:00
FearFree
5724c0c8df Future Java versions may not support _ as identifier. 2014-03-22 16:08:11 +11:00
Dabo Ross
2ee590d85c Add IEssentialsSpawn class for API for Essentials Spawn with two methods, getSpawn(String) and setSpawn(String, Location).
Implement IEssentialsSpawn in EssentialsSpawn.
2014-03-09 17:31:36 +00:00
KHobbits
eee18f40be Pass optional location parameters to teleport TL keys. 2014-01-12 01:23:12 +00:00
Iaccidentally
3e725ef060 Cleanup various aspects of code, fix some formatting, more netbeans 7.4 stuff 2013-11-06 21:22:32 -05:00
KHobbits
6f85761f7f Extract CommandSender to CommandSource, this should prevent Ess user object leaks. 2013-10-16 21:05:33 +01:00
KHobbits
0a17489c9c Clarify kit errors 2013-09-05 15:40:43 +01:00
Iaccidentally
ecd2484cb9 [API] fix other modules to use new packages 2013-07-13 12:40:50 -04:00
KHobbits
1abacf00df More cleanup 2013-07-07 13:02:40 +01:00
KHobbits
f48ed6988d Essentials API cleanup and teleport possession fixing. (UNSTABLE) 2013-06-08 19:34:14 +01:00
KHobbits
b065f4a05a Update Essentials spawn to use new kit params. 2013-05-27 02:29:28 +01:00
KHobbits
35783ee429 Forgot to push Essentials spawn changes. 2013-05-24 00:10:39 +01:00
Necrodoom
a5ec8b9cbb [Fix] Print correct sender name on /spawn player from console. 2013-03-19 20:59:02 +00:00
KHobbits
c1f66fc817 [Fix] Charging players at wrong point in /spawn 2013-02-28 12:52:22 +00:00
Iaccidentally
0ddcfafbc0 This is still needed. 2013-02-25 22:44:52 -05:00
KHobbits
6f55e4b316 Revert "[Spawn] Please join me in welcoming EssentialsSpawn to Java 1.6 and modern bukkit.
This reverts commit a11e8d4236.
If you don't understand the code, don't touch it.
2013-02-26 03:30:11 +00:00
Iaccidentally
a11e8d4236 [Spawn] Please join me in welcoming EssentialsSpawn to Java 1.6 and modern bukkit. :: http://i.imgur.com/79Izo.jpg 2013-02-25 22:01:06 -05:00
snowleo
335d8b7f20 Check if player is still online 2013-02-08 21:18:00 +01:00
snowleo
379e75f3e6 Fix async access to bukkit code 2013-02-08 21:16:21 +01:00
KHobbits
705b193450 Let Bukkit decide if a bedspawn is valid or not.
Bukkit's bed fix forces minimum bukkit change.
2013-02-01 02:59:40 +00:00
Iaccidentally
4edc39360a Refactor name of ScheduleAsyncDelayedTask to RunTaskAsynchronously 2013-01-31 14:16:09 -05:00
KHobbits
d2966b64eb Code comments 2012-11-04 02:24:54 +00:00
KHobbits
2f40264c46 Support new lines in newbie welcome message. 2012-09-22 21:15:04 +01:00
KHobbits
62381a7f52 Async EssentialsSpawn join event, like the others. 2012-09-08 14:55:37 +01:00
Iaccidentally
808f448399 add /e<command> aliases to essentials spawn 2012-06-12 22:28:10 -04:00
KHobbits
c45d38ca69 Implement all abstract methods. 2012-03-28 15:12:25 +01:00
KHobbits
6a9027da6d Adding starter/newbie kit to EssentialsSpawn
Optimization to EssentialsSpawn join event.
2012-03-04 20:09:25 +00:00
KHobbits
1b780a4364 Prevent EssSpawn trying to handle spawning of jailed players. 2012-02-28 02:45:03 +00:00
KHobbits
945ae71480 Adding full keyword support for newb join message.
Also adding {ADDRESS} and {USERNAME} as new keywords.
2012-02-18 21:09:18 +00:00
KHobbits
d1d31e9769 If bed home is set, give priority when spawning. 2012-01-28 00:57:08 +00:00
KHobbits
f7c6759433 Check bed still exist, for bed homes. 2012-01-28 00:49:22 +00:00