Помогите ProtocolLib Пакеты, как их вообще использовать?

Статус
Закрыто для дальнейших ответов.

bristol

Активный участник
Пользователь
Баллы
46
Имя в Minecraft
bristol
Qq all!
Вопрос в названии, как использовать пакеты, как их использовать без ProtocolLib я понял, но не совсем понял как их использовать через ProtocolLib. Спасибо за помощь заранее!
 
Код:
    public void hack(Main plugin) {
        ProtocolManager manager = ProtocolLibrary.getProtocolManager();
        manager.addPacketListener(new PacketServerChat(plugin, new PacketType[] { PacketType.Play.Server.CHAT }));
    }


Код:
package Example.chatser;

import org.bukkit.plugin.Plugin;

import com.comphenix.packetwrapper.WrapperPlayServerChat;
import com.comphenix.protocol.PacketType;
import com.comphenix.protocol.events.PacketAdapter;
import com.comphenix.protocol.events.PacketEvent;
import com.comphenix.protocol.wrappers.EnumWrappers.ChatType;
import com.comphenix.protocol.wrappers.WrappedChatComponent;
import com.google.gson.Gson;

public class PacketServerChat extends PacketAdapter {
    private static Gson gson = new Gson();
    public PacketServerChat(Plugin plugin, PacketType[] type) {
        super(plugin, type);
    }

    public void onPacketSending(PacketEvent event) {
        WrapperPlayServerChat packet = new WrapperPlayServerChat(event.getPacket());
        WrappedChatComponent wchat = packet.getMessage();
        ChatType ctype = packet.getChatType();
        if (ctype == ChatType.SYSTEM) {
            if (wchat != null) {
                BaseComponent bs = gson.fromJson(wchat.getJson(), BaseComponent.class);
            }
        }
    }
}
 
Код:
                    PacketContainer chat = new PacketContainer(PacketType.Play.Server.CHAT);
                    chat.getChatTypes().write(0, ChatType.GAME_INFO);
                    chat.getChatComponents().write(0,
                            WrappedChatComponent.fromJson("{\"text\": \"§4§l❤§r " + (int) p.getHealth() + "/"
                                    + (int) p.getAttribute(Attribute.GENERIC_MAX_HEALTH).getBaseValue() + "\"}"));
                    ProtocolLibrary.getProtocolManager().sendServerPacket(p, chat);
 
Код:
                    PacketContainer chat = new PacketContainer(PacketType.Play.Server.CHAT);
                    chat.getChatTypes().write(0, ChatType.GAME_INFO);
                    chat.getChatComponents().write(0,
                            WrappedChatComponent.fromJson("{\"text\": \"§4§l❤§r " + (int) p.getHealth() + "/"
                                    + (int) p.getAttribute(Attribute.GENERIC_MAX_HEALTH).getBaseValue() + "\"}"));
                    ProtocolLibrary.getProtocolManager().sendServerPacket(p, chat);
Спасибо, вроде бы разобрался.
 
Статус
Закрыто для дальнейших ответов.
Назад
Верх