PacketListenerNMSK

  • Welcome to skUnity!

    Welcome to skUnity! This is a forum where members of the Skript community can communicate and interact. Skript Resource Creators can post their Resources for all to see and use.

    If you haven't done so already, feel free to join our official Discord server to expand your level of interaction with the comminuty!

    Now, what are you waiting for? Join the community now!

TPGamesNL

Staff member
Moderator
Supporter
Addon Developer
Dev Programme
Jan 20, 2018
1,501
108
63
21
With this script you can listen to, modify and cancel NMS (net.minecraft.server) packets being sent / received.

Required addons:
Packet event:
Code:
packet [<(.+)>]
Within this event the event-values player and string are usable: player is the player that sent / received the packet, string is the simple name of the packet class.
The regex represents the simple name of the packet class, this class doesn't need to be imported. You can also not include this part, and the trigger will be called for every packet.

Packet:
Code:
[event-]packet

Code:
on packet PacketPlayInChat:
    send "&a%player% said %packet.a%" to console
    cancel event

Code:
on packet PacketPlayInChat:
    set packet.a to "Hello there!"

Be aware that NMS packets aren't nice to deal with, as they're undocumented, obfuscated and inconsistent between Minecraft server versions. To know what fields you need, you'll have to look at the source code of your server. A resource that can help you a little is the Protocol page of wiki.vg, where the Minecraft protocol is documented. This page documents the packets and their usage, and documents the protocol fields. These protocol fields are different from the fields from nms packets, but they are often similar, so they can help you get started.