Packetevents Versions Save

PacketEvents is a fast and efficient multi-platform packet processing library for Minecraft. Our packet wrappers are easy to use with multi-version support.

v1.8.1

2 years ago

CHANGELOG

  • Fixed update checker. All builds of packetevents older than v1.8.1 will now have a broken update checker. (if it were enabled) Us now following semantic versioning breaks this. Good side is our current new update-checker will work for the future releases (including 2.0)

EXAMPLE USAGE

Example for packetevents 1.8.1

v1.8.0

2 years ago

1.8.0 IS OUT

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.

CHANGELOG

  • Now support 1.18.2
  • PacketEvents now uses Geyser 2.0 API. This means very old versions of Geyser won't work.
  • No longer injecting NPCs(fake connections).
  • WrappedPacketOutEntity(and its subclasses) and WrappedPacketOutEntityHeadRotation constructor accepting rotations now works with normal yaw and pitch as a float. This should hopefully fix bugs with our NPC API rotations breaking.

EXAMPLE USAGE

Example for packetevents-1.8.0

v1.8-pre-19

2 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! 🎄 🎅

CHANGELOG

BUG FIXES

NEW FEATURES

EXAMPLE USAGE

Example for packetevents-1.8-pre-19

v1.8-pre-18

2 years ago

Changelog summary

About the upcoming 2.0 release

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.

Shading packetevents

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

API CHANGES

  • WrappedPacketInCustomPayload#getTag -> WrappedPacketInCustomPayload#getChannelName;
  • WrappedPacketOutCustomPayload#getTag -> WrappedPacketOutCustomPayload#getChannelName;
  • WrappedPacketLoginOutCustomPayload#getTag -> WrappedPacketLoginOutCustomPayload#getChannelName; The channel names in the wrappers above now also contains the namespace on newer server versions, it can be "minecraft:brand" on newer server versions instead of just "brand". Older versions such as 1.8 always had the namespace. I just made the names consistent. This is a sort of breaking change, that is why I didn't end up deprecating getTag, i want you guys to be aware of the breaking change.

BUG FIXES

  • FIxed flying packet on 1.17 and added support for GROUND packet, thanks @MWHunter
  • Fixed WrappedPacketOutEntityDestroy for 1.17.1
  • Fix ServerVersion comparison, thanks @MWHunter
  • Fixed sending WrappedPacketOutPosition for 1.9 -> 1.16.5
  • ViaVersion API usage for newer ViaVersion releases fixed (they deprecated their old API)
  • Removed invalid/redundant enum constants in ServerVersion
  • ServerUtils#getEntityById bug fixes
  • Fixed a bug with cancelling events.

NEW FEATURES

  • Added/Tested 1.17.1 support
  • WrappedPacketOutCollect created, thanks @Tecnio
  • WrappedPacketInUseItem created, thanks @MWHunter
  • WrappedPacketOutSpawnEntity created
  • WrappedPacketLoginOutCustomPayload is now sendable
  • Copied Bukkit's BoundingBox util, please use ours, because Bukkit's util doesn't exist on older server versions
  • ServerUtils#getEntityBoundingBox created
  • NPC#teleport created
  • PlayerUtils#writePacket and PlayerUtils#flushPackets created

EXAMPLE USAGE

Example will be posted shortly

v1.8-pre-17

2 years ago

CHANGELOG

Please remember this is only a summary of the changes, I won't list every single change to keep this readable.

IMPORTANT NOTES

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

DEPRECATIONS

  • WrappedPacketInFlying#hasPositionChanged deprecated, use isMoving.
  • WrappedPacketInFlying#hasRotationChanged deprecated, use isRotating.
  • WrappedPacketOutMapChunk#getPrimaryBitMap deprecated, use getPrimaryBitMask. The previous name was a mistake.

BUG FIXES

  • WrappedPacketInBlockPlace bug fix.
  • WrappedPacket#readGameMode, WrappedPacket#writeGameMode fixed.
  • Duplicate-handler exceptions on server reload fixed.

NEW FEATURES

  • 1.17 support (1.17.1 has not been tested)
  • ServerVersion#v_1_17_1 created.
  • ClientVersion#v_1_17_1 created.
  • PacketType IDs created for all packets that have been added in 1.17.
  • WrappedPacketInPong created.
  • WrappedPacketOutPing created.
  • WrappedPacketOutMapChunk#getPrimaryBitMaskBitSet created for 1.17, use getPrimaryBitMask for older versions.

EXAMPLE USAGE

Example for packetevents-1.8-pre-17

v1.8-pre-16

2 years ago

CHANGELOG

Please remember this is only a summary of the changes, I won't list every single change to keep this readable.

IMPORTANT NOTES

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

DEPRECATIONS

  • 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, ...)

BUG FIXES

  • Early injector now supports late-bind and won't revert to the compatibility injector.
  • Paper injector added for support for newer versions of paper. (Thank you ViaVersion)
  • WrappedPacketOutBlockBreakAnimation#getBlockPosition always {0, 0, 0} fixed.
  • WrappedPacketOutGameStateChange bug fix.
  • Geyser incompatibilities fixed by @Camotoy .

NEW FEATURES

  • 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 .

CHANGES

  • Proper license notice in source-files now.

EXAMPLE USAGE

Example for packetevents 1.8-pre-16

v1.8-pre-15

3 years ago

CHANGELOG

Please remember this is only a summary of the changes, I won't list every single change to keep this readable.

IMPORTANT NOTES

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:

BUG FIXES

  • Early injector now support late-bind on older server versions, it should no longer revert to the compatibility injector for that reason.

NEW FEATURES

  • WrappedPacketOutMount created
  • WrappedPacketOutEntityEquipment created
  • Missing ServerVersion enum constants added
  • Added bStats support (toggleable in the PacketEventsSettings)

EXAMPLE USAGE

Example for packetevents-1.8-pre-15

v1.8-pre-14

3 years ago

CHANGELOG

Please remember this is only a summary of the changes, I won't list every single change to keep this readable.

IMPORTANT NOTES

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
...

BUG FIXES

  • WrappedPacketOutGameStateChange bug fix on 1.16 servers.
  • WrappedPacketOutUpdateAttributes bug fix on newer server versions.
  • WrappedPacketOutEntityMetadata recoded, fixed bugs (incomplete, but usable).
  • Many other minor bug fixes.

NEW FEATURES

  • WrappedPacketOutLogin created (incomplete, but usable)

OPTIMIZATIONS

  • Redundant maven dependencies removed, allowing faster building.
  • Lots of internal code cleanup.

CHANGES

  • PacketEvents project is now using Gradle.
  • PacketEvents is licensed under the GPLv3 license.

EXAMPLE USAGE

Example for packetevents-1.8-pre-14

v1.8-pre-13

3 years ago

CHANGELOG

Please remember this is only a summary of the changes, I won't list every single change to keep this readable.

IMPORTANT NOTES

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
...

BUG FIXES

  • NPC despawning.

NEW FEATURES

  • WrappedPacketOutEntityEffect created.
  • WrappedPacketOutRemoveEntityEffect created.
  • WrappedPacketInArmAnimation created.

OPTIMIZATIONS

  • Packet Type system optimized.

CHANGES

  • All wrapper getters/setters that used to throw UnsupportedOperationExceptions when they were accessed on server versions they weren't supported on now return an Optional. It should be much clearer for developers using the PacketEvents API when a field is NOT supported on all server versions.

EXAMPLE USAGE

None available

v1.8-pre-12

3 years ago

CHANGELOG

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.

IMPORTANT NOTES

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
...

BUG FIXES

  • Late/Compatibility injector fixed. (broken since pre-10 update)
  • Finally added late-bind support, but it still might break if some other packet-based plugins are present.

CHANGES

  • WrappedPacketOutPlayerInfo now accepts arrays, we don't support lists anymore.
  • PacketEventsSettings#backupServerVersion deprecated, use PacketEventsSettings#fallbackServerVersion

OPTIMIZATIONS

  • Internal injector cleanup.

EXAMPLE USAGE

Example for packetevents-1.8-pre-12