- Поддерживаемые версии
- 1.16
Я НЕ ГУРУ ПЛАГИНА, Я САМ ТОЛЬКО УЧУСЬ. ПОЭТОМУ ПРОШУ ДОКИДЫВАТЬ ИНФУ ИЛИ ПРАВИТЬ ЕСЛИ НАЙДЕТЕ ОШИБКИ. КИДАЙТЕ ПРАВКИ В "ОБСУДИТЬ РЕСУРС". СПАСИБО!
Привет всем. Я, SNR93, решил рассказать вам об одном плагине. Сегодня мы будем учиться пользоваться таким гибким плагином, как MythicMobs. Он позволяет создавать своих мобов с особенностями, способностями и наворотами. Плагин достаточно давно развивается и все еще поддерживается. Итак, поехали. Я буду рассматривать бесплатную версию, т.к. платной у меня нет, да и в бесплатной функционала навалом.
Где его скачать? Тут: https://www.spigotmc.org/resources/⚔-mythicmobs-free-version-►the-1-custom-mob-creator◄.5702/
Английский мануал: https://www.mythicmobs.net/manual/doku.php
Давайте рассмотрим конфиг, я вам перевел его на русский для более простого понимания
Отдельный привет разрабам MM, у которых в WIKI не переведены или отсутствуют некоторые моменты, которые приходится додумывать самому
Немного о переменной DebugLevel. У нее есть 5 вариантов от 0 до 4. Давайте разберемся:
Итак, с конфигом более менее разобрались.
Теперь давайте разберемся со всеми возможностями для создания своего моба
Это скелет моба, его основа. Теперь давайте разбираться глубже
Давайте разбираться, что может хранить в себе DamageModifiers
Не обязательно использовать все пункты. Так-же можно вообще не использовать модификаторы урона.
Значения:
Так-же нам понадобятся заполнители(плейсхолдеры) для создания сообщений, имен мобов да и много чего еще. И вот они все, перевел вам для удобства.
Итак. Теперь мы знаем, что какие есть заполнители у плагина, и благодаря им мы и сможем гибко настраивать мобов и события.
Дальше нам нужно узнать, что же списывать в Options, чтобы задать дополнительные особенности мобу. Поехали.
Ух, отлично. Но это еще не все. Так-же у мобов можно включить логику поведения самого опасного игрока. Что это дает? Честный бой! Для примера есть босс, и вокруг него 5 игроков, которые его дубасят. По логике ИИ стандартного майна моб будет ходить за тем, кто его сагрил до того момента, пока цель не выйдет за его радиус атаки, ну или пока моб или игрок не умрет. А это значит, что пока 1 игрок бегает от босса, остальные могут безнаказанно его атаковать. Не честно? Не честно! И это можно исправить! В MM есть механика угрозы. Там можно сделать так, чтобы моб атаковал самого опасного игрока, то есть того, кто наносит больше всего урона! Вот мы и подобрались к пункту Modules
Итак, для начала включаем сам модуль:
а потом в описании способностей моба мы пишем
Итак, это значит, что при спавне моба(~onSpawn) мы ищем самого ближайшего игрока(@NearestPlayer) и присваиваем ему некий уровень опасности(threat{amount=10000}). Т.к. на момент спавна моба у ближайшего игрока уровень опасности становится 10000, а у остальных 0, т.к. они дальше, то моб будет атаковать ближайшего игрока.
Но вы наверное спросите "Воу воу, а что такое onSpawn и @NearestPlayer"? А это триггеры и и цели!
Триггер, это событие, которое запускает какой-либо процесс. Триггеры используются только в описании навыком моба!
Ну а что такое цель я думаю вы и так знаете.
Сейчас я покажу, какие они вообще бывают!
С триггерами все понятно. А что с целями? А вот они!
Ты еще не устал читать? Отлично! Тогда продолжаем!
Теперь давай поговорим о такой вещи, как AIGoalSelectors!
Этим мы можем заставить моба вести себя так, как нам захочется! Ну, почти как захочется! Есть несовместимые события, но их мало. Например есть событие "EatGrass", это заставляет моба есть траву! Но если мы применим это, например, к зомби, мы получим ошибку, т.к. этот моб не ест траву.
Итак, поехали разбираться, как же настроить ИИ моба!
Можно указывать несколько типов поведения. Например:
Как видишь, все достаточно просто. Но давай разберем все возможные варианты
Ну и сразу давай сделаем логику для атак моба! Для этого нам нужен пункт AITargetSelectors
Например напишем так:
Это значит что по умолчанию ни на кого не нападаем(если никого рядом нет)
Но если есть игрок, то нападаем на него
И если есть голем нападаем на него. Но не нападаем на голема пока есть рядом игрок, т.к. игрок выше голема по приоритетам. Все возможные события для AITargetSelectors
Все. Закончили настраивать ИИ мобов!
Теперь давайте создадим список того, что будет падать с моба при убийстве, ведь это самое главное для игрока - награда!
Вид записи дропа имеет следующий:
Итак, что может быть дропом
Так, дроп есть, но, я думаю нужно еще нарядить во что-то моба, а то чего он голый бегает?
Для этого нам понадобится пункт Equipment
В конфиге это будет выглядеть так:
Что туда может входить? Все что угодно из обычных вещей MINECRAFT и любая вещь из вещей, созданных в MM.
Например:
Это значит что на голову мы одели предмет awesome_boss_helmet, а в руку дали алмазный меч. Про создание вещей в MM поговорим позже.
На что может быть одето:
Ну и для завершения моба осталось только сделать ему способности!
Давайте же приступим! В конфиге это будет выглядеть так:
Все механики имеют следующий вид:
Свиду сложно, но это не так! Давайте разберем строку.
Пример:
Мы используем способность ignite на 5 секунд(100 тиков = 5 секунд. 1 секунда = 20 тикам) на атакуемую мобом сущность во время удара, когда у моба меньше 50% здоровья с шансом в 40%
Как видите все очень даже просто.
Какие бывают способности:
Так-же можно украсить каст навыков эффектами. Это полезно, если вы хотите сделать действительное красивое использование способностей.
Синтаксис использования у них такой-же, как и у способностей:
А вот и список всех эффектов
Реклама:
Если вы ищете отличный хостинг и хотите поддержать автора статьи, то рекомендую: https://my.hosting-minecraft.ru/
Привет всем. Я, SNR93, решил рассказать вам об одном плагине. Сегодня мы будем учиться пользоваться таким гибким плагином, как MythicMobs. Он позволяет создавать своих мобов с особенностями, способностями и наворотами. Плагин достаточно давно развивается и все еще поддерживается. Итак, поехали. Я буду рассматривать бесплатную версию, т.к. платной у меня нет, да и в бесплатной функционала навалом.
Где его скачать? Тут: https://www.spigotmc.org/resources/⚔-mythicmobs-free-version-►the-1-custom-mob-creator◄.5702/
Английский мануал: https://www.mythicmobs.net/manual/doku.php
Давайте рассмотрим конфиг, я вам перевел его на русский для более простого понимания
Отдельный привет разрабам MM, у которых в WIKI не переведены или отсутствуют некоторые моменты, которые приходится додумывать самому
YAML:
# For more information, check out the plugin manual or join us on Discord:
# http://www.mythicmobs.net
#
Configuration:
Version: 4.9
General:
#разрешить отправлять метрику создателям?
AllowMetrics: false
#проверять обновления?
CheckForUpdates: false
#
CompatibilityMode: false
#уровень отладки
DebugLevel: 0
#записывать ошибки в файл?
ErrorLogging: true
#язык по умолчанию
Language: enUS
#Активация доп функций(например для создания пользовательского ИИ)
UseVolatileFeatures: true
Clock:
#самый низкий интервал для применения и кулдауна способностей
ClockInterval: 1
#интервал в минутах, для сохранения всего, что связано с MM
SaveInterval: 5
#Минимальное время в секундах для спавна мобов
SpawnsInterval: 2
#Интервал в секундах, когда будут сканироваться неактивные мобы, например когда рядом нет игрока
ScannerInterval: 10
#инвервал в секундах, когда неактивные мобы будут удалены
CleanupInterval: 600
Components:
#спавить ли мобов, созданных в папке Mobs, у которых есть флаг спавна в мире
CustomSpawners: true
#спавнить ли мобов, созданных в папке RandomSpawns
RandomSpawning: true
Mobs:
#Удалять их с карты по той же логике, что и обычные мобы
DespawnByDefault: true
#включить ли пользовательские ИИ у мобов
EnableAIModifiers: true
#включить ли навыки, завязанные на таймерах
EnableTimerSkills: true
#включить таблицы угроз?
EnableThreatTables: true
#не совсем понял
EnablePlayerFactions: true
#не совсем понял
EnableLegacySkills: false
#префикс сообщений, если был убит MM моб(если такое сообщение вообще установлено)
KillMessagePrefix: ''
#убрать прочий дроп по умолчанию. Например кость из скелета
PreventOtherDropsByDefault: false
#рассчеты
Scaling:
Default:
Enabled: false
#запретить спавн MM мобов в блоках от спавна
PerBlocksFromSpawn: 250
#в мире WORLD
world:
Enabled: true
PerBlocksFromSpawn: 250
#в незере
world_nether:
Enabled: false
PerBlocksFromSpawn: 100
#НЕ РАЗОБРАЛСЯ. рассчет усиления моба за уровень?
ScalingEquations:
Health: V * ((1.05)^(L-1))
Damage: V * ((1.05)^(L-1))
#характеристики мобов по умолчанию
DefaultLevelModifiers:
#здоровье
Health: 0.1
#броня
Armor: 0
#урон
Damage: 0.01
#сопротивление отбрасыванию
KnockbackResistance: 0
#сила
Power: 0
#рандомный спавн мобов
RandomSpawning:
#запретить спавниться обычным ванильным мобам
DisableVanillaSpawns: false
#генерировать точки спавна
GenerateSpawnPoints: false
#максимальное число мобов на 1 чанк
MaxMobsPerChunk: 2
#радиус спавна вокруг игрока
SpawnRadiusPerPlayer: 64
#НЕ РАЗОБРАЛСЯ
SpawnRadiusPerPlayerY: 32
#удалять неактивных мобов, например рядом с которыми нет игроком
DespawnLazyRandomMobs: true
#НЕ РАЗОБРАЛСЯ
MaxGenerationTime: 20
#НЕ РАЗОБРАЛСЯ
PointsPerSecond:
Land: 5
Air: 0
Sea: 2
Lava: 0
Ground: 0
#Совместимость с плагинами. Тут думаю переводить не нужно:)
Compatibility:
Heroes:
Enabled: false
McMMO:
Enabled: false
ShowXPMessage: true
XPMessageFormat: '&7You receive <drop.amount> experience for slaying <dropper.name>'
SkillAPI:
Enabled: false
ShowXPMessage: true
XPMessageFormat: '&7You receive <drop.amount> experience for slaying <dropper.name>'
Vault:
Enabled: true
ShowMoneyMessage: true
MoneyMessageFormat: '&7You receive <drop.amount> currency for slaying <dropper.name>'
Немного о переменной DebugLevel. У нее есть 5 вариантов от 0 до 4. Давайте разберемся:
0:
- отладка выключена
1:
- включает отображение огненного партикля, показывая точки спавна мобов
- при старте сервера показывает отчет о всех успешно загруженных точках спавна
2:
- показывает логи, когда использован навык, моб умирает, парсится таблица дропа и т.п.
- отображает все предметы, навыки и таблицы дропа при перезагрузке
3:
- тяжело (дословный перевод с офф вики)
4:
- очень много информации (дословный перевод с офф вики)
- отладка выключена
1:
- включает отображение огненного партикля, показывая точки спавна мобов
- при старте сервера показывает отчет о всех успешно загруженных точках спавна
2:
- показывает логи, когда использован навык, моб умирает, парсится таблица дропа и т.п.
- отображает все предметы, навыки и таблицы дропа при перезагрузке
3:
- тяжело (дословный перевод с офф вики)
4:
- очень много информации (дословный перевод с офф вики)
Итак, с конфигом более менее разобрались.
Теперь давайте разберемся со всеми возможностями для создания своего моба
YAML:
internal_mobname - имя моба в конфиге. должно быть уникальным
Type - тип моба(зомби, скелет, паук и т.п.)
Display - отображаемое имя
Health - количество здоровья
Damage - урон в ближнем бою(в дальнем бою не изменить)
Armor - броня
BossBar - надпись в БоссБаре(где показывается урон эндер дракона)
Faction - фракция моба. Полезно, если нужно сделать ИИ для мобов, например чтобы мобы одной фракции воевали с другой. Например моб, созданный MM с фракцией ELITE_ZOMBIE может быть агрессивен только к фракции мобов ELITE_SKELETON
Mount - устанавливается маунт для этого моба(на ком он будет ездить)
Options - опции
Modules - модули
AIGoalSelectors - позволяет настроить ИИ моба при нахождении в покое или при агрессии на сущность
AITargetSelectors - позволяет настроить ИИ моба для нападений и целей
Drops - дроп с моба
DamageModifiers - изменения наносимого урона мобу. Например можно его сделать неуязвимым к урону от ближников, но увеличить урон от дальников
Equipment - указывается во что моб будет одет
KillMessages - сообщение об убийстве мобом игрока
LevelModifiers - позволяет настраивать различные характеристики в зависимости от уровня
Disguise - изменяет облик моба. Например выглядит как скелет, а ведет себя как зомби. Нужен плагин LibsDisguises
Skills - способности, которые будет име моб
Давайте разбираться, что может хранить в себе DamageModifiers
Не обязательно использовать все пункты. Так-же можно вообще не использовать модификаторы урона.
Значения:
отрицательное | при получении данного типа урона моб будет получать здоровье. это не работает на мобов, невосприимчивых к этому урону по умолчанию. например железный голем не боится огня |
от 0 до 1 | уменьшенное получение урона |
1 | стандартное получение урона |
от 1 до ~ | повышенное получение урона |
DROWNING | урон от нехватки воздуха, если моб под водой |
BLOCK_EXPLOSION | урон от нахождения рядом с взрывающимся блоком |
ENTITY_EXPLOSION | повреждение от взрыва мобов. например кримера |
VOID | урон от падения в пустоту |
LIGHTNING | урон от попадания молнии |
SUICIDE | урон от самоубийства |
STARVATION | урон от голода, когда у моба нет еды |
POISON | урон от ядов, которые действуют некоторое время |
MAGIC | урон от зелья без таймера наложения бафа\дебаффа или заклинания |
DRAGON_BREATH | урон от дыхания дракона |
WITHER | урон от увядания |
FALLING_BLOCK | урон от падающих блоков, наносящих урон. Например наковальня |
THORNS | урон, если моб ударил кого либо под эффектом шипов |
CUSTOM | урон, вызванный другими плагинами |
LAVA | урон от лавы |
MELTING | урон от таяния снеговика |
FIRE_TICK | урон из за горения |
FIRE | урон от огня |
HOT_FLOOR | урон от блоком магмы |
FALL | урон от падения, если расстояние падения более 3 блоков |
SUFFOCATION | урон от удушья, например когда моба завалило песком |
PROJECTILE | урон при попадании снаряда |
ENTITY_ATTACK | урон от прочих мобов |
CONTACT | урон от блоков, наносящих урон при прикосновении. Например кактус |
Так-же нам понадобятся заполнители(плейсхолдеры) для создания сообщений, имен мобов да и много чего еще. И вот они все, перевел вам для удобства.
<caster.uuid> | возвращает UUID атакующего |
<caster.level> | Возвращает уровень атакующего |
<caster.name> | Возвращает имя атакующего |
<caster.hp> | Возвращает здоровье атакующего |
<caster.mhp> | |
<caster.php> | |
<caster.thp> | |
<caster.tt.top> | |
<caster.l.w> | возвращает название мира, где находится атакующий |
<caster.l.x> | возвращает координату X атакующего |
<caster.l.x.#> | возвращает координату X атакующего с погрешностью # в точности |
<caster.l.y> | возвращает координату Y атакующего |
<caster.l.y.#> | возвращает координату Y атакующего с погрешностью # в точности |
<caster.l.z> | возвращает координату Z атакующего |
<caster.l.z.#> | возвращает координату Z атакующего с погрешностью # в точности |
<caster.l.yaw> | |
<caster.l.pitch> | |
<caster.stance> | возвращает текущую позицию атакующего |
<caster.owner.name> | возвращает имя владельца |
<caster.owner.uuid> | возвращает UUID владельца |
ЗАПОЛНИТЕЛИ | ПЕРЕМЕННЫЕ |
<caster.var.[name]> | |
<skill.var.[name]> | возвращает значение переменной способности |
<skill.var.damage-amount> | возвращает значение переменной общего урона |
<skill.var.damage-type> | возвращает значение переменной типа нанесенного урона |
ЦЕЛЕВЫЕ | ЗАПОЛНИТЕЛИ |
Возвращает значение цели моба. | |
<target.uuid> | возвращает UUID цели |
<target.name> | возвращает имя цели |
<target.hp> | возвращает здоровье цели |
<target.threat> | |
<target.l.w> | возвращает название мира, где находится цель |
<target.l.x> | возвращает координату X где находится цель |
<target.l.x.#> | возвращает координату X цели с погрешностью # в точности |
<target.l.y> | возвращает координату Y где находится цель |
<target.l.y.#> | возвращает координату Y цели с погрешностью # в точности |
<target.l.z> | возвращает координату Z где находится цель |
<target.l.z.#> | возвращает координату Z цели с погрешностью # в точности |
ТРИГГЕРНЫЕ | ЗАПОЛНИТЕЛИ |
<trigger.uuid> | возвращает UUID игрока, активировавшего навык |
<trigger.name> | возвращает имя игрока, активировавшего навык |
<trigger.hp> | возвращает здоровье игрока, активировавшего навык |
<trigger.threat> | |
<trigger.l.w> | возвращает название мира, где находится игрок, активировавший навык |
<trigger.l.x> | возвращает координату X, где находится игрок, активировавший навык |
<trigger.l.x.#> | возвращает координату X, где находится игрок, активировавший навык с погрешностью # в точности |
<trigger.l.y> | возвращает координату Y, где находится игрок, активировавший навык |
<trigger.l.y.#> | возвращает координату Y, где находится игрок, активировавший навык с погрешностью # в точности |
<trigger.l.z> | возвращает координату Z, где находится игрок, активировавший навык |
<trigger.l.z.#> | возвращает координату Z, где находится игрок, активировавший навык с погрешностью # в точности |
РАЗЛИЧНЫЕ | ЗАПОЛНИТЕЛИ |
<drops.xp> | возвращает количество очков опыта, полученного с помощью плагинов Heroes или SkillAPI |
<drops.money> | возвращает количество полученных денег |
СПЕЦИАЛЬНЫЕ | ЗАПОЛНИТЕЛИ |
<caster.score.objective> | |
<target.score.objective> | |
<trigger.score.objective> | |
<global.score.objective> | |
<score.objective.dummyname> | |
<random.#-#> | |
ОСОБЫЕ | СИМВОЛЫ |
<&co> | : |
<&sq> | ' |
<&da> | - |
<&bs> | \ |
<&fs> | / |
<&sp> | пробел |
<&cm> | , |
<&sc> | ; |
<&eq> | = |
<&ss> | § |
<&dq> | “ |
<&rb> | ] |
<&lb> | [ |
<&rc> | } |
<&lc> | { |
<&nl> | переход на новую строку |
ЦВЕТОВЫЕ | КОДЫ |
&0 | черный |
&1 | темно синий |
&2 | темно зеленый |
&3 | аква |
&4 | темно красный |
&5 | темно фиолетовый |
&6 | золотой |
&7 | серый |
&8 | темно серый |
&9 | голубой |
&A | зеленый |
&B | аква |
&C | красный |
&D | светло фиолетовый |
&E | желтый |
&F | белый |
&K | магический |
&L | жирный |
&M | |
&N | подчеркнутый |
&O | наклонный |
&R | сброс форматирования |
Итак. Теперь мы знаем, что какие есть заполнители у плагина, и благодаря им мы и сможем гибко настраивать мобов и события.
Дальше нам нужно узнать, что же списывать в Options, чтобы задать дополнительные особенности мобу. Поехали.
ДЛЯ ВСЕХ | МОБОВ |
AlwaysShowName: [true/false] | должно ли имя моба отображаться всегда |
AttackSpeed: [число] | скорость атаки моба |
ApplyInvisibility: [true/false] | будет ли моб постоянно невидим |
Collidable: [true/false] | будет ли моб сталкиваться с чем либо |
Despawn: [true/false] | будет ли моб исчезать, если рядом нет игрока |
FollowRange: [число] | расстояние, на котором моб будет агриться на игрока |
Glowing: [true/false] | будет ли моб светиться |
Invincible: [true/false] | будет ли моб непобедимый |
Interactable: [true/false] | будет ли моб взаимодействовать с чем либо |
LockPitch: [true/false] | будет ли моб смотреть вверх\вниз |
KnockbackResistance: [число] | сопротивление отбрасыванию. 1 = 100%, 0.1 = 10%. При этом мобы будут отбрасываться, если их атаковать оружием, зачарованным на отбрасывание или взрыв |
MaxCombatDistance: [число] | максимальное расстояние в блоках, на котором игроки могут нанести урон мобу |
MovementSpeed: [число] | скорость передвижения. По умолчанию значение 0.2 |
NoAI: [true/false] | выключает ИИ моба, несмотря на то, что написано в AIGoalSelectors |
NoDamageTicks:[число] | задержка в тиках, сколько времени игрок не может наносить урон мобу после того, как он его нанес |
NoGravity: [true/false] | будет ли выключена гравитация для моба |
Persistent: [true/false] | моб не будет умирать, если использовать команду /mm m killall, но умрет, если использовать команду /butcher, /mm m kill X или /minecraft:kill |
PreventItemPickup: [true/false] | запрещает мобу подбирать предметы |
PreventLeashing: [true/false] | запрещает накидывание поводка на моба |
PreventMobKillDrops: [true/false] | запрещает выкидывание лута, если моб убит другим мобом MM |
PreventOtherDrops: [true/false] | запрещает дроп стандартного лута. например кости из скелета |
PreventRandomEquipment: [true/false] | разрешает мобу появляться со случайным снаряжением |
PreventRenaming: [true/false] | запрещает переименование моба с помощью тега nametag |
PreventSunburn: [true/false] | запрещает мобу гореть на солнце |
RepeatAllSkills: [true/false] | разрешает снова использовать навыки, зависящие от здоровья моба, если он вылечился выше порога для использования навыка |
ShowHealth: [true/false] | разрешает отображение здоровья моба, транслирующиеся через сообщения |
Silent: [true/false] | запрещает использовать мобам свои стандартные звуки |
Ух, отлично. Но это еще не все. Так-же у мобов можно включить логику поведения самого опасного игрока. Что это дает? Честный бой! Для примера есть босс, и вокруг него 5 игроков, которые его дубасят. По логике ИИ стандартного майна моб будет ходить за тем, кто его сагрил до того момента, пока цель не выйдет за его радиус атаки, ну или пока моб или игрок не умрет. А это значит, что пока 1 игрок бегает от босса, остальные могут безнаказанно его атаковать. Не честно? Не честно! И это можно исправить! В MM есть механика угрозы. Там можно сделать так, чтобы моб атаковал самого опасного игрока, то есть того, кто наносит больше всего урона! Вот мы и подобрались к пункту Modules
Итак, для начала включаем сам модуль:
Код:
Modules:
ThreatTable: true
Код:
Skills:
- threat{amount=10000} @NearestPlayer ~onSpawn
Но вы наверное спросите "Воу воу, а что такое onSpawn и @NearestPlayer"? А это триггеры и и цели!
Триггер, это событие, которое запускает какой-либо процесс. Триггеры используются только в описании навыком моба!
Ну а что такое цель я думаю вы и так знаете.
Сейчас я покажу, какие они вообще бывают!
onCombat | обычный триггер, который срабатывает при агре моба |
onAttack | когда моб ударяет кого-либо |
onDamaged | когда что-то наносит мобу урон |
onSpawn | когда моб спавнится |
onDespawn | когда моб деспавнится(например умирает, если рядом никого нет) |
onFirstSpawn | когда моб спавнится из спавнера |
onDeath | когда моб умирает |
onTimer:# | задает таймер в тиках |
onInteract | когда по мобу нажимают ПКМ |
onKillPlayer | когда моб убивает игрока |
onPlayerDeath | когда игрок рядом умирает по любой причине |
onEnterCombat | когда моб вступает в бой |
onDropCombat | когда моб покидает бой |
onChangeTarget | когда моб меняет цель |
onExplode | когда моб взрывается |
onTeleport | когда моб телепортируется |
onSignal | НЕ РАЗОБРАЛСЯ |
onSignal:[signal] | НЕ РАЗОБРАЛСЯ |
onShoot | когда моб стреляет снарядами |
С триггерами все понятно. А что с целями? А вот они!
ОДИНОЧНЫЕ | ЦЕЛИ |
@Self | сам моб |
@Target | атакуемая сущность мобом |
@Trigger | целью становится тот, кто запустил навык |
@NearestPlayer{r=#} | цель ближайший игрок в радиусе #. По умолчанию # = 5 |
@WolfOwner | цель хозяин волка |
@Owner | цель хозяин моба, если он есть |
@Mount | цель сущность, на которой едет цель |
@Parent | цель моб, который призвал этого моба |
@Children | Нацеливается на любые дочерние сущности, вызванные целью |
@Passenger | цель тот, кто едет на какой-либо сущности |
МУЛЬТИ-ОБЪЕКТНЫЕ | ЦЕЛИ |
@LivingInCone{a=90,0;r=16,0;rot=0,0} | цели все живые существа в конусе с углом а и длиной r с направлением взгляда моба |
@LivingInWorld | цели все живые существа в мире, где находится цель |
@LivingEntitiesInRadius{r=#} | цель все существа в радиусе # |
@MobsInRadius{r=#; types=X, X, X} | цель все мобы определенного типа(Х) в радиусе # |
@EntitiesInRadius{r=#; types=X, X, X} | цель все живые объекты каких-либо типов(Х) в радиусе # |
@PlayersInWorld | цель все игроки в текущем мире |
@PlayersOnServer | цель все игроки на сервере |
@PlayersInRing{min=#; max=#} | цель все игроки в заданном диапазоне блоков |
ЦЕЛИ | ТАБЛИЦА УГРОЗ |
@RandomThreatTarget | цель случайный игрок в таблице угроз |
@Threatable | цель все игроки в таблице угроз |
ЦЕЛИ | МЕСТОПОЛОЖЕНИЯ |
@SelfLocation | цель местоположение моба |
@Forward{f=5;y=0.0} | цель 5 блоков в сторону взгляда моба |
@TargetLocation | цель местоположение цели(на кого агрится моб) |
@Location{c=x, y, z} | цель указанные координаты |
@Spawner{s=[название]} | цель спавнер MM с определенным названием. Можно использовать ряд спавнеров. Например есть spawner1 spawner2 spawner3 и т.п. и чтобы их все не писать можно написать spawner* |
МНОГОПОЗИЦИОННЫЕ | ЦЕЛИ |
@PlayerLocationsInRadius{r=#} | НЕ РАЗОБРАЛСЯ |
@Ring{radius=#; points=#} | НЕ РАЗОБРАЛСЯ |
@Cone{angle=#;points=#;range=#;rotation=#;} | НЕ РАЗОБРАЛСЯ |
@EntitiesInCone{angle=#;range=#;rotation=#;} | цель все объекты внутри конуса |
Ты еще не устал читать? Отлично! Тогда продолжаем!
Теперь давай поговорим о такой вещи, как AIGoalSelectors!
Этим мы можем заставить моба вести себя так, как нам захочется! Ну, почти как захочется! Есть несовместимые события, но их мало. Например есть событие "EatGrass", это заставляет моба есть траву! Но если мы применим это, например, к зомби, мы получим ошибку, т.к. этот моб не ест траву.
Итак, поехали разбираться, как же настроить ИИ моба!
Можно указывать несколько типов поведения. Например:
YAML:
AIGoalSelectors:
# моб будет просто ходить. Удаляем ему ИИ
- 0 clear
#но если рядом будет враг, моб пойдет его атаковать
- 1 meleeattack
#и будет смотреть по сторонам, если он не нацелен на врага
- 2 randomstroll
ДЛЯ ВСЕХ | МОБОВ |
clear | удаляет ИИ моба |
breakdoors | моб будет ломать дверь, если она будет на его пути |
eatgrass | моб будет жевать траву |
float | моб будет плавать и не тонуть |
lookatplayers | моб будет смотреть на ближайшего игрока |
opendoors | моб будет открывать двери, входить и закрывать дверь |
closedoors | НЕ РАЗОБРАЛСЯ |
randomlookaround | моб будет беспорядочно оглядываться |
ТОЛЬКО | СУЩЕСТВА |
avoidcreepers | моб будет избегать криперов |
avoidskeletons | моб будет избегать скелетов |
avoidzombies | моб будет избегать зомби |
fleesun | моб будет избегать солнечного света |
meleeattack | моб будет атаковать в ближнем бою |
movetowardstarget | моб будет двигаться к своей цели |
randomstroll | моб будет беспорядочно ходить вокруг |
restrictsun | моб будет пытаться не попадать под солнечный свет |
fleeplayers | моб будет избегать игроков |
fleegolems | моб будет избегать големов |
fleevillagers | моб будет избегать деревенских жителей |
spiderattack | моб будет использовать атаку, как у пауков |
leapattarget | моб будет бросаться на свою цель |
moveindoors | НЕ РАЗОБРАЛСЯ |
movethroughvillage | НЕ РАЗОБРАЛСЯ |
movetowardsrestriction | НЕ РАЗОБРАЛСЯ |
patrol x1,y1,z1;x2,y2,z2;x3,y3,z3;… | моб будет патрулировать зону по координатам |
gotolocation x,y,z | моб будет идти на указанные координаты |
gotoparent | моб будет двигаться к другому мобу, который его породил |
ТОЛЬКО ДАЛЬНОБОЙНЫЕ | СУЩНОСТИ |
arrowattack | моб атакует снарядами(дальний бой) |
skeletonbowattack | моб использует новый ИИ, как у скелетов |
Ну и сразу давай сделаем логику для атак моба! Для этого нам нужен пункт AITargetSelectors
Например напишем так:
YAML:
AITargetSelectors:
- 0 clear
- 1 players
- 2 golems
Это значит что по умолчанию ни на кого не нападаем(если никого рядом нет)
Но если есть игрок, то нападаем на него
И если есть голем нападаем на него. Но не нападаем на голема пока есть рядом игрок, т.к. игрок выше голема по приоритетам. Все возможные события для AITargetSelectors
clear | очищаем ИИ моба |
attacker | цель любой, кто атакует моба |
monsters | цель любой моб монстр |
players | цель игрок |
villagers | цель деревенский житель |
golems | цель голем |
OtherFaction | цель любая сущность в другой фракции |
OtherFactionMonsters | цель любой моб в другой фракции |
OtherFactionVillagers | цель любой деревенский житель в другой фракции |
SpecificFaction [имя фракции] | цель любые сущности из 1 определенной фракции |
SpecificFactionMonsters [имя фракции] | цель монстры из 1 определенной фракции |
Все. Закончили настраивать ИИ мобов!
Теперь давайте создадим список того, что будет падать с моба при убийстве, ведь это самое главное для игрока - награда!
Вид записи дропа имеет следующий:
YAML:
Drops:
- <предмет/опыт/таблица дропа> <количество> <шанс>
champions-exp | очки опыта для плагина Champions |
skillapi-exp | очки опыта для плагина SkillAPI |
heroesexp | очки опыта для плагина Heroes |
mcmmo-exp | очки опыта для плагина MCMMO |
exp | обычные очки опыта MINECRAFT |
money | деньги, нужно плагин Vault |
mythicdrop <предмет> | предмет из плагина MythicDrops |
phatloot <предмет> | предмет из плагина PhatLoot |
cmd | выполнится какая-либо команда. Пример выполнения- cmd{c="warp <trigger.name> spawn"} |
mmoitems | предмет из плагина MMOItems |
Так, дроп есть, но, я думаю нужно еще нарядить во что-то моба, а то чего он голый бегает?
Для этого нам понадобится пункт Equipment
В конфиге это будет выглядеть так:
YAML:
Equipment:
- <предмет> <слот на мобе>
Например:
Код:
Equipment:
- awesome_boss_helmet HEAD
- diamond_sword HAND
На что может быть одето:
HEAD | голова |
CHEST | тело |
LEGS | ноги |
FEET | ступни |
HAND | рука |
OFFHAND | вторая рука |
Ну и для завершения моба осталось только сделать ему способности!
Давайте же приступим! В конфиге это будет выглядеть так:
YAML:
Skills:
- механика 1
- механика 2
- и т.д.
- mechanic{option=value} @[targeter] ~on[trigger] [health_modifier] [chance]
Свиду сложно, но это не так! Давайте разберем строку.
Код:
- mechanic{option=value} @[targeter] ~on[trigger] [health_modifier] [chance]
mechanic = способность
option=value = значение способности
@[targeter] = цель или цели
~on[trigger] - триггер
[health_modifier] - модификатор здоровья у моба. Может иметь разные условия, например:
=90% - моб выполнит заклинание 1 раз, когда у него будет 90% здоровья
<50% - моб будет использовать навык только если у него от 1 до 50% здоровья
=30%-50% - моб будет использовать навык только когда его здоровье от 30 до 50%
<2000 - моб будет использовать навык только если у него менее 2000 здоровья
>500 - моб будет использовать навык только если у него более 500 здоровья
[chance] - шанс от 0 до 1, где 0 = 0, 0.5 = 50%, 1 = 100%
Пример:
YAML:
Skills:
- ignite{ticks=100} @target ~onAttack <50% 0.4
Как видите все очень даже просто.
Какие бывают способности:
СПОСОБНОСТЬ | УСЛОВИЯ | ОПИСАНИЕ |
activatespawner | {spawner=имя} - активирует спавнер с определенным именем {spawner=g:имя} - активирует всю группу спавнеров по имени {spawner=имя*} - активирует ряд спавнеров. Например имя1, имя2, имя3 | активирует спавнер, заставляя его порождать мобов |
animatearmorstand | {d=10;leftarm=90,0,0;rightarm=270,0,0;ignoreempty=false;smart =true} d - время анимации в тиках smart - сделать анимацию более плавной ignoreempty - не будет делать анимацию для пустых конечностей | задает движение стенду для брони |
arrowvolley | {a=20;s=25;v=10;f=50;rd=200} a - количество стрел s - угол разброса v- скорость f - огненные стрелы. Значение в тиках, на сколько поджечь цель при попадании rd - время, в течении которого стрелы не исчезнут с земли | запускает ряд стрел в цель |
auraremove | {aura=Ice;stacks=10} aura - название ауры stacks - не совсем разобрался | удаляет ауру с цели |
barCreate | {name="MyBossBar";display="<caster.name> - <caster.hp>";value=1.0;color=BLUE;style=SEGMENTED_6} name - имя БоссБара display - текст БоссБара value - % заполненности БоссБара. От 0 до 1 color - цвет БоссБара. Доступны следующие цвета: PINK, BLUE, RED, GREEN, YELLOW, PURPLE, WHITE. style - стиль БоссБара. Доступны следующие стили: SOLID, SEGMENTED_6, SEGMENTED_10, SEGMENTED_12, SEGMENTED_20 | создает BossBar |
barSet | {name="MyBossBar";display="<caster.name> - <caster.hp>";value=1.0} name - имя существующего БоссБара display - текст БоссБара value - % заполненности БоссБара. От 0 до 1 | модифицирует существующий BossBar |
barRemove | {name="MyBossBar"} name - имя существующего БоссБара | удаляет существующий BossBar |
breakblock | {forcesync=true} @location{c=100,64,100} требует, чтобы в конфиге была включена forcesync @location - местоположение блока | ломает блок по определенным координатам |
closeinventory | {forcesync=true} требует, чтобы в конфиге была включена forcesync | закроет инвентарь игроку. Требуется чтобы целью был игрок |
command | {c="minecraft:tp <target.name> <mob.uuid>"} ВАЖНО! В нельзя использовать символы двоеточия, фигурных скобок и т.п. Нужно заменять их плейсхолдерами. Например " заменяется на <&dq> Пример правильной команды: command{c="minecraft:summon Zombie ~ ~ ~ {NoAI:true,CustomName:<&dq>Зомби помощник<&dq>}"} Пример неправильной команды: command{c="minecraft:summon Zombie ~ ~ ~ {NoAI:true,CustomName:"Зомби помощник"}"} | выполняет какую либо команду |
consume | {d=1000;h=20} d - наносимый урон h - кол-во восстанавливаемого здоровья pi - игнорировать ил иммунитеты ia - игнорировать ли броню Пример: consume{d=1000;h=20} @MobsInRadius{type=ZOMBIE;r=20} | наносит урон по местности и исцеляет себя от нанесенного урона по кому-либо |
disengage | НЕ РАЗОБРАЛСЯ | |
disguise | {d=SHEEP} d - в какую сущность превратить моба {type=player;player=&7Jeb;skin=Notch} type - тип, в кого превратиться player - имя игрока skin - скин игрока требует плагина Lib's Disguises | Превращает моба в кого-либо |
disguisetarget | Примеры: disguisetarget{d=SHEEP} @target превратит цель в овцу disguisetarget{type=player;player=&7Jeb;skin=Notch} @target превратит цель в игрока с ником Jeb и скином игрока Notch требует плагина Lib's Disguises | превращает в кого-либо цель |
undisguise | Пример: undisguise ~onInteract требует плагина Lib's Disguises | удаляет активную маскировку на мобе, если она есть |
dismount | заставляет спрыгнуть кого-либо с транспорта(лошадь, осел, вагонетка...) | |
currencygive | {amount=20} amount - количество. Пример: currencygive{amount=20} @pir{r=25} ~onSpawn 0.3 с шансом 30% при появлении выдаст по 20 монет в радиусе 25 блоков Требует плагин Vault и включение его в конфиге MM | выдает деньги игроку или игрокам |
currencytake | {amount=20} amount - количество. Требует плагин Vault и включение его в конфиге MM | забирает деньги у игрока или игроков |
damage | {amount=20;ignoreArmor=true} amount - колтчество урона ignoreArmor - игнорировать ли броню pi - игнорировать ли иммунитеты | наносит урон |
basedamage | {m=1.5} m - процент урона, где 1 = 100%, 0.5 = 50% 1.5 = 150% ia - игнорировать ли броню pi - игнорировать ли иммунитеты | наносит % урона от своего показателя урона на данный момент |
damagepercent | {percent=0.5} percent - процент наносимого урона ia - игнорировать ли броню pi - игнорировать ли иммунитеты | наносит урон, равный % максимального здоровья игрока |
decapitate | роняет голову целевой сущности | |
doppleganger | Пример: doppleganger @NearestPlayer ~onSpawn моб скопирует внешний вид самого ближайшего игрока при спавне требует плагина Lib's Disguises | моб копирует внешний вид игрока |
dropitem | {i=diamond_sword,diamond} {i=SkeletonKingDrops} | предметы, которые нужно бросить. Это может быть разделенный запятыми список элементов или таблица дропа |
ejectpassenger | заставляет всех слезть сч транспорта | |
equip | Примеры: equip{item=diamond_sword HAND} зкипирует моба алмазным мечом equip{item=KingsCrown HEAD} экипирует моба шлемом KingsCrown из списка предметов MM | экипирует моба чем либо |
explosion | y - сила взрыва, по умолчанию 0.013 bd - повредит ли взрыв блоки ft - останется ли после взрыва огонь | позволяет создать взрыв возле кого-либо |
feed | a - сколько еды восстанавливать s - сколько выдать насыщения o - разрешить ли перекармливание | позволяет накормить игрока. перекармливание превращается в насыщение |
fly | d - время действия в тиках. По умолчанию 200 | заставляет игрока летать, подобно команде /fly |
forcepull | s - радиус. Пример: forcepull{s=5} @EntitiesInRadius{r=30} телепортирует всех в радиусе 30 блоков к боссу в радиусе 5 блоков | телепортирует сущности в неком радиусе вокруг моба |
effect:glow | c - цвет свечения d - время свечения в тиках. По умолчанию 100 | заставляет сущность светиться |
giveitem | {i=diamond_sword;a=1} i - предмет a - количество | дает игроку предмет |
heal | {amount=20;overheal=true} amount - количество overheal - разрешить лечиться выше максимального здоровья. Это значит, что если это применяется на моба, и у него, например, 20 здоровья из 20 и мы применяем на него лечение, то оно прибавится и будет выше максимального. То есть 40. | лечит сущность на некоторое количество здоровья |
healpercent | multiplier - % лечения overheal - разрешить лечиться выше максимального здоровья | лечит сущность на некоторый % от ее максимального здоровья |
ignite | ticks - время горения в тиках | поджигает цель |
jsonmessage | m - сообщение Пример: jsonmessage{m="[{'text':'&7Если на меня навести, я покажу сообщение','hoverEvent':{'action':'show_text','value':{'text':'&aЯ событие наведения'}}}]"} @trigger ~onInteract | позволяет отправить игроку JSON сообщение |
jump | v - скорость прыжка. По умолчанию 1 | заставляет прыгать сущность |
leap | v - скорость прыжка. По умолчанию 100 | заставляет прыгнуть цель к сущности |
lightning | d - урон. По умолчанию 0.01337 Пример lightning{d=0.02} @EntitiesInRadius{r=10} ~onTimer:100 | бьет молнией по цели или местности |
look | {headOnly=true;immediately=true} headOnly - повернуть только голову immediately - моментально повернуться, без анимации | заставляет моба посмотреть на цель |
lunge | {velocity=15;velocityY=5} velocity - горизонтальная скорость velocityY - вертикальная скорость | заставляет сделать рывок к цели |
message | {m="<mob.name>&f<&co> Хаха! Я умею говорить!"} m - сообщение | позволяет отправить сообщение |
mount | mount{type=UndeadMount} type - тип маунта маунты должны быть созданы в MM | позволяет призвать маунта для моба и сесть на него |
mountme | заставляет цель сесть на моба | |
mounttarget | позволяет мобу сесть на цель | |
posearmorstand | {head=45,0,0} head - голова body - тело leftarm - левая рука rightarm - правая рука leftleg - левая нога rightleg - правая нога | задает позу для стойки брони |
potion | {type=SLOW;duration=200;level=4} type - тип зелья duration - время действия в тиках level - уровень зелья. Минимум 0 force - нужно ли переопределить эффект, если он уже есть hasParticles - отображать ли эффект частиц hasIcon - показывать ли значок состояния | накладывает эффекты зелий на цель |
prison | {material=IRON_BLOCK;duration=200;breakable=true} material - материал блока duration - время заточения breakable - можно ли сломать блоки | позволяет поместить сущность в клетку из блоков |
pull | velocity - базовая скорость тяги | притягивает к мобу все цели с ускорением |
pushbutton | {x=15;y=67;z=-213} | нажимает кнопку по указанным координатам |
rally | {types=Guard,Knight;radius=30;ot=false} types - типы мобов radius - радиус поиска ot - нужно ли сплачивать мобов, у которых уже есть цель? vradius - вертикальный радиус hradius - горизонтальный радиус | заставляет мобов определенных типов атаковать цель омба если у них нет цели |
randommessage | {m="это сообщение","или это","а может это";} | отправляет игроку случайное сообщение из списка |
remount | заставляет мобов садиться на маунтов, которых они породили | |
remove | {delay=200} delay - задержка в тиках | удаляет моба |
consumeHeldItem | amount - количество | удаляет вещь из руки |
actionmessage | {m="<mob.name>&f кастует заклинание!"} | позволяет показать сообщение в экшенбаре |
sendresourcepack | {url="https://mysite.com/file.zip"} url - адрес ресурспака | позволяет отправить игроку ресурспак |
sendtitle | {title="Внимание!";subtitle="Кастуется опасное заклинание!";d=20} title - заголовок subtitle - сообщение d - время в тиках fadeIn - время появления в тиках fadeOut - время затухания в тиках | показывает сообщение по центру экрана |
sendtoast | {icon=DIAMOND; iconnbt={CustomModelData:1};message="Босс убит!";frame=challenge} icon - иконка. Может быть любым предметом minecraft iconnbt - NBT иконка message - сообщение frame - тип окошка. Может быть: challenge, task,goal | показывает сообщение в окошке достижений |
setblock | {m=STONE;md=0} m - блок md - ID блока на который заменить | изменяет тип блока |
setgamemode | {m=CREATIVE;sync=true} требует, чтобы в конфиге было включено sync=true | изменяет режим игры игроку |
setgliding | {g=true} | заставляет парить сущность, если у нее есть надкрылки и она в воздухе |
setgravity | {g=false} | влияет ли гравитация на сущность |
sethealth | a - количество здоровья | устанавливает количество здоровья цели |
setlevel | a - математическое действие l - уровень Примеры: setlevel{a=set;l=3} ~onSpawn при спавне сделает моба 3 уровня setlevel{a=add;l=1} ~onKillPlayer будет добавлять 1 уровень каждый раз, когда убивает игрока | устанавливает уровень моба |
setmaxhealth | amount - количество mode - тип установки здоровья Примеры: setmaxhealth{amount=5;mode=STATIC} @self ~onInteract Установит 5 здоровья. Если у игрока было больше у него станет 5 из 5 здоровья setmaxhealth{amount=5;mode=SCALE} @self ~onInteract установит 5 здоровья, но если у игрока было не полное здоровье, то высчитается %. Например у игрока было 15 из 20 здоровья, то станет 3 из 5. | позволяет установить максимальное количество здоровья |
setcolor | color - свет | позволяет задать цвет моба |
setname | name - имя моба | устанавливает имя мобу |
setspeed | {speed=2;type=walking} speed - скорость type - что изменяем: walking - хотьба, flying - полет | задает скорость ходьбы и полета |
shield | НЕ РАЗОБРАЛСЯ | |
shieldPercent | НЕ РАЗОБРАЛСЯ | |
shootfireball | yield - мощность шара velocity - скорость шара incendiary - оставит ли после себя огонь fireTicks - время огня в тиках smallfireball - использует маленький шар ифрита playsound - звук огненного шара при его создании | кидает огненный шар в цель или на местность |
shootpotion | {type=SLOW;duration=200;level=4;velocity=5} type - эффект зелья duration - время действия в тиках level - уровень зелья velocity - скорость полета зелья hasParticles - отображение частиц hasIcon - показывать ли значок эффекта состояния | позволяет кинуть зелье в цель или на местность |
shootskull | yield - сила взрыва черепа playsound - создавать ли звук черепа при создании | стреляет увязающим черепом |
spring | type - тип. Может быть water или lava duration - время в тиках | создает лужу из воды или лавы у цели или на местности |
stun | duration - продолжительность стана facing - может ли застаненная сущность шевелиться | сущность получает стан |
suicide | заставляет моба умереть | |
summon | {type=WITHER_SKELETON;amount=5;radius=4} type -тип моба amount - количество level - уровень radius - радиус вокруг цели для призыва onSurface - следует ли порождать мобов только на твердых блоках copyThreatTable - саммоны копируют таблицу опасностей родителя inheritThreatTable - родитель копирует таблицу опасностей от саммонов inheritFaction - саммоны будут иметь ту же фракцию, что и родитель | призывает определенный тип мобов вокруг цели |
teleport | {spreadh=5;spreadv=0} spreadh - горизонтальный разброс spreadv - вертикальный разброс | телепортирует моба в некотором количестве блоков от цели |
teleportto | {location=190,64,200} location - координаты куда телепортировать world - мир, куда телепортировать | телепортирует всех в указанное место |
threat | {amount=10000} amount - количество mode - логическое действие. Может быть: Add / Remove / Multiply / Divide / Set / Reset / Forcetop значения Set/reset/forcetop не требуют переменной amount | устанавливает уровень угрозы цели |
throw | {velocity=5;velocityY=5} velocity - горизонтальная сила отбрасывания velocityY - вертикальная сила отбрасывания | отбрасывает сущности от моба |
togglelever | {duration=600;x=15;y=67;z=-213} | переключает рычаг в определенном месте на определенное время в тиках. После этого возвращает рычаг в исходное положение |
weather | {type=storm;duration=6000} type - тип погоды. Может быть: sunny, rainy, “stormy duration - продолжительность в тиках | устанавливает погоду |
speak | {radius=30;message=" Я появился!";chatprefix=<caster.name>&f<&co>} radius - радиус, на котором игроки увидят сообщение message - сообщение chatprefix - префикс сообщения в чате | позволяет вывести речь моба с некоторыми настройками |
Так-же можно украсить каст навыков эффектами. Это полезно, если вы хотите сделать действительное красивое использование способностей.
Синтаксис использования у них такой-же, как и у способностей:
YAML:
Skills:
- effect:flames @target
- effect:lightning @self
- effect:ender @PlayersInRadius{r=20}
НАЗВАНИЕ | УСЛОВИЯ | ОПИСАНИЕ |
blackscreen | d - продолжительность в тиках | затемняет экран игрока |
blockmask | material - материал data - ID data блока(например блок 35:2 вот число 2 вписывать сюда) radius - радиус создания noise - позволяет делать маску не полностью заполненной. По умолчанию 0 = заполнить полностью duration - продолжительность в тиках shape - форма(Sphere/Cube ) noair - заполнение без воздуха | создает видимую фигуру из блоков(не физическую) |
blockunmask | r - радиус | отменяет действие команды blockmask |
blockwave | material - материал data - ID data блока(например блок 35:2 вот число 2 вписывать сюда) radius - радиус radiusy - задает разброс duration - продолжительность в тиках shape - форма(Sphere/Cube ) velocity - скорость | создает волну разлетающихся блоков(не физических) |
bloodyScreen | duration - время в тиках cancel - отменяет прочие красные экраны, если они есть | показывает красный экран как при сильном повреждении |
ender | эффект частиц эндера | |
enderbeam | duration время в тиках | эффект полета эндер кристалла |
explosion | создает эффект взрыва | |
flames | эффект пламени | |
geyser | type - тип жидкости(water,lava) height - высота speed - скорость | эффект выброса жидкости из под земли |
glow | duration - время в тиках color - свет требует плагин GlowAPI | заставляет цель светиться |
lightning | localized - звук будет слышан только в радиусе действия localizedradius - радиус действия | эффект удара молнии |
particles | particle - тип частиц amount - количество hSpread - горизонтальное расположение vSpread - вертикальное расположение speed - скорость yOffset - смещение частиц к цели viewDistance - дистанция видимости Size - размер color - цвет | создает частицы в определенном месте или на цели |
particlebox | particle - тип частиц radius - радиус | создание коробки из частиц |
particleline | distanceBetween - растояние между частицами в линии.(0.25 по умолчанию) | создание линии частиц от моба к цели |
particlering | particle - тип частиц points - количество точек частиц radius - радиус amount - количество hS - горизонтальное расположение vS - вертикальное расположение | создает кольцо из частиц |
particletornado | ||
Реклама:
Если вы ищете отличный хостинг и хотите поддержать автора статьи, то рекомендую: https://my.hosting-minecraft.ru/