EntityState — различия между версиями

м (Использование)
 
(не показаны 2 промежуточные версии 1 участника)
Строка 16: Строка 16:
 
== Документация ==
 
== Документация ==
  
 +
<div class="mw-parser-output">
 
<div class="mw-parser-output">
 
<div class="mw-parser-output">
 
=== Подключение ===
 
=== Подключение ===
  
 
Чтобы подключить библиотеку, необходимо расположить файл библиотеки в папку lib в корне мода&nbsp;написать следующее в начале вашего кода:
 
Чтобы подключить библиотеку, необходимо расположить файл библиотеки в папку lib в корне мода&nbsp;написать следующее в начале вашего кода:
<pre>IMPORT("EntityState");
+
<syntaxhighlight lang="Javascript">IMPORT("EntityState");</syntaxhighlight>
</pre>
 
  
После этого вам станет доступен весь функционал библиотеки.
+
После этого вам станет доступен весь функционал библиотеки. </div>
 
</div>
 
</div>
  
 +
<div class="mw-parser-output">
 
=== Использование ===
 
=== Использование ===
  
Строка 44: Строка 45:
 
Методы класса&nbsp;''EntityState:''
 
Методы класса&nbsp;''EntityState:''
  
*
+
*getEntityState(entty) - возвращает объект&nbsp;''EntityStateInfo'', содержащий информацию о текущем действии сущности entity  
getEntityState(entty) - возвращает объект&nbsp;''EntityStateInfo'', содержащий информацию о текущем действии сущности entity
+
*getPlayerState() -&nbsp;возвращает объект&nbsp;''EntityStateInfo'', содержащий информацию о текущем действии игрока  
 
+
*getSpeed(entity) - возвращает линейную горизонтальную составляющую скорости сущности (значение больше нуля)  
*
 
getPlayerState() -&nbsp;возвращает объект&nbsp;''EntityStateInfo'', содержащий информацию о текущем действии игрока
 
 
 
*
 
getSpeed(entity) - возвращает линейную горизонтальную составляющую скорости сущности (значение больше ноля)
 
 
 
  
 
Методы и поля объектов&nbsp;''EntityStateInfo:''
 
Методы и поля объектов&nbsp;''EntityStateInfo:''
Строка 61: Строка 56:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
*
 
toString() - возвращает строковое представление всех флагов. Например, если игрок бежит "вприпрыжку", ''toString()'' вернет ''"RUNNING | JUMPING"&nbsp;''(в основном используется для отладки).
 
  
 +
*toString() - возвращает строковое представление всех флагов. Например, если игрок бежит "вприпрыжку", ''toString()'' вернет ''"RUNNING | JUMPING"&nbsp;''(в основном используется для отладки).
  
Стоит заметить, что библиотека на данный момент не учитывает зелья или средства передвижения (второе невозможно технически), поэтому может выдавать неожиданные результаты.
+
Стоит заметить, что библиотека на данный момент не учитывает зелья или средства передвижения (второе невозможно технически), поэтому может выдавать неожиданные результаты. </div>
 
</div>
 
</div>

Текущая версия на 23:57, 17 августа 2019

Загрузка[править]

Библиотека является частью мода с открытым исходным кодом A.P.O. Craft. Последняя версия библиотеки находится по этому адресу.

Условия использования[править]

Разрешено неограниченное использование данной библиотеки в собственных модификациях

  • Запрещено распространение на сторонних источниках без указания ссылки на официальное сообщество
  • Запрещено изменение кода библиотеки
  • Запрещено явное копирование кода в другие библиотеки или моды 

Используя данный продукт вы автоматически соглашаетесь с этими правилами

Документация[править]

Подключение[править]

Чтобы подключить библиотеку, необходимо расположить файл библиотеки в папку lib в корне мода написать следующее в начале вашего кода:

IMPORT("EntityState");
После этого вам станет доступен весь функционал библиотеки.

Использование[править]

Данная библиотека содержит статический класс 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:

  • state - поле, содержащее текущее состояние сущности. Является результатом побитового "или" всех текущих флагов.
  • checkFlags(flags) - проверяет, присутствуют ли в текущем состоянии данные флаги. Пример:
    let state = EntityState.getPlayerState();
    Game.message(state.checkFlags(EntityState.RUNNING)) // Выведет 0, если игрок не бежит,8 в противном случае
    


  • toString() - возвращает строковое представление всех флагов. Например, если игрок бежит "вприпрыжку", toString() вернет "RUNNING | JUMPING" (в основном используется для отладки).
Стоит заметить, что библиотека на данный момент не учитывает зелья или средства передвижения (второе невозможно технически), поэтому может выдавать неожиданные результаты.