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

(Новая страница: «<div class="mw-parser-output"> == Загрузка == Библиотека является частью мода с открытым исходным кодом…»)
 
м
 
(не показаны 4 промежуточные версии 2 участников)
Строка 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;вы автоматически соглашаетесь с этими правилами
+
Используя данный продукт вы автоматически соглашаетесь с этими правилами
  
 
== Документация ==
 
== Документация ==
 
 
=== Подключение ===
 
=== Подключение ===
 
+
Чтобы подключить библиотеку, необходимо расположить файл библиотеки в папку lib в корне мода написать следующее в начале вашего кода:
Чтобы подключить библиотеку, необходимо расположить файл библиотеки в папку lib в корне мода&nbsp;написать следующее в начале вашего кода:
+
<syntaxhighlight lang="javascript">IMPORT("EntityState");</syntaxhighlight>
<pre>IMPORT("SettingsManager");
 
</pre>
 
  
 
После этого вам станет доступен весь функционал библиотеки.
 
После этого вам станет доступен весь функционал библиотеки.
  
 
=== Использование ===
 
=== Использование ===
 +
Данная библиотека содержит статический класс ''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;  // Игрок крадется или медленно перемещается
Строка 40: Строка 33:
 
Данные константы являются флагами, и поэтому могут быть объеденины с помощью симвла "|".
 
Данные константы являются флагами, и поэтому могут быть объеденины с помощью симвла "|".
  
Методы класса&nbsp;''EntityState:''
+
Методы класса ''EntityState:''
  
*
+
*getEntityState(entty) - возвращает объект ''EntityStateInfo'', содержащий информацию о текущем действии сущности entity  
getEntityState(entty) - возвращает объект&nbsp;''EntityStateInfo'', содержащий информацию о текущем действии сущности entity
+
*getPlayerState() - возвращает объект ''EntityStateInfo'', содержащий информацию о текущем действии игрока
 +
*getSpeed(entity) - возвращает линейную горизонтальную составляющую скорости сущности (значение больше нуля)
  
*
+
Методы и поля объектов ''EntityStateInfo:''
getPlayerState() -&nbsp;возвращает объект&nbsp;''EntityStateInfo'', содержащий информацию о текущем действии игрока
 
  
*
+
*state - поле, содержащее текущее состояние сущности. Является результатом побитового "или" всех текущих флагов.  
getSpeed(entity) - возвращает линейную горизонтальную составляющую скорости сущности (значение больше ноля)
+
*checkFlags(flags) - проверяет, присутствуют ли в текущем состоянии данные флаги. Пример: <syntaxhighlight lang="javascript">let state = EntityState.getPlayerState();
 
 
 
 
Методы и поля объектов&nbsp;''EntityStateInfo:''
 
 
 
*state&nbsp;- поле, содержащее текущее состояние сущности. Является результатом побитового "или" всех текущих флагов.  
 
*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>
 

Текущая версия на 23: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" (в основном используется для отладки).

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