Ссылка на плагин
Испытано на версиях Minecraft :
Пример на основе магазина.
menu_title: '&6Магазин'
open_command: shop
open_requirement:
requirements:
permission:
type: has permission
permission: inventory.shop
deny_commands:
- '[message] У вас нет разрешения ,inventory.shop, на открытие меню магазина'
open_commands:
- '[message] Вы открыли меню магазина'
- '[sound] NOTE_PLING'
size: 54
items:
'1':
material: STONE
data: 1
slot: 0
display_name: '&7Гранит'
lore:
- '&7Цена покупки: &a$80'
- '&7Цена продажи: &c$40'
left_click_commands:
- '[console] eco take %player_name% 80'
- '[console] give %player_name% stone:1 64'
- '[message] &6&lDeluxe&eMenu &7»&f Вы успешно приобрели 64 гранита.'
left_click_requirement:
requirements:
Money:
type: has money
amount: 80.0
deny_commands:
- '[close]'
- '[message] &6&lDeluxe&eMenu &7»&f У вас недостаточно денег, чтобы купить.'
right_click_commands:
- '[console] eco give %player_name% 40'
- '[console] clear %player_name% stone:1 64'
- '[message] &6&lDeluxe&eMenu &7»&f Вы успешно продали 64 гранита.'
right_click_requirement:
requirements:
Item:
type: string equals
input: '%player_hasitem-mat:STONE-amt:64-data:1%'
output: 'yes'
deny_commands:
- '[close]'
- '[message] &6&lDeluxe&eMenu &7»&f У вас нет достаточного количества гранита для продажи.'
___________________________________________________________________________________________________
Описание работы меню магазина
menu_title: - это название меню. Он будет показан в верхней части gui (сундук).
open_command: - это команда, которую игроки будут использовать для открытия меню.
open_requirement: - это требование, которое игрок должен иметь перед тем, как открыть меню.
Под ним мы имеем deny_commands, который является сообщением, которое мы хотим показать,
если у них нет требования. Выражение является фактическим требованием. В моем примере я
сделал требование для разрешения, но это может быть что угодно.
open_commands: - это команды, запускаемые, когда игрок открывает меню
size: - это размер меню. Это увеличивается в девятки. Макс - 54.
items: - это начало фактического gui. Ниже вы укажете типы, имена и т. Д.
'1' говорит для deluxemenus, это первый предмет для загрузки. Это также будет полезно при отладке позже.
material: - тип материала. Вы можете использовать имя или id элемента .
data: - данные элемента. Обычно вы можете видеть такой идентификатор,
160:3, но deluxemenus этого не допускает.
Вместо использования 160:3 в материале вы должны установить material: 160, а data: 3.
slot: - это слот, в который вы хотите, куда элемент станет.
Для первого слота используйте 0, для второго используйте 1 и т. д до 53.
Display_name: - это имя элемента. Вы можете использовать цвет в отображаемом имени,
потому что он будет наклонным, если вы этого не сделаете.
lore: - описание предмета. Для этого вы можете использовать несколько строк.
left_click_commands: - это команды, которые вы хотите выполнить при щелчке левой кнопкой мыши по элементу.
В этом случае мы берем $ 80 у игрока, нажимающего на элемент.
Это место, в которое входит placeholderapi, и расширение игрока, которое мы установили ранее.
%player_name% - это заполнитель, позволяющий нам нажимать на пользователя, щелкнув левой кнопкой мыши по элементу.
Как только мы взяли $ 80, мы даем им 64 гранита. Затем мы сообщаем им, что их покупка прошла успешно.
left_click_requirement: - это требование, чтобы пользователь мог щелкнуть левой кнопкой мыши.
Мы используем vault placeholder, чтобы проверить, превышает ли их баланс или равен 80,
а если нет, мы закрываем gui и сообщаем им, что у них недостаточно денег.
right_click_commands: - это команды, которые мы хотим выполнить, когда пользователь
щелкнет правой кнопкой мыши. Вместо того, чтобы брать 80 долларов США,
мы даем им 40 долларов, затем мы очищаем 64 гранита от их инвентаря, а затем сообщаем об этом.
right_click_requirement: - бит отличия, отличный от left_click_requirement.
Вместо того, чтобы проверять, есть ли у них $ 40, мы проверяем, есть ли у
них 64 гранита для продажи.
Мы делаем это, используя другой placeholder, %player_hasitem-mat: MATERIALNAME-amt: AMOUNT-data: DATA%.
Мы проверяем, соответствует ли это «да», и если нет, мы закрываем меню и сообщаем игроку,
что у него нет достаточного количества гранита для продажи.
___________________________________________________________________________________________________
Уникальные опции для каждого типа требований
type: has money - проверка денег
type: string equals - строка равна
type: string equals ignorecase - строка равна случаю игнорирования
type: has permission - проверка права
type: has item - проверка наличия предмета
type: '>=' - больше или равно
type: '<=' - меньше или равно
type: '=' - равно
type: '<' - меньше
type: '>' - больше
type: javascript
___________________________________________________________________________________________________
Существует два типа выражений. Существуют сравнения (с использованием заполнителей),
и есть java-выражения (которые могут использовать заполнители, но не обязательно). Вот базовое сравнение
Код:
view_requirement:
requirements:
anythinghere:
type: '>'
input: '%vault_eco_balance%'
output: 100
Это требование проверяет, превышает ли количество пользователей пользователя число 100.
Если оно есть, оно покажет элемент. Если нет, элемент будет скрыт.
Вы можете добавить еще один элемент под ним, чтобы показать (для этого вы помещаете их
в один и тот же слот и даете элементу с приоритетом view_requirement более высокий приоритет.
Дополнительную информацию см. На странице Wiki по параметрам GUI/Item), или вы могли бы просто слот ничего не показывать и быть пустым.
Мы можем сделать это сравнение с ANY placeholder, который возвращает число. Однако мы не ограничиваемся просто сравнением.
-------------------
Вот выражение java, которое проверяет, имеет ли игрок разрешение
Код:
view_requirement:
requirements:
anythinghere:
type: has permission
permission: 'some.permission'
Это можно легко использовать для отображения разных предметов в меню для донатеров.
Как с ежедневным комплектом или меню вознаграждения.
--------------------
Тем не менее, есть еще больше, что вы можете сделать с этим.
Мы также можем помещать заполнитель внутри выражения java, чтобы проверить, что он возвращает.
Вот пример
Код :
view_requirement:
requirements:
anythinghere:
type: string equals ignorecase
input: '%player_world%'
output: 'world_nether'
Обратите внимание на цитаты, связанные с заполнителем. Это очень важно.
Это выражение проверяет, что возвращает заполнитель %player_world%.
Если он возвращает что-либо помимо «world_nether», то он не покажет элемент меню.
Вы можете проверить, что возвращает заполнитель, включив инжектор «chat» в PlaceholderAPI,
а затем сделав placeholder в скобках (Example: {player_world}).
Это покажет вам, что он возвращает ... что может быть полезно при написании этих утверждений.
-----------------------
Теперь, если вы хотите, чтобы этот элемент меню показывался, если игрок не в world_nether?
Предположим, вы хотите, чтобы этот элемент показывался только в том случае,
если они находятся в главном мире или в конечном мире ... а не в нижнем.
Ну, мы можем сказать, что это заявление сделано противоположным образом.
Посмотрите на этот пример
Код :
view_requirement:
requirements:
anythinghere:
type: javascript
expression: '!"%player_world%".equalsIgnoreCase("world_nether");'
Это кажется путаным? Позвольте мне объяснить, как именно эти выражения работают.
По существу, view_requirement принимает только true или false.
Итак, view_requirement просто проверяет, является ли ваш оператор таковым ... true или false.
В этом случае, если игрок находится в главном мире («world») и открывает меню ... он проверяет утверждение.
В заявлении говорится о возврате TRUE, если заполнитель возвращает НИЧЕГО, кроме world_nether.
Вот что делает восклицательный знак перед цитатами.
Если вы не указали восклицательный знак ... он вернется только в том случае, если заполнитель вернет world_nether.
----------------------------
Итак, если вы понимаете, как это работает ... Вы можете понять,
что view_requirement скрывает элемент, если выражение возвращает «false» и показывает элемент, если он возвращает «true».
Теперь, допустим, у вас есть заполнитель, который возвращает true/false.
Подобно заполнителю %essentials_kit_is_available_ <kitname>%.
Мы могли бы сделать следующее заявление
Код:
view_requirement:
requirements:
anythinghere:
type: string equals ignorecase
input: '%essentials_kit_is_available_<kitname>%'
output: 'yes'
Это проверит, доступен ли комплект.
Если это ... элемент покажет. Теперь, если вы заметили, я написал «yes», а не «true».
Это потому, что он проверяет заполнители через PlaceholderAPI.
В конфигурации по умолчанию PlaceholderAPI возврат BOOLEAN устанавливается как yes/no вместо true/false.
Если вы изменили этот параметр ... вам нужно будет изменить то, что проверяет.
Еще раз - если вы не можете заставить выражение работать... Попробуйте написать заполнитель в чате, чтобы узнать, что он возвращает.
Примечание. Я использую «string equals ignorecase», но вы также можете использовать «string equals»,
и он будет проверять значение, включая оболочку. Это означает, что если бы у вас был мир под названием «WoRLd_TeSt», вы могли бы сделать «.equals»
Эти выражения могут быть сделаны с помощью ANY placeholder, и вы можете использовать в них любые выражения Java.
Если вам нужна помощь... Пожалуйста, сообщите нам в теме, и мы постараемся помочь.
Обязательно проверьте и проверьте страницы меню в будущем, чтобы увидеть, как вы можете использовать эти выражения.
Авторизуйтесь для просмотра ссылок.
Испытано на версиях Minecraft :
- 1.8
- 1.9
- 1.10
- 1.11
- 1.12
- 1.13 (не официально, но работает)
Пример на основе магазина.
menu_title: '&6Магазин'
open_command: shop
open_requirement:
requirements:
permission:
type: has permission
permission: inventory.shop
deny_commands:
- '[message] У вас нет разрешения ,inventory.shop, на открытие меню магазина'
open_commands:
- '[message] Вы открыли меню магазина'
- '[sound] NOTE_PLING'
size: 54
items:
'1':
material: STONE
data: 1
slot: 0
display_name: '&7Гранит'
lore:
- '&7Цена покупки: &a$80'
- '&7Цена продажи: &c$40'
left_click_commands:
- '[console] eco take %player_name% 80'
- '[console] give %player_name% stone:1 64'
- '[message] &6&lDeluxe&eMenu &7»&f Вы успешно приобрели 64 гранита.'
left_click_requirement:
requirements:
Money:
type: has money
amount: 80.0
deny_commands:
- '[close]'
- '[message] &6&lDeluxe&eMenu &7»&f У вас недостаточно денег, чтобы купить.'
right_click_commands:
- '[console] eco give %player_name% 40'
- '[console] clear %player_name% stone:1 64'
- '[message] &6&lDeluxe&eMenu &7»&f Вы успешно продали 64 гранита.'
right_click_requirement:
requirements:
Item:
type: string equals
input: '%player_hasitem-mat:STONE-amt:64-data:1%'
output: 'yes'
deny_commands:
- '[close]'
- '[message] &6&lDeluxe&eMenu &7»&f У вас нет достаточного количества гранита для продажи.'
___________________________________________________________________________________________________
Описание работы меню магазина
menu_title: - это название меню. Он будет показан в верхней части gui (сундук).
open_command: - это команда, которую игроки будут использовать для открытия меню.
open_requirement: - это требование, которое игрок должен иметь перед тем, как открыть меню.
Под ним мы имеем deny_commands, который является сообщением, которое мы хотим показать,
если у них нет требования. Выражение является фактическим требованием. В моем примере я
сделал требование для разрешения, но это может быть что угодно.
open_commands: - это команды, запускаемые, когда игрок открывает меню
size: - это размер меню. Это увеличивается в девятки. Макс - 54.
items: - это начало фактического gui. Ниже вы укажете типы, имена и т. Д.
'1' говорит для deluxemenus, это первый предмет для загрузки. Это также будет полезно при отладке позже.
material: - тип материала. Вы можете использовать имя или id элемента .
data: - данные элемента. Обычно вы можете видеть такой идентификатор,
160:3, но deluxemenus этого не допускает.
Вместо использования 160:3 в материале вы должны установить material: 160, а data: 3.
slot: - это слот, в который вы хотите, куда элемент станет.
Для первого слота используйте 0, для второго используйте 1 и т. д до 53.
Display_name: - это имя элемента. Вы можете использовать цвет в отображаемом имени,
потому что он будет наклонным, если вы этого не сделаете.
lore: - описание предмета. Для этого вы можете использовать несколько строк.
left_click_commands: - это команды, которые вы хотите выполнить при щелчке левой кнопкой мыши по элементу.
В этом случае мы берем $ 80 у игрока, нажимающего на элемент.
Это место, в которое входит placeholderapi, и расширение игрока, которое мы установили ранее.
%player_name% - это заполнитель, позволяющий нам нажимать на пользователя, щелкнув левой кнопкой мыши по элементу.
Как только мы взяли $ 80, мы даем им 64 гранита. Затем мы сообщаем им, что их покупка прошла успешно.
left_click_requirement: - это требование, чтобы пользователь мог щелкнуть левой кнопкой мыши.
Мы используем vault placeholder, чтобы проверить, превышает ли их баланс или равен 80,
а если нет, мы закрываем gui и сообщаем им, что у них недостаточно денег.
right_click_commands: - это команды, которые мы хотим выполнить, когда пользователь
щелкнет правой кнопкой мыши. Вместо того, чтобы брать 80 долларов США,
мы даем им 40 долларов, затем мы очищаем 64 гранита от их инвентаря, а затем сообщаем об этом.
right_click_requirement: - бит отличия, отличный от left_click_requirement.
Вместо того, чтобы проверять, есть ли у них $ 40, мы проверяем, есть ли у
них 64 гранита для продажи.
Мы делаем это, используя другой placeholder, %player_hasitem-mat: MATERIALNAME-amt: AMOUNT-data: DATA%.
Мы проверяем, соответствует ли это «да», и если нет, мы закрываем меню и сообщаем игроку,
что у него нет достаточного количества гранита для продажи.
___________________________________________________________________________________________________
Уникальные опции для каждого типа требований
type: has money - проверка денег
type: string equals - строка равна
type: string equals ignorecase - строка равна случаю игнорирования
type: has permission - проверка права
type: has item - проверка наличия предмета
type: '>=' - больше или равно
type: '<=' - меньше или равно
type: '=' - равно
type: '<' - меньше
type: '>' - больше
type: javascript
___________________________________________________________________________________________________
Существует два типа выражений. Существуют сравнения (с использованием заполнителей),
и есть java-выражения (которые могут использовать заполнители, но не обязательно). Вот базовое сравнение
Код:
view_requirement:
requirements:
anythinghere:
type: '>'
input: '%vault_eco_balance%'
output: 100
Это требование проверяет, превышает ли количество пользователей пользователя число 100.
Если оно есть, оно покажет элемент. Если нет, элемент будет скрыт.
Вы можете добавить еще один элемент под ним, чтобы показать (для этого вы помещаете их
в один и тот же слот и даете элементу с приоритетом view_requirement более высокий приоритет.
Дополнительную информацию см. На странице Wiki по параметрам GUI/Item), или вы могли бы просто слот ничего не показывать и быть пустым.
Мы можем сделать это сравнение с ANY placeholder, который возвращает число. Однако мы не ограничиваемся просто сравнением.
-------------------
Вот выражение java, которое проверяет, имеет ли игрок разрешение
Код:
view_requirement:
requirements:
anythinghere:
type: has permission
permission: 'some.permission'
Это можно легко использовать для отображения разных предметов в меню для донатеров.
Как с ежедневным комплектом или меню вознаграждения.
--------------------
Тем не менее, есть еще больше, что вы можете сделать с этим.
Мы также можем помещать заполнитель внутри выражения java, чтобы проверить, что он возвращает.
Вот пример
Код :
view_requirement:
requirements:
anythinghere:
type: string equals ignorecase
input: '%player_world%'
output: 'world_nether'
Обратите внимание на цитаты, связанные с заполнителем. Это очень важно.
Это выражение проверяет, что возвращает заполнитель %player_world%.
Если он возвращает что-либо помимо «world_nether», то он не покажет элемент меню.
Вы можете проверить, что возвращает заполнитель, включив инжектор «chat» в PlaceholderAPI,
а затем сделав placeholder в скобках (Example: {player_world}).
Это покажет вам, что он возвращает ... что может быть полезно при написании этих утверждений.
-----------------------
Теперь, если вы хотите, чтобы этот элемент меню показывался, если игрок не в world_nether?
Предположим, вы хотите, чтобы этот элемент показывался только в том случае,
если они находятся в главном мире или в конечном мире ... а не в нижнем.
Ну, мы можем сказать, что это заявление сделано противоположным образом.
Посмотрите на этот пример
Код :
view_requirement:
requirements:
anythinghere:
type: javascript
expression: '!"%player_world%".equalsIgnoreCase("world_nether");'
Это кажется путаным? Позвольте мне объяснить, как именно эти выражения работают.
По существу, view_requirement принимает только true или false.
Итак, view_requirement просто проверяет, является ли ваш оператор таковым ... true или false.
В этом случае, если игрок находится в главном мире («world») и открывает меню ... он проверяет утверждение.
В заявлении говорится о возврате TRUE, если заполнитель возвращает НИЧЕГО, кроме world_nether.
Вот что делает восклицательный знак перед цитатами.
Если вы не указали восклицательный знак ... он вернется только в том случае, если заполнитель вернет world_nether.
----------------------------
Итак, если вы понимаете, как это работает ... Вы можете понять,
что view_requirement скрывает элемент, если выражение возвращает «false» и показывает элемент, если он возвращает «true».
Теперь, допустим, у вас есть заполнитель, который возвращает true/false.
Подобно заполнителю %essentials_kit_is_available_ <kitname>%.
Мы могли бы сделать следующее заявление
Код:
view_requirement:
requirements:
anythinghere:
type: string equals ignorecase
input: '%essentials_kit_is_available_<kitname>%'
output: 'yes'
Это проверит, доступен ли комплект.
Если это ... элемент покажет. Теперь, если вы заметили, я написал «yes», а не «true».
Это потому, что он проверяет заполнители через PlaceholderAPI.
В конфигурации по умолчанию PlaceholderAPI возврат BOOLEAN устанавливается как yes/no вместо true/false.
Если вы изменили этот параметр ... вам нужно будет изменить то, что проверяет.
Еще раз - если вы не можете заставить выражение работать... Попробуйте написать заполнитель в чате, чтобы узнать, что он возвращает.
Примечание. Я использую «string equals ignorecase», но вы также можете использовать «string equals»,
и он будет проверять значение, включая оболочку. Это означает, что если бы у вас был мир под названием «WoRLd_TeSt», вы могли бы сделать «.equals»
Эти выражения могут быть сделаны с помощью ANY placeholder, и вы можете использовать в них любые выражения Java.
Если вам нужна помощь... Пожалуйста, сообщите нам в теме, и мы постараемся помочь.
Обязательно проверьте и проверьте страницы меню в будущем, чтобы увидеть, как вы можете использовать эти выражения.
Последнее редактирование: