Библиотека является частью мода с открытым исходным кодом A.P.O. Craft. Последняя версия библиотеки находится по этому адресу.
Разрешено неограниченное использование данной библиотеки в собственных модификациях
Используя данный продукт вы автоматически соглашаетесь с этими правилами
Чтобы подключить библиотеку, необходимо расположить файл библиотеки в папку lib в корне мода написать следующее в начале вашего кода:
IMPORT("SettingsManager");
После этого вам станет доступен весь функционал библиотеки.
Данная библиотека содержит статический класс EntityState, хранящий все необходимые методы и константы, а так же конструктор EntityStateInfo, предназначенный для хранения информации и упрощающий доступ к нему.
Константы EntityState:
EntityState.STANDING = 1; // Игрок неподвижен в горизонтальной плоскости
EntityState.STEALING = 2; // Игрок крадется или медленно перемещается
EntityState.WALKING = 4; // Игрок идет с нормальной скоростью
EntityState.RUNNING = 8; // Игрок бежит
EntityState.JUMPING = 16; // Игрок в прыжке
EntityState.FALLING = 32; // Игрок падает с большой высоты
EntityState.SWIMMING = 64; // Игрок плывет под водой
EntityState.FLOATING = 128;// Игрок плывет по поверхности воды
Данные константы являются флагами, и поэтому могут быть объеденины с помощью симвла "|".
Методы класса EntityState:
getEntityState(entty) - возвращает объект EntityStateInfo, содержащий информацию о текущем действии сущности entity
getPlayerState() - возвращает объект EntityStateInfo, содержащий информацию о текущем действии игрока
getSpeed(entity) - возвращает линейную горизонтальную составляющую скорости сущности (значение больше ноля)
Методы и поля объектов EntityStateInfo:
let state = EntityState.getPlayerState();
Game.message(state.checkFlags(EntityState.RUNNING)) // Выведет 0, если игрок не бежит,8 в противном случае
toString() - возвращает строковое представление всех флагов. Например, если игрок бежит "вприпрыжку", toString() вернет "RUNNING | JUMPING" (в основном используется для отладки).
Стоит заметить, что библиотека на данный момент не учитывает зелья или средства передвижения (второе невозможно технически), поэтому может выдавать неожиданные результаты.