Commit graph

13 commits

Author SHA1 Message Date
Aikar
fd5c98a9ef Optimize Network Manager to not need synchronization
Removes synchronization from sending packets
Makes normal packet sends no longer need to be wrapped and queued like it use to work.
Adds more packet queue immunities on top of keep alive to let the following scenarios go out
without delay:
  - Keep Alive
  - Chat
  - Kick
  - All of the packets during the Player Joined World event

Hoping that latter one helps join timeout issues more too for slow connections.

Removes processing packet queue off of main thread
  - for the few cases where it is allowed, order is not necessary nor
    should it even be happening concurrently in first place (handshaking/login/status)

Ensures packets sent asynchronously are dispatched on main thread

This helps ensure safety for ProtocolLib as packet listeners
are commonly accessing world state. This will allow you to schedule
a packet to be sent async, but itll be dispatched sync for packet
listeners to process.

This should solve some deadlock risks

This may provide a decent performance improvement because thread synchronization incurs a cache reset
so by avoiding ever entering a synchronized block, we get to avoid that, and packet sending is a really
hot activity.
2020-05-06 05:22:03 -04:00
Aikar
b06cb423cb Updated Upstream (Bukkit/CraftBukkit)
Upstream has released updates that appears to apply and compile correctly.
This update has not been tested by PaperMC and as with ANY update, please do your own testing

Bukkit Changes:
b999860d SPIGOT-2304: Add LootGenerateEvent

CraftBukkit Changes:
77fd87e4 SPIGOT-2304: Implement LootGenerateEvent
a1a705ee SPIGOT-5566: Doused campfires & fires should call EntityChangeBlockEvent
41712edd SPIGOT-5707: PersistentDataHolder not Persistent on API dropped Item
2020-05-01 18:03:47 -04:00
Ytnoos
f7e48582b5 Revert "Re-track players that dismount from other players" 2020-04-22 00:06:30 +02:00
Aikar
a25f99d254 Updated Upstream (Bukkit/CraftBukkit)
Upstream has released updates that appears to apply and compile correctly.
This update has not been tested by PaperMC and as with ANY update, please do your own testing

Bukkit Changes:
122289ff Add FaceAttachable interface to handle Grindstone facing in common with Switches
a6db750e SPIGOT-5647: ZombieVillager entity should have getVillagerType()

CraftBukkit Changes:
bbe3d58e SPIGOT-5650: Lectern.setPage(int) causes a NullPointerException
3075579f Add FaceAttachable interface to handle Grindstone facing in common with Switches
95bd4238 SPIGOT-5647: ZombieVillager entity should have getVillagerType()
4d975ac3 SPIGOT-5617: setBlockData does not work when NotPlayEvent is called by redstone current
2020-04-02 17:07:06 -04:00
Shane Freeder
413efc4602 Drop Ignore-Missing-Recipes-in-RecipeBook-to-avoid-data-e.patch
This patch appears to be no longer relevant, and is seemingly a leading
cause of datapack performance being horrific
2020-03-15 20:03:36 +00:00
Shane Freeder
29f7d23c82 Reduce PlayerNaturallySpawnCreaturesEvent calls 2020-02-29 23:39:00 +00:00
Shane Freeder
3740be5966 Drop 0394-Fixed-MC-156852.patch (Fixes #2913) 2020-01-30 09:36:03 +00:00
Spottedleaf
6745971d4e Performance patches prerequisite (#2802)
Prereq changes for the coming storm of performance patches.
Includes optimising incremental saving
2020-01-27 16:16:53 -08:00
Spottedleaf
9774f1ff47 1.15.2 update (#2887)
Functional GUI fix added by billygalbreath
2020-01-21 18:02:07 -08:00
Shane Freeder
57458656e9 [CI-SKIP] rebuild patches 2020-01-18 17:58:05 +00:00
Zach Brown
24f4c7016a Fix double dropping xp now that Spigot fixed it 2019-12-26 22:28:02 -05:00
Zach Brown
4b04144770 Update upstream CB/S
--- work/CraftBukkit
Submodule work/CraftBukkit 297ff400..83af86db:
  > SPIGOT-5457: Downgrade 'Mismatch in destroy block pos' message to debug
  > SPIGOT-5481: PlayerBedLeaveEvent returns wrong bed location
  > SPIGOT-5482: Structure Block setUsageMode encounters NullpointerException
  > SPIGOT-5426: isSimilar for player heads fails
  > SPIGOT-5478: XP not dropping when a player dies

--- work/Spigot
Submodule work/Spigot 05bb8bcf..492a7792:
  > Rebuild patches
2019-12-26 22:18:27 -05:00
Shane Freeder
2410fad035 PlayerDeathEvent#shouldDropExperience 2019-12-24 00:36:24 +00:00