Releases: retrooper/packetevents
v1.3.5
1.3.5 RELEASE
This is the most stable version of PacketEvents I have ever released.
I recommend all of you update to this version!
Changelog:
-
TinyProtocol removed
-
API Size way smaller
-
PlayerUninjectEvent is now called
-
Version lookup methods re-added, but version lookup is only possible with ProtocolSupport or ViaVersion plugin avaialable on the server.
If you try looking up version and none of the listed plugins could be found, you will result with ClientVersion.ACCESS_FAILURE -
WrappedPacketOutAbilities sendable wrapper added
-
PostPlayerInjectEvent has been deprecated, please use PlayerInjectEvent
-
PlayerUninjectEvent now cancellable
-
PlayerInjectEvent or PlayerUninjectEvent cancelling, will cancel the action.
-
pom.xml version updated to 1.3.5
-
Packet class has been deprecated, please use PacketType instead!
-
Packet.isInstanceOfFlyingPacket(nmsPacket) -> PacketType.Util.isInstanceOfFlyingPacket(nmsPacket), and more instanceof functions are added in the PacketType.Util class too!
-
PacketReceiveEvent#getPacket() is deprecated, please use PacketReceiveEvent#getNMSPacket()
-
PacketSendEvent#getPacket() is deprecated, please use PacketSendEvent#getNMSPacket()
-
PacketEvents.setShouldKickOnRestart(boolean) removed
v1.3.4.1
UNSTABLE AND UNTESTED!!!
Changelog:
-
Clientbound Abilities wrapper added and is sendable to clients
-
Clientbound Health update wrapper added and is also sendable to clients
Info:
TinyProtocol helped us listen to some login and handshake packets!
But it also came with a lot of bugs and problems to deal with, even today there are still some bugs and many people using this API have complained about it.
I will now stop using TinyProtocol.
WHAT WILL THIS MEAN?
There will be lots of pro's and con's.
Pros:
- No more issues with reloading
- Smaller file size
Cons:
-
Version lookup will now only be possible with dependencies like ViaVersion.
-
Soft depend on via version as mentioned above. Soft depend meaning that if you want to lookup versions, ViaVersion api is required to be provided.
-
All login wrappers and the login event will be removed!
It is very important that PacketEvents is stable and people shouldn't be constantly running into issues!
I am releasing this version with TinyProtocol for the users that will miss and still want TinyProtocol.
v1.3.3.1
Version 1.3.3.1
Changelog
- Lots of code optimizations
- Feature to kick all online players on reload or restart
- PacketEvent.currentCalculatedMS() has been deprecated and you should now use
PacketEvents.highlyPreciseMillis() - EventManager hasRegistered method renamed to isRegistered.
Usage: PacketEvents.getEventManager().isRegistered()
v1.3.3
Release 1.3.3
Changelog:
• LoginInEncryptionBegin & LoginOutEncryptionBegin wrapper added,
• LoginStart & LoginStatusPing wrapper added,
• Bug fixed with PostPlayerInjectEvent not being called
• Custom GameProfile class coded,
• Main example class readded
• EventManager small optimization
• Imports optimized
v1.3.2
Changelog:
-
PacketHandler annotation package moved
-
Code cleanup
-
Custom NotNull and Nullable annotations added
-
Example packages removed, please see https://github.com/retrooper/packetevents-example
v1.3.1.3
Changelog:
-
All wrapper classes can no longer be extended now.(you never should've anyway)
-
WrappedPacketOutKickDisconnect (sendable and readable)
Can be used to kick users -
PacketEvents can now be shaded into your projects, and is no longer recognized as a plugin
-
ClientVersion added isHigherThan(ClientVersion version) and isLowerThan(ClientVersion version) methods for simple client version comparison.
-
Packet.isInstanceOf(fatherPacketName, childPacketName) has now been deprecated, will be removed in the next version!
-
Packet.isInstanceOfFlyingPacket(nmsPacketObject) method added (might soon be renamed to isFlyingPacket)
It has been replaced by Packet.isInstanceOfFlyingPacket(nmsPacketObject), as the flying packet is the only packet that has subclasses.
The flying packet is also used a lot, so I made an efficient way to check if the nms packet object is an instanceof of it!
If you are on a 1.9+ server, it will just check if the packet is an instance of "PacketPlayInPosition" or "PacketPlayInPositionLook" or "PacketPlayInLook".
v1.3.1
1.3.1 Release
- Example repo created for maven https://github.com/retrooper/packetevents-example
- plugin.yml removed to avoid bugs of bukkit recognizing my api when shaded as a plugin
- Documentation and Setup guide created on the wiki:
https://github.com/retrooper/packetevents/wiki
v1.2.9.2 Is out now!
Version 1.2.9.2
Info:
I cannot guarantee this release is fully stable, but as far as I have tested, everything seems stable,
I have tested on 1.8.8 spigot and 1.15.2 spigot!
Changelog:
-
Client version checking with PacketEvents.getClientVersion(player), so NOT call this before the bukkit PlayerJoinEvent is called!
-
Player Dig wrapper bug fix for 1.15.2 spigot
-
Optimized all imports(removed unused import statements)
-
Readme updated!
v1.2.7 Release
Optimizations & bug fixes
-
getHand() function in WrappedPacketInUseEntity NULL!!, so for now I just removed the getHand() method.
-
WrappedPacketInEntityAction added as a couple of you suggested
-
Optimization to getting entities by their id(used in use entity and entity action packet)
-
After optimizing the way I access entities by their ID, file size has reduced by about 10%
v1.2.6 Release
More utilities added and pretty stable.
Optimization in the event system.
Now two times faster!
- KeepAlive packet wrapper added
- getting player ping added (PacketEvents.getPing(player);
And more bug fixes!