chestcommands не открывает другие меню
Туториал Настройка плагина ChestCommands
Сегодня вы узнаете подробнее о плагине ChestCommands. Скачать его можно ТУТ
name: ‘&1Menu’ (обязательно)
Это имя, которое будет отображаться при открытии меню в качестве названия пользовательского инвентаря. Оно не может быть длиннее 30 символов (включая цвета). В данном параметре вы можете использовать форматирование и менять цвета текста, например, &1Menu — будет выглядеть так — Menu.
rows: 6 (обязательно)
Данный параметр устанавливает количество строк, из которых будет состоять инвентарь меню с элементами. Значение должно быть от 1 до 6 (двойной сундук). Если значение будет выше 6, клиенты игроков не будут отображать строки правильно (скорее всего меню просто будет недоступно).
command: ‘menu’ (необязательно)
Это команда, которая вызывает меню. Используется для открытие меню введя команду в чат, в нашем случае для открытие меню понадобится ввести — /menu. Вы можете использовать несколько команд, разделяя их точкой с запятой, например: ‘menu; m; mainmenu’.
auto-refresh: 5 (необязательно)
Как часто меню будет обновлять свое содержание. Обратите внимание, что деньги автоматически обновляются после каждой транзакции.
open-with-item: (необязательно)
id: ‘wool: 1’ — используется для открытия меню с помощью указного предмета. Может потребоваться data (в нашем случае data — 1).
right-click: true — true, если меню нужно открыть, щелкнув правой кнопкой мыши на предмет.
left-click: false — true, если меню нужно открыть, щелкнув левой кнопкой мыши элемент.
spawn-item: (уникальное название, которое не будет видно для игрока)
ID: bed (ID предмета, можно указывать как буквами так и цифрами)
COMMAND: ‘spawn’ (команда, которая будет выполнятся при нажатии)
NAME: ‘&aReturn to spawn’ (название, которое будет видно игроку, можно указывать цвета и использовать форматирование)
LORE: (описание предмета)
— ‘This is the lore of the item.’
— ‘These lines appear below the name.’
POSITION-X: 1
POSITION-Y: 1
➥ положение предмета (элемента) в меню
NAME, COMMAND, ID, … называются «параметрами». Каждый элемент может иметь различные параметры. Узнайте больше о каждом возможном параметре можно в разделе №2.
Каждый предмет (элемент) в меню должен иметь как минимум ID, POSITION-X и POSITION-Y.
Эта страница содержит список возможных которые, которые можно использовать для каждого предмета (элемента).
Для каждого элемента строго необходимы три параметра: ID, POSITION-X, POSITION-Y.
ID
Идентификатор элемента меню. Вы можете использовать как числовые, так и буквенные идентификаторы, но я рекомендую использовать буквенный для лучшей читаемости. Список идентификаторов: здесь (без учета регистра и нижнего подчеркивания).
При желании вы можете использовать data, но тогда всё нужно будет поместить в кавычки.
Пример (10x черная шерсть):
POSITION-X и POSITION-Y
Это два из трёх обязательных параметров элементов меню. Они устанавливают положение элемента в меню.
POSITION-X: 5
POSITION-Y: 1
NAME
Этот параметр устанавливает отображаемое имя элемента (в первой строке, когда вы наводите на него курсор). Вы можете использовать цветовые коды и символы.
NAME: ‘&6This is a colored name!’
LORE
Данный параметр устанавливает строки, которые появляются под именем. Вы можете использовать цветовые коды и символы.
LORE:
— ‘Description of the item’
— ‘Some other details’
— ‘&cImportant note’
ENCHANTMENT
Этот параметр устанавливает чары, которые будут появляться на предмете, в основном используются только для эффекта свечения.
ENCHANTMENT: ‘fire aspect, 1’
Уровень не является обязательным. Вы можете использовать несколько чар, разделяя их точкой с запятой:
ENCHANTMENT: ‘sharpness, 5; durability, 10; silk touch’
SKULL-OWNER
Данный параметр устанавливает владельца головы, только если это голова игрока (skull:3). Для отображения различных текстур / текстов головы.
COMMAND
Этот параметр устанавливает команду. Он поддерживает различные команды, которые не будут перечислены здесь. Обычная команда (без префиксов) выполняется от игрока, который щелкнул по значку. С помощью команд можно делать разные магазины и т.п, подробнее смотреть тут.
PRICE
Данный параметр устанавливает цену на предмет (выполнение команды). Команды не будут выполнены, если у игрока, который нажал, недостаточно денег на счету. Пожалуйста, посмотрите здесь, как настроить экономику.
LEVELS
Этот параметр устанавливает цену в уровнях опыта для предметов. Команды не будут выполнены, если у игрока, который нажал, недостаточно уровней. При выполнение уровни игрока будут удалены (как при чаре предмета).
REQUIRED-ITEM
Данный параметр устанавливает обязательный предмет, без него команды не будут выполняться. Формат такой же, как у ID. При выполнении команду у игрока будет удаляться указанный предмет из инвентаря.
Пример (30x оранжевое стекло):
REQUIRED-ITEM: ‘stained glass:1, 30’
KEEP-OPEN
Этот параметр устанавливает, должно ли меню закрываться после нажатия на элемент (по умолчанию false). Значение может быть как true, так и false.
PERMISSION
Данный параметр устанавливает, требуется ли определенное разрешение для щелчка по элементу и выполнения команд. Разрешение может быть выбрано произвольно. Вы можете отрицать это, поставить минус (-) перед разрешением, чтобы потребовать от пользователя не иметь этого разрешения (например: ‘-my.custom.permission’)
VIEW-PERMISSION
Точно такое же, как параметр выше, но пользователь без этого разрешения просто не сможет увидеть элемент. Можно отрицать (игроку нужно не иметь разрешения my.custom.permission): ‘-my.custom.permission’.
PERMISSION-MESSAGE
Данный параметр связан также с разрешением, он изменяет сообщение, когда пользователь нажимает на элемент не имея соответствующего разрешения (стандартное сообщение «no permission» настраивается в config.yml).
PERMISSION-MESSAGE: ‘&cYou must be VIP to use this item!’
Действия при нажатии:
В данном разделе будут описаны возможные действия при нажатии на элемент меню. Ничего более.
Открытие других меню
Если команда открывает другое меню (меню из из другого плагина), установите KEEP-OPEN: true.
Переменные
Переменные могут использоваться в COMMAND, LORE и NAME.
Обычные команды
Команды не должны быть написаны с «/» перед ними, кроме некоторых команд WorldEdit (например //wand). Пример выполнения команды /spawn игроком при нажатии на элемент меню.
Выполнение команд через консоль
Будьте осторожны с этим, так как команда будет выполнятся через консоль сервера. Чтобы выполнить команду из консоли сервера, используйте ‘console:’ перед командой.
COMMAND: ‘console: say Hello world!’
Выполнение команд как OP
Будьте осторожны с этой командой. Чтобы выполнить команду как OP, поставьте перед командой ‘op:’.
COMMAND: ‘op: say Hello world!’
Выполнение нескольких команд
Разделите несколько команд точкой с запятой «;». Пример заставляет игрока выполнять команды в следующем порядке: / spawn, затем / me.
COMMAND: ‘spawn; me I have been teleported to the spawn!’
Вывести сообщение игроку
Как и в предыдущих примерах, поместите ‘tell:’ перед строкой, чтобы отправить ее игроку. Вы можете использовать цветовые коды и символы.
В примере сообщение будет красным.
COMMAND: ‘tell: &cHello man!’
Сделать объявление
Работает также как и ‘tell:’, только сообщение увидят все игроки.
COMMAND: ‘broadcast:
COMMAND: ‘sound: ghast scream, 2.0, 0.5’
Выдача предметов
Базовая команда для выдачи предметов. Вы можете изменить только значение данных и количество предметов, для более сложных вещей используйте команду vanilla. В приведенном ниже примере игроку дается 10 черных шерсти (значение data — 15).
COMMAND: ‘give: wool:15, 10’
Выдача денег
COMMAND: ‘give-money: 100.0’
Данная команда выдаст деньги игроку (100$), который нажал на элемент. Для работы нужен плагин Vault (подробнее об экономике в разделе №4).
COMMAND: ‘give-money: 100.0’
Открытие других меню
Для открытие другого меню из ChestCommands используйте — ‘open: ’, где — это имя файла меню. Меню будет открыто, если оно существует и правильно настроено, в противном случае отобразится сообщение об ошибке. Игрокам нужно правильное разрешение, чтобы открыть это меню (подробнее об разрешениях в разделе №6).
COMMAND: ‘open: example.yml’
Команды BungeeCord
Вы можете использовать ‘server: ’. Пр нажатии пользователь попытается подключиться к указному серверу. Если вы не знаете, что такое BungeeCord, игнорируйте этот тип команды.
COMMAND: ‘server: hub’
Сообщение Dragon Bar (с помощью плагина BarAPI)
Чтобы отправить сообщение для панели вверху (также называемая boss bar), у вас должен быть установлен плагин BarAPI. Формат ‘dragon-bar: | ’. В приведенном ниже примере панель будет отображаться в течение 10 секунд для игрока, который щелкнет по элементу, отображая его ник.
COMMAND: ‘dragon-bar: 10 | &aHello,
Создание таблички с меню
Если меню с табличкой правильно создано, первая строка табличке станет СИНЕЙ.
В случае ошибки первая строка станет КРАСНОЙ, а в чате появится сообщение об ошибке.
Список символов, которые можно использовать по умолчанию, например в командах «tell», в имени и в описании элемента:
Настройка плагина Chest Commands
В этой статье я расскажу как настроить плагин под названием ChestCommands. Ниже вы ведите разделы, которые вам помогут в настройке. Настоятельно рекомендую ознакомится с каждым из них.
1.Базовая настройка (введение)
В этом разделе вы узнаете, как структурировано меню и как его изменить. В данном разделе вы узнаете о структуре меню и как правильно его изменять. Пожалуйста, внимательно прочитайте это, прежде чем приступать к дальнейшей настройке!
Все меню находятся в папке plugin/ChestCommands/menu/название_меню. Для редактирование откройте файл меню в редакторе (рекомендуется Notepad ++).
Самый простой способ: скопировать и вставить существующее меню, изменить настройки, а также добавить / удалить или отредактировать элементы. В названиях файлов меню не рекомендуется использовать CAPS, большие буквы и т.п, нужно писать маленькими английскими буквами, пример правильного названия — test.yml.
Вы можете найти эти настройки в верхней части меню YML-файла, в разделе конфигурации «menu-settings».
rows: 6 (обязательно)
Данный параметр устанавливает количество строк, из которых будет состоять инвентарь меню с элементами. Значение должно быть от 1 до 6 (двойной сундук). Если значение будет выше 6, клиенты игроков не будут отображать строки правильно (скорее всего меню просто будет недоступно).
command: ‘menu’ (необязательно)
Это команда, которая вызывает меню. Используется для открытие меню введя команду в чат, в нашем случае для открытие меню понадобится ввести — /menu. Вы можете использовать несколько команд, разделяя их точкой с запятой, например: ‘menu; m; mainmenu’.
auto-refresh: 5 (необязательно)
Как часто меню будет обновлять свое содержание. Обратите внимание, что деньги автоматически обновляются после каждой транзакции.
open-with-item: (необязательно)
id: ‘wool: 1’ — используется для открытия меню с помощью указного предмета. Может потребоваться data (в нашем случае data — 1).
right-click: true — true, если меню нужно открыть, щелкнув правой кнопкой мыши на предмет.
left-click: false — true, если меню нужно открыть, щелкнув левой кнопкой мыши элемент.
Не используйте прописные буквы, цветовые коды или символы во внутреннем имени (см. ниже) и помните, что оно не должно совпадать с именем другого элемента в том же меню. Каждый элемент состоит из внутреннего имени (никак не видимого для игроков) и параметров, которые могут назначать команды, название, описание предметов и многое другое. Пример параметров одного предмета (элемента меню):
spawn-item: (уникальное название, которое не будет видно для игрока)
ID: bed (ID предмета, можно указывать как буквами так и цифрами)
COMMAND: ‘spawn’ (команда, которая будет выполнятся при нажатии)
NAME: ‘&aReturn to spawn’ (название, которое будет видно игроку, можно указывать цвета и использовать форматирование)
LORE: (описание предмета)
— ‘This is the lore of the item.’
— ‘These lines appear below the name.’
POSITION-X: 1
POSITION-Y: 1
➥ положение предмета (элемента) в меню
NAME, COMMAND, ID, … называются «параметрами». Каждый элемент может иметь различные параметры. Узнайте больше о каждом возможном параметре можно в разделе №2.
Каждый предмет (элемент) в меню должен иметь как минимум ID, POSITION-X и POSITION-Y.
2. Параметры предметов (элементов меню)
Эта страница содержит список возможных которые, которые можно использовать для каждого предмета (элемента).
Для каждого элемента строго необходимы три параметра: ID, POSITION-X, POSITION-Y.
ID
Идентификатор элемента меню. Вы можете использовать как числовые, так и буквенные идентификаторы, но я рекомендую использовать буквенный для лучшей читаемости. Список идентификаторов: здесь (без учета регистра и нижнего подчеркивания).
При желании вы можете использовать data, но тогда всё нужно будет поместить в кавычки.
Пример ( 10x черная шерсть ):
POSITION-X и POSITION-Y
Это два из трёх обязательных параметров элементов меню. Они устанавливают положение элемента в меню.
POSITION-X: 5
POSITION-Y: 1
NAME
Этот параметр устанавливает отображаемое имя элемента (в первой строке, когда вы наводите на него курсор). Вы можете использовать цветовые коды и символы.
NAME: ‘&6This is a colored name!’
LORE
Данный параметр устанавливает строки, которые появляются под именем. Вы можете использовать цветовые коды и символы.
LORE:
— ‘Description of the item’
— ‘Some other details’
— ‘&cImportant note’
ENCHANTMENT
Этот параметр устанавливает чары, которые будут появляться на предмете, в основном используются только для эффекта свечения.
ENCHANTMENT: ‘fire aspect, 1’
Уровень не является обязательным. Вы можете использовать несколько чар, разделяя их точкой с запятой:
ENCHANTMENT: ‘sharpness, 5; durability, 10; silk touch’
SKULL-OWNER
Данный параметр устанавливает владельца головы, только если это голова игрока (skull:3). Для отображения различных текстур / текстов головы.
COMMAND
Этот параметр устанавливает команду. Он поддерживает различные команды, которые не будут перечислены здесь. Обычная команда (без префиксов) выполняется от игрока, который щелкнул по значку. С помощью команд можно делать разные магазины и т.п, подробнее смотреть тут.
PRICE
Данный параметр устанавливает цену на предмет (выполнение команды). Команды не будут выполнены, если у игрока, который нажал, недостаточно денег на счету. Пожалуйста, посмотрите здесь, как настроить экономику.
LEVELS
Этот параметр устанавливает цену в уровнях опыта для предметов. Команды не будут выполнены, если у игрока, который нажал, недостаточно уровней. При выполнение уровни игрока будут удалены (как при чаре предмета).
REQUIRED-ITEM
Данный параметр устанавливает обязательный предмет, без него команды не будут выполняться. Формат такой же, как у ID. При выполнении команду у игрока будет удаляться указанный предмет из инвентаря.
Пример (30x оранжевое стекло):
REQUIRED-ITEM: ‘stained glass:1, 30’
KEEP-OPEN
Этот параметр устанавливает, должно ли меню закрываться после нажатия на элемент (по умолчанию false). Значение может быть как true, так и false.
PERMISSION
Данный параметр устанавливает, требуется ли определенное разрешение для щелчка по элементу и выполнения команд. Разрешение может быть выбрано произвольно. Вы можете отрицать это, поставить минус (-) перед разрешением, чтобы потребовать от пользователя не иметь этого разрешения (например: ‘-my.custom.permission’)
VIEW-PERMISSION
Точно такое же, как параметр выше, но пользователь без этого разрешения просто не сможет увидеть элемент. Можно отрицать (игроку нужно не иметь разрешения my.custom.permission): ‘-my.custom.permission’.
PERMISSION-MESSAGE
Данный параметр связан также с разрешением, он изменяет сообщение, когда пользователь нажимает на элемент не имея соответствующего разрешения (стандартное сообщение «no permission» настраивается в config.yml).
PERMISSION-MESSAGE: ‘&cYou must be VIP to use this item!’
3. Действия при нажатии
В данном разделе будут описаны возможные действия при нажатии на элемент меню. Ничего более.
Открытие других меню
Если команда открывает другое меню (меню из из другого плагина), установите KEEP-OPEN: true.
Переменные
Переменные могут использоваться в COMMAND, LORE и NAME.
Обычные команды
Команды не должны быть написаны с «/» перед ними, кроме некоторых команд WorldEdit (например //wand). Пример выполнения команды /spawn игроком при нажатии на элемент меню.
COMMAND: ‘console: say Hello world!’
COMMAND: ‘op: say Hello world!’
Выполнение нескольких команд
Разделите несколько команд точкой с запятой «;». Пример заставляет игрока выполнять команды в следующем порядке: / spawn, затем / me.
COMMAND: ‘spawn; me I have been teleported to the spawn!’
Вывести сообщение игроку
Как и в предыдущих примерах, поместите ‘tell:’ перед строкой, чтобы отправить ее игроку. Вы можете использовать цветовые коды и символы.
В примере сообщение будет красным.
COMMAND: ‘tell: &cHello man!’
Сделать объявление
Работает также как и ‘tell:’, только сообщение увидят все игроки.
COMMAND: ‘broadcast:
COMMAND: ‘sound: ghast scream, 2.0, 0.5’
Выдача предметов
Базовая команда для выдачи предметов. Вы можете изменить только значение данных и количество предметов, для более сложных вещей используйте команду vanilla. В приведенном ниже примере игроку дается 10 черных шерсти (значение data — 15).
COMMAND: ‘give: wool:15, 10’
COMMAND: ‘give-money: 100.0’
COMMAND: ‘open: example.yml’
Команды BungeeCord
Вы можете использовать ‘server: ’. Пр нажатии пользователь попытается подключиться к указному серверу. Если вы не знаете, что такое BungeeCord, игнорируйте этот тип команды.
COMMAND: ‘server: hub’
Сообщение Dragon Bar (с помощью плагина BarAPI)
Чтобы отправить сообщение для панели вверху (также называемая boss bar), у вас должен быть установлен плагин BarAPI. Формат ‘dragon-bar: | ’. В приведенном ниже примере панель будет отображаться в течение 10 секунд для игрока, который щелкнет по элементу, отображая его ник.
COMMAND: ‘dragon-bar: 10 | &aHello,
4. Настройка экономики (игровой валюты)
Требования
Vault (необходимо обновить до последней версии!)
Совместимый плагин на экономику (iConomy, BOSEconomy и т.п.)
Настройка
5. Таблички с меню
Создание таблички с меню
Проверка
5. Специальные символы
Список символов, которые можно использовать по умолчанию, например в командах «tell», в имени и в описании элемента:
Чтобы добавить новые символы, откройте файл placeholder.yml и добавьте новую строку в следующем формате: textToReplace: replaceString
[special]: \u2726 Special Item \u2726
Строка выше будет выглядеть так — ✹ Special Item ✹. Вы можете использовать любой символ Unicode.
6. Разрешения (permissions)
Команда | Разрешение (permission) | Описание |
---|---|---|
/chestcommands или /cc | — | Основная команда. Информация о версии, разработчике и помощи. |
/cc help | chestcommands.command.help | Список команд. |
/cc reload | chestcommands.command.reload | Перезагрузка плагина. |
/cc open | chestcommands.command.open | Открывает любое меню напрямую. Вам также нужны разрешения для открытия меню. |
/cc open [ник] | chestcommands.command.open.others | Открывает меню для указного игрока. Разрешения при открытии игнорируются. |
/cc list | chestcommands.command.list | Список правильно загруженных меню. |
— | chestcommands.update | Получать уведомления об обновлениях при подключении. |
— | chestcommands.open.filename.yml | Разрешение на открытие меню (filename.yml — название меню) |
— | chestcommands.economy.bypass | Игнорировать установленную цену. |
— | chestcommands.sign | Требуется для создания табличек с меню. |
7. Покупка / продажа (создание мини-магазина)
Обязательно прочитайте 3 и 4 пункты!
Всё это нужно добавлять в параметры элемента меню.
Покупка предмета
С помощью примера ниже игрок сможет купить 1 алмаз за 100$.
COMMAND: ‘give: 264’
PRICE: 100
NAME: ‘Buy a diamond’
ID: 264
POSITION-X: 1
POSITION-Y: 1
Продажа предмета
С помощью примера ниже продать 64 блоков земли и получить за это 10$.
COMMAND: ‘givemoney: 10’
REQUIRED-ITEM: 3, 64
NAME: ‘Sell dirt’
ID: 3
POSITION-X: 1
POSITION-Y: 1
Также можете посмотреть мое видео:
Ну вот и всё. На этом статья заканчивается. Если у вас будут какие либо вопросы можете писать в группу ВК.