So I ran into a fun bug today. I was listening for entity spawn packets to send a mount packet after the two required entities have spawned. I found out that if I send a packet to the player from inside the callback of a packet monitor ( ListenerPriority.MONITOR ), by pure chance either: The packet is sent after the packet The packet is sent before the packet Obviously sending a mount packet before the entities are both spawned doesn't work. By delaying the sending by one tick that bug was fixed. But I don't like scheduling a tick delay like that. Does ProtocolLib have an API to send the next packet AFTER the packet currently being handled inside a monitor?