Commit Graph
31 Commits
Author SHA1 Message Date
Aikar b1e4edb712 PlayerNaturallySpawnCreaturesEvent
This event can be used for when you want to exclude a certain player
from triggering monster spawns on a server.

Also a highly more effecient way to blanket block spawns in a world
2018-01-14 17:31:37 -05:00
Aikar d1f7f3a5ae PreCreatureSpawnEvent
Adds an event to fire before an Entity is created, so that plugins that need to cancel
CreatureSpawnEvent can do so from this event instead.

Cancelling CreatureSpawnEvent rapidly causes a lot of garbage collection and CPU waste
as it's done after the Entity object has been fully created.

Mob Limiting plugins and blanket "ban this type of monster" plugins should use this event
instead and save a lot of server resources.

See: https://github.com/PaperMC/Paper/issues/917
2018-01-14 16:59:43 -05:00
Aikar 8bfc474fb4 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:38:07 -05:00
AikarandJake Potrebic bb15855d47 ExperienceOrb merging/stacking API
Adds 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.

Co-authored-by: Jake Potrebic <jake.m.potrebic@gmail.com>
2017-12-19 22:56:24 -05:00
Aikar bef438ad25 PlayerPickupExperienceEvent
Allows plugins to cancel a player picking up an experience orb
2017-12-19 22:00:41 -05:00
Aikar 332152c40d 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:40:25 -05:00
Aikar 8306cc5b4f 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-06 21:10:01 -05:00
Aikar 9dc2eb6be7 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-03 18:11:34 -05:00
Aikar 8df1d2656c 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.
2016-05-04 23:55:48 -04:00
Aikar 221abecc78 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.
2016-05-04 23:55:48 -04:00
Aikar 9895d6c5c3 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.
2016-12-10 16:12:48 -05:00
Aikar 48d1719745 Profile Lookup Events
Adds a Pre Lookup Event and a Post Lookup Event so that plugins may prefill in profile data, and cache the responses from
profiles that had to be looked up.
2017-06-17 16:30:44 -04:00
Aikar 705daba3f5 Shoulder Entities Release API 2017-06-17 15:04:51 -04:00
Aikar ccd4375fa5 Basic PlayerProfile API
Provides basic elements of a PlayerProfile to be used by future API/events
2018-01-15 21:46:46 -05:00
Aikar f0d3438c11 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:28:32 -05:00
Aikar 204f5daef7 Provide E/TE/Chunk count stat methods
Provides counts without the ineffeciency of using .getEntities().size()
which creates copy of the collections.
2017-01-07 15:23:03 -05:00
Aikar 5c20ef4c6b PlayerTeleportEndGatewayEvent
Allows you to access the Gateway being used in a teleport event
2016-12-31 20:29:33 -05:00
Aikar d84384e895 Fireworks API's
Get the Entity being boosted
Get the firework launcher
2016-12-28 01:18:55 -05:00
Aikar 75274808b6 IllegalPacketEvent
Fire an event when an illegal packet is received to let plugins handle it

Lets plugins change the kick message and if it should kick or not.
2016-12-04 01:19:14 -05:00
Aikar e5e56e1ee1 Add String based Action Bar API 2016-12-20 15:55:55 -05:00
Aikar 397d3cac4b LootTable API
Provides API to control what Loot Table an object uses.

Also provides an Event to control if a lootable inventory should
auto replenish for a player.

Provides methods to determine players looted state for an object
2016-05-01 15:19:49 -04:00
Aikar 542f830ebc Add MetadataStoreBase.removeAll(Plugin)
So that on reload, metadata will be cleared
2013-07-16 21:26:50 -04:00
Aikar 002a6a15e5 EntityPathfindEvent
Fires when an Entity decides to start moving to a location.
2016-03-28 21:15:34 -04:00
Aikar 7ad9895c25 Entity AddTo/RemoveFrom World Events 2016-03-28 20:26:34 -04:00
Aikar 65a5fbb91a Add sender name to commands.yml replacement
This allows you to use $sender in commands.yml definitions to make
commands that auto target self.
2015-07-22 18:50:41 -04:00
Aikar 7ec6dfa78b Add a call helper to Event
Reduces diff in Server patches
2013-05-19 20:36:58 -04:00
Aikar 459551a9d5 Fix ServerListPingEvent flagging as Async
This event can sometimes fire Async, set the proper boolean
2016-02-29 20:26:39 -06:00
Aikar 376251dab7 Add getTPS method 2016-02-29 17:24:57 -06:00
Aikar d4d8262f6e Timings v2
TODO: Add #isStopping to FullServerTickHandler#stopTiming in patch 191
expose isRunning
2016-02-29 18:48:17 -06:00
Aikar 258a2ce7b8 Paper Utils 2019-02-23 11:26:21 -05:00
Aikar 8888031206 Add FastUtil to Bukkit
Doesn't expose to plugins, just allows Paper-API to use it for optimization
2016-04-01 00:02:47 -04:00