#PacketEvents packet data interception and modify

1 messages · Page 1 of 1 (latest)

trail onyx
#

Can you give an example? This class, which is loosely based on their examples, does not work, the players still get normal chat messages (at first I'd assume that a message wouldn't appear because of signatures and etc, but it doesn't work for system messages either)```java
public class PacketEventsPacketListener extends PacketListenerAbstract {
public PacketEventsPacketListener() {
super(PacketListenerPriority.HIGHEST);
}

@Override
public void onPacketSend(PacketSendEvent event) {
    User user = event.getUser();
    switch (event.getPacketType()) {
        case PacketType.Play.Server.CHAT_MESSAGE -> {
            WrapperPlayServerChatMessage packet = new WrapperPlayServerChatMessage(event);
            ((ChatMessage_v1_19_3 )packet.getMessage()).setPlainContent("intercepted chat message!");
            Bukkit.getLogger().info(user.getName() + " received message: " + packet.getMessage().getChatContent().toString());
        }
        case PacketType.Play.Server.DISGUISED_CHAT -> {
            WrapperPlayServerDisguisedChat packet = new WrapperPlayServerDisguisedChat(event);
            packet.setMessage(Component.text("intercepted disguised chat!"));
            Bukkit.getLogger().info(user.getName() + " received disguised message: " + packet.getMessage().toString());
        }
        case PacketType.Play.Server.SYSTEM_CHAT_MESSAGE -> {
            WrapperPlayServerSystemChatMessage packet = new WrapperPlayServerSystemChatMessage(event);
            packet.setMessage(Component.text("intercepted system chat message!"));
            Bukkit.getLogger().info(user.getName() + " received system message: " + packet.getMessage().toString());
        }
        default -> {}
    }
}

}```

shut seal
#

Well you don't cancel it

#

Right?

#

event.setCancelled(true);

#

And it won't be sent

#

Ah

#

Wait

#

I see

#

event.reEncode

#

Or something like that

shut seal
#

@trail onyx

shut seal
trail onyx
#

I'll try in a few minutes