Перейти к основному содержимому

Справочник API Lua

Этот справочник сгенерирован из работающих построителей таблиц Lua, обогатителей и распознавателей контекста времени выполнения MagmaCore, FreeMinecraftModels и EliteMobs.

Таблица Entity

Таблица сущности MagmaCore — это основа для обобщённых значений сущностей; таблицы Living Entity, Player и пропа FreeMinecraftModels наследуют её.

Свойства

ПолеТипОписание
uuidstringUUID сущности.
entity_typestringТип сущности Bukkit в нижнем регистре.
is_validboolАктуальное значение валидности.
is_deadboolАктуальное состояние смерти.
current_locationtable/nilАктуальная локация {x, y, z, yaw, pitch, world}.
worldstring/nilАктуальное имя мира.
is_playerboolЯвляется ли сущность игроком.
is_hostileboolРеализует ли сущность Bukkit Monster.
is_passiveboolРеализует ли сущность Bukkit Animals.

Методы

МетодАргументыВозвращаетОписание
teleport(location)tablenilТелепортировать к таблице локации.
remove()nilУдалить сущность, если она ещё валидна.
set_silent(enabled)boolnilЗадать состояние беззвучности.
set_invulnerable(enabled)boolnilЗадать состояние неуязвимости.
set_gravity(enabled)boolnilЗадать состояние гравитации.
set_glowing(enabled)boolnilЗадать состояние свечения.

Таблица Entity: обогащение EliteMobs

Работающий обогатитель EliteMobs добавляет эти значения в таблицы сущностей MagmaCore; elite существует, только когда is_elite равно true.

Свойства

ПолеТипОписание
is_eliteboolОтслеживает ли EliteMobs эту сущность в данный момент.
is_custom_bossboolЯвляется ли отслеживаемый элита кастомным боссом.
is_significant_bossboolЯвляется ли он кастомным боссом с множителем здоровья выше 1.
elitetable/nilВложенные актуальные данные EliteMobs, присутствуют только для распознанного элиты.
elite.levelintСнимок уровня элиты.
elite.namestring/nilСнимок отображаемого имени элиты.
elite.healthnumberАктуальное здоровье.
elite.max_healthnumberАктуальное максимальное здоровье.
elite.is_custom_bossboolЯвляется ли элита кастомным боссом.
elite.health_multipliernumberСнимок настроенного множителя здоровья.
elite.damage_multipliernumberСнимок настроенного множителя урона.

Методы

МетодАргументыВозвращаетОписание
elite.remove()nilУдалить элиту через конвейер удаления EliteMobs.

Таблица Entity: обогащение FreeMinecraftModels

Работающий обогатитель FreeMinecraftModels добавляет эти значения; model существует, только когда is_modeled равно true, а значения только для игроков появляются лишь в таблицах игроков.

Свойства

ПолеТипОписание
is_modeledboolРаспознаёт ли FreeMinecraftModels сущность с моделью.
is_propboolЯвляется ли сущность пропом FreeMinecraftModels на основе стойки для брони.
modeltable/nilВложенные данные модели, присутствуют только для сущности с моделью.
model.model_idstring/nilИдентификатор чертежа модели.
model.is_dynamicboolЯвляется ли сущность с моделью динамической.
is_opboolСостояние оператора сервера, только для игроков.

Методы

МетодАргументыВозвращаетОписание
model.play_animation(name, blend?=false, loop?=false)string, bool?=false, bool?=falseboolВоспроизвести анимацию модели и вернуть, началась ли она.
model.stop_animations()nilОстановить все текущие анимации модели.
model.remove()nilУдалить сущность с моделью.
has_permission(node)stringboolПроверка права, только для игроков.

Таблица Living Entity

Таблица живой сущности MagmaCore наследует все свойства и методы таблицы Entity.

Свойства

ПолеТипОписание
healthnumberАктуальное здоровье.
maximum_healthnumberАктуальное максимальное здоровье.
namestring/nilАктуальное имя сущности Bukkit.
is_aliveboolАктуальная инверсия состояния смерти Bukkit.

Методы

МетодАргументыВозвращаетОписание
damage(amount)numbernilНанести урон Bukkit.
push(x, y, z)number, number, numbernilДобавить вектор к текущей скорости.
set_facing(x, y, z)number, number, numbernilПовернуть в направлении вектора.
add_potion_effect(type, duration, amplifier)string (PotionEffectType), int, intnilДобавить эффект зелья, если тип распознан.
remove_potion_effect(type)string (PotionEffectType)nilУбрать эффект зелья, если тип распознан.
get_scale()numberВернуть атрибут масштаба или 1.0, если он недоступен.
set_scale(value)numbernilЗадать атрибут масштаба, если сервер это поддерживает.

Таблица Player

Таблица игрока MagmaCore наследует все свойства и методы таблицы Living Entity.

Свойства

ПолеТипОписание
game_modestringСнимок игрового режима Bukkit в нижнем регистре.

Методы

МетодАргументыВозвращаетОписание
send_message(text)stringnilОтправить текст, обработанный парсером цветов MagmaCore.
get_held_item()table/nilВернуть {type, amount, display_name} для предмета в основной руке или nil для пустой руки.
consume_held_item(amount?=1)int?=1nilПоставить в очередь уменьшение стака в основной руке.
has_item(material, amount?=1)string (Material), int?=1boolПроверить, содержит ли инвентарь запрошенное количество.
get_target_entity(range?=50)number?=50table/nilРейкастом определить сущность, на которую смотрит игрок.
get_eye_location()tableВернуть локацию глаз.
get_look_direction()tableВернуть единичное направление {x, y, z}.
send_block_change(x, y, z, material, ticks?=-1)int, int, int, string (Material), int?=-1boolОтправить блок только клиенту и при положительном числе тиков сбросить его; некорректные или неблочные материалы возвращают false.
reset_block(x, y, z)int, int, intboolПоставить в очередь восстановление реального блока для этого игрока.
sleep(x, y, z)number, number, numbernilПоставить в очередь принудительную анимацию сна и восстановить заменённый блок после пробуждения.
wake_up()nilПоставить в очередь пробуждение спящего игрока.
show_boss_bar(text, color?=WHITE, progress, ticks?=-1)string, string (BarColor)?=WHITE, number, int?=-1nilЗаменить активную сплошную полосу босса игрока и при положительном числе тиков скрыть её.
hide_boss_bar()nilУбрать активную Lua-полосу босса игрока.
show_action_bar(text, ticks?=-1)string, int?=-1nilОтправить один раз или повторять каждые 40 тиков до конца положительной длительности.
show_title(title, subtitle?="", fade_in, stay, fade_out)string, string?="", int, int, intnilПоказать заголовок; текст заголовка и подзаголовка обрабатывается цветовым парсером.

Таблица World

Таблица мира MagmaCore доступна как context.world; силы боссов EliteMobs наследуют её и применяют описанные далее переопределения.

Свойства

ПолеТипОписание
namestringСнимок имени мира.

Методы

МетодАргументыВозвращаетОписание
get_block_at(x, y, z)int, int, intstringВернуть имя Material в нижнем регистре или air, не подгружая незагруженный чанк.
set_block_at(x, y, z, material)int, int, int, string (Material)boolПоставить размещение блока в очередь; некорректные материалы возвращают false, а незагруженные чанки пропускаются задачей из очереди.
get_highest_block_y(x, z)int, intintВернуть наибольшую координату Y блока.
spawn_particle(particle, x, y, z, count?=1, dx?=0, dy?=0, dz?=0, speed?=0)string (Particle), number, number, number, int?=1, number?=0, number?=0, number?=0, number?=0nilСоздать частицу; некорректные имена ничего не делают.
play_sound(sound, x, y, z, volume?=1, pitch?=1)string (Sound), number, number, number, number?=1, number?=1nilВоспроизвести зарегистрированный звук или ключ звука ресурс-пака с пространством имён в нижнем регистре.
strike_lightning(x, y, z)number, number, numbernilУдарить молнией.
get_time()intВернуть время мира в тиках.
set_time(ticks)intnilЗадать время мира.
get_nearby_entities(x, y, z, radius)number, number, number, numbertableВернуть ближайшие таблицы Entity или Living Entity.
get_nearby_players(x, y, z, radius)number, number, number, numbertableВернуть ближайшие таблицы Player.
spawn_entity(type, x, y, z)string (EntityType), number, number, numbertable/nilСоздать ванильную сущность; некорректные типы возвращают nil.
raycast(from_x, from_y, from_z, dir_x, dir_y, dir_z, max_distance?=50)number, number, number, number, number, number, number?=50tableВернуть значения hit_entity, hit_location и hit_block.
place_temporary_block(x, y, z, material, ticks?=0, require_air?=false)int, int, int, string (Material), int?=0, bool?=falseboolРазместить временный блок; некорректные материалы или незагруженные чанки возвращают false.
drop_item(x, y, z, material, amount?=1)number, number, number, string (Material), int?=1table/nilВыбросить предмет естественным образом и вернуть его таблицу Entity; некорректные материалы возвращают nil.
spawn_firework(x, y, z, colors, type?=BALL, power?=1)number, number, number, table, string (FireworkEffect.Type)?=BALL, int?=1nilПоставить фейерверк в очередь, используя имена констант Bukkit Color; если ни одна не распознана, по умолчанию белый.
strike_lightning_at_location(location)tablenilУдарить молнией в мире из таблицы локации.
play_sound_at_location(location, sound, volume?=1, pitch?=1)table, string (Sound), number?=1, number?=1nilВоспроизвести зарегистрированный звук или ключ звука ресурс-пака с пространством имён в нижнем регистре.
spawn_particle_at_location(location, particle, count?=1, dx?=0, dy?=0, dz?=0, speed?=0)table, string (Particle), int?=1, number?=0, number?=0, number?=0, number?=0nilСоздать частицу в мире из таблицы локации.
get_block_at_location(location)tablestringВернуть имя материала в нижнем регистре или air для некорректной локации либо незагруженного чанка.
set_block_at_location(location, material)table, string (Material)boolПоставить в очередь размещение блока в мире из таблицы локации.
place_temporary_block_at_location(location, material, ticks?=0, require_air?=false)table, string (Material), int?=0, bool?=falseboolРазместить временный блок в мире из таблицы локации.
get_highest_block_y_at_location(location)tableint/nilВернуть наибольшую координату Y блока или nil для некорректной локации.

context.world: дополнения FreeMinecraftModels

FreeMinecraftModels регистрирует их в собственной таблице мира MagmaCore, поэтому они появляются в context.world в скриптах предметов и пропсов FreeMinecraftModels. Каждый метод возвращает false, если EliteMobs не включён или игрок не распознан, и использует локацию игрока, если аргумент локации отсутствует или непригоден.

Методы

МетодАргументыВозвращаетОписание
drop_elitemobs_procedural_loot(player, level, location?)table/string, int, table?boolВыбросить один процедурно сгенерированный предмет EliteMobs для игрока; возвращает false, если выпадение процедурных предметов отключено.
drop_elitemobs_random_loot(player, level, location?)table/string, int, table?boolПрокрутить таблицы добычи EliteMobs для игрока на заданном уровне.
drop_elitemobs_custom_loot(player, file, level, location?)table/string, string, int, table?boolВыбросить конкретный файл кастомного предмета EliteMobs для игрока; возвращает false, если файл не распознан.

Аргумент player принимает таблицу игрока, строку UUID или точное имя игрока. Аргумент location принимает таблицу локации либо таблицу сущности, содержащую current_location.

Вспомогательная таблица em

MagmaCore предоставляет эту таблицу глобально до запуска любого хука скрипта.

Свойства

Конструкторы-помощники возвращают приведённые ниже компактные таблицы данных.

ПолеТипОписание
location.xnumberКоордината X, возвращаемая em.create_location.
location.ynumberКоордината Y, возвращаемая em.create_location.
location.znumberКоордината Z, возвращаемая em.create_location.
location.worldstring/nilИмя мира, если оно передано в em.create_location.
location.yawnumber/nilYaw, если он передан в em.create_location.
location.pitchnumber/nilPitch, если он передан в em.create_location.
vector.xnumberКомпонента X, возвращаемая em.create_vector.
vector.ynumberКомпонента Y, возвращаемая em.create_vector.
vector.znumberКомпонента Z, возвращаемая em.create_vector.
zone.kindstringsphere, dome, cylinder, cuboid, cone, static_ray, rotating_ray или translating_ray.
zone.radiusnumber/nilРадиус сферы, купола, цилиндра или конуса.
zone.heightnumber/nilВысота цилиндра.
zone.xnumber/nilРазмер кубоида по X.
zone.ynumber/nilРазмер кубоида по Y.
zone.znumber/nilРазмер кубоида по Z.
zone.lengthnumber/nilДлина конуса или луча.
zone.thicknessnumber/nilТолщина статического луча.
zone.point_radiusnumber/nilРадиус точки вращающегося или перемещающегося луча.
zone.animation_durationnumber/nilДлительность анимации вращающегося или перемещающегося луча.
zone.origintable/nilЛокация, заданная через set_center или set_origin.
zone.destinationtable/nilЛокация, заданная через set_destination.

Методы

МетодАргументыВозвращаетОписание
em.create_location(x, y, z, world?, yaw?, pitch?)number, number, number, string?, number?, number?tableВернуть таблицу локации.
em.create_vector(x, y, z)number, number, numbertableВернуть таблицу вектора {x, y, z}.
location.add(dx?=0, dy?=0, dz?=0)number?=0, number?=0, number?=0tableПрибавить на месте и вернуть ту же таблицу локации.
em.zone.create_sphere_zone(radius)numbertableВернуть определение сферы с set_center(location).
em.zone.create_dome_zone(radius)numbertableВернуть определение купола с set_center(location).
em.zone.create_cylinder_zone(radius, height)number, numbertableВернуть определение цилиндра с set_center(location).
em.zone.create_cuboid_zone(x, y, z)number, number, numbertableВернуть определение кубоида с set_center(location).
em.zone.create_cone_zone(length, radius)number, numbertableВернуть определение конуса с set_origin(location) и set_destination(location).
em.zone.create_static_ray_zone(length, thickness)number, numbertableВернуть определение статического луча с сеттерами origin и destination.
em.zone.create_rotating_ray_zone(length, point_radius, animation_duration)number, number, numbertableВернуть определение вращающегося луча с сеттерами origin и destination.
em.zone.create_translating_ray_zone(length, point_radius, animation_duration)number, number, numbertableВернуть определение перемещающегося луча с сеттерами origin и destination.
zone.set_center(location)tabletableЗадать центр как zone.origin и вернуть ту же таблицу зоны.
zone.set_origin(location)tabletableЗадать origin и вернуть ту же таблицу зоны.
zone.set_destination(location)tabletableЗадать destination и вернуть ту же таблицу зоны.
em.location.is_in_dungeon(location)tableboolПроверить зарегистрированные регионы подземелий и владельцев, сообщающих о типе dungeon.
em.location.is_protected(location)tableboolПроверить встроенные адаптеры WorldGuard/GriefPrevention и зарегистрированных плагинами владельцев защиты.
em.location.owned_by(location, namespace)table, stringboolПроверить владение по пространству имён плагина.
em.location.owners(location)tabletableВернуть массив строк с пространствами имён владельцев.
em.location.kinds_at(location)tabletableВернуть массив строк с типами владения.
em.location.has_kind(location, kind)table, stringboolПроверить тип владения.

context.state

Каждый экземпляр скрипта MagmaCore получает обычную таблицу Lua, которая сохраняется на всё время жизни этого экземпляра. Используйте её для счётчиков, флагов, идентификаторов задач и значений, разделяемых между хуками.

context.state.counter = (context.state.counter or 0) + 1

context.log

Методы MagmaCore, FreeMinecraftModels и NPC EliteMobs

МетодАргументыВозвращаетОписание
info(message)stringnilЗаписать информационное сообщение с общим префиксом Lua.
warn(message)stringnilЗаписать предупреждение.
error(message)stringnilЗаписать через общий канал предупреждений.

Методы сил боссов EliteMobs

МетодАргументыВозвращаетОписание
info(message)stringnilЗаписать информационное сообщение о силе босса.
warn(message)stringnilЗаписать предупреждение.
debug(message)stringnilЗаписать информационное сообщение с отладочным префиксом Lua-силы.

context.scheduler

Запланированные задачи принадлежат экземпляру скрипта и отменяются при его завершении. Оба приведённых ниже семейства имён доступны на общих поверхностях MagmaCore и в силах боссов EliteMobs.

МетодАргументыВозвращаетОписание
run_later(ticks, callback)int, functionintВыполнить один раз после задержки и вернуть ID задачи Bukkit.
run_repeating(delay, interval, callback)int, int, functionintВыполнять повторно после начальной задержки и вернуть ID задачи.
cancel(task_id)intnilОтменить принадлежащую скрипту задачу.
run_after(ticks, callback)int, functionintПсевдоним для run_later.
run_every(interval, callback)int, functionintВыполнять повторно без начальной задержки и вернуть ID задачи.
cancel_task(task_id)intnilПсевдоним для cancel.

context.cooldowns

Локальные перезарядки привязаны к одному владельцу скрипта и определению; глобальные перезарядки общие для одного владельца. Если локальный ключ опущен, используется __lua: плюс имя файла скрипта. Силы боссов EliteMobs предоставляют те же имена методов, но локальные значения используют общее хранилище перезарядок босса, а глобальные — его встроенную перезарядку силы.

МетодАргументыВозвращаетОписание
local_ready(key?)string?boolПроверить, готова ли локальная перезарядка по ключу.
local_remaining(key?)string?intВернуть оставшиеся тики или 0, если готово.
check_local(key, duration)string/nil, intboolЕсли готово, запустить перезарядку и вернуть true. Для ключа по умолчанию передайте nil.
set_local(duration, key?)int, string?nilЗадать или сбросить локальную перезарядку; неположительная длительность сбрасывает её.
global_ready()boolПроверить, готова ли глобальная перезарядка владельца.
set_global(duration)intnilЗадать глобальную перезарядку в тиках. На общих поверхностях MagmaCore неположительная длительность сбрасывает её.

context.zones: общая поверхность MagmaCore

Скрипты FreeMinecraftModels, NPC-скрипты EliteMobs и другие стандартные потребители MagmaCore получают целочисленные дескрипторы зон в мире текущего владельца скрипта.

МетодАргументыВозвращаетОписание
create_sphere(x, y, z, radius)number, number, number, numberint/nilЗарегистрировать сферу и вернуть её дескриптор или nil, если у владельца нет мира.
create_cylinder(x, y, z, radius, height)number, number, number, number, numberint/nilЗарегистрировать цилиндр и вернуть его дескриптор или nil, если у владельца нет мира.
create_cuboid(x, y, z, x_size, y_size, z_size)number, number, number, number, number, numberint/nilЗарегистрировать кубоид и вернуть его дескриптор или nil, если у владельца нет мира.
watch(handle, on_enter?, on_leave?)int, function?, function?bool/nilВключить отслеживание границ для известного дескриптора. Наличие функции включает соответствующий хук on_zone_enter или on_zone_leave; тело переданной функции напрямую не вызывается.
unwatch(handle)intnilПрекратить отслеживание и удалить дескриптор.

Обобщённые хуки зон предоставляют пересекающего границу игрока через context.player и context.event.player.

context.event: общая поверхность MagmaCore

Эта таблица существует, пока у общего хука есть текущее событие Bukkit или действующее лицо. Она отсутствует в запланированных обратных вызовах и в хуках без обоих этих значений.

Поле или методТипОписание
is_cancelledboolСостояние отмены, зафиксированное на момент построения таблицы контекста; вызовы cancel() или uncancel() не обновляют это поле.
cancel()методОтменить текущее событие. Присутствует, только если оно реализует Bukkit Cancellable.
uncancel()методСнять отмену текущего события. Присутствует, только если оно реализует Bukkit Cancellable.
playertableТаблица Living Entity для текущего действующего лица, если оно доступно.

Обобщённые хуки зон предоставляют действующее лицо, но не отменяемое событие Bukkit, поэтому они выдают is_cancelled = false и player без cancel() и uncancel().

context.item

Скрипты предметов FreeMinecraftModels получают эту таблицу для соответствующего экипированного скриптового предмета.

Свойства

ПолеТипОписание
idstringИдентификатор скриптового предмета.

Методы

МетодАргументыВозвращаетОписание
material()string/nilВернуть имя Material в верхнем регистре или nil, если предмет не экипирован.
get_amount()intВернуть количество в стаке или 0, если предмет не экипирован.
set_amount(amount)intnilПоставить в очередь установку количества в стаке.
consume(amount?=1)int?=1nilПоставить в очередь уменьшение количества в стаке.
get_uses()intВернуть постоянный счётчик использований, по умолчанию 0.
set_uses(uses)intnilПоставить в очередь установку постоянного счётчика использований.
get_durability()table/nilВернуть {current, max} или nil, если у предмета нет полосы прочности.
get_durability_percentage()number/nilВернуть оставшуюся прочность от 0.0 до 1.0 или nil.
use_durability(amount, can_break?=false)int, bool?=falsenilПоставить в очередь фиксированный урон прочности и ограничить его одной оставшейся единицей, если поломка не разрешена.
use_durability_percentage(fraction, can_break?=false)number, bool?=falsenilПоставить в очередь урон прочности, равный доле от максимальной прочности.
get_name()string/nilВернуть отображаемое имя или nil, если его нет.
set_name(name)stringnilПоставить в очередь установку отображаемого имени с обработкой цветовых кодов.
get_lore()tableВернуть массив строк описания.
set_lore(lore)tablenilПоставить в очередь установку строк описания с обработкой цветовых кодов.

context.prop

Скрипты пропсов FreeMinecraftModels получают эту таблицу, которая наследует таблицу Entity MagmaCore, если существует опорная сущность.

Свойства

ПолеТипОписание
model_idstring/nilИмя чертежа модели или nil, если чертежа нет.
current_locationtable/nilАктуальная локация пропа.

Методы

МетодАргументыВозвращаетОписание
play_animation(name, blend?=true, loop?=true)string, bool?=true, bool?=trueboolВоспроизвести именованную анимацию.
stop_animation()nilОстановить все текущие анимации.
hurt_visual()nilПроиграть красную визуальную реакцию на урон без нанесения урона.
pickup()nilПоставить в очередь окончательное удаление и выбросить предмет размещения.
has_mount_points()boolПроверить, есть ли у пропа кости точек посадки.
mount(player)tableboolПоставить в очередь посадку распознанного игрока на первое свободное место.
dismount(player)tableboolПоставить в очередь высадку распознанного игрока с этого пропа.
get_passengers()tableВернуть таблицы Entity сидящих игроков.
spawn_elitemobs_boss(file, x, y, z)string, number, number, numbertable/nilСоздать кастомного босса EliteMobs, если EliteMobs включён.
open_inventory(player, title, rows?=3)table, string, int?=3boolПоставить в очередь открытие постоянного хранилища; число рядов ограничено диапазоном от 1 до 6.
place_book(player)tableboolПоставить в очередь сохранение одной находящейся в руке подписанной или пустой книги, если у пропа книги нет.
read_book(player)tableboolПоставить в очередь открытие сохранённой подписанной книги.
take_book(player)tableboolПоставить в очередь возврат сохранённой книги игроку.
has_book()boolПроверить, хранит ли проп книгу.
drop_inventory()boolПоставить в очередь очистку постоянного хранилища и выбрасывание его предметов.
drop_book()boolПоставить в очередь очистку и выбрасывание сохранённой книги.
is_viewing_inventory(player)tableboolПроверить, просматривает ли игрок отслеживаемый инвентарь этого пропа.
set_persistent_data(key, value)string, stringboolСохранить строку под ключом fmm_lua_, ограниченным этим пропом.
get_persistent_data(key)stringstring/nilВернуть сохранённую строку или nil.

context.npc

NPC-скрипты EliteMobs наследуют общие контексты MagmaCore и добавляют эту специфичную для NPC таблицу.

Свойства

ПолеТипОписание
namestringНастроенное отображаемое имя NPC.
filenamestringИмя файла конфигурации NPC.
uuidstringUUID NPC во время выполнения.
activation_radiusnumberНастроенный радиус активации.
current_locationtableСнимок локации, присутствует только пока существует опорная живая сущность.
entity_typestringТип сущности Bukkit в верхнем регистре, присутствует только пока существует опорная живая сущность.

Методы

МетодАргументыВозвращаетОписание
is_valid()boolПроверить, валиден ли NPC.
get_location()tableВернуть текущую локацию NPC, откатываясь к локации его появления. Таблица также включает вектор direction.
get_eye_location()tableВернуть текущую локацию глаз, откатываясь к локации появления. Таблица также включает вектор direction.
get_activation_radius()numberВернуть текущий настроенный радиус активации.
get_nearby_players(radius)numbertableВернуть ближайшие таблицы Player.
face_direction_or_location(target)tablenilПовернуться по вектору направления или посмотреть в сторону локации.
say_greeting(player?)table/string?nilОтправить настроенное приветствие, по умолчанию — вызвавшему игроку, если он доступен. Принимается таблица игрока, UUID или имя.
say_dialog(player?)table/string?nilОтправить настроенный диалог с тем же способом распознавания игрока.
say_farewell(player?)table/string?nilОтправить настроенное прощание с тем же способом распознавания игрока.
play_model_animation(name)stringnilВоспроизвести анимацию модели, если существует кастомная модель.

Таблица ссылок на сущность в силах EliteMobs

Методы сил боссов EliteMobs возвращают эту облегчённую таблицу для неживых сущностей — снарядов, фейерверков и падающих блоков.

Свойства

ПолеТипОписание
namestringСнимок имени сущности.
uuidstringUUID сущности.
entity_typestringСнимок типа сущности Bukkit в верхнем регистре.
is_playerboolВсегда false.
is_eliteboolВсегда false.
is_mountboolFalse, если только босс не пометит возвращённую таблицу ездового животного как true.
current_locationtableСнимок локации.

Методы

МетодАргументыВозвращаетОписание
is_valid()boolПроверить актуальную валидность.
get_location()tableВернуть актуальную локацию.
get_velocity()tableВернуть актуальную скорость.
is_on_ground()boolПроверить актуальное состояние нахождения на земле.
teleport_to_location(location)tablenilТелепортировать, если локация распознана.
set_velocity_vector(vector)tablenilЗадать скорость, если вектор распознан.
set_direction_vector(vector)tablenilЗадать направление огненного шара, если применимо.
set_yield(amount)numbernilЗадать мощность огненного шара, если применимо.
set_gravity(enabled)boolnilЗадать гравитацию.
detonate()nilВзорвать, если сущность является фейерверком.
remove()nilУдалить сущность.
unregister(reason?=OTHER)string?=OTHERnilСнять с учёта, используя DEATH, PHASE_BOSS_RESET, PHASE_BOSS_PHASE_END, CHUNK_UNLOAD, WORLD_UNLOAD, SHUTDOWN, EFFECT_TIMEOUT, BOSS_TIMEOUT, NPC_TIMEOUT, OTHER, UNSPECIFIED_WATCHDOG_REMOVAL, REMOVE_COMMAND, KILL_COMMAND, REINFORCEMENT_CULL, ENTITY_REPLACEMENT или ARENA_RESET.
is_inside_vehicle()boolПроверить, едет ли сущность на транспорте.
has_vehicle()boolПроверить, существует ли транспорт.
get_vehicle()table/nilВернуть ссылку на текущий транспорт.
set_vehicle(vehicle)tableboolПосадить эту сущность на распознанный транспорт.
leave_vehicle()boolПокинуть текущий транспорт.
has_passengers()boolПроверить, есть ли пассажиры.
get_passenger_count()intВернуть количество пассажиров.
get_passengers()tableВернуть ссылки на пассажиров.
add_passenger(passenger)tableboolДобавить распознанного пассажира.
remove_passenger(passenger)tableboolУбрать распознанного пассажира.
eject_passengers()boolВысадить всех пассажиров.

Таблица живой сущности в силах EliteMobs

Значения живых сущностей в силах боссов EliteMobs используют эту отдельную таблицу; таблицы Boss и Player сил EliteMobs наследуют её.

Свойства

ПолеТипОписание
namestringСнимок имени сущности.
uuidstringUUID сущности.
entity_typestringСнимок типа сущности Bukkit в верхнем регистре.
is_playerboolЯвляется ли сущность игроком.
is_monsterboolРеализует ли сущность Bukkit Monster.
is_eliteboolОтслеживает ли EliteMobs эту сущность.
is_mountboolЯвляется ли отслеживаемый кастомный босс ездовым животным.
is_validboolСнимок валидности.
healthnumberСнимок здоровья.
maximum_healthnumberСнимок максимального здоровья.
current_locationtableСнимок локации.

Методы

МетодАргументыВозвращаетОписание
is_alive()boolПроверить актуальную валидность и состояние смерти.
is_ai_enabled()boolВернуть актуальное состояние ИИ.
is_frozen()boolВернуть настройку заморозки кастомного босса EliteMobs или false.
get_location()tableВернуть актуальную локацию.
get_eye_location()tableВернуть актуальную локацию глаз.
get_height()numberВернуть высоту сущности Bukkit.
get_health()numberВернуть актуальное здоровье.
get_maximum_health()numberВернуть актуальное максимальное здоровье.
get_velocity()tableВернуть актуальную скорость.
deal_damage(amount)numbernilНанести обычный урон Bukkit.
deal_custom_damage(amount)numbernilНанести кастомный урон EliteMobs от босса, которому принадлежит сила.
deal_damage_from_boss(amount)numbernilНанести урон Bukkit, приписанный боссу, которому принадлежит сила.
restore_health(amount)numbernilЛечить через EliteMobs, если сущность отслеживается, иначе ограничить здоровье Bukkit максимумом.
play_sound_at_entity(sound, volume_or_options?=1, pitch?=1)string (Sound), number/table?=1, number?=1nilВоспроизвести зарегистрированный или кастомный звук с пространством имён у сущности. Вторым аргументом можно передать {volume, pitch}.
play_sound_at_self(sound, volume_or_options?=1, pitch?=1)string (Sound), number/table?=1, number?=1nilПсевдоним, воспроизводящий звук у сущности. Вторым аргументом можно передать {volume, pitch}.
spawn_particle_at_self(particle, count?=1)string (Particle)/table, int?=1nilСоздать у сущности частицу по строке или по таблице спецификации частицы.
spawn_particles_at_location(location, particle, count?=1, dx?=0, dy?=0, dz?=0, speed?=0)table, string (Particle), int?=1, number?=0, number?=0, number?=0, number?=0nilСоздать частицу в локации.
teleport_to_location(location)tablenilТелепортировать, если локация распознана.
set_velocity_vector(vector)tablenilЗадать скорость, если вектор распознан.
set_gravity(enabled)boolnilЗадать гравитацию.
is_on_ground()boolПроверить актуальное состояние нахождения на земле.
apply_push_vector(vector, additive?=false, delay?=1)table, bool?=false, int?=1nilПрименить скорость после задержки, при необходимости добавляя её к текущей.
set_custom_name(name)stringnilЗадать кастомное имя с обработкой цветовых кодов.
reset_custom_name()nilВосстановить имя EliteMobs, если сущность отслеживается, иначе имя Bukkit.
set_custom_name_visible(visible)boolnilЗадать видимость кастомного имени.
set_ai_enabled(enabled, duration?=0)bool, int?=0nilЗадать ИИ и переключить в противоположное состояние после положительного числа тиков.
set_awareness_enabled(enabled, duration?=0)bool, int?=0nilЗадать осведомлённость моба и переключить в противоположное состояние после положительного числа тиков.
face_direction_or_location(target)tablenilПовернуться по вектору или к локации в том же мире.
play_model_animation(name)stringnilВоспроизвести анимацию кастомной модели, если она доступна.
set_scale(scale, duration?=0)number, int?=0nilЗадать масштаб и сбросить его в 1.0 после положительного числа тиков.
set_invulnerable(enabled, duration?=0)bool, int?=0nilЗадать неуязвимость с помощью помощника длительности EliteMobs.
remove_elite()nilУдалить отслеживаемого элиту через конвейер удаления EliteMobs.
is_healing()boolПроверить состояние лечения отслеживаемого элиты.
set_healing(enabled)boolnilЗадать состояние лечения отслеживаемого элиты.
navigate_to_location(location, speed?=1, force?=false, timeout?=0)table, number?=1, bool?=false, int?=0nilНаправить отслеживаемого кастомного босса.
add_tag(tag, duration?=0)string, int?=0nilДобавить тег и убрать его после положительного числа тиков.
remove_tag(tag)stringnilУбрать тег.
has_tag(tag)stringboolПроверить тег сущности, элиты или игрока.
push_relative_to(location, force?=1, extra_x?=0, extra_y?=0, extra_z?=0)table, number?=1, number?=0, number?=0, number?=0nilОттолкнуть от исходной локации плюс необязательные смещения.
overlaps_box_at_location(center, half_x?=0.5, half_y?=half_x, half_z?=half_x)table, number?=0.5, number?, number?boolПроверить ограничивающий параллелепипед сущности на пересечение с запрошенным.
is_inside_vehicle()boolПроверить, едет ли сущность на транспорте.
has_vehicle()boolПроверить, существует ли транспорт.
get_vehicle()table/nilВернуть ссылку на текущий транспорт.
set_vehicle(vehicle)tableboolПосадить эту сущность на распознанный транспорт.
leave_vehicle()boolПокинуть текущий транспорт.
has_passengers()boolПроверить, есть ли пассажиры.
get_passenger_count()intВернуть количество пассажиров.
get_passengers()tableВернуть ссылки на пассажиров.
add_passenger(passenger)tableboolДобавить распознанного пассажира.
remove_passenger(passenger)tableboolУбрать распознанного пассажира.
eject_passengers()boolВысадить всех пассажиров.
apply_potion_effect(type, duration, amplifier?=0)string (PotionEffectType), int, int?=0nilПрименить эффект зелья.
set_equipment(slot, material, options?)string (EquipmentSlot), string (Material), table?nilЗадать снаряжение; options поддерживают unbreakable и записи enchantments с type и level.
set_fire_ticks(ticks)intnilЗадать тики горения.
add_visual_freeze_ticks(ticks?=1)int?=1nilДобавить тики обморожения.
place_temporary_block(material, ticks?=0, require_air?=false)string (Material), int?=0, bool?=falsenilРазместить временный блок у сущности.

Таблица игрока в силах EliteMobs

Значения игроков в силах боссов EliteMobs наследуют все свойства и методы таблицы живой сущности в силах EliteMobs.

Свойства

ПолеТипОписание
game_modestringСнимок игрового режима Bukkit в верхнем регистре.

Методы

МетодАргументыВозвращаетОписание
send_message(text)stringnilОтправить текст чата с обработкой цветовых кодов.
show_action_bar(text)stringnilОтправить панель действий с обработкой цветовых кодов.
show_title(title, subtitle?="", fade_in?=10, stay?=40, fade_out?=10)string, string?="", int?=10, int?=40, int?=10nilПоказать заголовок с обработкой цветовых кодов.
show_boss_bar(title, color?=WHITE, style?=SOLID, duration?=40)string, string (BarColor)?=WHITE, string (BarStyle)?=SOLID, int?=40nilПоказать полосу босса и убрать её после положительного числа тиков.
run_command(command)stringnilВыполнить команду от имени игрока.

context.boss

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

Свойства

ПолеТипОписание
namestringСнимок отображаемого имени элиты или имени файла скрипта.
uuidstringUUID элиты.
healthnumberСнимок здоровья элиты.
maximum_healthnumberСнимок максимального здоровья элиты.
current_locationtableСнимок локации элиты.
levelintСнимок уровня элиты.
damager_countintСнимок количества наносящих урон.
is_in_combatboolСнимок состояния боя.
existsboolСнимок существования элиты.

Методы

МетодАргументыВозвращаетОписание
is_alive()boolПроверить живую сущность и состояние существования в EliteMobs.
get_health()numberВернуть актуальное здоровье элиты.
get_maximum_health()numberВернуть актуальное максимальное здоровье элиты.
get_location()tableВернуть актуальную локацию элиты.
restore_health(amount)numbernilЛечить через сущность EliteMobs.
add_tag(tag, duration?=0)string, int?=0nilДобавить тег элиты и убрать его после положительного числа тиков.
remove_tag(tag)stringnilУбрать тег элиты.
has_tag(tag)stringboolПроверить тег элиты.
reset_custom_name()nilВосстановить отображаемое имя элиты.
play_sound_at_self(sound, volume_or_options?=1, pitch?=1)string (Sound), number/table?=1, number?=1nilВоспроизвести зарегистрированный или кастомный звук с пространством имён в локации элиты. Вторым аргументом можно передать {volume, pitch}.
play_sound_at_entity(sound, volume_or_options?=1, pitch?=1)string (Sound), number/table?=1, number?=1nilПсевдоним, воспроизводящий звук в локации элиты. Вторым аргументом можно передать {volume, pitch}.
spawn_particle_at_self(particle, count?=1)string (Particle)/table, int?=1nilСоздать частицу в локации элиты.
play_model_animation(name)stringnilВоспроизвести анимацию модели кастомного босса, если она доступна.
navigate_to_location(location, speed?=1, force?=false, timeout?=0)table, number?=1, bool?=false, int?=0nilНаправить кастомного босса.
get_damager_count()intВернуть актуальное количество наносящих урон.
despawn()nilУдалить элиту с причиной OTHER.
get_ender_dragon_phase()string/nilВернуть имя EnderDragon.Phase или nil.
set_ender_dragon_phase(phase)string (EnderDragon.Phase)nilЗадать корректную фазу дракона Края.
has_mount()boolПроверить, есть ли у босса живое ездовое животное.
get_mount()table/nilВернуть ссылку на ездовое животное, помеченную is_mount = true.
set_mount(mount)tableboolПосадить босса на распознанную сущность.
clear_mount()boolПокинуть текущий транспорт.
dismount()boolПсевдоним для clear_mount().
start_tracking_fireball_system(speed?=0.5)number?=0.5nilЗапустить поведение самонаводящегося огненного шара для босса-монстра.
handle_spirit_walk_damage(cause)string (DamageCause)nilВыполнить обработку урона Spirit Walk.
shield_wall_is_active()boolПроверить состояние щитовой стены.
initialize_shield_wall(charges?=1)int?=1nilИнициализировать щитовую стену.
shield_wall_absorb_damage(player, damage)table, numberboolПопытаться поглотить урон игрока.
deactivate_shield_wall()nilДеактивировать щитовую стену.
start_zombie_necronomicon(target, file)table, stringnilЗапустить обработку Zombie Necronomicon для живой цели.
send_message(text, range?=20)string, number?=20nilОтправить текст с обработкой цветовых кодов игрокам в пределах радиуса.
get_nearby_players(range)numbertableВернуть ближайшие таблицы игроков сил EliteMobs.
get_target_player()table/nilВернуть текущую цель моба, если это игрок.
get_nearby_players_in_zone(zone)tabletableВернуть игроков, находящихся внутри зоны.
spawn_particles_in_zone(zone, particle, count?=1, dx?=0, dy?=0, dz?=0, speed?=0, coverage?=1)table, string (Particle), int?=1, number?=0, number?=0, number?=0, number?=0, number?=1nilВыбрать точки внутри зоны и создать частицы.
spawn_particles_in_zone_border(zone, particle, count?=1, dx?=0, dy?=0, dz?=0, speed?=0, coverage?=1)table, string (Particle), int?=1, number?=0, number?=0, number?=0, number?=0, number?=1nilВыбрать точки на границе зоны и создать частицы.
get_particles_from_self_toward_zone(zone, particle, speed?=0.1)table, string (Particle), number?=0.1tableПостроить направленные спецификации частиц от босса к выбранным точкам зоны.
get_particles_toward_self(zone, particle, speed)table, string (Particle), numbertableПостроить направленные спецификации частиц к боссу; текущий построитель считывает скорость из последнего переданного аргумента.
spawn_particles_with_vector(particles)tablenilСоздать массив направленных спецификаций частиц.
summon_reinforcement(file, zone_or_location?, level?=0)string, table?, int?=0table/nilПризвать подкрепление в выбранной точке зоны, в локации или у босса.
summon_projectile(type, origin, destination, speed?=1, options?)string (EntityType), table, table, number?=1, table?table/nilСоздать снаряд; options поддерживают custom_damage, detonation_power, yield, incendiary, gravity, glowing, invulnerable, persistent, duration, effect из EntityEffect, spawn_at_origin, direction_only, track, on_land и max_ticks.

context.players: силы боссов EliteMobs

МетодАргументыВозвращаетОписание
current_target()table/nilВернуть действующее лицо события, если это игрок, иначе текущую цель моба у босса, если это игрок.
nearby_players(radius)numbertableВернуть таблицы Player в пределах радиуса от босса.
all_players_in_world()tableВернуть все таблицы Player в текущем мире босса.

context.entities: силы боссов EliteMobs

Эти запросы исключают самого босса. Фильтры живых сущностей принимают player/players, elite/elites, mob/mobs или любое другое значение для всех живых сущностей.

МетодАргументыВозвращаетОписание
get_nearby_entities(radius, filter?="living")number, string?tableВернуть сущности в пределах радиуса. all или entities включает неживые сущности; другие фильтры возвращают таблицы живых сущностей.
get_entities_in_box(center, half_x, half_y, half_z, filter?="living")table, number, number, number, string?tableВернуть живые сущности внутри параллелепипеда, выровненного по осям.
get_all_entities(filter?="living")string?tableВернуть подходящие живые сущности в мире босса.
get_direct_target_entity()table/nilВернуть прямую цель, предоставленную текущим хуком.
get_boss_spawn_location()tableВернуть исходную локацию появления босса.

context.vectors: силы боссов EliteMobs

МетодАргументыВозвращаетОписание
get_vector_between_locations(source, destination, options?)table, table, table?tableВернуть вектор между локациями в одном мире или {x=0,y=0,z=0} для некорректного либо межмирового ввода. Options поддерживают normalize, multiplier и векторный offset.
rotate_vector(vector, pitch?=0, yaw?=0)table, number?=0, number?=0tableВернуть вектор, повёрнутый на pitch и yaw в градусах.
normalize_vector(vector)tabletableВернуть единичный вектор; нулевой вектор остаётся нулевым.

context.zones: силы боссов EliteMobs

Силы боссов EliteMobs заменяют общую поверхность зон с целочисленными дескрипторами запросами к определениям зон Elite Script.

МетодАргументыВозвращаетОписание
get_entities_in_zone(zone, options?)table, table?tableВернуть подходящие живые сущности. Options поддерживают filter и mode = "full" либо "border".
get_locations_in_zone(zone, options?)table, table?tableВернуть выбранные локации. Options поддерживают coverage и mode = "full" либо "border".
zone_contains(zone, location, mode?="full")table, table, string?boolПроверить, находится ли локация во всей фигуре или на границе.
watch_zone(zone, callbacks, options?)table, table, table?nilНаблюдать с обратными вызовами {on_enter, on_leave}. Options поддерживают filter и mode; принадлежащее скрипту наблюдение прекращается вместе с ним.

context.script: силы боссов EliteMobs

Этот мост принимает те же ключи таблиц, что и YAML-конфигурация целей, зон и относительных векторов Elite Script.

Методы

МетодАргументыВозвращаетОписание
target(spec)tableдескриптор целиСоздать дескриптор цели.
zone(spec)tableдескриптор зоныСоздать дескриптор зоны.
relative_vector(spec, location?, zone?)table, table?, дескриптор зоны?дескриптор вектораСоздать дескриптор относительного вектора, по умолчанию привязав его локацию действия к боссу.
damage(target, amount?=0, multiplier?=1)дескриптор цели, number?=0, number?=1nilНанести урон каждой распознанной целевой сущности.
push(target, vector, additive?=false)дескриптор цели, table/дескриптор вектора, bool?=falsenilПрименить скорость к распознанным целевым сущностям.
set_facing(target, vector)дескриптор цели, table/дескриптор вектораnilПовернуть распознанные целевые сущности вдоль вектора.
spawn_particles(target, particles)дескриптор цели, table/stringnilСоздать частицы по спецификации в распознанных целевых локациях.

Методы дескриптора цели

МетодАргументыВозвращаетОписание
entities()tableРаспознать и вернуть таблицы Entity.
locations()tableРаспознать и вернуть таблицы локаций.
first_entity()table/nilВернуть первую распознанную сущность.
first_location()table/nilВернуть первую распознанную локацию.

Методы дескриптора зоны

МетодАргументыВозвращаетОписание
full_target(coverage?)number?дескриптор целиСоздать дескриптор цели для внутренней области фигуры.
border_target(coverage?)number?дескриптор целиСоздать дескриптор цели для границы.
full_locations(coverage?)number?tableРаспознать выбранные внутренние локации.
border_locations(coverage?)number?tableРаспознать выбранные локации на границе.
full_entities()tableРаспознать сущности внутри фигуры.
border_entities()tableРаспознать сущности на границе.
contains(location, mode?="full")table, string?boolПроверить принадлежность всей фигуре или границе.
watch(callbacks, mode?="full")table, string?intЗапустить принадлежащее скрипту наблюдение {on_enter, on_leave} и вернуть ID его задачи.

Методы дескриптора относительного вектора

МетодАргументыВозвращаетОписание
resolve()tableРаспознать вектор для текущего контекста.

Таблица событий в силах EliteMobs

Значения событий в силах боссов EliteMobs предоставляют поля и методы в зависимости от типа события.

Свойства

ПолеТипОписание
damage_amountnumber/nilСнимок величины урона из события урона.
damage_causestring/nilИмя DamageCause, если событие урона его предоставляет.
damagertable/nilСсылка на наносящего урон из события урона сущностью.
projectiletable/nilСсылка на снаряд, если урон наносит снаряд.
spawn_reasonstring/nilПричина появления элиты.
entitytable/nilСущность события смерти или события зоны.

Методы

МетодАргументыВозвращаетОписание
cancel_event()nilОтменить EliteDamageEvent или другое отменяемое событие.
set_damage_amount(amount)numbernilЗаменить урон EliteDamageEvent.
multiply_damage_amount(multiplier)numbernilУмножить урон EliteDamageEvent.

context.world: дополнения и переопределения EliteMobs

Силы боссов EliteMobs наследуют все строки таблицы World из MagmaCore и добавляют либо переопределяют приведённые ниже методы.

Методы

МетодАргументыВозвращаетОписание
play_sound_at_location(location, sound, volume?=1, pitch?=1)table, string (Sound), number?=1, number?=1nilПереопределение, принимающее зарегистрированные или кастомные звуки с пространством имён через поддержку EliteMobs.
spawn_particle_at_location(location, particle, count?=1)table, string (Particle)/table, int?=1nilПереопределение, принимающее таблицу спецификации частицы EliteMobs.
set_block_at_location(location, material, require_air?=false)table, string (Material), bool?=falsenilПереопределение, использующее размещение временного блока EliteMobs без истечения срока.
place_temporary_block_at_location(location, material, ticks?=0, require_air?=false)table, string (Material), int?=0, bool?=falsenilПереопределение, использующее размещение временного блока EliteMobs.
get_block_type_at_location(location)tablestring/nilВернуть имя Material в верхнем регистре или nil для некорректной локации.
get_highest_block_y_at_location(location)tableint/nilПереопределение, возвращающее наибольшую координату Y блока или nil.
get_blast_resistance_at_location(location)tablenumberВернуть взрывоустойчивость блока, по умолчанию 0 для некорректной локации.
is_air_at_location(location)tableboolПроверить, является ли целевой блок воздухом.
is_passable_at_location(location)tableboolПроверить проходимость по Bukkit.
is_passthrough_at_location(location)tableboolПроверить, что материал не является твёрдым.
is_on_floor_at_location(location)tableboolПроверить, что целевой блок не твёрдый, а блок под ним твёрдый.
is_standing_on_material(location, material)table, string (Material)boolПроверить блок ниже.
strike_lightning_at_location(location)tablenilПереопределение, включающее обход молнии EliteMobs перед ударом.
run_empowered_lightning_task_at_location(location)tablenilВыполнить поддержку усиленной молнии дракона Края.
set_world_time(time) / set_world_time(location, time)int/table, int?nilЗадать время в мире босса или в мире переданной локации.
set_world_weather(weather, duration?=6000) / set_world_weather(location, weather, duration?=6000)string/table, string/int?, int?=6000nilЗадать CLEAR, PRECIPITATION, RAIN или THUNDER.
run_console_command(command)stringnilВыполнить команду от имени консоли.
spawn_boss_at_location(file, location?, level?)string, table?, int?table/nilСоздать кастомного босса в переданной или текущей локации с переданным или текущим уровнем.
spawn_custom_boss_at_location(file, location, options?)string, table, table?table/nilСоздать кастомного босса; options поддерживают silent, level, add_as_reinforcement и velocity.
spawn_entity_at_location(type, location, options?)string (EntityType), table, table?table/nilСоздать ванильную сущность; options поддерживают velocity, duration, effect из EntityEffect, on_land и max_ticks.
spawn_falling_block_at_location(location, material, options?)table, string (Material), table?table/nilСоздать падающий блок; options поддерживают drop_item, hurt_entities, velocity и on_land.
spawn_reinforcement_at_location(file, location, level?=0, velocity?)string, table, int?=0, table?table/nilПризвать подкрепление, привязанное к боссу.
spawn_fireworks_at_location(location, options)table, tabletable/nilСоздать фейерверк; options поддерживают effects, type, flicker, trail, colors, fade_colors, power, velocity и shot_at_angle, где для type используются имена FireworkEffect.Type.
spawn_splash_potion_at_location(location, options)table, tabletable/nilСоздать взрывное зелье; записи effects принимают type из PotionEffectType, duration, amplifier и overwrite, плюс velocity на верхнем уровне.
generate_fake_explosion(locations, source?)table, table?nilСгенерировать поддельный взрыв EliteMobs для массива локаций блоков.
spawn_fake_gold_nugget_at_location(location, velocity, gravity?=false)table, table, bool?=falsetable/nilСоздать поддельный снаряд — золотой самородок.
run_fake_gold_nugget_damage(projectiles)tablenilВыполнить проход нанесения урона поддельными снарядами.
generate_player_loot(times?=1)int?=1nilСгенерировать добычу игрока для подходящих наносивших урон.
drop_bonus_coins(multiplier?=2)number?=2nilВыбросить бонусные монеты для подходящих наносивших урон.

Таблица поддельного снаряда EliteMobs

spawn_fake_gold_nugget_at_location возвращает эту таблицу при успешном создании.

Методы

МетодАргументыВозвращаетОписание
get_location()tableВернуть локацию поддельного снаряда.
set_gravity(enabled)boolnilЗадать гравитацию поддельного снаряда.
remove()nilУдалить поддельный снаряд.
is_removed()boolПроверить, был ли он удалён.

context.settings

Силы боссов EliteMobs получают эту таблицу настроек от того же построителя таблицы мира.

Методы

МетодАргументыВозвращаетОписание
warning_visual_effects_enabled()boolВернуть текущую настройку визуальных эффектов предупреждения.