Эх... Покажу на примере своих заготовок. Я использую киты от
EssentialsX, мне их вполне хватает.
И так для начала вам нужно понять сколько конкретно будет вариаций одной кнопки для игроков. Чаще всего оно сводится к 2 или 3 кнопкам. Мой пример будет с тремя. Первый когда кит находится в откате (перезарядке). Второй когда кит доступен игроку который имеет пермишен и при этом кит не находится в откате. Ну и третий вариант когда игроку данный кит попросту недоступен!
Для того, что бы у нас появились вводные давайте предположим, что у меня есть кит-набор
player и для него создадим данную кнопку.
Что бы она корректно отображалась нужно проработать
view_requirement как следует, в нашем случае нужно будет проверять наличие пермишена, в нашем случае
essentials.kits.player и наличие плейсхолдера, для проверки отката -
%essentials_kit_is_available_player%.
И так сперва надо сформировать
view_requirement для варианта когда кит доступен, но в перезарядке. А следовательно у нас должен быть пермишен
essentials.kits.player, а
%essentials_kit_is_available_player% должен выдать значение
no. Выглядеть это должно примерно так:
YAML:
view_requirement:
requirements:
permission:
type: has permission
permission: essentials.kits.player
available:
type: string equals ignorecase
input: '%essentials_kit_is_available_player%'
output: 'no'
Вторая версия кнопки дожна иметь такие же
view_requirement за исключением того, что
%essentials_kit_is_available_player% теперь должен показывать
yes. То есть так:
YAML:
view_requirement:
requirements:
permission:
type: has permission
permission: essentials.kits.player
available:
type: string equals ignorecase
input: '%essentials_kit_is_available_player%'
output: 'yes'
А для третьей кнопки
view_requirement можно не устанавливать вообще. Ну и конечно незабываем расставить
priority. Суммарно у вас должно будет выйти так:
YAML:
Кит_в_перезарядке:
material: GRAY_DYE
slot: 10
priority: 1
update: true
view_requirement:
requirements:
permission:
type: has permission
permission: essentials.kits.player
available:
type: string equals ignorecase
input: '%essentials_kit_is_available_player%'
output: 'no'
display_name: 'Дождитесь отката'
lore:
- 'Описание набора'
- 'когда он в откате'
click_commands:
- '[sound] ENTITY_WITHER_SHOOT'
- '[message] дождитесь когда набор снова будет доступен'
- '[refresh]'
кит_доступен:
material: LIME_DYE
slot: 10
priority: 2
view_requirement:
requirements:
permission:
type: has permission
permission: essentials.kits.player
available:
type: string equals ignorecase
input: '%essentials_kit_is_available_player%'
output: 'yes'
display_name: 'Взять набор'
lore:
- 'Описание набора'
- 'когда доступен'
click_commands:
- '[sound] ENTITY_PLAYER_LEVELUP'
- '[message] Вы забрали кит набор'
- '[player] kit player'
- '[refresh]'
кит_не_доступен:
material: BARRIER
slot: 10
priority: 3
display_name: 'Набор недоступен'
lore:
- 'Описание набора'
- 'когда он не доступен'
click_commands:
- '[sound] ENTITY_WITHER_SHOOT'
- '[message] Кит набор вам не доступен'
- '[refresh]'
Думаю с данным референсом, остальное вы сможете настроить самостоятельно. Действия при нажатии также сможете сами добавить без проблем.