PacketEvents is a fast and efficient multi-platform packet processing library for Minecraft. Our packet wrappers are easy to use with multi-version support.
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.
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! 🎄 🎅
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
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! :slightly_smiling_face:
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
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! :slightly_smiling_face:
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 .
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! :slightly_smiling_face:
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
...
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
...
None available
Please remember this is only a summary of the changes, I won't list every single change to keep this readable. I only specify the most important changes.
Make sure you set load in your plugin.yml to POSTWORLD!!! Or just don't specify anything as its default value is POSTWORLD. Not doing this will break late-bind support.
...
load: POSTWORLD
...