Paper/Spigot-API-Patches
Aikar 5228a4f24c
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:59 -04:00
..
0001-POM-changes.patch Update upstream B/CB 2018-07-13 02:39:44 -05:00
0002-add-Trove-and-FastUtil-to-Bukkit.patch Fix NPE when getting location from players EnderChest (fixes #1041) 2018-03-10 13:26:49 +00:00
0003-Timings-v2.patch Current Chunk for Entity and Block Entities, counts by entity type 2018-07-04 03:58:56 -04:00
0004-Player-affects-spawning-API.patch Update B/CB/S 2017-12-05 01:34:10 +00:00
0005-Add-getTPS-method.patch Update API patches to MC 1.12pre2 2017-05-14 08:46:44 -05:00
0006-Add-async-chunk-load-API.patch Fix NPE when getting location from players EnderChest (fixes #1041) 2018-03-10 13:26:49 +00:00
0007-Entity-Origin-API.patch Update B/CB/S 2017-11-08 16:13:57 +00:00
0008-Check-Paper-versions.patch Skip Entity and Tile Entity ticking in chunks scheduled for unload (#1132) 2018-05-30 15:31:55 -05:00
0009-Add-PlayerLocaleChangeEvent.patch Update upstream B/CB/S 2017-05-27 23:25:17 -05:00
0010-Add-player-view-distance-API.patch Update B/CB/S 2017-12-05 01:34:10 +00:00
0011-Add-BeaconEffectEvent.patch Cleanup obfuscation helper comment format 2016-07-28 19:09:54 -05:00
0012-Add-PlayerInitialSpawnEvent.patch Make UseItem rate limiting stricter, configurable 2016-09-10 23:27:07 -05:00
0013-Made-EntityDismountEvent-Cancellable.patch Update upstream B/CB/S 2016-08-27 18:41:58 -05:00
0014-Automatically-disable-plugins-that-fail-to-load.patch Make UseItem rate limiting stricter, configurable 2016-09-10 23:27:07 -05:00
0015-Expose-server-CommandMap.patch Update upstream B/CB/S 2017-05-15 11:25:20 -05:00
0016-Graduate-bungeecord-chat-API-from-spigot-subclasses.patch Update B/CB/S 2017-12-05 01:34:10 +00:00
0017-Player-Tab-List-and-Title-APIs.patch Update B/CB/S 2017-12-05 01:34:10 +00:00
0018-Add-exception-reporting-event.patch Fix PluginCommand to not wrap exceptions before ServerExceptionEvent can get to it (#1130) 2018-06-18 16:03:09 -05:00
0019-Fix-ServerListPingEvent-flagging-as-Async.patch Make version command use the direct link 2018-04-09 16:13:08 -04:00
0020-Add-BaseComponent-sendMessage-methods-to-CommandSend.patch Update B/CB/S 2017-12-05 01:34:10 +00:00
0021-Add-methods-for-working-with-arrows-stuck-in-living-.patch Update to 1.12.1 2017-08-03 17:27:54 +02:00
0022-Complete-resource-pack-API.patch Update B/CB/S 2017-12-05 01:34:10 +00:00
0023-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
0024-Add-a-call-helper-to-Event.patch [CI-SKIP] Clarify Event#callEvent() JavaDoc (#1158) 2018-06-18 15:42:39 -05:00
0025-Add-sender-name-to-commands.yml-replacement.patch Update B/CB/S 2017-11-08 16:13:57 +00:00
0026-Add-command-to-reload-permissions.yml-and-require-co.patch Update B/CB/S 2017-11-10 17:31:39 -05:00
0027-Custom-replacement-for-eaten-items.patch Properly fix JavaDoc linting issues 2017-06-10 17:12:48 -05:00
0028-Access-items-by-EquipmentSlot.patch Update upstream B/CB/S 2016-08-27 18:41:58 -05:00
0029-Entity-AddTo-RemoveFrom-World-Events.patch Update upstream B/CB/S 2016-08-27 18:41:58 -05:00
0030-EntityPathfindEvent.patch EntityPathfindEvent should be an EntityEvent 2018-06-25 22:09:11 -04:00
0031-Reduce-thread-synchronization-in-MetadataStoreBase.patch Update upstream B/CB/S 2016-08-27 18:41:58 -05:00
0032-Add-MetadataStoreBase.removeAll-Plugin.patch Fix NPE when getting location from players EnderChest (fixes #1041) 2018-03-10 13:26:49 +00:00
0033-Add-PlayerUseUnknownEntityEvent.patch Remove Ignore invalid Marker Icon ID's in maps 2017-04-22 15:52:56 +01:00
0034-Add-handshake-event-to-allow-plugins-to-handle-clien.patch Add OBFHELPER - InventoryEnderChest#getTileEntity 2018-03-10 17:11:51 +00:00
0035-Arrow-pickup-rule-API.patch Update B/CB 2018-05-08 23:09:45 +01:00
0036-EntityRegainHealthEvent-isFastRegen-API.patch Fix javadoc warnings 2017-07-03 19:54:40 +01:00
0037-LootTable-API.patch Update B/CB/S 2017-08-06 00:08:21 +01:00
0038-Add-EntityZapEvent.patch Remove Ignore invalid Marker Icon ID's in maps 2017-04-22 15:52:56 +01:00
0039-Misc-Utils.patch Remove Ignore invalid Marker Icon ID's in maps 2017-04-22 15:52:56 +01:00
0040-Allow-Reloading-of-Command-Aliases.patch Fix PluginCommand to not wrap exceptions before ServerExceptionEvent can get to it (#1130) 2018-06-18 16:03:09 -05:00
0041-Add-source-to-PlayerExpChangeEvent.patch Fix NPE when getting location from players EnderChest (fixes #1041) 2018-03-10 13:26:49 +00:00
0042-Add-ProjectileCollideEvent.patch Remove Ignore invalid Marker Icon ID's in maps 2017-04-22 15:52:56 +01:00
0043-Add-String-based-Action-Bar-API.patch Update B/CB/S 2017-12-05 01:34:10 +00:00
0044-Add-API-methods-to-control-if-armour-stands-can-move.patch Remove Ignore invalid Marker Icon ID's in maps 2017-04-22 15:52:56 +01:00
0045-IllegalPacketEvent.patch Remove Ignore invalid Marker Icon ID's in maps 2017-04-22 15:52:56 +01:00
0046-Fireworks-API-s.patch Update upstream B/CB 2017-01-06 15:45:59 -06:00
0047-PlayerTeleportEndGatewayEvent.patch Properly fix JavaDoc linting issues 2017-06-10 17:12:48 -05:00
0048-Provide-E-TE-Chunk-count-stat-methods.patch Add World.getPlayerCount 2017-01-13 23:00:33 +11:00
0049-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch ExperienceOrbs API for Reason/Source/Triggering player 2017-12-19 16:46:27 -05:00
0050-Expose-WorldBorder-isInBounds-Location-check.patch Update upstream B/CB/S 2017-01-25 22:27:42 -06:00
0051-Add-configuration-option-to-prevent-player-names-fro.patch Fix PluginCommand to not wrap exceptions before ServerExceptionEvent can get to it (#1130) 2018-06-18 16:03:09 -05:00
0052-Fix-upstream-javadoc-warnings-and-errors.patch Update upstream B/CB 2018-07-13 02:39:44 -05:00
0053-Item-canEntityPickup.patch Add EntityTeleportEndGatewayEvent for entities (closes #1124) 2018-06-09 14:21:40 +01:00
0054-PlayerPickupItemEvent-setFlyAtPlayer.patch Update Upstream 2017-07-30 18:41:08 -04:00
0055-PlayerAttemptPickupItemEvent.patch Update upstream CB 2018-05-27 23:39:08 -05:00
0056-Add-UnknownCommandEvent.patch Update B/CB 2017-07-28 15:51:46 +01:00
0057-Basic-PlayerProfile-API.patch Cleanup javadoc warnings 2018-08-17 04:02:03 +01:00
0058-Shoulder-Entities-Release-API.patch Add PlayerProfile API to replace GameProfile 2018-01-18 23:19:30 -05:00
0059-Profile-Lookup-Events.patch Move ProfileWhitelistVerifyEvent to use new PlayerProfile API 2018-01-19 00:12:03 -05:00
0060-Entity-fromMobSpawner.patch Add PlayerProfile API to replace GameProfile 2018-01-18 23:19:30 -05:00
0061-Allow-Changing-of-Player-Sample-in-ServerListPingEve.patch Cleanup javadoc warnings 2018-08-17 04:02:03 +01:00
0062-Improve-the-Saddle-API-for-Horses.patch Update B/CB 2018-02-12 17:37:33 +00:00
0063-ensureServerConversions-API.patch Add PlayerProfile API to replace GameProfile 2018-01-18 23:19:30 -05:00
0064-Add-getI18NDisplayName-API.patch Add PlayerProfile API to replace GameProfile 2018-01-18 23:19:30 -05:00
0065-ProfileWhitelistVerifyEvent.patch Cleanup javadoc warnings 2018-08-17 04:02:03 +01:00
0066-Make-plugins-list-alphabetical.patch Add PlayerProfile API to replace GameProfile 2018-01-18 23:19:30 -05:00
0067-LivingEntity-setKiller.patch RangedEntity API 2018-06-26 22:08:01 -04:00
0068-Handle-plugin-prefixes-in-implementation-logging-con.patch [CI-SKIP] Add Minecrell to MIT list (#1035) 2018-03-08 07:08:21 -08:00
0069-Allow-plugins-to-use-SLF4J-for-logging.patch [CI-SKIP] Add Minecrell to MIT list (#1035) 2018-03-08 07:08:21 -08:00
0070-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
0071-Add-PlayerJumpEvent.patch Add PlayerProfile API to replace GameProfile 2018-01-18 23:19:30 -05:00
0072-Expose-client-protocol-version-and-virtual-host.patch Flag to disable the channel limit 2018-03-31 18:56:49 +01:00
0073-Add-PlayerArmorChangeEvent.patch Flag to disable the channel limit 2018-03-31 18:56:49 +01:00
0074-API-to-get-a-BlockState-without-a-snapshot.patch Add PlayerProfile API to replace GameProfile 2018-01-18 23:19:30 -05:00
0075-AsyncTabCompleteEvent.patch Cleanup javadoc warnings 2018-08-17 04:02:03 +01:00
0076-Display-warning-on-deprecated-recipe-API.patch Add PlayerProfile API to replace GameProfile 2018-01-18 23:19:30 -05:00
0077-PlayerPickupExperienceEvent.patch Expand Explosions API 2018-06-20 23:19:46 -04:00
0078-ExperienceOrbMergeEvent.patch Expand Explosions API 2018-06-20 23:19:46 -04:00
0079-Ability-to-apply-mending-to-XP-API.patch Cleanup javadoc warnings 2018-08-17 04:02:03 +01:00
0080-PreCreatureSpawnEvent.patch Expand Explosions API 2018-06-20 23:19:46 -04:00
0081-PlayerNaturallySpawnCreaturesEvent.patch Expand Explosions API 2018-06-20 23:19:46 -04:00
0082-Add-SkullMeta.setPlayerProfile-API.patch Expand Explosions API 2018-06-20 23:19:46 -04:00
0083-Fill-Profile-Property-Events.patch Expand Explosions API 2018-06-20 23:19:46 -04:00
0084-PlayerAdvancementCriterionGrantEvent.patch Expand Explosions API 2018-06-20 23:19:46 -04:00
0085-Add-ArmorStand-Item-Meta.patch Expand Explosions API 2018-06-20 23:19:46 -04:00
0086-Optimize-Hoppers.patch Expand Explosions API 2018-06-20 23:19:46 -04:00
0087-Tameable-getOwnerUniqueId-API.patch Expand Explosions API 2018-06-20 23:19:46 -04:00
0088-Ability-to-change-PlayerProfile-in-AsyncPreLoginEven.patch Expand Explosions API 2018-06-20 23:19:46 -04:00
0089-Add-extended-PaperServerListPingEvent.patch Expand Explosions API 2018-06-20 23:19:46 -04:00
0090-Implement-deprecated-player-sample-API.patch Cleanup javadoc warnings 2018-08-17 04:02:03 +01:00
0091-Player.setPlayerProfile-API.patch Expand Explosions API 2018-06-20 23:19:46 -04:00
0092-getPlayerUniqueId-API.patch Expand Explosions API 2018-06-20 23:19:46 -04:00
0093-Add-legacy-ping-support-to-PaperServerListPingEvent.patch Expand Explosions API 2018-06-20 23:19:46 -04:00
0094-Add-method-to-open-already-placed-sign.patch Expand Explosions API 2018-06-20 23:19:46 -04:00
0095-Add-version-history-to-version-command.patch Expand Explosions API 2018-06-20 23:19:46 -04:00
0096-Add-Ban-Methods-to-Player-Objects.patch Expand Explosions API 2018-06-20 23:19:46 -04:00
0097-EndermanEscapeEvent.patch Expand Explosions API 2018-06-20 23:19:46 -04:00
0098-Enderman.teleportRandomly.patch Expand Explosions API 2018-06-20 23:19:46 -04:00
0099-Additional-world.getNearbyEntities-API-s.patch Cleanup javadoc warnings 2018-08-17 04:02:03 +01:00
0100-Location.isChunkLoaded-API.patch Expand Explosions API 2018-06-20 23:19:46 -04:00
0101-Expand-World.spawnParticle-API-and-add-Builder.patch Cleanup javadoc warnings 2018-08-17 04:02:03 +01:00
0102-EndermanAttackPlayerEvent.patch Cleanup javadoc warnings 2018-08-17 04:02:03 +01:00
0103-Close-Plugin-Class-Loaders-on-Disable.patch Expand Explosions API 2018-06-20 23:19:46 -04:00
0104-WitchConsumePotionEvent.patch Cleanup javadoc warnings 2018-08-17 04:02:03 +01:00
0105-WitchThrowPotionEvent.patch Expand Explosions API 2018-06-20 23:19:46 -04:00
0106-Location.toBlockLocation-toCenterLocation.patch Expand Explosions API 2018-06-20 23:19:46 -04:00
0107-PotionEffect-clone-methods.patch Expand Explosions API 2018-06-20 23:19:46 -04:00
0108-WitchReadyPotionEvent.patch Cleanup javadoc warnings 2018-08-17 04:02:03 +01:00
0109-ItemStack-getMaxItemUseDuration.patch Expand Explosions API 2018-06-20 23:19:46 -04:00
0110-Add-EntityTeleportEndGatewayEvent.patch Expand Explosions API 2018-06-20 23:19:46 -04:00
0111-Add-SentientNPC-Interface-to-Entities.patch Add Critical missing Bukkit API - setTarget/getTarget moved down to SentientNPC 2018-07-01 22:10:21 -04:00
0112-Make-shield-blocking-delay-configurable.patch Expand Explosions API 2018-06-20 23:19:46 -04:00
0113-EntityShootBowEvent-consumeArrow-and-getArrowItem-AP.patch Expand Explosions API 2018-06-20 23:19:46 -04:00
0114-Add-getNearbyXXX-methods-to-Location.patch Cleanup javadoc warnings 2018-08-17 04:02:03 +01:00
0115-PlayerReadyArrowEvent.patch Cleanup javadoc warnings 2018-08-17 04:02:03 +01:00
0116-Add-EntityKnockbackByEntityEvent.patch Cleanup javadoc warnings 2018-08-17 04:02:03 +01:00
0117-Expand-Explosions-API.patch Cleanup javadoc warnings 2018-08-17 04:02:03 +01:00
0118-ItemStack-API-additions-for-quantity-flags-lore.patch Subtraction goes down, not up. Silly me. 2018-06-30 04:45:17 -04:00
0119-LivingEntity-Hand-Raised-Item-Use-API.patch Cleanup javadoc warnings 2018-08-17 04:02:03 +01:00
0120-RangedEntity-API.patch Cleanup javadoc warnings 2018-08-17 04:02:03 +01:00
0121-Improve-ProjectileHitEvent-to-include-the-BlockFace-.patch Improve ProjectileHitEvent to include the BlockFace where the projectile has hit (#1182) 2018-07-03 14:34:42 -05:00
0122-Add-World.getEntity-UUID-API.patch Cleanup javadoc warnings 2018-08-17 04:02:03 +01:00
0123-InventoryCloseEvent-Reason-API.patch Cleanup javadoc warnings 2018-08-17 04:02:03 +01:00
0124-Entity-getChunk-API.patch Current Chunk for Entity and Block Entities, counts by entity type 2018-07-04 03:58:56 -04:00
0125-Vex-getOwner-API.patch Vex#getOwner API 2018-07-04 15:32:30 -04:00
0126-Expand-Location-Manipulation-API.patch Expand Location Manipulation API - Closes #1265 2018-07-25 01:38:37 -04:00
0127-Provide-Chunk-Coordinates-as-a-Long-API.patch Cleanup javadoc warnings 2018-08-17 04:02:03 +01:00
0128-Allow-disabling-armour-stand-ticking.patch Allow disabling armour stand ticking 2018-08-15 01:29:41 -07:00
0129-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
0130-Improve-death-events.patch Improve death events (#1362) 2018-09-07 20:14:48 -04:00
0131-isChunkGenerated-API.patch Remove deadlock risk in firing async events 2018-09-09 01:04:59 -04:00
0132-Add-source-block-to-BlockPhysicsEvent.patch Remove deadlock risk in firing async events 2018-09-09 01:04:59 -04:00
0133-Remove-deadlock-risk-in-firing-async-events.patch Remove deadlock risk in firing async events 2018-09-09 01:04:59 -04:00