- Supported Minecraft Versions
- skript-reflect (2.1.0+)
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.
on packet PacketPlayInChat: send "&a%player% said %packet.a%" to console cancel event
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. There are 2 helpful resources that can help you find the meaning of packets and their fields:
- Mini's Mapping Viewer. This tool shows the non-obfuscated field names of nms classes, including packets. It does this by matching Mojang's official mappings to Spigot's mappings.
- 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.