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

м (→‎Использование)
м
 
Строка 1: Строка 1:
−
<div class="mw-parser-output">
 
 
== Загрузка ==
 
== Загрузка ==
−
 
+
Библиотека является частью мода с открытым исходным кодом A.P.O. Craft. Последняя версия библиотеки находится по [https://github.com/mineprogramming/APO_craft/blob/master/lib/EntityState.js этому адресу].
−
Библиотека является частью мода с открытым исходным кодом A.P.O. Craft. Последняя версия библиотеки находится по&nbsp;[https://github.com/mineprogramming/APO_craft/blob/master/lib/EntityState.js этому адресу].
 
  
 
== Условия использования ==
 
== Условия использования ==
−
 
 
Разрешено неограниченное использование данной библиотеки в собственных модификациях
 
Разрешено неограниченное использование данной библиотеки в собственных модификациях
  
 
*Запрещено распространение на сторонних источниках без указания ссылки на официальное сообщество  
 
*Запрещено распространение на сторонних источниках без указания ссылки на официальное сообщество  
 
*Запрещено изменение кода библиотеки  
 
*Запрещено изменение кода библиотеки  
−
*Запрещено явное копирование кода в другие библиотеки или моды&nbsp;
+
*Запрещено явное копирование кода в другие библиотеки или моды
  
−
Используя данный продукт&nbsp;вы автоматически соглашаетесь с этими правилами
+
Используя данный продукт вы автоматически соглашаетесь с этими правилами
  
 
== Документация ==
 
== Документация ==
−
 
−
<div class="mw-parser-output">
 
−
<div class="mw-parser-output">
 
 
=== Подключение ===
 
=== Подключение ===
 +
Чтобы подключить библиотеку, необходимо расположить файл библиотеки в папку lib в корне мода написать следующее в начале вашего кода:
 +
<syntaxhighlight lang="javascript">IMPORT("EntityState");</syntaxhighlight>
  
−
Чтобы подключить библиотеку, необходимо расположить файл библиотеки в папку lib в корне мода&nbsp;написать следующее в начале вашего кода:
+
После этого вам станет доступен весь функционал библиотеки.
−
<syntaxhighlight lang="Javascript">IMPORT("EntityState");</syntaxhighlight>
 
−
 
 
−
После этого вам станет доступен весь функционал библиотеки. </div>
 
−
</div>
 
  
−
<div class="mw-parser-output">
 
 
=== Использование ===
 
=== Использование ===
 +
Данная библиотека содержит статический класс ''EntityState'', хранящий все необходимые методы и константы, а так же конструктор ''EntityStateInfo'', предназначенный для хранения информации и упрощающий доступ к нему.
  
−
Данная библиотека содержит статический класс&nbsp;''EntityState'', хранящий все необходимые методы и константы, а так же конструктор&nbsp;''EntityStateInfo,''&nbsp;предназначенный для хранения информации и упрощающий доступ к нему.
+
Константы ''EntityState:''
−
 
 
−
Константы&nbsp;''EntityState:''
 
 
<syntaxhighlight lang="Javascript">EntityState.STANDING = 1;  // Игрок неподвижен в горизонтальной плоскости
 
<syntaxhighlight lang="Javascript">EntityState.STANDING = 1;  // Игрок неподвижен в горизонтальной плоскости
 
EntityState.STEALING = 2;  // Игрок крадется или медленно перемещается
 
EntityState.STEALING = 2;  // Игрок крадется или медленно перемещается
Строка 43: Строка 33:
 
Данные константы являются флагами, и поэтому могут быть объеденины с помощью симвла "|".
 
Данные константы являются флагами, и поэтому могут быть объеденины с помощью симвла "|".
  
−
Методы класса&nbsp;''EntityState:''
+
Методы класса ''EntityState:''
  
−
*getEntityState(entty) - возвращает объект&nbsp;''EntityStateInfo'', содержащий информацию о текущем действии сущности entity  
+
*getEntityState(entty) - возвращает объект ''EntityStateInfo'', содержащий информацию о текущем действии сущности entity  
−
*getPlayerState() -&nbsp;возвращает объект&nbsp;''EntityStateInfo'', содержащий информацию о текущем действии игрока  
+
*getPlayerState() - возвращает объект ''EntityStateInfo'', содержащий информацию о текущем действии игрока  
 
*getSpeed(entity) - возвращает линейную горизонтальную составляющую скорости сущности (значение больше нуля)  
 
*getSpeed(entity) - возвращает линейную горизонтальную составляющую скорости сущности (значение больше нуля)  
  
−
Методы и поля объектов&nbsp;''EntityStateInfo:''
+
Методы и поля объектов ''EntityStateInfo:''
  
−
*state&nbsp;- поле, содержащее текущее состояние сущности. Является результатом побитового "или" всех текущих флагов.  
+
*state - поле, содержащее текущее состояние сущности. Является результатом побитового "или" всех текущих флагов.  
−
*checkFlags(flags) - проверяет, присутствуют ли в текущем состоянии данные флаги. Пример: <syntaxhighlight lang="Javascript">let state = EntityState.getPlayerState();
+
*checkFlags(flags) - проверяет, присутствуют ли в текущем состоянии данные флаги. Пример: <syntaxhighlight lang="javascript">let state = EntityState.getPlayerState();
 
Game.message(state.checkFlags(EntityState.RUNNING)) // Выведет 0, если игрок не бежит,8 в противном случае
 
Game.message(state.checkFlags(EntityState.RUNNING)) // Выведет 0, если игрок не бежит,8 в противном случае
 
</syntaxhighlight>
 
</syntaxhighlight>
  
 +
*toString() - возвращает строковое представление всех флагов. Например, если игрок бежит "вприпрыжку", ''toString()'' вернет ''"RUNNING | JUMPING"'' (в основном используется для отладки).
  
−
*toString() - возвращает строковое представление всех флагов. Например, если игрок бежит "вприпрыжку", ''toString()'' вернет ''"RUNNING | JUMPING"&nbsp;''(в основном используется для отладки).
+
Стоит заметить, что библиотека на данный момент не учитывает зелья или средства передвижения (второе невозможно технически), поэтому может выдавать неожиданные результаты.
−
 
 
−
Стоит заметить, что библиотека на данный момент не учитывает зелья или средства передвижения (второе невозможно технически), поэтому может выдавать неожиданные результаты. </div>
 
−
</div>
 

Текущая версия на 20:09, 14 июля 2026

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

Библиотека является частью мода с открытым исходным кодом 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" (в основном используется для отладки).

Стоит заметить, что библиотека на данный момент не учитывает зелья или средства передвижения (второе невозможно технически), поэтому может выдавать неожиданные результаты.