Редактирование:Модуль Entity

Внимание! Вы не авторизовались на сайте. Ваш IP-адрес будет публично видимым, если вы будете вносить любые правки. Если вы войдёте или создадите учётную запись, правки вместо этого будут связаны с вашим именем пользователя, а также у вас появятся другие преимущества.

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

Обратите внимание, что все добавления и изменения текста статьи рассматриваются как выпущенные на условиях лицензии GNU Free Documentation License 1.3 или более поздняя (см. Mineprogramming wiki:Авторские права). Если вы не хотите, чтобы ваши тексты свободно распространялись и редактировались любым желающим, не помещайте их сюда.
Вы также подтверждаете, что являетесь автором вносимых дополнений или скопировали их из источника, допускающего свободное распространение и изменение своего содержимого.
НЕ РАЗМЕЩАЙТЕ БЕЗ РАЗРЕШЕНИЯ МАТЕРИАЛЫ, ОХРАНЯЕМЫЕ АВТОРСКИМ ПРАВОМ!