Packet Interception

packet_interception.js
registerFeature("Packet Interception", "Packet interception example", (feature) => {
    // You can access any public class like this
    const PlayerMoveC2SPacket = net.minecraft.network.packet.c2s.play.PlayerMoveC2SPacket;
    const PlayerMoveFullC2SPacket = net.minecraft.network.packet.c2s.play.PlayerMoveC2SPacket$Full;
    const CommonPongC2SPacket = net.minecraft.network.packet.c2s.common.CommonPongC2SPacket;

    feature.subscribe("packet", (event) => {
        if (event.packet instanceof CommonPongC2SPacket) {
            let parameter = event.packet.getParameter();

            logChat("CommonPongC2SPacket parameter = ", parameter);

            PacketUtil.send(new PlayerMoveFullC2SPacket(0.0, 0.0, 0.0, 0.0, 0.0, true, true));
            PacketUtil.sendNoEvent(new PlayerMoveFullC2SPacket(0.0, 0.0, 0.0, 0.0, 0.0, true, true));
        }

        if (event.packet instanceof PlayerMoveC2SPacket) {
            event.cancelled = true;
        }
    });
});

Last updated