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

Действия Elite Script

Действия являются ядром скрипта. Они определяют, что делает скрипт, и позволяют устанавливать пользовательские интервалы.

Действия всегда начинаются с типа действия, которое вы собираетесь выполнить. Разные типы действий выполняют разные функции. Кроме того, у всех действий есть цель или цели. У действий также может быть таймер ожидания, чтобы гарантировать, что события происходят с настраиваемыми задержками. Наконец, у действий также может быть несколько других полей, специфичных для типа действия.

Общие атрибуты

ЗначенияПодробностиОсобое
TargetПодробнее здесь
waitЗадаёт количество времени для ожидания (тики) перед запуском действий
repeatEveryЗадаёт повторение действий каждое заданное количество тиков. Любой скрипт, у которого это задано, но который не использует times, будет завершён после смерти моба во избежание лагов. Вы можете рандомизировать это значение с помощью ~, например: 1~5.
timesЗадаёт, сколько раз будет происходить действие. Вы можете рандомизировать это значение с помощью ~, например: 1~5.Требует repeatEvery
scriptsЗадаёт скрипты, которые будут запущены по окончании действия
onlyRunOneScriptВыбирает один из scripts случайным образом и запускает только его.
offsetЭтот параметр размещается под Target. Позволяет вам сместить местоположение цели. Offset не работает с действиями, которые нацелены на зоны с ZONE_FULL или ZONE_BORDER.
debugЭтот параметр размещается в секции действия скрипта. Когда установлено в true, он будет отображать значки барьеров в области, где находится действие.

Типы действий

ACTION_BAR_MESSAGE

Задаёт сообщение в action bar для целей.

Примечание: это действие поддерживает плейсхолдеры. Полный список см. в разделе Плейсхолдеры.

ЗначенияПодробностиОбязательноОсобое
TargetПодробнее здесь
sValueСообщениеМожно использовать цветовые коды с &
Пример
eliteScript:
Example:
Events:
- EliteMobDamagedByPlayerEvent
Actions:
- action: ACTION_BAR_MESSAGE
Target:
targetType: NEARBY_PLAYERS
range: 10
sValue: "&2Hello World!"

elitescript_actions_actionbar.jpg

Установит action bar с текстом Hello World для всех игроков, находящихся в пределах 10 блоков от босса.


BOSS_BAR_MESSAGE

Добавляет полосу босса (bossbar) для цели(ей).

Примечание: это действие поддерживает плейсхолдеры. Полный список см. в разделе Плейсхолдеры.

ЗначенияПодробностиОбязательноОсобое
TargetПодробнее здесь
sValueСообщениеМожно использовать цветовые коды с &
durationДлительность полосы босса в тиках
barColorЗадаёт цвет полосы босса. Допустимые значения здесьПо умолчанию WHITE
barStyleЗадаёт стиль полосы босса. Допустимые значения здесьПо умолчанию SOLID
Пример
eliteScript:
Example:
Events:
- EliteMobDamagedByPlayerEvent
Actions:
- action: BOSS_BAR_MESSAGE
Target:
targetType: NEARBY_PLAYERS
range: 10
duration: 120
sValue: "&2Hello World!"
barColor: GREEN
barStyle: SEGMENTED_10

elitescript_actions_bossbar.jpg

Установит полосу босса с текстом Hello World для всех игроков, находящихся в пределах 10 блоков от босса, на 6 секунд (120 тиков).


DAMAGE

Так вы можете наносить урон сущностям от лица других сущностей.

Примечание: это нативно использует систему урона EliteMobs! Это значит, что вы увидите обычное снижение урона от элитной брони при ударах. Подробнее об этом в разделе множителей.

ЗначенияПодробностиОбязательно
TargetПодробнее здесь
multiplierМножитель урона

Примечание о рекурсии: для предотвращения бесконечных циклов действия урона имеют максимальную глубину рекурсии 3. Если скрипт урона вызывает другой скрипт урона, цепочка остановится после 3 уровней вглубь.

Пример
eliteScript:
Example:
Events:
- EliteMobDamagedByPlayerEvent
Actions:
- action: DAMAGE
Target:
targetType: NEARBY_PLAYERS
range: 10
multiplier: 0.5

Устанавливает урон равным половине базового урона, который босс нанёс бы игроку, с учётом снижений урона.

multiplier

Задаёт множитель урона босса для эффекта.

Важно: чтобы способности легко и автоматически масштабировались, урон применяется путём однократного удара босса по игроку и умножения базового урона босса на множитель.

Это означает, что множитель 1.0 — это то же самое, что обычный удар босса. 2.0 — это удар в 2 раза сильнее обычного, а 0.5 — на 50% слабее.


HEAL

Так вы можете лечить сущности, включая игроков.

Примечание: это нативно использует систему лечения EliteMobs! Это значит, что вы увидите уведомление EliteMobs рядом с сущностью, показывающее, на сколько очков они были вылечены!

ЗначенияПодробностиОбязательно
TargetПодробнее здесь
amountНа сколько очков лечить. (2 очка — это одно сердце)
Пример
eliteScript:
Example:
Events:
- EliteMobDamagedByPlayerEvent
Actions:
- action: HEAL
Target:
targetType: NEARBY_MOBS
range: 15
amount: 20

Когда босса бьют, он вылечит всех мобов в пределах 15 блоков на 20 очков (10 сердец).


MAKE_INVULNERABLE

Делает цель неуязвимой.

ЗначенияПодробностиОбязательно
TargetПодробнее здесь
invulnerableЗадаёт, неуязвим ли босс
durationЗадаёт длительность неуязвимости (тики)
Пример
eliteScript:
Example:
Events:
- EliteMobDamagedByPlayerEvent
Actions:
- action: MAKE_INVULNERABLE
Target:
targetType: SELF
invulnerable: true
duration: 60

Делает босса неуязвимым на 60 тиков (3 секунды).


MODIFY_DAMAGE

Изменяет урон, наносимый боссу, или урон, наносимый игрокам этим боссом. Это особое действие с несколькими специальными требованиями.

ЗначенияПодробностиОбязательно
multiplierМножитель урона.

Это действие особое и должно находиться в скрипте, у которого есть слушатель события для события урона. Следующие события урона являются допустимыми: EliteMobDamagedByEliteMobEvent, EliteMobDamagedByPlayerEvent, EliteMobDamagedEvent для событий, снижающих урон, наносимый боссу, и PlayerDamagedByEliteMobEvent для событий, снижающих урон, наносимый игрокам.

Настоятельно рекомендуется изучить, как работает условие hasTag, чтобы наилучшим образом использовать это действие. При правильном использовании можно сделать так, чтобы босс временно сопротивлялся урону или был слабее к нему, и это можно связать с баффами игрока, местоположением босса или многими другими факторами.

Пример
eliteScript:
Example:
Events:
- EliteMobDamagedByPlayerEvent
Actions:
- action: MODIFY_DAMAGE
multiplier: 2.0
Conditions:
hasTags:
- "CoolPlayer"
Target:
targetType: DIRECT_TARGET

Увеличивает урон, наносимый боссу игроками, в 2 раза, но только если у игрока есть тег под названием "CoolPlayer"


MESSAGE

Отправляет сообщение цели(ям).

Примечание: это действие поддерживает плейсхолдеры. Полный список см. в разделе Плейсхолдеры.

ЗначенияПодробностиОбязательноОсобое
TargetПодробнее здесь
sValueСообщениеМожно использовать цветовые коды с &
Пример
eliteScript:
Example:
Events:
- EliteMobDamagedByPlayerEvent
Actions:
- action: MESSAGE
Target:
targetType: NEARBY_PLAYERS
range: 10
sValue: "&2Hello World!"

elitescript_actions_message.jpg

Отправит сообщение в чат всем игрокам в пределах 10 блоков от босса.


Заставляет босса перемещаться (идти) к указанной цели.

ЗначенияПодробностиОбязательноОсобое
TargetПодробнее здесь
FinalTargetПодробнее здесь
velocityЗадаёт скорость перемещения босса. 1.0 — это значение босса, заданное в конфигурации.
bValueЗадаёт, должен ли босс быть принудительно телепортирован к FinalTarget, если перемещение не удалось.
durationСколько босс должен пытаться перемещаться, прежде чем сдастся. Задаётся в тиках. По умолчанию 100 тиков.
Пример
eliteScript:
Example:
Events:
- EliteMobDamagedByPlayerEvent
Actions:
- action: NAVIGATE
Target:
targetType: SELF
FinalTarget:
targetType: NEARBY_PLAYERS
range: 50
velocity: 1.0
bValue: true
duration: 100

Заставит босса переместиться к месту, где стоял игрок, когда он ударил босса.


PLACE_BLOCK

Размещает блок в местоположении(ях) цели на время длительности.

ЗначенияПодробностиОбязательно
TargetПодробнее здесь
materialMaterial блока, полный список здесь
durationДлительность эффекта в тиках
Пример
eliteScript:
Example:
Events:
- EliteMobDamagedByPlayerEvent
Zone:
shape: DOME
radius: 3
Target:
targetType: SELF
Actions:
- action: PLACE_BLOCK
Target:
targetType: ZONE_FULL
duration: 120
material: GLASS

elitescript_actions_placeblock.jpg

Размещает стеклянный купол вокруг босса, который продержится 6 секунд.

Примечание: если длительность не задана, размещение блока постоянно.


PLAY_ANIMATION

Воспроизводит указанную анимацию для пользовательской модели с помощью Model Engine. Требует Model Engine и наличия корректной пользовательской модели на цели, которая запускает анимацию.

ЗначенияПодробностиОбязательно
TargetПодробнее здесь
sValueЗадаёт имя анимации
Пример
eliteScript:
Example:
Events:
- EliteMobDamagedByPlayerEvent
Actions:
- action: PLAY_ANIMATION
Target:
targetType: SELF
sValue: "fortnite_dance"

Заставляет босса воспроизвести анимацию fortnite_dance. Требует, чтобы на сервере был Model Engine, у босса была пользовательская маскировка, а у пользовательской маскировки была анимация под названием "fortnite_dance".


PLAY_SOUND

Воспроизводит внутриигровой звук.

ЗначенияПодробностиОбязательно
TargetПодробнее здесь
sValueЗадаёт имя воспроизводимого звука
pitchЗадаёт высоту тона (pitch) воспроизводимого звука
volumeЗадаёт громкость воспроизводимого звука

Вот удобный список всех звуков Minecraft! Помните, что это также может воспроизводить пользовательские звуки из ресурс-паков. Когда действие нацелено на зону, оно будет воспроизводить звук для каждого блока в этой зоне. Это может сделать звук значительно громче обычного, поэтому подумайте о понижении громкости при нацеливании на зону.

Пример
eliteScript:
Example:
Events:
- EliteMobDamagedByPlayerEvent
Actions:
- action: PLAY_SOUND
Target:
targetType: SELF
sValue: minecraft:block.bell.resonate

Воспроизводит звук резонанса колоколов Minecraft в местоположении босса


POTION_EFFECT

Применяет определённый эффект зелья к цели(ям).

ЗначенияПодробностиОбязательно
TargetПодробнее здесь
potionEffectTypeТип эффекта, допустимый список здесь
amplifierУровень эффекта зелья (начинается с 0)
durationДлительность эффекта (тики)
Пример
eliteScript:
Example:
Events:
- EliteMobDamagedByPlayerEvent
Actions:
- action: POTION_EFFECT
Target:
targetType: NEARBY_PLAYERS
range: 10
potionEffectType: LEVITATION
amplifier: 1
duration: 40

elitescript_actions_potioneffect.jpg

Это заставит всех игроков в пределах 10 блоков от босса левитировать в течение 2 секунд (40 тиков).


PUSH

Толкает цель на заданный вектор.

ЗначенияПодробностиОбязательно
TargetПодробнее здесь
vValueЗадаёт вектор скорости, который будет применён
bValueЕсли установлено в true, добавляет скорость к текущей скорости цели вместо её замены.

Примечание: это действие также принимает относительные векторы. Подробнее о том, как их использовать, здесь.

Пример
eliteScript:
Example:
Events:
- EliteMobDamagedByPlayerEvent
Actions:
- action: PUSH
wait: 3
Target:
targetType: NEARBY_PLAYERS
range: 10
vValue: 0,0.3,0
times: 10
repeatEvery: 10

elitescript_actions_push.jpg

Это подбросит всех игроков в пределах 10 блоков от босса в воздух с силой 0.3. Это действие будет повторяться 10 раз каждые 0.5 секунды (10 тиков). Иными словами, это заставит эффект длиться 5 секунд (10 раз x 10 тиков = 100 тиков).

Это создаст видимость того, что игроки прыгают.

vector

Векторы определяются как vValue: x,y,z. Например, если вы хотите, чтобы цель была подброшена вверх, вы можете указать vValue: 0,0.3,0.


REMOVE_ELITE

Это действие удалит всех нацеленных элитных мобов. Можно сочетать с условиями (Conditions) и тегами (Tags), чтобы удалять только определённых элитных мобов.

ЗначенияПодробностиОбязательно
TargetПодробнее здесь
Пример
eliteScript:
Example:
Events:
- EliteMobDamagedByPlayerEvent
Actions:
- action: REMOVE_ELITE
Target:
targetType: NEARBY_ELITES
range: 10

Это удалит всех ближайших элитных мобов в радиусе 10 блоков.

eliteScript:
Example:
Events:
- EliteMobDamagedByPlayerEvent
Actions:
- action: REMOVE_ELITE
Target:
targetType: NEARBY_ELITES
range: 3
Conditions:
conditionType: FILTERING
hasTags:
- remove_me
Target:
targetType: ACTION_TARGET

Это удалит всех ближайших элитных мобов в радиусе 3 блоков, но только если у них есть тег remove_me.


RUN_COMMAND_AS_CONSOLE

Выполняет команду от лица консоли.

ЗначенияПодробностиОбязательно
TargetПодробнее здесь
sValueКоманда, которая будет выполнена

Примечание: это действие поддерживает плейсхолдеры. Полный список см. в разделе Плейсхолдеры.

Пример
eliteScript:
Example:
Events:
- EliteMobDamagedByPlayerEvent
Actions:
- action: RUN_COMMAND_AS_CONSOLE
Target:
targetType: NEARBY_PLAYERS
range: 10
sValue: say Hello $bossName my name is $playerName. What is your level? $bossName my level is $bossLevel.

elitescript_actions_commandconsole.jpg

Заставляет консоль разослать сообщение "Hello $bossName my name is $playerName. What is your level? $bossName my level is $bossLevel"


RUN_COMMAND_AS_PLAYER

Выполняет команду от лица игрока. Требует, чтобы целью были игроки.

ЗначенияПодробностиОбязательно
targetПодробнее здесь
sValueКоманда, которая будет выполнена

Placeholders

RUN_COMMAND_AS_PLAYER, RUN_COMMAND_AS_CONSOLE, MESSAGE, TITLE_MESSAGE, ACTION_BAR_MESSAGE и BOSS_BAR_MESSAGE поддерживают следующие плейсхолдеры:

ПлейсхолдерПодробностиОсобое
$playerNameОтображаемое имя игрокаЦелью должен быть игрок
$playerXКоордината X игрокаЦелью должен быть игрок
$playerYКоордината Y игрокаЦелью должен быть игрок
$playerZКоордината Z игрокаЦелью должен быть игрок
$targetNameОтображаемое имя нацеленного игрока. Доступно только в RUN_COMMAND_AS_PLAYER, где оно заменяется для каждой цели.Целью должен быть игрок
$bossNameОтображаемое имя босса
$bossXКоордината X босса
$bossYКоордината Y босса
$bossZКоордината Z босса
$bossLevelУровень босса
$bossWorldNameИмя мира босса
Пример
eliteScript:
Example:
Events:
- EliteMobDamagedByPlayerEvent
Actions:
- action: RUN_COMMAND_AS_PLAYER
Target:
targetType: NEARBY_PLAYERS
range: 10
sValue: say Hello $bossName my name is $playerName.

elitescript_actions_commandplayer.jpg

Заставляет игрока выполнить команду say с текстом Hello $bossName my name is $playerName., то есть он просто скажет "Hello $bossName my name is $playerName."


RUN_SCRIPT

Это просто запускает скрипты, определённые в scripts. Любое действие может это сделать, это действие существует лишь как удобное действие для случаев, когда вы хотите сделать именно это.

ЗначенияПодробностиОбязательно
TargetПодробнее здесь
scriptsСкрипты, которые будут выполнены
onlyRunOneScriptЗапустить только один скрипт из списка.
Пример
eliteScript:
Example:
Events:
- EliteMobDamagedByPlayerEvent
Actions:
- action: RUN_SCRIPT
onlyRunOneScript: false
scripts:
- Example1
- Example2
Example1:
Actions:
- action: DAMAGE
Target:
targetType: NEARBY_PLAYERS
range: 10
multiplier: 0.5
Example2:
Actions:
- action: MESSAGE
Target:
targetType: NEARBY_PLAYERS
range: 10
sValue: "&cCool boss!: &fGotcha back!"

elitescript_actions_runscript.jpg

Когда элитный моб получает урон, запускает RUN_SCRIPT, который запускает скрипты Example1 и Example2.

Скрипт Example1 нанесёт урон всем игрокам в пределах 10 блоков от босса.
Скрипт Example2 отправит всем игрокам в пределах 10 блоков от босса сообщение "&cCool boss!: &fGotcha back!".


SCALE

Позволяет масштабировать сущности.

ЗначенияПодробностиОбязательно
TargetПодробнее здесь
scaleЗадаёт размер масштабирования
durationЗадаёт, как долго должен длиться эффект масштабирования

При масштабировании 1.0 представляет размер по умолчанию. Чтобы сделать сущность больше, увеличьте значение (например, 1.2). Чтобы сделать сущность меньше, уменьшите значение (например, 0.8).

Примечание: это может нацеливаться на игроков, поэтому будьте осторожны с тем, как вы это используете!

Примечание: если вы уже масштабировали босса с помощью параметра scale в конфигурации босса, параметр duration сбросит босса обратно к размеру по умолчанию 1.0, независимо от исходного значения scale в конфигурации.

Пример
eliteScript:
Example:
Events:
- EliteMobDamagedEvent
Actions:
- action: SCALE
Target:
targetType: SELF
scale: 0.3
duration: 60

Когда моба бьют, он уменьшится до крошечного размера. Через 60 тиков (3 секунды) он вернётся к своему размеру по умолчанию (1.0).


SET_FACING

Заставляет босса смотреть в определённом направлении. В основном используется вместе с анимациями.

ЗначенияПодробностиОбязательно
vValueВ каком направлении должен смотреть босс. X,Y,Z
RelativeVectorИспользует относительные векторы, чтобы заставить босса смотреть на цель.
Пример
eliteScript:
Example:
Events:
- EliteMobEnterCombatEvent
Actions:
- action: SET_FACING
vValue: 1,0,0

Заставит босса смотреть на восток.

eliteScript:
Example:
Events:
- EliteMobEnterCombatEvent
Actions:
- action: SET_FACING
RelativeVector:
SourceTarget:
targetType: SELF
DestinationTarget:
targetType: NEARBY_PLAYERS
range: 20

Заставит босса смотреть на игрока в радиусе 20 блоков.


SET_MOB_AI

Задаёт, есть ли у моба ИИ. В Minecraft мобы без ИИ не будут двигаться и не будут атаковать. Они всё ещё могут получать урон, но удары по ним не будут приводить к отбрасыванию.

ЗначенияПодробностиОбязательно
TargetПодробнее здесь
bValueЗадаёт, есть ли у босса ИИ
durationЗадаёт длительность установленного значения (тики)
Пример
eliteScript:
Example:
Events:
- EliteMobDamagedByPlayerEvent
Actions:
- action: SET_MOB_AI
Target:
targetType: SELF
bValue: false
duration: 40

Делает так, что у босса нет ИИ в течение 2 секунд (40 тиков).


SET_MOB_AWARE

Задаёт, осведомлён ли моб. В Minecraft мобы, которые не осведомлены, не будут перемещаться в новые места и не будут атаковать. Они всё ещё могут получать урон, и они будут отбрасываться.

Стоит отметить, что если моб уже двигался к какому-то месту, когда потерял осведомлённость, он закончит движение к этому месту, прежде чем полностью остановиться и больше не двигаться.

Это значит, что вы можете использовать неосведомлённых мобов для перемещения к заданным местам, в отличие от мобов без ИИ.

ЗначенияПодробностиОбязательно
TargetПодробнее здесь
bValueЗадаёт, осведомлён ли моб
durationЗадаёт длительность установленного значения (тики)
Пример
eliteScript:
Example:
Events:
- EliteMobDamagedByPlayerEvent
Actions:
- action: SET_MOB_AWARE
Target:
targetType: SELF
bValue: false
duration: 40

Делает так, что босс не осведомлён в течение 2 секунд (40 тиков).


SET_ON_FIRE

Поджигает сущность на время длительности.

ЗначенияПодробностиОбязательно
TargetПодробнее здесь
durationДлительность эффекта в тиках
Пример
eliteScript:
Example:
Events:
- EliteMobDamagedByPlayerEvent
Actions:
- action: SET_ON_FIRE
Target:
targetType: NEARBY_PLAYERS
range: 10
duration: 60

elitescript_actions_setonfire.jpg

Поджигает всех игроков в пределах 10 блоков от босса на 3 секунды (60 тиков).


SET_TIME

Задаёт внутриигровое время мира, в котором находится цель.

ЗначенияПодробностиОбязательно
TargetПодробнее здесь
timeЗадаёт время
Пример
eliteScript:
Example:
Events:
- EliteMobDamagedByPlayerEvent
Actions:
- action: SET_TIME
Target:
targetType: SELF
time: 10000

elitescript_actions_settime.gif

При ударе босс установит время мира, в котором он находится, равным 10000 тиков.


SET_WEATHER

Задаёт погоду мира, в котором находится цель, на заданное количество времени.

ЗначенияПодробностиОбязательно
TargetПодробнее здесь
weatherЗадаёт тип погоды
durationЗадаёт длительность погодного явления
Пример
eliteScript:
Example:
Events:
- EliteMobDamagedByPlayerEvent
Actions:
- action: SET_WEATHER
Target:
targetType: SELF
weather: PRECIPITATION
duration: 120

elitescript_actions_setweather.gif

Устанавливает погоду мира, в котором находится босс, как дождь/снег на следующую минуту.

Примечание: эффект сработает не сразу.

weather

Следующие погодные явления являются допустимыми:

  • CLEAR — устанавливает ясную погоду
  • PRECIPITATION — устанавливает погоду дождь / снег, в зависимости от биома, высоты местоположения и других ванильных факторов Minecraft.
  • THUNDER — устанавливает грозу

SPAWN_FIREWORKS

Создаёт фейерверки.

ЗначенияПодробностиОбязательноОсобое
TargetПодробнее здесь
vValueЗадаёт скорость ракеты фейерверка
flickerЗадаёт, будут ли частицы фейерверка мерцатьПо умолчанию: true
withTrailЗадаёт, будет ли ракета фейерверка оставлять следПо умолчанию: true
powerЗадаёт мощность фейерверка
fireworkEffectsЗадаёт эффекты фейерверка, связанные с тем, сколько времени пройдёт перед взрывом
fireworkEffectTypeЗадаёт форму фейерверка из этого списка
fireworkEffectTypesЗадаёт формы фейерверка из этого списка . Это список форм — если вам нужен список форм, не используйте fireworkEffectType! [1]

[1] При использовании нескольких форм для фейерверка каждая форма будет использовать цвета из списка цветов на той же позиции. См. пример ниже.

Пример
eliteScript:
fireworkShot1:
Events:
- EliteMobDamagedByPlayerEvent
Actions:
- action: SPAWN_FIREWORKS
Target:
targetType: SELF
offset: 1,1.5,0
vValue: .5,-.35,1
flicker: false
withTrail: false
power: 2
fireworkEffects:
- [ORANGE, RED]
- [YELLOW, BLUE]
fireworkEffectTypes:
- BALL_LARGE
- STAR

elitescript_actions_fireworks.jpg

Создаёт фейерверки в местоположении босса со смещением x= 1, y= 1.5 и z = 0. Придаёт фейерверкам скорость x=.5, y=-.35 и z=1. Фейерверки не будут мерцать и не оставят следов; power установлено в 2, поэтому взрыв фейерверка будет задержан на это значение.

Наконец, есть два списка списков цветов: список 1 — оранжевый и красный, а список 2 — жёлтый и синий. Есть две формы для фейерверков: BALL_LARGE и STAR. Это означает, что BALL_LARGE (элемент 1) будет использовать оранжевый и красный цвета (список 1), а STAR (элемент 2) будет использовать жёлтый и синий цвета (список 2).

fireworkEffects

Это эффекты, которые покажет ракета фейерверка. Требуется как минимум один эффект. Следующие эффекты являются допустимыми:

  • WHITE, SILVER, GRAY, BLACK, RED, MAROON, YELLOW, OLIVE, LIME, GREEN, AQUA, TEAL, BLUE, NAVY, FUCHSIA, PURPLE, ORANGE

STRIKE_LIGHTNING

Бьёт молнией. Это визуальный эффект, если вам нужен урон, вам следует добавить действие урона.

ЗначенияПодробностиОбязательно
TargetПодробнее здесь
Пример
eliteScript:
Example:
Events:
- EliteMobDamagedByPlayerEvent
Actions:
- action: STRIKE_LIGHTNING
Target:
targetType: SELF
repeatEvery: 5
times: 5

elitescript_actions_strike.jpg

Бьёт молнией по боссу каждые 5 тиков 5 раз.


SPAWN_FALLING_BLOCK

Создаёт падающий блок у цели. Только визуальный, не размещает блок.

ЗначенияПодробностиОбязательно
TargetПодробнее здесь
materialЗадаёт Material падающего блока. Проверьте допустимые типы здесь и убедитесь, что это допустимый материал блока.
landingScriptsЗадаёт список скриптов, которые будут запущены, когда блок упадёт
vValueЗадаёт скорость и направление падающего блока.

landingScripts работает так же, как RUN_SCRIPT, но может принимать особый тип цели LANDING_LOCATION.

LANDING_LOCATION наследуется средствами запуска скриптов, что позволяет скрипту местоположения приземления также функционировать как средство запуска скриптов. Вы можете добавить wait к действию, которое вызывает скрипты, за которым последуют последующие вызовы скриптов. LANDING_LOCATION всегда будет аргументом для цели, даже при наследовании, поскольку он назначается одним конкретным способом.

Примечание: это действие также принимает относительные векторы. Подробнее о том, как их использовать, здесь.

Пример
eliteScript:
Example:
Events:
- EliteMobDamagedByPlayerEvent
Actions:
- action: SPAWN_FALLING_BLOCK
Target:
targetType: SELF
offset: 3,10,0
material: STONE
vValue: 0,0,0
landingScripts:
- LandingScriptExample
LandingScriptExample:
Actions:
- action: PLACE_BLOCK
Target:
targetType: LANDING_LOCATION
duration: 200
material: STONE

elitescript_actions_block.gif

Когда босса бьют, этот скрипт создаст падающий каменный блок на 10 блоков выше и в 3 блоках рядом с местоположением босса.

Как только блок упадёт, он запустит скрипт LandingScriptExample, который разместит каменный блок в месте, куда приземлился блок. Блок останется там на 10 секунд (200 тиков), прежде чем исчезнет.


SPAWN_PARTICLE

Создаёт частицы у цели.

Примечание: если coverage не задан, то coverage будет установлен в 0.3 по умолчанию!

ЗначенияПодробностиОбязательно
TargetПодробнее здесь
particlesПеречисляет частицы, которые будут созданы

particles

У частиц есть собственные специальные настройки, которые выглядят следующим образом:

ЗначенияПодробностиПо умолчаниюОсобое
xЗадаёт смещение по X0.01(1)
yЗадаёт смещение по Y0.01(1)
zЗадаёт смещение по Z0.01(1)
amountЗадаёт количество создаваемых частиц1(1)
speedЗадаёт скорость частиц0.01
particleЗадаёт тип частицыFLAMEДопустимые частицы перечислены ниже
redЗадаёт значение красного255(2)
greenЗадаёт значение зелёного255(2)
blueЗадаёт значение синего255(2)
toRedЗадаёт конечное значение красного255(3)
toGreenЗадаёт конечное значение зелёного255(3)
toBlueЗадаёт конечное значение синего255(3)
moveToTargetЗадаёт, должна ли частица двигаться к местоположению целиnull(4)
relativeVectorЗадаёт относительный вектор для направления частицы. Подробнее об относительных векторах здесь.none

(1) Если amount установлено в 0, x, y и z будут вместо этого задавать скорость частицы.

(2) Только для частиц DUST, DUST_COLOR_TRANSITION и WITCH. Унаследованные имена REDSTONE (→ DUST), SPELL_MOB и SPELL (→ WITCH) также принимаются.

(3) Только для частицы DUST_COLOR_TRANSITION

(4) Логическое значение. Когда установлено в true, частица будет направлена к местоположению цели действия. Полезно для создания визуальных эффектов, которые перемещаются из одной точки в другую.

Важно отметить, что один скрипт SPAWN_PARTICLE может создавать несколько частиц. У каждой частицы затем могут быть собственные поля конфигурации внутри действия SPAWN_PARTICLE. Вот пример:

Пример
eliteScript:
Example:
Events:
- EliteMobDamagedByPlayerEvent
Zone:
shape: CYLINDER
radius: 4
borderRadius: 3
height: 30
Target:
targetType: DIRECT_TARGET
track: true
Actions:
- action: SPAWN_PARTICLE
Target:
targetType: ZONE_BORDER
particles:
- particle: FLAME
speed: 0.2
- particle: SMOKE_NORMAL
speed: 0.1
amount: 1
repeatEvery: 10

elitescript_actions_particle.jpg

Это создаст цилиндр из частиц пламени и дыма вокруг игрока, который нанёс урон боссу.

Перемещение частицы:

Можно задать конкретную скорость для частицы, и это работает так же, как в Spigot API. Это позволяет создателям скриптов задавать движение частицы в определённом направлении с определённой скоростью. Невозможно заставить частицы менять направление на полпути. Этот эффект используется в зачаровании flamethrower и одноимённой способности босса.

Чтобы переместить частицу, установите amount: 0. Это просигнализирует Minecraft, что значения x, y и z на самом деле являются вектором. Этот вектор задаёт направление, в котором будет двигаться ваша частица.

Допустим, вы хотите, чтобы частица FLAME двигалась вверх. Чтобы сделать это, вам нужно положительное значение y и ничего больше. Наконец, вам нужно установить скорость на ту, которую вы хотите. Вот полный пример:

Пример
eliteScript:
Example:
Events:
- EliteMobEnterCombatEvent
Zone:
shape: CYLINDER
radius: 4
borderRadius: 3
height: 30
Target:
targetType: DIRECT_TARGET
track: true
Actions:
- action: SPAWN_PARTICLE
Target:
targetType: ZONE_BORDER
particles:
- particle: FLAME
amount: 0
x: 0
y: 1
z: 0
speed: 0.2
- particle: SMOKE_NORMAL
speed: 0.1
amount: 0
x: 0.5
y: 1
z: 0.5
amount: 3
repeatEvery: 10

Это создаст частицу пламени в местоположении босса, которая будет двигаться вверх.

Valid particles

EliteMobs принимает любую частицу из перечисления Particle в Spigot. Ниже перечислены наиболее часто используемые частицы. Унаследованные имена частиц (из более старых версий Minecraft) автоматически преобразуются в их современные эквиваленты.

Простые частицы (не требуют дополнительных данных — работают везде, включая следы боссов):

POOF, EXPLOSION, EXPLOSION_EMITTER, FIREWORK, BUBBLE, SPLASH, FISHING, UNDERWATER, CRIT, ENCHANTED_HIT, SMOKE, LARGE_SMOKE, WITCH, DRIPPING_WATER, DRIPPING_LAVA, ANGRY_VILLAGER, HAPPY_VILLAGER, MYCELIUM, NOTE, PORTAL, ENCHANT, FLAME, LAVA, CLOUD, ITEM_SNOWBALL, ITEM_SLIME, HEART, RAIN, ELDER_GUARDIAN, END_ROD, DAMAGE_INDICATOR, SWEEP_ATTACK, TOTEM_OF_UNDYING, SPIT, SQUID_INK, BUBBLE_POP, CURRENT_DOWN, BUBBLE_COLUMN_UP, NAUTILUS, DOLPHIN, SNEEZE, CAMPFIRE_COSY_SMOKE, CAMPFIRE_SIGNAL_SMOKE, COMPOSTER, FALLING_LAVA, LANDING_LAVA, FALLING_WATER, DRIPPING_HONEY, FALLING_HONEY, LANDING_HONEY, FALLING_NECTAR, SOUL_FIRE_FLAME, ASH, CRIMSON_SPORE, WARPED_SPORE, SOUL, DRIPPING_OBSIDIAN_TEAR, FALLING_OBSIDIAN_TEAR, LANDING_OBSIDIAN_TEAR, REVERSE_PORTAL, WHITE_ASH, FALLING_SPORE_BLOSSOM, SPORE_BLOSSOM_AIR, SMALL_FLAME, SNOWFLAKE, DRIPPING_DRIPSTONE_LAVA, FALLING_DRIPSTONE_LAVA, DRIPPING_DRIPSTONE_WATER, FALLING_DRIPSTONE_WATER, GLOW_SQUID_INK, GLOW, WAX_ON, WAX_OFF, ELECTRIC_SPARK, SCRAPE, SONIC_BOOM, SCULK_SOUL, SCULK_CHARGE_POP, CHERRY_LEAVES, PALE_OAK_LEAVES, EGG_CRACK, DUST_PLUME, WHITE_SMOKE, GUST, SMALL_GUST, GUST_EMITTER_LARGE, GUST_EMITTER_SMALL, TRIAL_SPAWNER_DETECTION, TRIAL_SPAWNER_DETECTION_OMINOUS, VAULT_CONNECTION, INFESTED, ITEM_COBWEB, OMINOUS_SPAWNING, RAID_OMEN, TRIAL_OMEN, FIREFLY, COPPER_FIRE_FLAME

Особые частицы (требуют дополнительных данных конфигурации в EliteScript):

ЧастицаПримечания
DUSTИспользует значения red, green, blue для цвета. Унаследованное имя: REDSTONE
DUST_COLOR_TRANSITIONИспользует red/green/blue для начального цвета и toRed/toGreen/toBlue для конечного цвета
WITCHИспользует red, green, blue для цвета. Унаследованные имена: SPELL_MOB, SPELL

Частицы, требующие данных блока/предмета (не используются в EliteScript или следах боссов):

BLOCK, FALLING_DUST, DUST_PILLAR, BLOCK_CRUMBLE, BLOCK_MARKER, ITEM

Другие частицы с особыми типами данных (не используются в следах боссов, но могут работать в EliteScript без своих данных):

EFFECT, INSTANT_EFFECT, ENTITY_EFFECT, FLASH, DRAGON_BREATH, SCULK_CHARGE, SHRIEK, VIBRATION, TRAIL, TINTED_LEAVES

Преобразования унаследованных имён (старые имена всё ещё работают в конфигурационных файлах):

Унаследованное имяСовременное имя
EXPLOSION_NORMALEXPLOSION
EXPLOSION_LARGEEXPLOSION
EXPLOSION_HUGEEXPLOSION
SMOKE_NORMALSMOKE
SMOKE_LARGELARGE_SMOKE
REDSTONEDUST
SLIMEITEM_SLIME
DRIP_LAVADRIPPING_WATER (примечание: это известная ошибка в конвертере — используйте DRIPPING_LAVA напрямую)
DRIP_WATERDRIPPING_WATER
SNOWBALLSNOWFLAKE
SPELLWITCH
SPELL_MOBWITCH
VILLAGER_ANGRYANGRY_VILLAGER
VILLAGER_HAPPYHAPPY_VILLAGER
WATER_BUBBLEUNDERWATER
WATER_SPLASHSPLASH

SUMMON_REINFORCEMENT

Призывает подкрепления из пользовательских боссов EliteMobs.

ЗначенияПодробностиОбязательно
TargetПодробнее здесь
sValueЗадаёт имя файла подкрепления-пользовательского босса
durationЗадаёт длительность подкрепления (тики)
vValueЗадаёт скорость созданного подкрепления

Примечание: это действие также принимает относительные векторы. Подробнее о том, как их использовать, здесь.

Пример
eliteScript:
Example:
Events:
- EliteMobEnterCombatEvent
Actions:
- action: SUMMON_REINFORCEMENT
Target:
targetType: DIRECT_TARGET
sValue: your_boss_file.yml

Создаёт подкрепление с именем файла "your_boss_file.yml" в местоположении босса.


SUMMON_ENTITY

Призывает сущность в местоположении цели.

ЗначенияПодробностиОбязательно
TargetПодробнее здесь
sValueЗадаёт тип призываемой сущности
vValueЗадаёт скорость призванной сущности
durationЗадаёт, через сколько призванная сущность будет удалена (тики)
landingScriptsСкрипты для запуска, когда сущность приземляется или становится недействительной

Примечание: это действие также принимает относительные векторы. Подробнее о том, как их использовать, здесь.

Пример
eliteScript:
Example:
Events:
- EliteMobEnterCombatEvent
Actions:
- action: SUMMON_ENTITY
sValue: ARROW
vValue: 0,1,0
Target:
targetType: SELF
track: false
RelativeVector:
SourceTarget:
targetType: SELF
DestinationTarget:
targetType: ZONE_FULL
normalize: true
multiplier: 8.0

Создаёт стрелу в местоположении босса и запускает её к зоне с нормализованной скоростью.


TAG

Добавляет теги боссам или игрокам. Теги — это просто строки или слова, которые могут определять создатели скриптов. Они используются только для выполнения проверок условий и не имеют прямого игрового эффекта помимо того, для чего они используются в скриптах.

ЗначенияПодробностиОбязательно
TargetПодробнее здесь
tagsЗадаёт теги
durationЗадаёт длительность тегов (тики)
Пример
eliteScript:
Example:
Events:
- EliteMobSpawnEvent
Actions:
- action: TAG
Target:
targetType: SELF
tags:
- fireworks
- action: SPAWN_FIREWORKS
Target:
targetType: SELF
wait: 20
offset: 0,3,0
vValue: 0,.1,0
flicker: true
withTrail: true
power: 1
fireworkEffects:
- [ORANGE, RED]
repeatEvery: 20
Conditions:
hasTags:
- fireworks

Помечает босса строкой "fireworks", которую позже можно проверить через условия скрипта.

Важно: возможно помечать тегами только игроков и элитных мобов.


TELEPORT

Телепортирует цель(и) в заданное местоположение.

ЗначенияПодробностиОбязательно
TargetЗадаёт, кто будет телепортирован. Общая информация о целях здесь!
FinalTargetЗадаёт, куда они будут телепортированы. Общая информация о целях здесь!
locationМестоположение телепортации

Примечание: FinalTarget и location — это альтернативы; используйте одно или другое, но не оба одновременно. Либо задайте FinalTarget, чтобы использовать пункт назначения на основе цели, либо задайте location, чтобы использовать пункт назначения на основе конкретных координат.

Пример
eliteScript:
Example:
Events:
- EliteMobDamagedByPlayerEvent
Actions:
- action: TELEPORT
Target:
targetType: NEARBY_PLAYERS
range: 10
FinalTarget:
targetType: SELF_SPAWN

elitescript_actions_teleport.gif

Это телепортировало бы всех игроков, находящихся в пределах 10 блоков от босса, к месту появления босса.

location

Задаёт местоположение, куда будет телепортирован игрок. Формат — стандартный для EliteMobs world_name,x,y,z,pitch,yaw.

Пример

location: world,0,64,0,0,0

У этого есть несколько специальных значений:

  • Если имя мира установлено в same_as_boss, оно заменит имя мира на имя мира, в котором босс находится в данный момент:
location: same_as_boss,0,64,0,0,0
  • Если есть только три значения, соответствующие x, y и z, телепортация будет выполнена в местоположение относительно местоположения босса. Если босс является региональным боссом, местоположение будет относительно точки появления босса.

TITLE_MESSAGE

Задаёт сообщение-заголовок (title) для целей.

Примечание: это действие поддерживает плейсхолдеры. Полный список см. в разделе Плейсхолдеры.

ЗначенияПодробностиОбязательноОсобоеПо умолчанию
TargetПодробнее здесь
titleЗадаёт сообщение-заголовокМожно использовать цветовые коды с &
subtitleЗадаёт сообщение-подзаголовокМожно использовать цветовые коды с &
durationЗадаёт длительность сообщения (тики)0
fadeInЗадаёт время появления (тики)1
fadeOutЗадаёт время исчезновения (тики)1
Пример
eliteScript:
Example:
Events:
- EliteMobDamagedByPlayerEvent
Actions:
- action: TITLE_MESSAGE
Target:
targetType: NEARBY_PLAYERS
range: 10
title: "&2Hello World!"
subtitle: "&2I am a subtitle!"
duration: 120
fadeIn: 20
fadeOut: 20

elitescript_actions_titlescreen.jpg

Установит сообщение-заголовок, показывающее заголовок "&2Hello World!" с подзаголовком "&2I am a subtitle!" всем игрокам, находящимся в пределах 10 блоков от босса.

Сообщение останется на экране на 8 секунд (120 + 20 + 20 = 160 тиков), включая анимацию появления и исчезновения.


UNTAG

Удаляет теги у босса. См. TAG, чтобы узнать, как работают теги.

ЗначенияПодробностиОбязательно
TargetПодробнее здесь
tagsЗадаёт теги
durationЗадаёт длительность удаления тегов (тики)
Пример
eliteScript:
Example:
Events:
- EliteMobSpawnEvent
Actions:
- action: TAG
Target:
targetType: SELF
tags:
- fireworks
- action: SPAWN_FIREWORKS
Target:
targetType: SELF
wait: 20
offset: 0,3,0
vValue: 0,.1,0
flicker: true
withTrail: true
power: 1
fireworkEffects:
- [ORANGE, RED]
repeatEvery: 20
Conditions:
hasTags:
- fireworks
Example2:
Events:
- EliteMobEnterCombatEvent
Actions:
- action: UNTAG
Target:
targetType: SELF
tags:
- fireworks

Удаляет тег "fireworks" у босса, который позже можно проверить через условия скрипта.


VISUAL_FREEZE

Придаёт игроку визуальный эффект заморозки и наносит связанный с ним урон. Это следует сочетать с повторяющимся скриптом, если вы не хотите, чтобы эффект сразу исчезал.

ЗначенияПодробностиОбязательно
TargetПодробнее здесь
amountКоличество тиков заморозки, добавляемых цели
Пример
eliteScript:
Example:
Events:
- EliteMobDamagedByPlayerEvent
Actions:
- action: VISUAL_FREEZE
Target:
targetType: NEARBY_PLAYERS
range: 10
amount: 20
repeatEvery: 20
times: 3

Придаёт всем игрокам в пределах 10 блоков от босса визуальную заморозку на 3 секунды (60 тиков).


Несколько действий

Иногда вам может понадобиться выполнить несколько действий сразу при возникновении события, например, отправить несколько сообщений или выполнить разные действия последовательно. Это легко сделать! Давайте добавим действие эффекта зелья в наш пример:

Пример
eliteScript:
MessagePlayers:
Events:
- EliteMobDamagedByPlayerEvent
Actions:
- action: MESSAGE
Target:
targetType: ALL_PLAYERS
sValue: I am messaging all online players!
- action: MESSAGE
Target:
targetType: DIRECT_TARGET
sValue: I am messaging the player that hit the boss!