Модуль Entity — различия между версиями

(duration и leve)
Строка 1: Строка 1:
<div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output">
+
<div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output">
 
Вся работа с мобами осуществляется через модуль Entity.
 
Вся работа с мобами осуществляется через модуль Entity.
  
*Entity.getAll() - возвращает Java-массив всех мобов в мире.  
+
== Методы для работы с сущностями в Inner Core ==
*Entity.getAllJS() - возвращает JavaScript-массив всех мобов в мире.  
+
 
*Entity.getExtra(mob, propetry) - возвращает значение свойства propetry сущности mob в виде строки.
+
=== Получение ===
 +
 
 +
*Entity.getAll() - возвращает Java-массив всех мобов в мире  
 +
*Entity.getAllJS() - идентичен ''Entity.getAll'', оставлен для совместимости
 +
*Entity.isExist(mob) - проверяет, существует ли сущность mob
 +
*Entity.getCustom(mob) - возвращает Updatable сущности mob, если она создана через MobRegistry.
 +
*Entity.findNearest(x, y, z) - возвращает ближайшую к координатам x, y, z сущность
 +
*Entity.getAllInRange(coords, maxRange, [type]) - возвращает JS-массив сущностей с типом type в сфере с центром coords и радиусом maxRange. Если тип сущности не указан, найдёт все сущности в указанном радиусе
 +
 
 +
=== Создание и удаление ===
 +
 
 +
*Entity.spawn(x, y, z, id, [skin]) - спавнит существо с типом id, координатами x, y, z и назначает ему скин skin.
 +
*Entity.spawnAtCoords(coords, id, skin) - то же, что и&nbsp;''Entity.spawn'',&nbsp;но позволяет задать координаты в виде объекта {x: x, y: y, z: z}
 +
*Entity.spawnCustom(name, x, y, z, [extra]) - спавнит сущность со строковым ID&nbsp;name, зарегистрированным через&nbsp;MobRegistry, на координатах x, y, z. Позволяет передать дополнительные данные в контроллеры сущности с помощью параметра extra
 +
*Entity.spawnCustomAtCoords(name, coords, [extra]) - то же, что и&nbsp;''Entity.spawnCustom,''&nbsp;но позволяет задать координаты в виде объекта {x: x, y: y, z: z}
 +
*Entity.remove(mob) - удаляет сущность mob из мира.
 +
 
 +
=== Работа с эффектами ===
 +
 
 +
*Entity.addEffect(entity, effectId, effectTime, amplifier, [ambience], [particles]) - накладывает на сущность entity эффект с id effectId на время&nbsp;effectTime.&nbsp;amplifier - сила эффекта,&nbsp;ambience - внешний вид частиц (''true''/''false'') и&nbsp;particles - отображать ли частицы (''true''/''false'')
 +
*Entity.clearEffect(entity, effectId) - удаляет у сущности mob эффект id.
 +
*Entity.clearEffects(entity) - удаляет у сущности mob все эффекты.
 +
 
 +
=== Здоровье моба ===
 +
 
 +
*Entity.damageEntity(entity, damage, [cause], [params]) -&nbsp; наносит сущности entity урон в damage единиц,&nbsp;cause может использоваться для определения attacker события,&nbsp;params - объект значений bool1 и bool2, смысл которых пока неизвестен
 +
*Entity.healEntity(entity, damage) - лечит сущность entity на damage единиц.
 +
*Entity.health(entity) - возвращает объект для работы со здоровьем моба. Объект содержит следующие методы, привязанные к entity:
 +
**get() - возвращает здоровье сущности
 +
**set() - устанавливает здоровье сущности
 +
**getMax() - получает максимальное&nbsp;возможное значение здоровья сущности
 +
**setMax() -&nbsp;устанавливает максимальное возможное значение здоровья сущности 
 +
*Entity.getHealth(mob) - возвращает здоровье сущности mob.
 +
*Entity.setHealth(mob, hp) - устанавливает здоровье в hp единиц сущности mob.
 +
*Entity.getMaxHealth(mob) - возвращает максимальное количество здоровья сущности mob.
 +
*Entity.setMaxHealth(mob, maxhp) - устанавливает максимальное здоровье maxhp сущности mob.
 +
 
 +
=== Внешний вид моба ===
 +
 
 +
*Entity.setHitbox(mob, width, height) - устанавливает сущности mob хитбокс высотой width и шириной height.
 +
*Entity.setSkin(mob, skin) - ставит текстуру по пути texture сущности skin.
 +
*Entity.setTexture(mob, texture) - ставит объект Texture в качестве текстуры для моба. На данный момент анимированные текстуры не поддерживаются.&nbsp;
 +
*Entity.getRender(mob) - возвращает [[InnerCore/Список_ванильных_рендеров|id рендера]] сущности mob
 +
*Entity.setRender(mob, render) - устанавливает сущности mob рендер&nbsp;с id&nbsp;render. [[InnerCore/Список_ванильных_рендеров|Список ванильных рендеров]]
 +
 
 +
=== Работа с инвентарём ===
 +
 
 +
*Entity.getArmorSlot(entity, slot) - возвращает объект, содержащий информацию о предмете, хранимом в указанном слоте брони&nbsp;slot сущности&nbsp;entity
 +
*Entity.setArmorSlot(entity, slot, id, count, data) - устанавливает в указанный слот брони&nbsp;slot сущности&nbsp;entity предмет с id, data и с количеством&nbsp;count&nbsp;
 +
*Entity.getCarriedItem(entity) - возвращает объект, содержащий информацию о предмете, который держит в руках сущность&nbsp;entity
 +
*Entity.getCarriedItem(entity, id, count, data) -&nbsp;устанавливает в руку сущности&nbsp;entity предмет с id, data и с количеством&nbsp;count&nbsp;
 +
*Entity.getDroppedItem(entity) - получает предмет, которую сущность&nbsp;entity&nbsp;дропнула
 +
*Entity.setDroppedItem(entity, id, count, data) - устанавливает&nbsp;предмет, которую сущность&nbsp;entity&nbsp;дропнула
 +
 
 +
=== Параметры моба ===
 +
 
 +
*Entity.getType(entity) - получает числовой тип моба entity
 +
*Entity.getAge(mob) - возвращает возраст сущности mob
 +
*Entity.setAge(mob, age) - устанавливает возраст age сущности mob
 +
*Entity.getNameTag(mob) - возвращает имя сущности mob.
 +
*Entity.setNameTag(mob, name) - устанавливает сущности mob имя name.
 +
*Entity.getProjectileItem(mob) - проверяет, является ли сущность mob снарядом, если это так, возвращает ее данные как предмета.
 +
 
 +
=== Поведение моба ===
 +
 
 +
*Entity.getMobile(mob) - получает, может ли сущность mob двигаться&nbsp;
 +
*Entity.setMobile(mob, mobile) - в зависимости от значения mobile (''true''/''false'')&nbsp;управляет возможностью сущности mob двигаться.
 +
*Entity.getSneaking(mob) - проверяет, сидит ли сущность mob.
 +
*Entity.setSneaking(mob, sneak) - в зависимости от значения mobile (''true''/''false'')&nbsp;управляет, находится ли сущность mob в присяде.
 +
*Entity.setFire(mob, tick, [force]) - заставляет сущность mob гореть в течении tick тиков. Если установлен параметр force, горение не будет подвержено внежним факторам (?)
 +
 
 +
=== Положение и поворот моба ===
 +
 
 +
*Entity.setPosition(mob, x, y, z) - устанавливает сущность mob на координаты x, y, z.
 +
*Entity.getPosition(mob) - возвращает координаты сущности mob.
 +
*Entity.addPosition(mob, x, y, z) - относительно перемещает сущность mob на координаты x, y, z.
 +
*Entity.getLookAngle(mob) - возвращает угол обзора сущности mob в виде объекта {pitch: pitch, yaw: yaw}. Углы выражаются в радианах
 +
*Entity.setLookAngle(mob, yaw, pitch) - устанавливает сущности углы обзора jaw и pitch.&nbsp;Углы выражаются в радианах
 +
*Entity.getLookVector(mob) - возвращает вектор взгляда сущности mob&nbsp;в формате {x: x, y: y, z: z}
 +
*Entity.lookAt(entity, x, y, z) - устанавливает обзор сущности entity так, чтобы она смотрела на координаты&nbsp;x, y, z
 +
*Entity.lookAtCoords(entity, coords) - то же, что и&nbsp;''Entity.lookAt'', но на вход принимает координаты в формате&nbsp;{x: x, y: y, z: z}
 +
 
 +
=== Движение моба ===
 +
 
 +
*Entity.setVelocity(mob, velx, vely, velz) - устанавливает трехмерное ускорение velx, vely, velz сущности mob
 +
*Entity.getVelocity(mob) - возвращает трехмерное ускорение сущности mob в виде объекта&nbsp;{x: x, y: y, z: z}
 +
*Entity.addVelocity(mob, velx, vely, velz) - добавляет трехмерное ускорение velx, vely, velz сущности mob
 +
*Entity.moveToTarget(entity, target, params) - передвигает сущность entity к координатам&nbsp;target. Параметр params - объект следующего формата (поданы значения по умолчанию)
 +
 
 +
&nbsp;
 +
<syntaxhighlight lang="Javascript">{
 +
    speed: 0, // Скорость движения
 +
   denyY: false, // Запрещено ли изменение скорости по оси Y
 +
   jumpVel: 0 // Задаёт скорость по оси Y
 +
}</syntaxhighlight>
 +
 
 +
*Entity.moveToAngle(mob, angle, params) - разворачивает сущность mob на угол angle. Параметр params идентичен параметру метода&nbsp;''Entity.moveToTarget''
 +
*Entity.moveToLook(mob, params) - разворачивает сущность mob в сторону взгляда.&nbsp;Параметр params идентичен параметру метода&nbsp;''Entity.moveToTarget''
 +
*Entity.getMovingVector(mob) - возвращает вектор движения сущности mob - объект со следующими полями:
 +
**x - проекция единичного вектора скорости сущности на ось x
 +
**y - проекция единичного вектора скорости сущности на ось y
 +
**z - проекция единичного вектора скорости сущности на ось&nbsp;z&nbsp;
 +
**size - длина вектора скорости, численное значение скорости сущности
 +
**xzsize - скорость сущности в горизонтальной плоскости 
 +
*Entity.getMovingAngle(mob) - возвращает угол передвижения сущности mob в формате&nbsp;{pitch: pitch, yaw: yaw}
 +
 
 +
<span style="display: none;">&nbsp;</span>
 +
 
 +
=== Вспомагательные методы ===
 +
 
 +
*Entity.getDistanceBetweenCoords(coords1, coords2) - возвращает расстояние между координатами в обьектах coords1 и coords2. Координаты задаются в формате&nbsp;{x: x, y: y, z: z}
 +
*Entity.getDistanceToCoords(mob, coords) - возвращает расстояние от сущности mob до координат в обьекте coords&nbsp;{x: x, y: y, z: z}
 +
*Entity.getDistanceToEntity(mob1, mob2) - возвращает расстояние между сущностями mob1 и mob2.
 +
*Entity.getXZPlayerDis(entity) - возвращает расстояние в горизонтальной плоскости от сущности&nbsp;entity до игрока
 +
*Entity.getLookVectorByAngle(angle) - возвращает вектор взгляда сущности в формате {x: x, y: y, z: z}, исходя из угла обзора angle, представленного в формате&nbsp;{pitch: pitch, yaw: yaw}
 +
*Entity.getLookAt(mob, x, y, z) - высчитывает угол обзора сущности, необходимый, чтобы она смотрела на координаты&nbsp;x, y, z. Возвращает объект формата&nbsp;{pitch: pitch, yaw: yaw}
 +
 
 +
== Легаси-функции, не реализованные в Inner Core ==
 +
 
 +
*Entity.getExtra(mob, propetry) - возвращает значение свойства propetry сущности mob в виде строки  
 
*Entity.putExtra(mob, propetry, value) - записывает свойство propetry со значением value в виде строки сущности mob.  
 
*Entity.putExtra(mob, propetry, value) - записывает свойство propetry со значением value в виде строки сущности mob.  
 
*Entity.getExtraJson(mob, propetry) - возвращает свойство propetry сущности mob в виде JS-обьекта.  
 
*Entity.getExtraJson(mob, propetry) - возвращает свойство propetry сущности mob в виде JS-обьекта.  
 
*Entity.putExtraJson(mob, propetry, value) - записывает свойство propetry со значением value в виде JS-обьекта сущности mob.  
 
*Entity.putExtraJson(mob, propetry, value) - записывает свойство propetry со значением value в виде JS-обьекта сущности mob.  
*Entity.addEffect(mob, id, level, duration,&nbsp;[boolean], [boolean]) - ставит сущности mob эффект id продолжительностью duration, уровня level.
+
*Entity.getSkin(mob) - возвращает путь в текстурпаке текстуры сущности mob.&nbsp;
*Entity.clearEffect(mob, id) - удаляет у сущности mob эффект id.
 
*Entity.clearEffects(mob) - удаляет у сущности mob все эффекты.
 
*Entity.damageEntity(mob, hp) -&nbsp; наносит сущности mob урон в hp единиц.
 
*Entity.healEntity(mob, hp) - лечит сущность mob на hp единиц.
 
*Entity.getType(a) - возвращает числовой тип сущности mob.
 
*Entity.setHitbox(mob, width, height) - устанавливает сущности mob хитбокс высотой width и шириной height.
 
*Entity.isExist(mob) - проверяет, существует ли сущность mob.
 
*Entity.spawn(x, y, z, id, [extra]) - спавнит существо с типом id, координатами x, y, z и назначает ему extra-свойства.
 
*Entity.spawnCustom(name, x, y, z, [extra]) - то же, что и Entity.spawn, но спавнит сущностей со строковым ид name, созданных через MobRegistry.
 
*Entity.remove(mob) - удаляет сущность mob из мира.
 
*Entity.getCustom(mob) - возвращает прототип сущности mob, если она создана через MobRegistry.
 
*Entity.getAge(mob) - возвращает возраст сущности mob.Entity.setAge(mob, age) - устанавливает возраст age сущности mob.
 
*Entity.getSkin(mob) - возвращает путь в текстурпаке текстуры сущности mob.  
 
*Entity.setSkin(mob, texture) - ставит текстуру по пути texture сущности mob.
 
*Entity.getRender(mob) - возвращает id рендера сущности mob.
 
*Entity.setRender(mob, render) - устанавливает рендером с id render сущности mob. [[InnerCore/Список_ванильных_рендеров|Список ванильных рендеров]]
 
 
*Entity.rideAnimal(rider, riding) - сажает сущность rider на сущность riding.  
 
*Entity.rideAnimal(rider, riding) - сажает сущность rider на сущность riding.  
*Entity.getNameTag(mob) - возвращает имя сущности mob.  
+
*Entity.getRider(mob) - проверяет, всадник ли сущность mob.  
*Entity.setNameTag(mob, name) - устанавливает сущности mob имя name.  
+
*Entity.getRiding(mob) - проверяет, сидят ли на сущности mob.  
 
*Entity.getTarget(mob) - возвращает цель сущности mob.  
 
*Entity.getTarget(mob) - возвращает цель сущности mob.  
 
*Entity.setTarget(attaker, victim) - ставит сущности attacker цель victim.  
 
*Entity.setTarget(attaker, victim) - ставит сущности attacker цель victim.  
*Entity.setMobile(mob, mobile?) - в зависимости от значения mobile? управляет возможностью сущности mob двигаться.
+
*Entity.getMovingAngleByPositions(pos1, pos2) - не реализована
*Entity.getSneaking(mob) - проверяет, ползет ли сущность mob.
+
*Entity.getInventory(mob, [object], [object]) - возвращает инвентарь сущности mob.&nbsp;
*Entity.setSneaking(mob, sneak?) - разрешает или запрещает сущности mob ползти.
+
</div> </div> </div> </div> </div> </div>
*Entity.getRider(mob) - проверяет, всадник ли сущность mob.
 
*Entity.getRiding(mob) - проверяет, сидят ли на сущности mob.
 
*Entity.setFire(mob, tick) - заставляет сущность mob гореть в течении tick тиков.
 
*Entity.getHealth(mob) - возвращает здоровье сущности mob.
 
*Entity.setHealth(mob, hp) - устанавливает здоровье в hp единиц сущности mob.
 
*Entity.getMaxHealth(mob) - возвращает максимальное количество здоровья сущности mob.
 
*Entity.setMaxHealth(mob, maxhp) - устанавливает максимальное здоровье maxhp сущности mob.
 
*Entity.setPosition(mob, x, y, z) - устанавливает сущность mob на координаты x, y, z.
 
*Entity.getPosition(mob) - возвращает координаты сущности mob.Entity.addPosition(mob, x, y, z) - относительно перемещает сущность mob на координаты x, y, z.
 
*Entity.setVelocity(mob, velx, vely, velz) - устанавливает трехмерное ускорение velx, vely, velz сущности mob.
 
*Entity.getVelocity(mob) - возвращает трехмерное ускорение сущности mob.
 
*Entity.addVelocity(mob, velx, vely, velz) - добавляет трехмерное ускорение velx, vely, velz сущности mob.
 
*Entity.getDistanceBetweenCoords(coords1, coords2) - возвращает расстояние между координатами в обьектах coords1 и coords2.
 
*Entity.getDistanceToCoords(mob, coords) - возвращает расстояние от сущности mob до координат в обьекте coords.
 
*Entity.getDistanceToEntity(a, b) - возвращает расстояние между сущностями mob1 и mob2.
 
*Entity.getLookAngle(mob) - возвращает угол обзора сущности mob.
 
*Entity.setLookAngle(mob, yaw, pitch) - устанавливает сущности углы обзора jaw и pitch.
 
*Entity.getLookVector(mob) - возвращает вектор взгляда сущности mob.
 
*Entity.getLookAt(mob, x, y, z) - возвращает угол обзора сущности mob на координаты x, y, z.
 
*Entity.lookAt(a, b, c, d) - устанавливает обзор сущности mob на координаты x, y, z.
 
*Entity.moveToTarget(mob1, mob2, params) - передвигает сущность mob1 к сущности mob2 с настройками params.
 
*Entity.moveToAngle(mob, angle, params) - передвигает сущность mob на угол angle с настройками params.
 
*Entity.moveToLook(mob, params) - перемещает сущность mob в направлении взгляда с настройками params.
 
*Entity.getMovingVector(mob) - возвращает вектор движения сущности mob.
 
*Entity.getMovingAngle(mob) - возвращает угол передвижения сущности mob.
 
*Entity.findNearest(x, y, z) - возвращает ближайшую к координатам x, y, z сущность.
 
*Entity.getAllInRange(coords, type, maxRange) - возвращает JS-массив сущностей с типом type в сфере с центром coords и радиусом maxRange.
 
*Entity.getInventory(mob, [object], [object]) - возвращает инвентарь сущности mob.  
 
*Entity.getProjectileItem(mob) - проверяет, является ли сущность mob снарядом, если это так, возвращает ее данные как предмета.
 
</div> </div> </div> </div>
 

Версия 01:17, 19 февраля 2019

Вся работа с мобами осуществляется через модуль Entity.

Методы для работы с сущностями в Inner Core

Получение

  • Entity.getAll() - возвращает Java-массив всех мобов в мире
  • Entity.getAllJS() - идентичен Entity.getAll, оставлен для совместимости
  • Entity.isExist(mob) - проверяет, существует ли сущность mob
  • Entity.getCustom(mob) - возвращает Updatable сущности mob, если она создана через MobRegistry.
  • Entity.findNearest(x, y, z) - возвращает ближайшую к координатам x, y, z сущность
  • Entity.getAllInRange(coords, maxRange, [type]) - возвращает JS-массив сущностей с типом type в сфере с центром coords и радиусом maxRange. Если тип сущности не указан, найдёт все сущности в указанном радиусе

Создание и удаление

  • Entity.spawn(x, y, z, id, [skin]) - спавнит существо с типом id, координатами x, y, z и назначает ему скин skin.
  • Entity.spawnAtCoords(coords, id, skin) - то же, что и Entity.spawn, но позволяет задать координаты в виде объекта {x: x, y: y, z: z}
  • Entity.spawnCustom(name, x, y, z, [extra]) - спавнит сущность со строковым ID name, зарегистрированным через MobRegistry, на координатах x, y, z. Позволяет передать дополнительные данные в контроллеры сущности с помощью параметра extra
  • Entity.spawnCustomAtCoords(name, coords, [extra]) - то же, что и Entity.spawnCustom, но позволяет задать координаты в виде объекта {x: x, y: y, z: z}
  • Entity.remove(mob) - удаляет сущность mob из мира.

Работа с эффектами

  • Entity.addEffect(entity, effectId, effectTime, amplifier, [ambience], [particles]) - накладывает на сущность entity эффект с id effectId на время effectTime. amplifier - сила эффекта, ambience - внешний вид частиц (true/false) и particles - отображать ли частицы (true/false)
  • Entity.clearEffect(entity, effectId) - удаляет у сущности mob эффект id.
  • Entity.clearEffects(entity) - удаляет у сущности mob все эффекты.

Здоровье моба

  • Entity.damageEntity(entity, damage, [cause], [params]) -  наносит сущности entity урон в damage единиц, cause может использоваться для определения attacker события, params - объект значений bool1 и bool2, смысл которых пока неизвестен
  • Entity.healEntity(entity, damage) - лечит сущность entity на damage единиц.
  • Entity.health(entity) - возвращает объект для работы со здоровьем моба. Объект содержит следующие методы, привязанные к entity:
    • get() - возвращает здоровье сущности
    • set() - устанавливает здоровье сущности
    • getMax() - получает максимальное возможное значение здоровья сущности
    • setMax() - устанавливает максимальное возможное значение здоровья сущности
  • Entity.getHealth(mob) - возвращает здоровье сущности mob.
  • Entity.setHealth(mob, hp) - устанавливает здоровье в hp единиц сущности mob.
  • Entity.getMaxHealth(mob) - возвращает максимальное количество здоровья сущности mob.
  • Entity.setMaxHealth(mob, maxhp) - устанавливает максимальное здоровье maxhp сущности mob.

Внешний вид моба

  • Entity.setHitbox(mob, width, height) - устанавливает сущности mob хитбокс высотой width и шириной height.
  • Entity.setSkin(mob, skin) - ставит текстуру по пути texture сущности skin.
  • Entity.setTexture(mob, texture) - ставит объект Texture в качестве текстуры для моба. На данный момент анимированные текстуры не поддерживаются. 
  • Entity.getRender(mob) - возвращает id рендера сущности mob
  • Entity.setRender(mob, render) - устанавливает сущности mob рендер с id render. Список ванильных рендеров

Работа с инвентарём

  • Entity.getArmorSlot(entity, slot) - возвращает объект, содержащий информацию о предмете, хранимом в указанном слоте брони slot сущности entity
  • Entity.setArmorSlot(entity, slot, id, count, data) - устанавливает в указанный слот брони slot сущности entity предмет с id, data и с количеством count 
  • Entity.getCarriedItem(entity) - возвращает объект, содержащий информацию о предмете, который держит в руках сущность entity
  • Entity.getCarriedItem(entity, id, count, data) - устанавливает в руку сущности entity предмет с id, data и с количеством count 
  • Entity.getDroppedItem(entity) - получает предмет, которую сущность entity дропнула
  • Entity.setDroppedItem(entity, id, count, data) - устанавливает предмет, которую сущность entity дропнула

Параметры моба

  • Entity.getType(entity) - получает числовой тип моба entity
  • Entity.getAge(mob) - возвращает возраст сущности mob
  • Entity.setAge(mob, age) - устанавливает возраст age сущности mob
  • Entity.getNameTag(mob) - возвращает имя сущности mob.
  • Entity.setNameTag(mob, name) - устанавливает сущности mob имя name.
  • Entity.getProjectileItem(mob) - проверяет, является ли сущность mob снарядом, если это так, возвращает ее данные как предмета.

Поведение моба

  • Entity.getMobile(mob) - получает, может ли сущность mob двигаться 
  • Entity.setMobile(mob, mobile) - в зависимости от значения mobile (true/false) управляет возможностью сущности mob двигаться.
  • Entity.getSneaking(mob) - проверяет, сидит ли сущность mob.
  • Entity.setSneaking(mob, sneak) - в зависимости от значения mobile (true/false) управляет, находится ли сущность mob в присяде.
  • Entity.setFire(mob, tick, [force]) - заставляет сущность mob гореть в течении tick тиков. Если установлен параметр force, горение не будет подвержено внежним факторам (?)

Положение и поворот моба

  • Entity.setPosition(mob, x, y, z) - устанавливает сущность mob на координаты x, y, z.
  • Entity.getPosition(mob) - возвращает координаты сущности mob.
  • Entity.addPosition(mob, x, y, z) - относительно перемещает сущность mob на координаты x, y, z.
  • Entity.getLookAngle(mob) - возвращает угол обзора сущности mob в виде объекта {pitch: pitch, yaw: yaw}. Углы выражаются в радианах
  • Entity.setLookAngle(mob, yaw, pitch) - устанавливает сущности углы обзора jaw и pitch. Углы выражаются в радианах
  • Entity.getLookVector(mob) - возвращает вектор взгляда сущности mob в формате {x: x, y: y, z: z}
  • Entity.lookAt(entity, x, y, z) - устанавливает обзор сущности entity так, чтобы она смотрела на координаты x, y, z
  • Entity.lookAtCoords(entity, coords) - то же, что и Entity.lookAt, но на вход принимает координаты в формате {x: x, y: y, z: z}

Движение моба

  • Entity.setVelocity(mob, velx, vely, velz) - устанавливает трехмерное ускорение velx, vely, velz сущности mob
  • Entity.getVelocity(mob) - возвращает трехмерное ускорение сущности mob в виде объекта {x: x, y: y, z: z}
  • Entity.addVelocity(mob, velx, vely, velz) - добавляет трехмерное ускорение velx, vely, velz сущности mob
  • Entity.moveToTarget(entity, target, params) - передвигает сущность entity к координатам target. Параметр params - объект следующего формата (поданы значения по умолчанию)

 

{
    speed: 0, // Скорость движения
    denyY: false, // Запрещено ли изменение скорости по оси Y
    jumpVel: 0 // Задаёт скорость по оси Y
}
  • Entity.moveToAngle(mob, angle, params) - разворачивает сущность mob на угол angle. Параметр params идентичен параметру метода Entity.moveToTarget
  • Entity.moveToLook(mob, params) - разворачивает сущность mob в сторону взгляда. Параметр params идентичен параметру метода Entity.moveToTarget
  • Entity.getMovingVector(mob) - возвращает вектор движения сущности mob - объект со следующими полями:
    • x - проекция единичного вектора скорости сущности на ось x
    • y - проекция единичного вектора скорости сущности на ось y
    • z - проекция единичного вектора скорости сущности на ось z 
    • size - длина вектора скорости, численное значение скорости сущности
    • xzsize - скорость сущности в горизонтальной плоскости
  • Entity.getMovingAngle(mob) - возвращает угол передвижения сущности mob в формате {pitch: pitch, yaw: yaw}

 

Вспомагательные методы

  • Entity.getDistanceBetweenCoords(coords1, coords2) - возвращает расстояние между координатами в обьектах coords1 и coords2. Координаты задаются в формате {x: x, y: y, z: z}
  • Entity.getDistanceToCoords(mob, coords) - возвращает расстояние от сущности mob до координат в обьекте coords {x: x, y: y, z: z}
  • Entity.getDistanceToEntity(mob1, mob2) - возвращает расстояние между сущностями mob1 и mob2.
  • Entity.getXZPlayerDis(entity) - возвращает расстояние в горизонтальной плоскости от сущности entity до игрока
  • Entity.getLookVectorByAngle(angle) - возвращает вектор взгляда сущности в формате {x: x, y: y, z: z}, исходя из угла обзора angle, представленного в формате {pitch: pitch, yaw: yaw}
  • Entity.getLookAt(mob, x, y, z) - высчитывает угол обзора сущности, необходимый, чтобы она смотрела на координаты x, y, z. Возвращает объект формата {pitch: pitch, yaw: yaw}

Легаси-функции, не реализованные в Inner Core

  • Entity.getExtra(mob, propetry) - возвращает значение свойства propetry сущности mob в виде строки
  • Entity.putExtra(mob, propetry, value) - записывает свойство propetry со значением value в виде строки сущности mob.
  • Entity.getExtraJson(mob, propetry) - возвращает свойство propetry сущности mob в виде JS-обьекта.
  • Entity.putExtraJson(mob, propetry, value) - записывает свойство propetry со значением value в виде JS-обьекта сущности mob.
  • Entity.getSkin(mob) - возвращает путь в текстурпаке текстуры сущности mob. 
  • Entity.rideAnimal(rider, riding) - сажает сущность rider на сущность riding.
  • Entity.getRider(mob) - проверяет, всадник ли сущность mob.
  • Entity.getRiding(mob) - проверяет, сидят ли на сущности mob.
  • Entity.getTarget(mob) - возвращает цель сущности mob.
  • Entity.setTarget(attaker, victim) - ставит сущности attacker цель victim.
  • Entity.getMovingAngleByPositions(pos1, pos2) - не реализована
  • Entity.getInventory(mob, [object], [object]) - возвращает инвентарь сущности mob.