What PacketEvents works with.
| Platform | Java Edition |
|---|---|
| Loaders | Bukkit, Folia, Paper, Purpur, Spigot, Sponge, BungeeCord, Velocity, Waterfall |
| Minecraft versions | 1.8.8, 1.12.2, 1.16.5, 1.20.1, 1.21.1, 26.1, 26.2 |
PacketEvents is a protocol library for Minecraft Java Edition. It hooks into the network layer so other plugins can read, modify, or cancel the packets a server sends and receives, instead of reaching into Minecraft's internal server classes directly. It is not something a player installs for a feature of its own. It is infrastructure that another plugin, an anticheat, a cosmetics plugin, a packet-based GUI, needs to run.
What needs PacketEvents and why
Reading or sending raw packets is not something the standard Bukkit or Velocity API exposes. A plugin that needs packet-level access would otherwise have to hard code against Minecraft's obfuscated internals, which shift shape on nearly every update. PacketEvents solves that with a stable, versioned wrapper API, so a plugin developer writes against PacketEvents once instead of chasing internal class renames on every Minecraft drop. If an install guide for some other plugin tells you to grab PacketEvents first, this is almost always why.
PacketEvents compared with ProtocolLib
ProtocolLib solves a similar problem for Paper, Spigot, and Bukkit. PacketEvents covers that same server-software trio plus Purpur and Folia, and extends further to Sponge and the BungeeCord, Velocity, and Waterfall proxies, and it also ships a separate build for the Fabric mod loader. PacketEvents is released under GPL-3.0-only, a newer license line than ProtocolLib's GPL-2.0. Neither library replaces the other outright. Which one a plugin needs comes down to what its own developer chose to build against, so the correct download is whichever one that plugin's documentation actually names.
Platform and Minecraft version coverage
- Bukkit, Paper, Spigot, Purpur, and Folia builds reach back to Minecraft 1.8.8 and carry forward through the current 26.x drops.
- BungeeCord and Waterfall proxy builds cover the same broad range as the server-software builds.
- The Velocity build's declared range stretches back to 1.7.10, the widest of any PacketEvents target.
- The separate Fabric build only starts at Minecraft 1.21 and current 26.x drops. It does not cover the older versions the server-software and proxy builds support.
Grab the build that matches your server software or proxy from the Modrinth project page rather than assuming one jar covers every platform. PacketEvents reports over 768,000 downloads on Modrinth, which is mostly plugins bundling it as a dependency rather than admins seeking it out directly.
Installing PacketEvents
- 1.Download the PacketEvents build for your server software or proxy from the Modrinth project page.
- 2.Drop the jar into the plugins folder alongside the plugin that requires it.
- 3.Restart the server. PacketEvents needs no configuration file and adds no commands or permissions of its own.
Using PacketEvents in plugin development
For developers, PacketEvents exposes packet wrapper classes for reading and writing packet fields with named getters and setters, plus a listener API for intercepting incoming and outgoing packets, so a plugin can work with a movement packet or an entity spawn packet without touching raw bytes. The video below walks through wiring PacketEvents into a Spigot plugin and listening for packets in practice.
Using the PacketEvents library in Spigot plugin development
Questions about PacketEvents.
5 questions
What does PacketEvents do?
PacketEvents is a protocol library that lets a Minecraft plugin read, modify, or cancel the network packets a server or proxy sends and receives. It is not a standalone feature. Other plugins, such as anticheats or packet-based cosmetics plugins, depend on it to do their own work, so most server owners never interact with PacketEvents directly.
Do I need to install PacketEvents if I am not developing a plugin?
Only install PacketEvents if another plugin on your server actually requires it. Check that plugin's own documentation for the exact requirement. Installing PacketEvents on its own with nothing depending on it changes nothing about how your server plays.
How is PacketEvents different from ProtocolLib?
Both are packet manipulation libraries, but PacketEvents covers more ground. ProtocolLib targets Bukkit, Paper, and Spigot only. PacketEvents adds Purpur, Folia, Sponge, and the BungeeCord, Velocity, and Waterfall proxies, plus a separate Fabric build. Which one you need depends entirely on which library the plugin you are installing was built against.
Which Minecraft version does PacketEvents support?
It depends on the build. The Bukkit, Paper, Spigot, Purpur, Folia, BungeeCord, and Waterfall builds reach back to Minecraft 1.8.8, and the Velocity build as far back as 1.7.10, carrying forward through the current 26.x drops. The separate Fabric build only starts at Minecraft 1.21 and does not cover those older versions.
Is PacketEvents safe to use on a multiplayer server?
PacketEvents is open source under the GPL-3.0-only license and has been maintained by retrooper for years across the plugin and proxy ecosystems it targets. It only does what a dependent plugin asks it to do, so the actual in-game behavior you notice comes from whichever plugin is using it, not from PacketEvents as a library.






