Запросы типа "Сервер=> Клиент"

Версия Minecraft
1.8.8
Дарова, мужики, нужна ваша помощь. Тапками не кидайтесь, я еще новичок в этом деле. Я делаю связку "сервер spigot & клиент forge", и, поскольку возможностей майна в плане отображения информации мне недостаточно, я решил сделать мод, который при получении запроса от сервера (скажем, "show foobar") выводит по центру экрана foobar. Я сделал плагин и мод на основе этой темы, сделал функцию вывода текста на экран (прикладывать ее не буду так как проблема не в ней), но как заставить мод следить за пакетами от сервера (и, собственно, как отправлять эти запросы со стороны сервера), я не разобрался.

Если похожий/такой же вопрос уже был на этом форуме, укажите мне на него.
Заранее спасибо.
 
Решение
но как отловить этот пакет модом?
Не поверишь, об этом в той теме так же рассказывали!
В классе PacketHandlerClient там есть метод handleC0PacketName. В нем используется вывод информации в лог. Посмотри где он используется и ты увидишь где он отлавливается.
Ну, вроде в теме есть такое:
Код:
    //Метод, отправляеющий пакет игроку
   public void sendPacketToPlayer(Player player, BasePacket packet)
    {
        try {
            //Переводим указанный пакет в байты
            PacketManager packetManager = new PacketManager();
            byte[] bytes = packetManager.getBytesFromPacket(packet);

            //Отправляем
            player.sendPluginMessage(plugin, "yourchannelfrommod", bytes);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
Если похожий/такой же вопрос уже был на этом форуме, укажите мне на него.
Что бы получить ответ на такой вопрос - можно использовать "Поиск". Говорят, помогает.
 
Ну, вроде в теме есть такое:
Код:
   public void sendPacketToPlayer(Player player, BasePacket packet)
    {
        try { ... }
    }
это, конечно хорошо, но как отловить этот пакет модом?

Что бы получить ответ на такой вопрос - можно использовать "Поиск". Говорят, помогает.
пробовал. не помогает.
 
но как отловить этот пакет модом?
Не поверишь, об этом в той теме так же рассказывали!
В классе PacketHandlerClient там есть метод handleC0PacketName. В нем используется вывод информации в лог. Посмотри где он используется и ты увидишь где он отлавливается.
 
Не поверишь, об этом в той теме так же рассказывали!
В классе PacketHandlerClient там есть метод handleC0PacketName. В нем используется вывод информации в лог. Посмотри где он используется и ты увидишь где он отлавливается.
спасибо, не по шарам. Тема закрыта.
 
вроде все сделал, но при отправке пакета все рушится в NPE. в статье/обсуждении нет инфы о том, как это фиксить. Может кто знает?
[22:36:14 INFO]: [<package>] Sending 123
[22:36:14 WARN]: java.lang.NullPointerException
[22:36:14 WARN]: at <package>.PacketManager.getDiscriminator(PacketManager.java:48)
[22:36:14 WARN]: at <package>.PacketManager.getBytesFromPacket(PacketManager.java:74)
[22:36:14 WARN]: at <package>.PacketHandlerPlugin.sendPacketToPlayer(PacketHandlerPlugin.java:43) [22:36:14 WARN]: at <package>.Main.onCommand(Main.java:52)
[22:36:14 WARN]: at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44)
[22:36:14 WARN]: at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:141)
[22:36:14 WARN]: at org.bukkit.craftbukkit.v1_8_R3.CraftServer.dispatchCommand(CraftServer.java:641)
[22:36:14 WARN]: at net.minecraft.server.v1_8_R3.PlayerConnection.handleCommand(PlayerConnection.java:1162)
[22:36:14 WARN]: at net.minecraft.server.v1_8_R3.PlayerConnection.a(PlayerConnection.java:997)
[22:36:14 WARN]: at net.minecraft.server.v1_8_R3.PacketPlayInChat.a(PacketPlayInChat.java:45)
[22:36:14 WARN]: at net.minecraft.server.v1_8_R3.PacketPlayInChat.a(PacketPlayInChat.java:1)
[22:36:14 WARN]: at net.minecraft.server.v1_8_R3.PlayerConnectionUtils$1.run(SourceFile:13)
[22:36:14 WARN]: at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
[22:36:14 WARN]: at java.base/java.util.concurrent.FutureTask.run(Unknown Source)
[22:36:14 WARN]: at net.minecraft.server.v1_8_R3.SystemUtils.a(SourceFile:44)
[22:36:14 WARN]: at net.minecraft.server.v1_8_R3.MinecraftServer.B(MinecraftServer.java:715)
[22:36:14 WARN]: at net.minecraft.server.v1_8_R3.DedicatedServer.B(DedicatedServer.java:374)
[22:36:14 WARN]: at net.minecraft.server.v1_8_R3.MinecraftServer.A(MinecraftServer.java:654)
[22:36:14 WARN]: at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:557)
[22:36:14 WARN]: at java.base/java.lang.Thread.run(Unknown Source)
 
Назад
Сверху