Ест ли игрок?

Версия Minecraft
1.10.2

timaxa007

Модератор
5,831
409
672
Код:
    /**
     * Returns true if the flag is active for the entity. Known flags: 0) is burning; 1) is sneaking; 2) is riding
     * something; 3) is sprinting; 4) is eating
     */
    protected boolean getFlag(int flag)
    {
        return (((Byte)this.dataManager.get(FLAGS)).byteValue() & 1 << flag) != 0;
    }
getFlag(4);
 
167
3
23
У каждого ентити есть DataWatcher, где хранятся некоторые его индексированные параметры(напр, кол-во воздуха(индекс. 1), невидимый ли он, присел ли он, бегает ли(значения последних трех хранятся в байте под индексом 0 (setFlag(номер бита в байте, булево значение))). ДатаВатчером удобно пользоваться, так как он сам посылает изменения этих параметров клиенту когда это необходимо.
Значение параметра "хавает ли игрок че нить" хранится в параметре(типа байт) под индексом 0 в 4 бите. (то есть его значение можно узнать так: player.getFlag(4))
 
Сверху