Формат Предмета - GlowingInk/ReActions GitHub Wiki
ReActions имеет свой нестандартный синтаксис предметов. Предметы описываются своеобразным конструктором из ключевых слов и их значений.
Ключ | Описание |
---|---|
type:<тип> type:diamond_sword
|
<тип> - материал предмета. При отсутствии параметра подбор учитывает все типы предметов. При указании type:AIR принимает только отсутсвие предмета.В обоих случаях предмет не создаётся, только проверяется. |
amount:<кол-во> amount:5
|
<кол-во> - количество предметов.При отрицательных значениях предмет создается с 1. |
durability:<повреждение> durability:5
|
<повреждение> - насколько поврежден предмет.Только для инструментов и брони. |
item:<тип>[:<повреждение>][*<кол-во>] item:diamond_sword:13 item: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,56 color:red color:#123abc
|
<цвет> - цвет предмета.Поддерживает обычное RGB, названия цветов Bukkit, и формат HEX цветов. При проверке, при пустом значении {} сверяется отсутсвие цвета.На момент написания, только для зелий, брони и карт. |
enchantments:<зачарование>:<уровень> enchantments:unbreaking:1 enchantments:{protection:1;fire_protection:2}
|
<зачарование> - название зачарования.<уровень> - уровень соответствующего зачарования.Можно поворить через ; .Для type:enchanted_book обрабатывается как список вложенных зачарований.При пустом значении {} сверяется отсутствие зачарований; иначе проверяется наличие всех указанных.Принимаются как ванильные имена зачарований, так и Bukkit. |
head-owner:<владелец> head-owner:fromgate
|
<владелец> - никнейм владельца головы.Только для type:player_head . |
potion-effects:<эффект>:<уровень>:<длительность> potion-effects:speed:1:10m potion-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:fromgate book-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:RED banner-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_SWORD
ITEM "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}
Действия поддерживающие наборы предметов: