Certain tasks are impossible to perform with the standard Bukkit API, and may require working with and even modify Minecraft directly. A common technique is to modify incoming and outgoing packets, or inject custom packets into the stream. This is quite cumbersome to do, however, and most implementations will break as soon as a new version of Minecraft has been released, mostly due to obfuscation.
Critically, different plugins that use this approach may hook into the same classes, with unpredictable outcomes. More than often this causes plugins to crash, but it may also lead to more subtle bugs.
More information: Go to ProtocolLib in Bukkit
- Display whether or not a packet has been cloned in the packet command.
- Add the ability to broadcast a packet to every player or nearby players
- Added some missing features to 2.7.0.
- Call the correct get-method (not remove) in IntHashMap. Fixes #7 on Github
- Asynchronous client packets are handled twice. FIXES 118
- Don’t create a network marker unnecessarily. Prevents crashes under certain circumstances.
- Correctly clone packet listeners. Ensures that asynchronous packet listeners work with the new intercept buffer feature.
- Don’t assume the InputStream is an DataInputStream in Spigot’s case. Fixes intercept buffer for Spigot.
- Don’t throw an exception the first time we initialize IntHashMap.
- ItemStacks that represents AIR cannot store NMS tags. Notify API users with exceptions.
- Added missing server packet WORLD_PARTICLES.