Формат предмета

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

[БазовыйПредмет] [Чары] [Название] [Описание] [Параметры] [РегулярВыраж]

Параметры

ЭлементВозможные значенияОписание
[БазовыйПредмет]type:<Тип> [data:<ДопДанные>] [amount:<Количество>]
item:<Тип>[:<ДопДанные>][*<Количество>]
Базовые параметры предмета (тип, «data», количество).
Тип предмета (type) — это название материала в BukkitAPI, но вы можете также использовать цифровое значение (т.е. type:1 вместо type:STONE).
Примеры:
type:STONE amount:64
type:MAP data:12 amount:10
type:IRON_SWORD
item:DIAMOND*64
[Чары]enchantments:<Чары1>[:<Level>][;<Чары2>[:<Level>]]Список чар, наложенных на предмет.
Поддерживаются следующие виды чар: PROTECTION_ENVIRONMENTAL, PROTECTION_FIRE, PROTECTION_FALL, PROTECTION_EXPLOSIONS, PROTECTION_PROJECTILE, OXYGEN, WATER_WORKER, THORNS, DAMAGE_ALL, DAMAGE_UNDEAD, DAMAGE_ARTHROPODS, KNOCKBACK, FIRE_ASPECT, LOOT_BONUS_MOBS, DIG_SPEED, SILK_TOUCH, DURABILITY, LOOT_BONUS_BLOCKS, ARROW_DAMAGE, ARROW_KNOCKBACK, ARROW_FIRE, ARROW_INFINITE, LUCK, LURE. Актуальный список см. в документации к Bukkit API.
Пример:
type:IRON_SWORD enchantments:KNOCKBACK:2;SHARPNESS:5
[Название]name:<Название>Название предмета.
Пример:
type:IRON_SWORD name:{&4Sword of Power} enchantments:KNOCKBACK:2;SHARPNESS:5
[Описание]lore:<Описание>Описание предмета. В качестве разделителя строк используется "\n".
Пример:
type:IRON_SWORD name:{&4Меч-кладенец} enchantments:KNOCKBACK:2;SHARPNESS:5 lore:{&6Этот содержит в себе\nволшебную силу}
[Параметры]book-author:<ИмяАвтора> book-title:<НазваниеКниги> book-pages:<Страницы>Данные для книги, применимы исключительно к предметам - книгам.
Страницы определёются в одну строку, при этом в качестве разделителя страниц надо использовать "\n", а символ "&z" в качестве разделителя строк.
Пример:
type:WRITTEN_BOOK book-title:{Тайная книга} amount:1 data:0 book-pages:Строка1&z&0Строка2&z&z&0Строка4&z&z&z&0Строка7&z&z&z&z&z&z&z&0СтрокаX\nСтраница2Строка1&z&0Страница2Line2&z&z&z&0Строка2Line5\nСтраница3Строка1 book-author:Пушкин
firework-power:<Мощность> firework-effects:<ЭффектФейерверка>Параметры фейерверка.
<Мощность> — мощность заряда фейерверка, определяет продолжительность полёта
<ЭффектФейерверка> — перечень эффектов фейерверка: type:<Тип1> flicker:<true/false> trail:<true/false> colors:{цвет1,цвет2} fade-colors:{цвет1,цвет2};type:<Тип2> flicker:<true/false> trail:<true/false> colors:{цвет1,цвет2} fade-colors:{цвет1,цвет2}
Example:
type:FIREWORK amount:1 firework-power:5 firework-effects:{type:BALL flicker:false trail:false colors:81,48,26;type:BALL flicker:false trail:false colors:59,81,26}
color:<Цвет>Цвет кожанной брони (и некоторых других материалов): WOOL, STAINED_GLASS, STAINED_CLAY, STAINED_GLASS_PANE, INK_SACK.
Значение цвета указывается в формате RGB (R,G,B) или по имени (BLACK, BLUE, BROWN, CYAN, GRAY, GREEN, LIGHT_BLUE, LIME, MAGENTA, ORANGE, PINK, PURPLE, RED, SILVER,WHITE, YELLOW).
Рекомендуется использовать название цвета для всех материалов кроме брони.
Пример:
type:LEATHER_HELMET amount:1 color:YELLOW
skull-owner:<ИмяИгрока>Имя «владельца черепа» (при этому нужно указать и значение data равной 3)
Пример:type:SKULL_ITEM amount:1 data:3 skull-owner:fromgate
potion-effects:<ЭффектЗелья>Перечень эффектов зелья содержащихся в пузырьке.
<ЭффектЗелья> описывается в виде списка:
<ЭффектЗелья1>:<СилаЗелья1>:<ВремяДействия1>[;<ЭффектЗелья2>:<СилаЗелья2>:<ВремяДействия2;...;<ЭффектЗельяN>:<СилаЗельяN>:<ВремяДействияN>]

Поддерживаются следующие виды зелья: SPEED, SLOW, FAST_DIGGING, SLOW_DIGGING, INCREASE_DAMAGE, HEAL, HARM, JUMP, CONFUSION, REGENERATION, DAMAGE_RESISTANCE, FIRE_RESISTANCE, WATER_BREATHING, INVISIBILITY, BLINDNESS, NIGHT_VISION, HUNGER, WEAKNESS, POISON, WITHER, HEALTH_BOOST, ABSORPTION, SATURATION (актуальный перечень см. в BukkitAPI)
ВремяДействия определяет продолжительность действия эффектов зелья и укзаывается в формате описания времени
Пример:
type:POTION amount:1 data:0 potion-effects:SPEED:3:10m;JUMP:2:10m name:{&6Ultra fast potion}
map-scale:<true/false>Определяет режим масштабировани для карты.
stored-enchants:<Чары>Определяет список чар в чародейской книге.
Поддерживаются следующие виды чар: PROTECTION_ENVIRONMENTAL, PROTECTION_FIRE, PROTECTION_FALL, PROTECTION_EXPLOSIONS, PROTECTION_PROJECTILE, OXYGEN, WATER_WORKER, THORNS, DAMAGE_ALL, DAMAGE_UNDEAD, DAMAGE_ARTHROPODS, KNOCKBACK, FIRE_ASPECT, LOOT_BONUS_MOBS, DIG_SPEED, SILK_TOUCH, DURABILITY, LOOT_BONUS_BLOCKS, ARROW_DAMAGE, ARROW_KNOCKBACK, ARROW_FIRE, ARROW_INFINITE, LUCK, LURE. Актуальный список см. в документации к Bukkit API

Пример:
type:ENCHANTED_BOOK amount:1 stored-enchants:DIG_SPEED:2;DURABILITY:5
firework-effect:<ЭффектФейерверка>Эффекты фейерверка для заряда фейерверка.
<ЭффектФейерверка> — список эффектов: type:<Тип1> flicker:<true/false> trail:<true/false> colors:{цвет1,цвет2} fade-colors:{цвет1,цвет2};type:<Тип2> flicker:<true/false> trail:<true/false> colors:{цвет1,цвет2} fade-colors:{цвет1,цвет2}

Пример:
type:FIREWORK_CHARGE amount:1 firework-effect:{type:CREEPER flicker:false trail:false colors:195,84,205}
color:<Цвет> pattern:<УзорФлага>Цвета и узор флага. Работает в версии 1.8 и новее.
<УзорФлага> — это список узоров и цветов (они разделяются точкой с запятой — ":"):
<Узор1>:<Цвет1>;<Узор2>:<Цвет2>;...;<УзорN>:<ЦветN>

Виды узоров: BASE, BORDER, BRICKS, CIRCLE_MIDDLE, CREEPER, CROSS, CURLY_BORDER, DIAGONAL_LEFT, DIAGONAL_LEFT_MIRROR, DIAGONAL_RIGHT, DIAGONAL_RIGHT_MIRROR, FLOWER, GRADIENT, GRADIENT_UP, HALF_HORIZONTAL, HALF_HORIZONTAL_MIRROR, HALF_VERTICAL, HALF_VERTICAL_MIRROR, MOJANG, RHOMBUS_MIDDLE, SKULL, SQUARE_BOTTOM_LEFT, SQUARE_BOTTOM_RIGHT, SQUARE_TOP_LEFT, SQUARE_TOP_RIGHT, STRAIGHT_CROSS, STRIPE_BOTTOM, STRIPE_CENTER, STRIPE_DOWNLEFT, STRIPE_DOWNRIGHT, STRIPE_LEFT, STRIPE_MIDDLE, STRIPE_RIGHT, STRIPE_SMALL, STRIPE_TOP, TRIANGLE_BOTTOM, TRIANGLE_TOP, TRIANGLES_BOTTOM, TRIANGLES_TOP
Возможные цвета: BLACK, BLUE, BROWN, CYAN, GRAY, GREEN, LIGHT_BLUE, LIME, MAGENTA, ORANGE, PINK, PURPLE, RED, SILVER, WHITE, YELLOW. You can also use RGB-format but nearest color will set instead.

Пример:
type:BANNER amount:1 data:13 color:MAGENTA patterns:TRIANGLES_TOP:YELLOW;TRIANGLES_BOTTOM:ORANGE;SKULL:RED
[РегулярВыраж]regex:<true/false>Это необязательный параметр.
Используется только при операция сравнения или удаления предмета. Определяется использовать ли для поиска предмета регулярные выражения (название, описание) или его точную копию.

Сравнение предметов

Сравнение предметов происходит во флагах сравнивающих предметы (подсчитывающих необходимое количество), а также в действиях связанных с изъятием предметов. Эти флаги и действия позволяют использовать регулярные выражения при сравнении предметов. При этом, при сравнении участвует лишь несколько полей: 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}

Действия поддерживающие наборы предметов: