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

RareScrap

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

Dahaka

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

RareScrap

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

timaxa007

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

Dahaka

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