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

RareScrap

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

RareScrap

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

Agravaine

Золотая лига
Сообщения
3,489
Лучшие ответы
94
Симпатии
253
#3
Какие проблемы с совместимостью? Добавь хук в конец метода и делай что хочешь, никаких проблем не будет.
ScreenShot_20181205175945.png
 

RareScrap

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

RareScrap

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

hohserg1

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