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

RareScrap

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

Dahaka

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

RareScrap

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

timaxa007

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

Dahaka

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

RareScrap

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