Как хандлить ванильные пакеты?

RareScrap

Каменная лига
Сообщения
553
Лучшие ответы
16
Симпатии
119
#1
Версия Minecraft
1.7.10
Подтверждение
Я максимально подробно описал проблему, включая исходный код файлов, краш лог, изображения и другую информацию, которая может помочь пользователям форума решить мой вопрос!
Мне нужно хандлить S30PacketWindowItems. Использовать хуки я не хочу, дабы не иметь проблем с совместимостью. Из форума форжа узнал, что можно делать это через евент FMLNetworkEvent.ClientConnectedToServerEvent, но не представляю как. Кто-нибудь может мне объяснить как хандлить ванильные пакеты?
 

RareScrap

Каменная лига
Сообщения
553
Лучшие ответы
16
Симпатии
119
#2
Товарищи, бамп!
 

Agravaine

Алмазная лига
Сообщения
4,408
Лучшие ответы
182
Симпатии
577
#3
Какие проблемы с совместимостью? Добавь хук в конец метода и делай что хочешь, никаких проблем не будет.
ScreenShot_20181205175945.png
 

RareScrap

Каменная лига
Сообщения
553
Лучшие ответы
16
Симпатии
119
#5
ТВОЮ Ж МАТЬ, Я ПОНЯЛ! Я же могу просто оверрайдить putStacksInSlot в моем контейнере! @Agravaine спасибо!
 

RareScrap

Каменная лига
Сообщения
553
Лучшие ответы
16
Симпатии
119
#6
Мне нужно было сделать так, чтобы S30PacketWindowItems не помещял стаки в мой кастомный инвентарь на клиенте (чтобы пофиксить это). Я хотел хандлить пакет, чтобы достичь этого. А оказалось, можно проще.
 

hohserg

Алмазная лига
Сообщения
3,561
Лучшие ответы
90
Симпатии
396
#7
А что если другой мод тоже хукает это метод? Или вообще заменяет его своим?
Можно сколько угодно хуков вставлять в один метод. Но могут попасться совсем тупые моды, которые заранее собирают код для метода, а потом полностью его заменяют
 
Сверху