-
Notifications
You must be signed in to change notification settings - Fork 6
Формат предмета
ReActions имеет свой нестандартный синтаксис предметов. Предметы описываются своеобразным конструктором из ключевых слов и их значений.
| Ключ | Описание |
|---|---|
type:<тип>type:diamond_sword
|
<тип> - материал предмета. При отсутствии параметра подбор учитывает все типы предметов. При указании type:AIR принимает только отсутсвие предмета.В обоих случаях предмет не создаётся, только проверяется. |
amount:<кол-во>amount:5
|
<кол-во> - количество предметов.При отрицательных значениях предмет создается с 1. |
durability:<повреждение>durability:5
|
<повреждение> - насколько поврежден предмет.Только для инструментов и брони. |
item:<тип>[:<повреждение>][*<кол-во>]item:diamond_sword:13item:dirt*64
|
<тип> - материал предмета.<повреждение> - насколько поврежден предмет.<кол-во> - количество предметов.Упрощенный синтаксис указания предмета. |
name:<название>name:Лезвиеname:{Горячая картошка}
|
<название> - название предмета.При наличии параметра regex:true автоматически превращается в параметр name-regex. |
name-regex:<выражение>name-regex:{Изумрудный .*}
|
<выражение> - регулярное выражение названия предмета.При выдаче предмета работает как name, но при проверке предмета обрабатывает название того на соответствие. |
lore:<описание>lore:Новогоднийlore:{Древний меч\nКороля Артура}
|
<описание> - описание предмета.\n обрабатывается как новая строка.При наличии параметра regex:true автоматически превращается в параметр lore-regex. |
lore-regex:<выражение>lore-regex:{Предмет игрока \w+}
|
<выражение> - регулярное выражение описания предмета.При выдаче предмета работает как lore, но при проверке предмета обрабатывает описание того на соответствие.Перед проверкой все описание собирается в одну строку и обрабатывается одним разом. |
custom-model-data:<номер>custom-model-data:5
|
<номер> - номер CustomModelData предмета. |
color:<цвет>color:12,34,56color:redcolor:#123abc
|
<цвет> - цвет предмета.Поддерживает обычное RGB, названия цветов Bukkit, и формат HEX цветов. При проверке, при пустом значении {} сверяется отсутсвие цвета.На момент написания, только для зелий, брони и карт. |
enchantments:<зачарование>:<уровень>enchantments:unbreaking:1enchantments:{protection:1;fire_protection:2}
|
<зачарование> - название зачарования.<уровень> - уровень соответствующего зачарования.Можно поворить через ;.Для type:enchanted_book обрабатывается как список вложенных зачарований.При пустом значении {} сверяется отсутствие зачарований; иначе проверяется наличие всех указанных.Принимаются как ванильные имена зачарований, так и Bukkit. |
head-owner:<владелец>head-owner:fromgate
|
<владелец> - никнейм владельца головы.Только для type:player_head. |
potion-effects:<эффект>:<уровень>:<длительность>potion-effects:speed:1:10mpotion-effects:{speed:1:10m,fire_resistance:1:1h}
|
<эффект> - название эффекта.<уровень> - уровень соответствующего эффекта.<длительность> - длительность соответствующего эффекта.Можно повторить через ;.Только для зелий и type:tipped_arrow.При пустом значении {} сверяется отсутствие эффектов; иначе проверяется наличие всех указанных.Принимаются как ванильные имена эффектов, так и Bukkit. |
potion-base:{base-type:<база> extended:<удлинено> upgraded:<улучшено>}potion-base:{base-type:TURTLE_MASTER extended:false upgraded:true}potion-base:{base-type:AWKWARD}
|
<база> - основание зелья по Bukkit.<удлинено> - удлинена ли длительность зелья.<улучшено> - улучшен ли уровень зелья.Только для зелий и type:tipped_arrow. |
book-author:<автор>book-author:fromgatebook-author:{Загадочный писатель}
|
<автор> - автор книги.Только для type:writable_book и type:written_book. |
book-title:<название>book-title:Туториалbook-title:{Шрек 2}
|
<название> - название книги.Только для type:writable_book и type:written_book. |
book-pages:<содержание>book-pages:{Привет мир}book-pages:{Раз&zДва&zТри\nЁлочка гори}
|
<содержание> - содержание страниц книги.Только для type:writable_book и type:written_book.&z отвечает за новую строку, \n за новую страницу книги.В мерах оптимизации, обработка страниц у реальных предметов отключена. |
firework-effect:{type:<тип> flicker:<мерцание> trail:<путь> colors:{<цвета>} fade-colors:{<цвета>}}firework-effect:{type:BALL flicker:true trail:true colors:{#123abc 12,34,56} fade-colors:{BLUE}}firework-effect:{type:CREEPER colors:{RED}; type:LARGE_BALL colors:{WHITE}}
|
<тип> - тип фейерверка по Bukkit.<мерцание> - будет ли вспышка мерцающей.<путь> - будет ли виден путь фейерверка.<цвета> - RGB, HEX или название цвета, можно повторить через .Эффект можно повторить через ;.Только для type:firework. |
firework-power:<мощность>firework-power:2
|
<мощность> - мощность фейерверка.Только для type:firework. |
banner-pattern:<узор>:<цвет>banner-pattern:CIRCLE_MIDDLE:REDbanner-pattern:{HALF_VERTICAL_MIRROR:YELLOW;STRIPE_BOTTOM:BLACK}
|
<узор> - тип узора по Bukkit.<цвет> - цвет узора по Bukkit.Можно повторить через ;.Только для баннеров и type:shield. |
map-scale:<масштабирование>map-scale:true
|
<масштабирование> - включено ли масштабирование карты.Только для карт. |
Сравнение предметов происходит во флагах сравнивающих предметы (подсчитывающих необходимое количество), а также в действиях связанных с изъятием предметов. Эти флаги и действия позволяют использовать регулярные выражения при сравнении предметов. При этом, при сравнении участвует лишь несколько полей: type, data, amount, name и lore. Если пропустить какое-то из этих полей, то тогда будет допускаться любое значение этого поля. Можно отключить использование регулярных выражений, указав параметр regex:false при описании предмета для сравнения.
Допустим, у игрока в руках предмет — стальной меч названный "Меч силача" с описанием "Это меч величайшего силача Васи Пупкина".
Вот пример флага ITEM, который будет успешно находить этот предмет:
ITEM "type:IRON_SWORD name:{Меч силача} lore:{Это меч величайшего силача Васи Пупкина}ITEM "type:IRON_SWORD name:{.* силача}ITEM "type:IRON_SWORDITEM "type:IRON_SWORD lore:{.*меч.*Васи Пупкина}
Если описание предмета состоит из нескольких строк, то все строки будут сравниваться отдельно:
Допустим Вам нужно извлечь "специальные ботинки" из инвентаря игрока. Ботинки - железные, при этом их описание состоит из трёх строк: 1: "Ботинки скорости", 2: "Это чудесные ботинки", "3: созданные при помощи нанотехнологий"
Вот пример, как можно писать такое действие:
ITEM_REMOVE_INVENTORY type:IRON_BOOTS lore:{.*ботинки\n.*\n.*нанотех.*}
Формат описания набора предметов используется в ряде действий, что позволяет создавать сразу несколько предметов и при этом, набор предметов может определяться случайным образом.
set1:{item1:<Предмет> item2:<Предмет> item3:<Предмет> chance:<Вероятность>} set1:{item2:<Предмет> item2:<Предмет> item3:<Предмет> chance:<Вероятность>}...
-
<Предмет>— описание предмета (см. выше) -
<Вероятность>— Вероятность выбора именно этого набора предметов (в процентах). Если сумма процентов всех шансов не равна 100, то конечный результат рассчитывается пропорционально.
set1:{item1:IRON_SWORD item2:DIAMOND_SWORD chance:5} set2:{item1:{type:DIRT amount:200} chance:95}
Действия поддерживающие наборы предметов:
- Команды и пермишены
- Активаторы
- Кастомные команды
- Флаги
- Действия
- Таймеры
- Меню
- Форматы данных
- Конфигурация