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 over 4 years ago
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:
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.
Published by retrooper over 4 years ago
Published by retrooper over 4 years ago
• 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
Published by retrooper over 4 years ago
PacketHandler annotation package moved
Code cleanup
Custom NotNull and Nullable annotations added
Example packages removed, please see https://github.com/retrooper/packetevents-example
Published by retrooper over 4 years ago
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".
Published by retrooper over 4 years ago
1.3.1 Release
Published by retrooper over 4 years ago
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!
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!
Published by retrooper over 4 years ago
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%
Published by retrooper over 4 years ago
More utilities added and pretty stable.
Optimization in the event system.
Now two times faster!
Published by retrooper over 4 years ago
Version 1.2.5 is stable!
Lots and lots of new features and massive optimizations!
File size reduced by almost 50%!
Changelog:
• ServerTickEvent now contains a tick count and an optional time argument.
• Util to get Server TPS added(supporting 1.7.10-1.15.2)
• PlayerInjectEvent added
• PlayerUninjectEvent added
• Ability to download source code and include in your project added
• Wiki api examples and wiki setup guide added
• Multiple packages moved, better package organization
• Useless comments removed
• Massive code cleanup, now using reflection and not writing each wrapper one time for each version.
• More fields added in PacketWrapper classes!
• Many bugs fixed like Player failing to inject
• Wrapper classes naming pattern changed from WrappedPacketPlayIn... to WrappedPacketIn...
Same will apply for future Out packets!
Published by retrooper over 4 years ago
1.2 is now officially released!
• The API has changed quite a bit, so please check out the new Wiki docs!
• Wiki added for 1.2 release: https://github.com/purplexdev/packetevents/wiki
• Wiki contains a setup guide and API examples
• Bugs fixes
• 80 github commits reached(goal is 100)
• Asynchronous player injection (improved)
Published by retrooper over 4 years ago
Few bugs fixed,
Optimizations(example: injecting player asynchronously)
Published by retrooper over 4 years ago
What changed?
• Player Injecting errors fixed and optimized
• Class packages changed so its more understandable(you will need to reimport some classes)
• Custom events support, CustomMoveEvent(example event) created in me.purplex.packetevents.example package.
CustomMoveEvent is called in TestExample class located in the same package.
• PacketManager optimized
• Bugs fixed
Published by retrooper over 4 years ago
Sadly no new features, I was too busy fixing bugs!
There were too many bugs in versions 1.9 and above!
Make sure to keep your versions up to date!
• Massive code cleanup
• Minimalized reflection usage
• Optimized all reflection usages
• 1.9+ wrapper field bugs fixed.(some wrapper classes spat out errors in 1.9 and above)
Published by retrooper over 4 years ago
Whats new?
• Wrapper for: PacketPlayInFlying, PacketPlayInPosition, PacketPlayInPosition_Look
• Event system cleaned up, it is now possible to create and call your own events with my system.
PacketEvents.getPacketManager().callEvent(PacketEvent e); is how you call an event
Create your event by extending the PacketEvent class.
• Packages have been moved and the project is way more organized now!(imports changed)
• Bug fixes
• Optimizations
Join my coding help discord: https://discord.gg/X8W4d77
Published by retrooper over 4 years ago
TinyProtocol is no longer a dependency.
License has been changed to GPL3.
• 1.7.10 wrapper support
• Use_Entity packet wrapper optimized(1.7->1.15)
• Abilities wrapper added(1.7->1.15)
• Block_Dig wrapper added(1.7->1.15)
• No longer supported on craftbukkit servers
•Support on spigot and paperspigot servers.
It is recommended to use this on one of these spigot server versions, but ofcourse 1.7.10->1.15 spigot servers are supported.
These recommended versions are tested more frequently.
On the other hand, the other versions are rarely or maybe not even tested at all.(they still should work fine!)
•1.8.8 spigot/paperspigot
•1.7.10 spigot/paperspigot
•1.13.2 spigot
Published by retrooper over 4 years ago
All bugs have been fixed.
Previous versions weren't working, now everything has been improved.
Updates:
• Optimizations, now use NMS instead of Reflection
• TinyProtocol dependency removed.
• Stable support for 1.8->1.15 spigot servers, if any issues with spigot servers(paperspigot) in this range, report to me!
• More organization with wrappers ->WrappedPacketPlayInUseEntity wrapper added
• Not supporting craftbukkit servers anymore!
Next update?:
• 1.7.10 spigot server support!
• More Wrappers
• New license
Published by retrooper over 4 years ago
Imports fix attempt
Published by retrooper over 4 years ago
ServerVersion bugs fixed
Published by retrooper over 4 years ago
1.0.9 jitpack building issues fixed