Container#windowId - зачем оно нужно?

RareScrap

Каменная лига
Сообщения
295
Лучшие ответы
8
Симпатии
62
#1
Версия Minecraft
1.7.10
Подтверждение
Я максимально подробно описал проблему, включая исходный код файлов, краш лог, изображения и другую информацию, которая может помочь пользователям форума решить мой вопрос!
Собственно, вопрос в сабже. В моем понимании это нужно чтобы различать открытые контейнера, но ведь в один момент времени player может открыть лишь один контейнер! Пробовал поискать использование в коде, но не могу составить ясную картину зачем нужно это поле. Объясните плз
 

Dahaka

Золотая лига
Сообщения
2,269
Лучшие ответы
80
Симпатии
234
#2
Это нужно, чтобы отбрасывать пакеты, которые не принадлежат открытому контейнеру.
 

RareScrap

Каменная лига
Сообщения
295
Лучшие ответы
8
Симпатии
62
#3
Это нужно, чтобы отбрасывать пакеты, которые не принадлежат открытому контейнеру.
Почему бы тогда не делать instanceof проверку вместо проверки windowId? Все равно только один контейнер может быть открыт.
 

timaxa007

Команда форума
Сообщения
4,952
Лучшие ответы
276
Симпатии
362
#4
Открыт один для игрока, а существовать несколько может. id это int тип, его легче отправлять по пакету для синхронизации информации между контейнерами сервер<->клиент.
 

Dahaka

Золотая лига
Сообщения
2,269
Лучшие ответы
80
Симпатии
234
#5
Почему бы тогда не делать instanceof проверку вместо проверки windowId? Все равно только один контейнер может быть открыт.
Id идентифицирует конкретный объект контейнера. Например, закрыл гуи сундука и резко открыл новый. Но что-то пошло не так и пришел пакет от старого сундука. Его нужно отбросить.
А instanceof'ом не получится отбрасывать общие пакеты на подобии "установить предмет в слот". Да и вообще это костыль.
 

RareScrap

Каменная лига
Сообщения
295
Лучшие ответы
8
Симпатии
62
#6
Всем спасибо, все прояснилось
 
Сверху