PacketEvents is emerging as a strong contender in the realm of Minecraft packet processing libraries. Designed to simplify packet manipulation while delivering high performance, this powerful tool aims to demystify the complexities of projects utilizing packets.
GPL-3.0 License
Bot releases are visible (Hide)
Published by retrooper 28 days ago
New update with performance improvements & bug fixes!
This update wouldn't be possible without these contributors ❤️: @booky10, @AbhigyaKrishna, @KoutaChan, @ShadowOfHeaven , @Bram1903 , @libraryaddict, @AoElite, @rexlManu, @ManInMyVan, @KermanIsPretty, @Elikill58
1.21 Minecraft released a while ago, we are here to publish our first official release that supports it. This release contains various additions and bug fixes. As always, this section is merely a summary of the changes.
This update wouldn't be possible without these contributors ❤️: @booky10, @AbhigyaKrishna, @Bram1903, @MemencioPerez, @IssueDescription, @joshuaprince, @RaynLegends, @ShadowOfHeaven-Me, @dawon, @LeeGodSRC, @cswhite2000
This PacketEvents update was a rather large one. We acknowledge that it still has a few issues and plan on fixing them in the upcoming patch update.
Network synched registries are currently being worked on. https://github.com/retrooper/packetevents/pull/866
Completion of this task should lead to the issue being resolved.
Some metadata types (eg. spawned wolves) cause issues due to them being implemented incorrectly. Also this, we plan on fixing in the next patch update.
Maintaining PacketEvents is not a simple process. The project has grown a lot and some of you have been here to witness it all. PacketEvents now has two additional maintainers: @booky10 and @AbhigyaKrishna. If you are willing to extend your kindness to them also, please reach out.
Published by retrooper 5 months ago
Finally a new update with 1.20.5/1.20.6 support, new additions and various bug fixes. As ViaVersion mentioned, this is definitely one of the largest networking changes. Please remember that this section is only a summary of the changes.
This update wouldn't be possible without these contributors ❤️: @booky10, @AbhigyaKrishna, @SamB440, @AoElite, @MachineBreaker, @ytnoos, @Kamilkime, @Wekylend, @Leymooo, @Bram1903
Published by retrooper 8 months ago
Finally a new update with a lot of bug fixes & a few additions.
This update wouldn't be possible without these members: @SamB440, @AoElite, @Tofaa2, @cheaterSK, @BlueTree242, @joshuaprince, @AbhigyaKrishna, @booky10, @gabber235
Published by retrooper 10 months ago
Published by retrooper 11 months ago
Published by retrooper about 1 year ago
boolean proxy = PacketEvents.getAPI().getInjector().isProxy();
Thanks for all the support after the 2.0.0 release, here is a patch update, please update to this for the latest bug fixes and features.
Published by retrooper about 1 year ago
Learn how to use 2.0.0 by following our Wiki
Thank you to everyone involved in this update. Finally 2.0.0 is out, from now on we will be releasing minor and patch updates.
Thanks to all the users that helped us test 2.0.0 by using the snapshot versions, you should now update to this release.
Published by retrooper over 2 years ago
Published by retrooper over 2 years ago
Published by retrooper over 2 years ago
Almost 2 weeks ago, I made an issue on ProtocolLib's GitHub repository. I noticed some flaws in their channel pipeline injector. (In monkey words, how to hack into server code and listen to packets) Thankfully a developer called derklaro improved their injector. This leads to better performance for ProtocolLib.
If you ever came across a ProtocolLib plugin that modified packets, you'd notice packetevents wouldn't get these modifications. This would lead to player velocity modifying ProtocolLib plugins causing issues, especially for anti-cheats. These snapshot builds of ProtocolLib fix this too. ProtocolLib will always process outgoing packets before us.
Published by retrooper over 2 years ago
Published by retrooper over 2 years ago
Happy valentines day ❤️ Oh.. I'm quite late.
I now release PacketEvents v1.8.0. I've been releasing pre-releases for a while. Our last "stable" release was 1.7.9 which was released in November 2020...
If you are a beta-tester of 2.0 PacketEvents, you can ignore this update.
If you were on a pre-release of v1.8.0 packetevents, please update to this.
We now report to bStats how many users run this PacketEvents version. 2.0 releasing is hopefully around the corner, we currently have just under 100 beta testers. Please join my discord if you have interest in learning more about 2.0.
Published by retrooper almost 3 years ago
Please remember this is only a summary of the changes. This update doesn't have many enhancements and focuses on adding 1.18 support and fixing some bugs. I also took time to try add a few optimizations. A pre-release for 2.0 is planned to release soon, it technically is already usable, but might not be as stable on older server versions. Big thanks to the contributors involved in this update, I have to admit that this update definitely wouldn't have been possible without them. Thanks to the donators. As always, thanks to everyone for using packetevents.
And lastly, Merry Christmas! 🎄 🎅
Published by retrooper about 3 years ago
As many of you probably know, I have been working on packetevents 2.0 for about a month now.
This is likely the last 1.8 pre-release I'm making before I'll push the first 2.0 pre-release.
Will a stable 1.8 packetevents version ever officially release?
Probably not, there is really no point. The first 2.0 pre-release is planned to release soon, there is no point in quickly putting out 1.8.
Well, then... why are you making this pre-release?
I am just making this pre-release, because I have fixed a few critical bugs.
This is just for the users that want a quick fix to some issues they were encountering as they wait for 2.0 to come out.
Will you still provide support for packetevents 1.8 once 2.0 comes out?
No. As soon as a pre-release for 2.0 comes out, I will not provide support for packetevents 1.8.
But, I will help anyone that needs help migrating from an older version of packetevents to 2.0.
If you are shading PacketEvents, you need to soft-depend ProtocolLib, ViaVersion, ProtocolSupport and Geyser-Spigot in your plugin.
Example plugin.yml
name: myplugin
version: 1.0.0
main: me.opdeveloper.myplugin.MainClass
author: myname
softdepend:
- ProtocolLib
- ProtocolSupport
- ViaVersion
- Geyser-Spigot
Example will be posted shortly
Published by retrooper over 3 years ago
Please remember this is only a summary of the changes, I won't list every single change to keep this readable.
I know I may have not added all wrappers/features that might have been suggested. They will be ready when they are ready. We focus on quality and not quantity when it comes to wrappers. Giving deadlines usually results in rushed and bad products. The same applies when it comes to our 1.8 stable release, it will be ready when its ready. Speed up the process by updating to the pre-releases and reporting bugs! 🙂
If you are shading PacketEvents, you need to soft-depend ProtocolLib, ViaVersion, ProtocolSupport and Geyser-Spigot in your plugin.
Example plugin.yml
name: myplugin
version: 1.0.0
main: me.opdeveloper.myplugin.MainClass
author: myname
softdepend:
- ProtocolLib
- ProtocolSupport
- ViaVersion
- Geyser-Spigot
Published by retrooper over 3 years ago
Please remember this is only a summary of the changes, I won't list every single change to keep this readable.
I know I may have not added all wrappers/features that might have been suggested. They will be ready when they are ready. We focus on quality and not quantity when it comes to wrappers. Giving deadlines usually results in rushed and bad products. The same applies when it comes to PacketEvents' 1.8 stable release, it will be ready when its ready. Speed up the process by updating to the pre-releases and reporting bugs! 🙂
If you are shading PacketEvents, you need to soft-depend ProtocolLib, ViaVersion, ProtocolSupport and Geyser-Spigot in your plugin.
Example plugin.yml
name: myplugin
version: 1.0.0
main: me.opdeveloper.myplugin.MainClass
author: myname
softdepend:
- ProtocolLib
- ProtocolSupport
- ViaVersion
- Geyser-Spigot
PacketEventPriority deprecated, please use PacketListenerPriority now.
PlayerUtils#getNMSPing(Player) deprecated.
PlayerUtils#getSmoothedPing(Player) deprecated;
PlayerUtils#getSmoothedPing(UUID) deprecated;
PlayerUtils#getPing(UUID) deprecated;
Use PlayerUtils#getPing(Player) for ping.
WrappedPacketOutEntityVelocity#getVelocity and setVelocity created, the other velocity accessors deprecated. (getVelocityX, ...)
WrappedPacketOutExplosion#getPosition and setPosition created, the other position accessors are deprecated. (getX, getY, ...)
WrappedPacketInFlying#getPosition and setPosition created, the other position accessors are deprecated. (getX, getY, ...)
WrappedPacketInFlying#hasPositionChanged created, isPosition deprecated.
WrappedPacketInFlying#hasRotationChanged created, isLook deprecated.
WrappedPacketOutExplosion#getPlayerVelocity and setPlayerVelocity created, the getPlayerMotionX/Y/Z methods are deprecated.
WrappedPacketInVehicleMove#getPosition and setPosition created, the other position accessors are deprecated. (getX, getY, ...)
ServerVersion#v_1_17 created.
ClientVersion#v_1_17 created.
PlayerUtils#isGeyserPlayer(Player) created.
PlayerUtils#isGeyserPlayer(UUID) created.
PlayerUtils#changeSkinProperty created.
ServerUtils#isGeyserAvailable created.
You are now able to schedule a task right after the server sends a specific packet.
PacketPlaySendEvent#setPostTask created;
PacketLoginSendEvent#setPostTask created;
PacketStatusSendEvent#setPostTask created;
WrappedPacketOutMapChunk created, but incomplete.
WrappedPacketOutSpawnEntity created, but incomplete.
WrappedPacketOutSetCooldown created.
WrappedPacketOutTitle created.
WrappedPacketOutSpawnEntityLiving created.
WrappedPacketOutWindowItems created.
WrappedPacketOutBlockAction created by @Tecnio .
WrappedPacketInBEdit created by @Tecnio .
WrappedPacketInJigsawGenerate created by @Tecnio .
WrappedPacketLoginOutDisconnect completed by @Tecnio .
WrappedPacketLoginOutSuccess completed by @Tecnio .
Published by retrooper over 3 years ago
Please remember this is only a summary of the changes, I won't list every single change to keep this readable.
I know I may have not added all wrappers/features that might have been suggested. They will be ready when they are ready. We focus on quality and not quantity when it comes to wrappers. Giving deadlines usually results in rushed and bad products. The same applies when it comes to PacketEvents' 1.8 stable release, it will be ready when its ready. Speed up the process by updating to the pre-releases! 🙂
Published by retrooper over 3 years ago
Please remember this is only a summary of the changes, I won't list every single change to keep this readable.
Make sure you set load in your plugin.yml to POSTWORLD!
Setting load to STARTUP will cause users with late-bind enabled to run into issues.
...
load: POSTWORLD
...