- 7,099
- 324
- 1,510
Хочу добавить дополнительную логику обработки пакета из другого мода.
Чтобы моя логика вызывалась после оригинального обработчика пакета.
Попробовал вот так:
Но это не пашет. Мой хандлер вроде ваще не улавливает пакеты. Как это сделать правильно?
Чтобы моя логика вызывалась после оригинального обработчика пакета.
Попробовал вот так:
Scala:
@SubscribeEvent
def blacklistResearchCategory1(e: FMLNetworkEvent.ServerConnectionFromClientEvent): Unit = { //Добавляем свой хандлер пакетов на сервере
e.getManager.channel.pipeline
.addLast(Main.modid + ":hook_packet_handler", new PacketHook) //Это пашет
}
class PacketHook extends ChannelInboundHandlerAdapter {
override def channelRead(ctx: ChannelHandlerContext, msg: Any): Unit = {
super.channelRead(ctx, msg)
println("channelRead", msg) //тут ничего не выводится в консоль
msg match {
case packet: PacketStartTheoryToServer => //Если что, пакет из таума
//типо для пакета из другого мода делаю че-то свое
case _ =>
}
}
}