13
0
geforkt von Mirrors/Paper
Commit graph

273 Commits

Autor SHA1 Nachricht Datum
Aikar
c3791a5225 Ability to apply mending to XP API
This allows plugins that give players the ability to apply the experience
points to the Item Mending formula, which will repair an item instead
of giving the player experience points.

Both an API To standalone mend, and apply mending logic to .giveExp has been added.
2017-12-20 17:50:26 -05:00
Aikar
4f6b49e007 Always copy completions for #setCompletions in Tab Complete Events
Per feedback on 6364cb2
2017-12-20 01:09:54 -05:00
Aikar
8665021cdb ExperienceOrbMergeEvent
Fired when the server is about to merge 2 experience orbs
Plugins can cancel this if they want to ensure experience orbs do not lose important
metadata such as spawn reason, or conditionally move data from source to target.
2017-12-19 22:57:46 -05:00
Aikar
0968270200 Make PlayerPickupExperienceEvent extend PlayerEvent 2017-12-19 22:08:28 -05:00
Aikar
ac0ae12415 PlayerPickupExperienceEvent
Allows plugins to cancel a player picking up an experience orb
2017-12-19 22:05:16 -05:00
Aikar
6364cb2591 AsyncTabCompleteEvent shouldn't store Immutable Lists 2017-12-19 16:52:53 -05:00
Aikar
db3cc65511 ExperienceOrbs API for Reason/Source/Triggering player
Adds lots of information about why this orb exists.

Replaces isFromBottle() with logic that persists entity reloads too.
2017-12-19 16:46:27 -05:00
Aikar
7cc544d715 Add World#createExplosion(Location, float, boolean, boolean) API
don't know why this API was missing
2017-12-19 16:25:38 -05:00
Aikar
fa254542bc Display warning on deprecated recipe API
Any plugin still using this API will result in the server saving an inconsistent UUID to player data files,
which then triggers warnings such as "Tried to load unrecognized recipe: bukkit:9e5b92f5-e549-4f47-b0a8-9f89390ed77b removed now."
on the players login.

Plugin authors need to define a key to keep it consistent between server restarts.
2017-12-09 12:42:11 -05:00
Shane Freeder
786d044753 Update B/CB/S 2017-12-05 01:34:10 +00:00
Aikar
f7f8c59f60 AsyncTabCompleteEvent
Let plugins be able to control tab completion of commands and chat async.

This will be useful for frameworks like ACF so we can define async safe completion handlers,
and avoid going to main for tab completions.

Especially useful if you need to query a database in order to obtain the results for tab
completion, such as offline players.

Also adds isCommand and getLocation to the sync TabCompleteEvent
2017-11-26 22:05:48 -05:00
Shane Freeder
2a3e13cc52 Fix javadocs 2017-11-25 17:53:42 +00:00
Aikar
584a612fc0 API to get a BlockState without a snapshot
This allows you to get a BlockState without creating a snapshot, operating
on the real tile entity.

This is useful for where performance is needed
2017-11-24 07:28:57 +00:00
Shane Freeder
a907e21341 Update B/CB/S 2017-11-18 03:04:21 +00:00
Shane Freeder
03960c3d95 Update B/CB/S 2017-11-17 09:40:49 +00:00
pkt77
c849f4f132 Add PlayerArmorChangeEvent
Closes GH-928
2017-11-10 23:46:55 -05:00
BillyGalbreath
222aac9769 PlayerAttemptPickupItemEvent additions 2017-11-10 22:49:53 -05:00
Zach Brown
f141bae102 Update B/CB/S 2017-11-10 17:31:39 -05:00
Shane Freeder
6d76e5b46a Update B/CB/S 2017-11-08 16:13:57 +00:00
Minecrell
90e48db51c Expose client protocol version and virtual host 2017-10-10 18:45:43 +02:00
Minecrell
4b3dd7c7e8 Deprecate player sample list that includes only the player name 2017-10-12 15:50:17 +02:00
Riley Park
7cecdeca83 Some logging changes 2017-10-03 12:13:38 -04:00
Zach Brown
91e639e718 Update documentation around PlayerJumpEvent 2017-09-29 14:58:24 -04:00
Zach Brown
12bf7a15ad Add PlayerJumpEvent 2017-09-28 17:38:17 -04:00
Minecrell
241a264046 Add workaround for plugins modifying the parent of the plugin logger
Essentials uses a custom logger name ("Essentials") instead of the
plugin logger. Log messages are redirected to the plugin logger by
setting the parent of the "Essentials" logger to the plugin logger.

With our changes, the plugin logger is now also called "Essentials",
resulting in an infinite loop. Make sure plugins can't change the
parent of the plugin logger to avoid this.
2017-09-21 19:44:24 +02:00
Minecrell
a64c8c70da Allow plugins to use SLF4J for logging
SLF4J is a commonly used abstraction for various logging frameworks
such as java.util.logging (JUL) or Log4j. Currently, plugins are
required to do all their logging using the provided JUL logger.
This is annoying for plugins that target multiple platforms or when
using libraries that log messages using SLF4J.

Expose SLF4J as optional logging API for plugins, so they can use
it without having to shade it in the plugin and going through
several layers of logging abstraction.
2017-09-21 16:34:36 +02:00
Minecrell
57d987e936 Handle plugin prefixes in Log4j configuration 2017-09-21 16:18:30 +02:00
DemonWav
81d69d5889 Move eclipse compiler patch to POM changes patch
Also update to Paperclip 1.1-SNAPSHOT
2017-09-23 13:17:20 -05:00
DemonWav
52c741517f Remove eclipse compiler for Paper-API
Fixes building with JDK9
2017-09-22 20:12:23 -05:00
Shane Freeder
5ce5ef1c9f Update to 1.12.2, May the Tacos be with you 2017-09-18 12:04:01 +01:00
Shane Freeder
0ccfc595a4 Cache generated EventExecutors (fixes #786)
the first 'major' change in this PR is to cache the generated event
executrs from the ASM class, by doing this we only generate a single
class for every method that we need an executor for, thus reducing the
number of classes that are needed, especially in cases where plugins
re/unregister events all the time.

The second change is to modify the generated classloader map, generated
classloaders are not held against the plugin itself but the classloader
that the event is declared in, the implication here is that we cannot
drop generated classloaders when a plugin disable, and so we use a guava
weak-key'd hashmap, downfall here is that classes won't be GC'd until
guava drops the generated classloader, however the first change should
deal with most of the grunt.
2017-09-06 21:18:36 +01:00
Shane Freeder
89e69d652f Update CB/S 2017-09-09 08:17:12 +01:00
BillyGalbreath
8fc7933953 LivingEntity#setKiller 2017-08-24 15:18:41 -04:00
Riley Park
b90a8b6df4 Deprecate usages of authlib
ref #828
2017-08-22 19:08:41 -07:00
Shane Freeder
7fc4d26c3f Update CB 2017-08-16 16:47:06 +01:00
Shane Freeder
a6eb798352 Update S 2017-08-12 22:32:01 +01:00
Zach Brown
e70452db81 Remove null values in TileEntity tick list
Because who wouldn't want to tick a null tile entity right?
Fixes GH-851
2017-08-11 17:59:44 -05:00
Aikar
64b2b87256 Upstream update 2017-08-07 23:05:16 -04:00
Shane Freeder
2c4293b0f6 Update B/CB/S 2017-08-05 23:36:47 +01:00
BlackHole
01d1cc351b Update to 1.12.1 2017-08-03 16:36:06 +02:00
BillyGalbreath
0ab8f79870 Make /plugins list alphabetical 2017-07-31 02:09:13 -05:00
Aikar
489fda430a Update Upstream 2017-07-30 18:41:08 -04:00
Shane Freeder
fe649493e3 Update B/CB 2017-07-28 14:45:16 +01:00
Aikar
8ff15ca2af ProfileWhitelistVerifyEvent
Fires when the server is validating if a player is whitelisted.

Allows you to do dynamic whitelisting and change of kick message
2017-07-27 23:39:31 -04:00
Aikar
5495450456 Add getI18NDisplayName API
Gets the Display name as seen in the Client.
Currently the server only supports the English language. To override this,
You must replace the language file embedded in the server jar.
2017-07-26 23:44:09 -04:00
Aikar
5617a28291 Implement ensureServerConversions API
This will take a Bukkit ItemStack and run it through any conversions a server process would perform on it,
to ensure it meets latest minecraft expectations.
2017-07-26 23:40:49 -04:00
Aikar
cab448bd32 Improve the Saddle API for Horses
Not all horses with Saddles have armor. This lets us break up the horses with saddles
and access their saddle state separately from an interface shared with Armor.
2017-07-26 23:31:58 -04:00
willies952002
e021202107 Allow Changing of Player Sample in ServerListPingEvent 2017-07-20 18:59:51 -04:00
Aikar
a289bd5949 Update upstream (memory leak fix) 2017-07-16 20:36:27 -04:00
Shane Freeder
43d46feb48 Update B/CB 2017-07-10 14:04:41 +01:00