Paper/Spigot-API-Patches
Aikar 68b25624d8 Remove deadlock risk in firing async events
The PluginManager incorrectly used synchronization on firing any event
that was marked as synchronous.

This synchronized did not even protect any concurrency risk as
handlers were already thread safe in terms of mutations during event
dispatch.

The way it was used, has commonly led to deadlocks on the server,
which results in a hard crash.

This change removes the synchronize and adds some protection around enable/disable
2018-09-09 01:04:29 -04:00
..
Ability-to-apply-mending-to-XP-API.patch Cleanup javadoc warnings 2018-08-16 12:20:58 +01:00
Ability-to-change-PlayerProfile-in-AsyncPreLoginEven.patch Ability to change PlayerProfile in AsyncPreLoginEvent 2018-03-18 11:46:14 -04:00
Access-items-by-EquipmentSlot.patch Access items by EquipmentSlot 2016-03-26 22:23:42 -07:00
Add-a-call-helper-to-Event.patch [CI-SKIP] Clarify Event#callEvent() JavaDoc (#1158) 2018-06-18 15:42:39 -05:00
Add-API-methods-to-control-if-armour-stands-can-move.patch Remove Ignore invalid Marker Icon ID's in maps 2017-04-22 15:32:06 +01:00
Add-ArmorStand-Item-Meta.patch Add ArmorStand Item Meta 2018-01-27 20:40:42 -05:00
Add-async-chunk-load-API.patch Fix NPE when getting location from players EnderChest (fixes #1041) 2018-03-10 13:07:40 +00:00
Add-Ban-Methods-to-Player-Objects.patch Add Ban Methods to Player Objects 2018-04-28 11:31:26 -04:00
Add-BaseComponent-sendMessage-methods-to-CommandSend.patch Update B/CB/S 2017-12-05 01:34:10 +00:00
Add-BeaconEffectEvent.patch Paper 1.9 2016-02-29 17:09:49 -06:00
Add-command-to-reload-permissions.yml-and-require-co.patch Update B/CB/S 2017-11-10 17:31:39 -05:00
Add-configuration-option-to-prevent-player-names-fro.patch Fix PluginCommand to not wrap exceptions before ServerExceptionEvent can get to it (#1130) 2018-06-19 07:03:09 +10:00
Add-EntityKnockbackByEntityEvent.patch Cleanup javadoc warnings 2018-08-16 12:20:58 +01:00
Add-EntityTeleportEndGatewayEvent.patch Add EntityTeleportEndGatewayEvent for entities (closes #1124) 2018-06-09 14:21:40 +01:00
Add-EntityZapEvent.patch Remove Ignore invalid Marker Icon ID's in maps 2017-04-22 15:32:06 +01:00
Add-exception-reporting-event.patch Fix PluginCommand to not wrap exceptions before ServerExceptionEvent can get to it (#1130) 2018-06-19 07:03:09 +10:00
Add-extended-PaperServerListPingEvent.patch Add extended PaperServerListPingEvent (#980) 2018-03-23 04:19:59 +01:00
Add-getI18NDisplayName-API.patch Add getI18NDisplayName API 2017-07-26 23:44:09 -04:00
Add-getNearbyXXX-methods-to-Location.patch Cleanup javadoc warnings 2018-08-16 12:20:58 +01:00
Add-getTPS-method.patch Update API patches to MC 1.12pre2 2017-05-14 08:46:44 -05:00
Add-handshake-event-to-allow-plugins-to-handle-clien.patch Remove Ignore invalid Marker Icon ID's in maps 2017-04-22 15:32:06 +01:00
Add-legacy-ping-support-to-PaperServerListPingEvent.patch Call PaperServerListPingEvent for legacy pings (#1057) 2018-03-30 19:00:01 +02:00
Add-MetadataStoreBase.removeAll-Plugin.patch Fix NPE when getting location from players EnderChest (fixes #1041) 2018-03-10 13:07:40 +00:00
Add-method-to-open-already-placed-sign.patch Add method to open already placed sign 2018-04-01 02:30:41 +03:00
Add-methods-for-working-with-arrows-stuck-in-living-.patch Update to 1.12.1 2017-08-03 16:36:06 +02:00
Add-player-view-distance-API.patch Update B/CB/S 2017-12-05 01:34:10 +00:00
Add-PlayerArmorChangeEvent.patch Add PlayerArmorChangeEvent 2017-11-10 23:46:55 -05:00
Add-PlayerInitialSpawnEvent.patch Paper 1.9 2016-02-29 17:09:49 -06:00
Add-PlayerJumpEvent.patch Update documentation around PlayerJumpEvent 2017-09-29 14:58:24 -04:00
Add-PlayerLocaleChangeEvent.patch Update upstream B/CB/S 2017-05-27 23:25:17 -05:00
Add-PlayerUseUnknownEntityEvent.patch Remove Ignore invalid Marker Icon ID's in maps 2017-04-22 15:32:06 +01:00
Add-ProjectileCollideEvent.patch Remove Ignore invalid Marker Icon ID's in maps 2017-04-22 15:32:06 +01:00
Add-sender-name-to-commands.yml-replacement.patch Update B/CB/S 2017-11-08 16:13:57 +00:00
Add-SentientNPC-Interface-to-Entities.patch Add Critical missing Bukkit API - setTarget/getTarget moved down to SentientNPC 2018-07-01 22:07:35 -04:00
Add-SkullMeta.setPlayerProfile-API.patch Add SkullMeta.setPlayerProfile API 2018-01-19 00:38:49 -05:00
Add-source-block-to-BlockPhysicsEvent.patch Remove deadlock risk in firing async events 2018-09-09 01:04:29 -04:00
Add-source-to-PlayerExpChangeEvent.patch Fix NPE when getting location from players EnderChest (fixes #1041) 2018-03-10 13:07:40 +00:00
Add-String-based-Action-Bar-API.patch Update B/CB/S 2017-12-05 01:34:10 +00:00
add-Trove-and-FastUtil-to-Bukkit.patch Fix NPE when getting location from players EnderChest (fixes #1041) 2018-03-10 13:07:40 +00:00
Add-UnknownCommandEvent.patch Fix javadoc warnings 2017-07-03 16:38:49 +01:00
Add-version-history-to-version-command.patch Track previous version and report in command 2018-03-01 19:57:22 -06:00
Add-workaround-for-plugins-modifying-the-parent-of-t.patch Allow logger instances to be used across reloads 2018-04-08 02:02:48 +01:00
Add-World.getEntity-UUID-API.patch Cleanup javadoc warnings 2018-08-16 12:20:58 +01:00
Additional-world.getNearbyEntities-API-s.patch Cleanup javadoc warnings 2018-08-16 12:20:58 +01:00
Allow-Blocks-to-be-accessed-via-a-long-key.patch add World#getLocationAtKey for Block Key API 2018-08-19 11:50:40 -04:00
Allow-Changing-of-Player-Sample-in-ServerListPingEve.patch Cleanup javadoc warnings 2018-08-16 12:20:58 +01:00
Allow-disabling-armour-stand-ticking.patch Allow disabling armour stand ticking 2018-08-15 01:26:51 -07:00
Allow-plugins-to-use-SLF4J-for-logging.patch [CI-SKIP] Add Minecrell to MIT list (#1035) 2018-03-08 16:08:21 +01:00
Allow-Reloading-of-Command-Aliases.patch Fix PluginCommand to not wrap exceptions before ServerExceptionEvent can get to it (#1130) 2018-06-19 07:03:09 +10:00
API-to-get-a-BlockState-without-a-snapshot.patch Fix javadocs 2017-11-25 17:53:42 +00:00
Arrow-pickup-rule-API.patch Update B/CB 2018-05-08 23:09:45 +01:00
AsyncTabCompleteEvent.patch Cleanup javadoc warnings 2018-08-16 12:20:58 +01:00
Automatically-disable-plugins-that-fail-to-load.patch Paper 1.9 2016-02-29 17:09:49 -06:00
Basic-PlayerProfile-API.patch Cleanup javadoc warnings 2018-08-16 12:20:58 +01:00
Check-Paper-versions.patch Make version command use the direct link 2018-04-09 16:13:08 -04:00
Close-Plugin-Class-Loaders-on-Disable.patch Fix compat with PluginClassloader implementations 2018-06-12 16:10:01 +01:00
Complete-resource-pack-API.patch Update B/CB/S 2017-12-05 01:34:10 +00:00
Custom-replacement-for-eaten-items.patch Properly fix JavaDoc linting issues 2017-06-10 17:11:10 -05:00
Display-warning-on-deprecated-recipe-API.patch Display warning on deprecated recipe API 2017-12-09 12:42:11 -05:00
Enderman.teleportRandomly.patch Enderman.teleportRandomly() 2018-04-30 13:30:00 -04:00
EndermanAttackPlayerEvent.patch Cleanup javadoc warnings 2018-08-16 12:20:58 +01:00
EndermanEscapeEvent.patch add Escape Reason Drown for EndermanEscapeEvent 2018-05-31 18:16:26 -04:00
ensureServerConversions-API.patch Implement ensureServerConversions API 2017-07-26 23:40:49 -04:00
Entity-AddTo-RemoveFrom-World-Events.patch Update Entity AddTo|RemoveFrom World events to be EntityEvents 2016-06-24 00:16:46 -04:00
Entity-fromMobSpawner.patch Update B/CB/S 2017-11-08 16:13:57 +00:00
Entity-getChunk-API.patch Current Chunk for Entity and Block Entities, counts by entity type 2018-07-04 03:55:24 -04:00
Entity-Origin-API.patch Update B/CB/S 2017-11-08 16:13:57 +00:00
EntityPathfindEvent.patch EntityPathfindEvent should be an EntityEvent 2018-06-25 22:09:11 -04:00
EntityRegainHealthEvent-isFastRegen-API.patch Fix javadoc warnings 2017-07-03 16:38:49 +01:00
EntityShootBowEvent-consumeArrow-and-getArrowItem-AP.patch EntityShootBowEvent consumeArrow and getArrowItem API 2018-06-18 00:39:04 -04:00
Expand-Explosions-API.patch Cleanup javadoc warnings 2018-08-16 12:20:58 +01:00
Expand-Location-Manipulation-API.patch Expand Location Manipulation API - Closes #1265 2018-07-25 01:38:37 -04:00
Expand-World.spawnParticle-API-and-add-Builder.patch Cleanup javadoc warnings 2018-08-16 12:20:58 +01:00
ExperienceOrbMergeEvent.patch ExperienceOrbMergeEvent 2017-12-19 22:57:46 -05:00
ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch ExperienceOrbs API for Reason/Source/Triggering player 2017-12-19 16:46:27 -05:00
Expose-client-protocol-version-and-virtual-host.patch Update B/CB/S 2017-12-05 01:34:10 +00:00
Expose-server-CommandMap.patch Update upstream B/CB/S 2017-05-15 11:25:20 -05:00
Expose-WorldBorder-isInBounds-Location-check.patch Update upstream B/CB/S 2017-01-25 22:27:42 -06:00
Fill-Profile-Property-Events.patch Expand Explosions API 2018-06-20 23:19:46 -04:00
Fireworks-API-s.patch Update upstream B/CB 2017-01-06 15:45:59 -06:00
Fix-ServerListPingEvent-flagging-as-Async.patch Make version command use the direct link 2018-04-09 16:13:08 -04:00
Fix-upstream-javadoc-warnings-and-errors.patch Update upstream B/CB 2018-07-13 02:39:44 -05:00
getPlayerUniqueId-API.patch getPlayerUniqueId API 2018-03-22 01:41:44 -04:00
Graduate-bungeecord-chat-API-from-spigot-subclasses.patch Update B/CB/S 2017-12-05 01:34:10 +00:00
Handle-plugin-prefixes-in-implementation-logging-con.patch [CI-SKIP] Add Minecrell to MIT list (#1035) 2018-03-08 16:08:21 +01:00
IllegalPacketEvent.patch Remove Ignore invalid Marker Icon ID's in maps 2017-04-22 15:32:06 +01:00
Implement-deprecated-player-sample-API.patch Cleanup javadoc warnings 2018-08-16 12:20:58 +01:00
Improve-death-events.patch Improve death events (#1362) 2018-09-08 02:14:48 +02:00
Improve-ProjectileHitEvent-to-include-the-BlockFace-.patch Improve ProjectileHitEvent to include the BlockFace where the projectile has hit (#1182) 2018-06-30 05:50:17 +02:00
Improve-the-Saddle-API-for-Horses.patch Update B/CB 2018-02-08 10:07:27 +00:00
InventoryCloseEvent-Reason-API.patch Cleanup javadoc warnings 2018-08-16 12:20:58 +01:00
isChunkGenerated-API.patch Remove deadlock risk in firing async events 2018-09-09 01:04:29 -04:00
Item-canEntityPickup.patch Renumber patches, fix conflicts, update for 1.12 2017-06-11 20:02:57 -05:00
ItemStack-API-additions-for-quantity-flags-lore.patch Subtraction goes down, not up. Silly me. 2018-06-30 04:45:17 -04:00
ItemStack-getMaxItemUseDuration.patch ItemStack#getMaxItemUseDuration 2018-06-05 23:01:16 -04:00
LivingEntity-Hand-Raised-Item-Use-API.patch Cleanup javadoc warnings 2018-08-16 12:20:58 +01:00
LivingEntity-setKiller.patch RangedEntity API 2018-06-26 22:08:01 -04:00
Location.isChunkLoaded-API.patch Location.isChunkLoaded() API 2018-04-30 19:27:59 -04:00
Location.toBlockLocation-toCenterLocation.patch rename method for center to toCenterLocation() 2018-05-24 21:06:06 -04:00
LootTable-API.patch Update B/CB/S 2017-08-05 23:36:47 +01:00
Made-EntityDismountEvent-Cancellable.patch Paper 1.9 2016-02-29 17:09:49 -06:00
Make-plugins-list-alphabetical.patch Update B/CB/S 2017-11-10 17:31:39 -05:00
Make-shield-blocking-delay-configurable.patch Make shield blocking delay configurable (#1154) 2018-06-16 14:54:35 -05:00
Misc-Utils.patch Remove Ignore invalid Marker Icon ID's in maps 2017-04-22 15:32:06 +01:00
Optimize-Hoppers.patch Optimize Hoppers 2018-01-18 01:00:51 -05:00
Player-affects-spawning-API.patch Update B/CB/S 2017-12-05 01:34:10 +00:00
Player-Tab-List-and-Title-APIs.patch Update B/CB/S 2017-12-05 01:34:10 +00:00
Player.setPlayerProfile-API.patch Update javadoc on setPlayerProfile 2018-03-18 13:28:01 -04:00
PlayerAdvancementCriterionGrantEvent.patch PlayerAdvancementCriterionGrantEvent (#978) 2018-01-21 12:23:34 -06:00
PlayerAttemptPickupItemEvent.patch PlayerAttemptPickupItemEvent additions 2017-11-10 22:49:53 -05:00
PlayerNaturallySpawnCreaturesEvent.patch PlayerNaturallySpawnCreaturesEvent 2018-01-14 17:36:24 -05:00
PlayerPickupExperienceEvent.patch Make PlayerPickupExperienceEvent extend PlayerEvent 2017-12-19 22:08:28 -05:00
PlayerPickupItemEvent-setFlyAtPlayer.patch Update Upstream 2017-07-30 18:41:08 -04:00
PlayerReadyArrowEvent.patch Cleanup javadoc warnings 2018-08-16 12:20:58 +01:00
PlayerTeleportEndGatewayEvent.patch Properly fix JavaDoc linting issues 2017-06-10 17:11:10 -05:00
POM-changes.patch Update upstream B/CB 2018-07-13 02:39:44 -05:00
PotionEffect-clone-methods.patch PotionEffect clone methods 2018-06-04 01:55:52 -04:00
PreCreatureSpawnEvent.patch Remove warning for custom entities in precreaturespawn, add note to event 2018-01-28 22:50:35 -05:00
Profile-Lookup-Events.patch Move ProfileWhitelistVerifyEvent to use new PlayerProfile API 2018-01-19 00:12:03 -05:00
ProfileWhitelistVerifyEvent.patch Cleanup javadoc warnings 2018-08-16 12:20:58 +01:00
Provide-Chunk-Coordinates-as-a-Long-API.patch Cleanup javadoc warnings 2018-08-16 12:20:58 +01:00
Provide-E-TE-Chunk-count-stat-methods.patch Add World.getPlayerCount 2017-01-13 23:00:33 +11:00
RangedEntity-API.patch Cleanup javadoc warnings 2018-08-16 12:20:58 +01:00
Reduce-thread-synchronization-in-MetadataStoreBase.patch Reduce thread synchronization in MetadataStoreBase 2016-03-28 22:10:01 -04:00
Remove-deadlock-risk-in-firing-async-events.patch Remove deadlock risk in firing async events 2018-09-09 01:04:29 -04:00
Shoulder-Entities-Release-API.patch Shoulder Entities Release API 2017-06-17 15:20:25 -04:00
Tameable-getOwnerUniqueId-API.patch Rename getOwnerUUID to Tameable#getOwnerUniqueId for consistency 2018-02-24 01:16:01 -05:00
Timings-v2.patch Current Chunk for Entity and Block Entities, counts by entity type 2018-07-04 03:55:24 -04:00
Use-ASM-for-event-executors.patch Upgrade ASM to 6.1.1 to allow Java 9 and 10 plugins to load 2018-05-22 22:07:25 -05:00
Vex-getOwner-API.patch Vex#getOwner API 2018-07-04 15:32:30 -04:00
WitchConsumePotionEvent.patch Cleanup javadoc warnings 2018-08-16 12:20:58 +01:00
WitchReadyPotionEvent.patch Cleanup javadoc warnings 2018-08-16 12:20:58 +01:00
WitchThrowPotionEvent.patch Fix Witch Throw Potion error - Resolves #1129 2018-05-23 23:08:04 -04:00