Сетевые пакеты

Версия Minecraft
1.7.10
API
Forge
Можно ли отправить пакет игроку, чтобы часть кода, которая связана с модом, выполнялась на его клиенте?
 
Последнее редактирование модератором:
Лол, пакеты и нужны для этого.
Пхах, ну в плане, если я ему отправлю пакет переопределением с некоторых свойств классов, которые модом предусмотрены, или в коде буду вызовы определенных методов, то у него все в точности выполнится?
 
7,099
324
1,510
Конечно возможно. Пример:
Java:
//Где-то на клиенте, например, в обработкиче нажатия клавиш
new PacketA(111).sendToServer();

//Пакет, отправляемый с клиента на сервер
@ElegantPacket
@Value //из lombok
public class PacketA implements ClientToServerPacket{
    public int someData;
   
    public void onReceive(EntityPlayerMP sender){
        //При получении PacketA на сервере - отправляем PacketB в радиусе 100 блоков от отправителя
        new PacketB(someData).sendPacketToAllAround(sender.world, sender.posX, sender.posY, sender.posZ, 100);
    }
}

//Пакет, отправляемый с сервера на клиент
@ElegantPacket
@Value //из lombok
public class PacketB implements ServerToClientPacket{
    public int someData;
   
    public void onReceive(Minecraft mc){
        //Обработка PacketB
    }
}
Тутор:
 
без либы делаю, на форджевской системе, я делаю примерно так же, но пакет просто не приходит нужному игроку, хотя как раз в обработчике пакета, который идет на сервер, и есть отправка нужному игроку. Может я с регистрацией пакета не правильно сделал, просто если регистрировать пакет для серверной стороны, то пакет не выполняется на клиенте, а если его регать для клиента, то серверная сторона просто его не видит и выдает ошибку, вот такая тема (раз упомянулась твоя либа, то лучше ее использовать, да?)
 
Последнее редактирование модератором:
7,099
324
1,510
Хз, не вижу твой код. Но лучше используй EN, он решает за тебя кучу проблем
 
Сверху