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

Версия Minecraft
1.7.10
1,159
38
544
Собственно, вопрос в сабже. В моем понимании это нужно чтобы различать открытые контейнера, но ведь в один момент времени player может открыть лишь один контейнер! Пробовал поискать использование в коде, но не могу составить ясную картину зачем нужно это поле. Объясните плз
 
Решение
Почему бы тогда не делать instanceof проверку вместо проверки windowId? Все равно только один контейнер может быть открыт.
Id идентифицирует конкретный объект контейнера. Например, закрыл гуи сундука и резко открыл новый. Но что-то пошло не так и пришел пакет от старого сундука. Его нужно отбросить.
А instanceof'ом не получится отбрасывать общие пакеты на подобии "установить предмет в слот". Да и вообще это костыль.
1,159
38
544
Это нужно, чтобы отбрасывать пакеты, которые не принадлежат открытому контейнеру.
Почему бы тогда не делать instanceof проверку вместо проверки windowId? Все равно только один контейнер может быть открыт.
 

timaxa007

Модератор
5,831
409
672
Открыт один для игрока, а существовать несколько может. id это int тип, его легче отправлять по пакету для синхронизации информации между контейнерами сервер<->клиент.
 
2,505
81
397
Почему бы тогда не делать instanceof проверку вместо проверки windowId? Все равно только один контейнер может быть открыт.
Id идентифицирует конкретный объект контейнера. Например, закрыл гуи сундука и резко открыл новый. Но что-то пошло не так и пришел пакет от старого сундука. Его нужно отбросить.
А instanceof'ом не получится отбрасывать общие пакеты на подобии "установить предмет в слот". Да и вообще это костыль.
 
Сверху