本帖最后由 AzureHanChen 于 2020-3-17 07:16 编辑

DeluxeMenus 官方Wiki 翻译

  • 译者:AzureHanChen
  • 插件版本: 1.12.0

正在翻译新wiki中




Ⅰ.前言

一个菜单由菜单容器(GUI,例如铁砧,箱子等)设置与菜单中物品设置构成
在菜单容器设置中使用items:后,下面均为菜单中物品设置


类型 用法/描述
String 在此处使用文字,可使用颜色代码&PAPI变量
BOOLEAN 在此填写true或者false (如果是PlaceholderAPI则可能是 yes和no 根据PAPI的默认设置)
条件使用第6页讲到的条件式
# 在此处使用数字(部分地方可能有限制)
SOUND 在此处填写MC音效名称(英文全大写)
ACTION 在这里填写操作即可

命令  权限 默认拥有
/dm -
/dm open <菜单名> deluxemenus.open
/dm list deluxemenus.list
/dm reload deluxemenus.reload
/dm open <菜单名> <玩家ID> deluxemenus.open.other

  • Action大全
[player] 命令用此玩家的角度执行一个命令
[console] 命令以控制台(最高)权限的角度执行一个命令*
[commandevent] 命令执行一个特殊的插件(例如DM菜单快捷指令)
[message] String给(使用此菜单的)玩家发送一个文字(支持PAPI变量/颜色代码)
[openguimenu] 菜单名字打开一个DeluxeMenus的另一个菜单
[connect] 某个服务器名字传送到另一个服务器(必须是Bungee的配置中设置的名字)
[close]关闭现在的这个菜单
[json] JSON给玩家发送一个JSON格式的消息
[refresh]刷新此菜单中的每个物品项目,同时更新项目本身
[broadcastsound] 音效发送一个音效给全服玩家
[sound] 音效发送一个音效给此玩家
[takemoney] #给某个玩家扣钱 (使用与Vault挂钩的经济插件)
*:因此执行的角度也是控制台,所以请务必指明此玩家(%player_name%)

  • 特殊Action
<delay=#>多少ticks(20ticks=1s)后执行
<chance=#>百分之#的概率执行

例子
  • - '[message] &a1秒已经过去了 <delay=20>'
  • - '[message] &a你有半成(50%)几率看到这条消息 <chance=0>'

  • 如果你不想在一个文件中塞入N个菜单,
  • 请在config.yml中gui_menus:下方添加

  1.   pcd:
  2. #菜单名称,即 /dm open pcd 才能打开这个菜单
  3.     file: azurehanchen.yml
  4. #菜单文件,您需要在此目录下创建一个gui_menus文件夹
  5. #然后把菜单文件的名称.yml填到这里
复制代码



Ⅱ - GUI_菜单界面配置

一个完整的GUI配置由以下组成,详解在下面
  1. gui_menus:
  2.   menuname:
  3.     menu_title: 'String'
  4.     open_command: abcd
  5.     open_requirement: EXPRESSION
  6.     open_commands:
  7.     - '[player] COMMAND'
  8.     - '[console] COMMAND'
  9.     - '[commandevent] COMMAND'
  10.     - '[message] TEXT'
  11.     - '[openguimenu] MenuName'
  12.     - '[connect] Bungee中设置的某个服务器的名称'
  13.     - '[json] {"text":"String"}'
  14.     - '[refresh]'
  15.     - '[broadcastsound] SOUND'
  16.     - '[sound] SOUND'
  17.     - '[takemoney] #'
  18.     inventory_type: 'TEXT'
  19.     size: #
  20.     update_interval: #
  21.     items:
复制代码

  • menu_title: 'String'
  • 菜单的标题
  • 菜单容器的标题

  • open_command: abcd
  • 打开菜单的快捷指令 (可选)
  • (不需要加/)(请勿与其他指令&已设置的快捷指令冲突)

  • open_command:
  • - abcd
  • - abcde
  • 打开菜单的多个快捷指令 (可选)

  • open_requirement:
  • 打开菜单的条件 (可选)
  • 下文会详细说明

  • open_commands:
  • - 'ACTION'
  • 打开后执行的操作 (可选)

  • inventory_type: CHEST
  • 菜单的类型 (可选)
  • CHEST (箱子) (默认)
  • ANVIL (铁砧)
  • DISPENSER (发射器)
  • FURNACE (熔炉)
  • HOPPER (漏斗)
  • WORKBENCH (工作台)
  • 只有设置为CHEST才能使用size参数

  • size: #
  • GUI界面的大小
  • 必须是9的倍数,且54≥#≥9

  • args:
  •   example: 1
  •   example2: -1
  • args_usage_message: 'String'
  • 打开菜单时的传入参数
  • 即/<快捷指令> 参数1 参数2 参数3 ...
  • 您同样可以设置玩家缺少参数或参数过多时的提醒
  • 如上方例子,您就可以在菜单中使用传入参数
  • 例如{example},{example2}

  • update_interval: #
  • 刷新显示的变量的间隔 (单位: 秒)
  • 此参数只能刷新物品lore,名字,菜单标题等处的变量
  • 如果你某个物品是根据变量条件判断而进行显示的,那么
  • 如果玩家达到了条件,并不会自动改变物品

  • items:
  • 物品配置开始的标记


Ⅲ - Item_菜单中物品的配置

  1.    items:
  2.     'ItemName':
  3.       material: TEXT
  4.       slot: #
复制代码

  • 此处的items为开始标记,务必添加(接上文)
  • ItemName为此物品项目的名称,仅仅为了您编写&日后维护的便利,不影响玩家GUI界面查看
  • 不同的项目不能拥有相同的物品项目的名称,否则报错
  • 您可以使用任意英文大小写字母和数字,如果是单个数字必须加双引号

  • 1. [必填]
  • materrial: DIAMOND
  • 显示的物品的ID
  • 与下文的子ID(data),染料颜色,旗帜类型,附魔选项等对应
  • (您可以最上面的几个对应网站中找到)

  • 具体可以填写什么?
  • ①MC物品的ID
  • material: WOOL

  • ②正版玩家头颅
  • material: head;AzureHanChen

  • ③正版玩家头颅_填写返回值是玩家ID的PAPI变量
  • material: head;%player_name%

  • ④头颅数据 (例如Minecraft Heads中某个头颅的Value)
  • material: basehead-eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvMTc4OTA0M2IxMjNhYTE0ZGRiZDIxMDgyY2FkMDcwYmY2NzRkNjQ3MmQwZGIxZWE5NGI0NGEyODgzY2Y1OTI2ZCJ9fX0=

  • ⑤HeadDatabase插件的头颅ID (必须安装HeadDatabase)
  • material: hdb-233

  • ⑥任何一个返回有效MC物品ID的变量
  • (%player_item_in_hand%,玩家目前手中的物品)
  • material: 'placeholder-%player_item_in_hand%'

  • 2. (可选)
  • data: #
  • 物品的子ID值
  • 仅用于部分一个物品ID下存在多个子物品的情况
  • 如果上方填写的material对应物品没有子ID,您不需要此选项

  • 3. (可选)
  • amount: #
  • 物品的数量(静态)
  • 此处可以填写上方设置的物品的允许堆叠范围内
  • 如末影珍珠您在此可以填写1-16,草方块可以填写1-64


  • 4. (可选) (与3.需二选一)
  • dynamic_amount: %someplaceholders%
  • 显示的物品的数量(动态)
  • 随着变量对应值的改变,物品数量也会改变
  • 必须要在物品堆叠值的有效范围内,否则将不会再更改


  • 5. (可选)
  • rgb: #,#,#
  • RGB —— 物品的"颜色"
  • 仅仅适用于小部分物品(例如皮革衣服)
  • 三个#的取值均要在0-255之间


  • 举个例子
  • rgb: 38,192,210


  • 6. [必选]
  • slot: #
  • 此物品在GUI界面中的位置
  • 在CHEST(箱子)类型的GUI中的位置图可参考下图


  • 注意:
  • 多个物品可以同时位于一个位置上,
  • 但如果没有优先级与查看条件的协调
  • ,那么就等于只能显示其中一个


  • 7. (与6.必须二选一)
  • slots:
  • - #
  • - #
  • 此物品在GUI界面中的多个位置

  • 8. (可选)
  • priority: #
  • 物品在某个位置(格子)上的优先级
  • 数字越小优先级越高,建议配合查看条件使用
  • 可以根据玩家是否达到条件而在同一个位置上显示不同的物品

  • 8. (可选)
  • view_requirement: '条件'
  • 查看条件
  • 只有达到了所有条件才能看到此物品

  • 9. (可选)
  • update: BOOLEAN
  • 是否更新物品名字,Lore处的变量
  • 刷新频率与上文中提到的update_interval有关

  • 更新后如果达到了同一个位置上其他(优先级更高的)物品的条件,
  • 但是仍然会显示这个物品,
  • 提示 ACTION中的[refresh]可破阵

  • 10. (可选)
  • banner_meta:
  • - 染料颜色;旗帜类型
  • - 染料颜色;旗帜类型
  • 旗帜选项
  • 当您把此物品选项的物品设置为旗帜时才可以使用
  • 您可以在这里找到染料颜色|旗帜类型

  • 11. (可选)
  • enchantments:
  • - 附魔ID;等级
  • - 附魔ID;等级
  • 附魔选项
  • 您可以在这里找到附魔类型
  • 注意 部分物品不能被附魔,部分物品只能附部分魔
  • 提示 如果您不想看到类似于"锋利I"之类的文字,那么您可以看12.

  • 12. (可选)
  • hide_enchantments: BOOLEAN
  • 隐藏附魔文字
  • 在不影响附魔效果的前提下
  • 去掉锋利I,无限I这种Lore中的提示文字


  • 13. (可选)
  • hide_attributes: BOOLEAN
  • 隐藏物品属性
  • 去除Lore中的+5 攻击等类似的文字


  • 14. (可选)
  • hide_effects: BOOLEAN
  • 隐藏药水效果
  • 去除Lore中速度I,夜视等类似的文字


  • 15. (可选)
  • display_name: 'String'
  • 物品显示名称
  • 忽略此选项就会显示此物品本来的名称(例如:床,末影珍珠)


  • 16. (可选)
  • lore:
  • - 'String'
  • - 'String'
  • 鼠标悬浮在此物品时的Lore



  • 17. (可选)


  • left_click_commands:
  • - 'Action'
  • 直接左键此物品执行的操作



  • right_click_commands:
  • - 'Action'
  • 直接右键此物品执行的操作


  • middle_click_commands:
  • - 'Action'
  • 直接中键此物品执行的操作


  • shift_left_click_commands:
  • - 'Action'
  • 按住Shift同时左键此物品执行的操作


  • shift_right_click_commands:
  • - 'Action'
  • 按住Shift同时右键此物品执行的操作



  • 18. (可选)

  • left_click_requirement: '条件'
  • 只左键物品执行的操作的需求条件

  • right_click_requirement: '条件'
  • 直接右键此物品执行的操作的需求条件

  • middle_click_requirement: '条件'
  • 只中键此物品执行的操作的需求条件

  • shift_left_click_requirement: '条件'
  • 按住Shift同时左键此物品执行的操作的需求条件

  • shift_right_click_requirement: '条件'
  • 按住Shift同时右键此物品执行的操作的需求条件



Ⅳ - Requirements_条件

基本的模板


  • xxxx_requirement:
  •   requirements:
  •     example:
  •       type: 类型
  •     example2:
  •       type: 类型2
  •   deny_command:
  •   - 'Action'



解析 在上方的条件中,你必须同时满足example
       与example2,否则将执行deny_command中的操作


下方是类型与具体的使用方法


  • 1.

  • type: has permission
  • permission: 'a.b.c.d'

  • 拥有权限,检测玩家是否拥有某个权限
  • 提示 权限也可以人为制造,例如pcd.need.you
  • 提示 防止OP可以无条件通过可以把
  •         默认用户组的此权限先设置为false (LuckPerms)

  • 2.

  • type: has money
  • amount: #

  • 拥有金钱,检测玩家在在经济系统中是否拥有一定的余额(>=)
  • (获取与Vault挂钩的经济插件的玩家的余额)


  • 3.

  • type: has item
  • material: DIAMOND
  • data: #
  • amount: #
  • name: 'String'
  • lore:
  • - 'String'

  • 检测玩家背包中是否存在某个物品
  • 可以设置物品ID,物品子ID,数量,名称和Lore



  • 4.

  • type: javascript
  • expression: 'JS检测式'

  • JS条件检测


  • 例子:
  • type: javascript
  • expression: '%vault_eco_balance% >= 666'


  • 5.

  • type: string equals
  • input: 'String'
  • output: 'String'

  • 检测字符串是否相等,即输入是否完全等于输出
  • 注意 大小写也必须完全相同


  • 例子
  • type: string equals
  • input: '%player_name%'
  • output: 'AzureHanChen'
  • 检测玩家的名字是否是AzureHanChen


  • 6.
  • type: string equals ignorecase
  • input: 'String'
  • output: 'String'

  • 同5.,不过忽略了大小写
  • 即输出与输入都转化为小写后,是否相当


  • 7.

  • type: string contains
  • input: 'TEXT'
  • output: 'TEXT'

  • 检测输入是否包含输出


  • 例子,检测玩家名字是否包含HanChen
  • type: string contains
  • input: '%player_name%'
  • output: 'HanChen'




  • 8.

  • type: (==, >=, <=, !=, >, <)
  • input: #
  • output: #
  • 比较,比较输入和输出是否符合你所给予的比较类型

  • 比较类型大全
类型用法
==输入等于输出
>=输入大于等于输出
<=输入小于等于输出
!=输入不等于输出
>输入大于输出
<输入小于输出



Ⅴ  - 打开时传入菜单的参数

"Arguments" 是使用特殊命令串打开菜单时传入菜单参数,
你可以让玩家用不同的菜单参数打开菜单并存为"局部变量",
你可以在某个菜单的GUI选项中设置Arg选项
并且让玩家使用/快捷指令 传入参数1 传入参数2 传入参数3 ...
  1. args:
  2.   target: 1
  3.   time: 1
  4.   reason: -1
复制代码
args的每个选项(例如上方的target,time,reason)都可以在加上{}后作为变量 (例如 {target} )
它将被解析成为玩家输入的值,设置为-1即视为最后的一个传入参数
  1. args:
  2.   player: 1
  3.   time: 2
  4.   reason: -1
  5.   args_usage_message: "/c <player> <time> <reason>"
复制代码
当玩家输入/快捷指令 AzureHanChen 15d ILOVEPCD

  • 打开菜单后,
  • 菜单中的{player}变量将被解析为AzureHanChen
  • {time}变量将被解析为15d
  • {reason}将被解析为ILOVEPCD

  • 如果玩家不按要求输入
  • 将会发送给玩家消息:/c <player> <time> <reason>

下面是个例子
  1. menu_title: '例子'
  2. open_command: punish
  3. size: #
  4. args:
  5.   target: 1
  6.   time: 1
  7.   reason: -1
  8. args_usage_message: "/punish <player> <time> <reason>"
  9. items:
  10. items:
  11.   '1':
  12.     material: Barrier
  13.     amount: 1
  14.     slot: 11
  15.     display_name: '&8&l> &a警告'
  16.     lore:
  17.     - '&r'
  18.     - '&8? &b玩家&8: &7{target}'
  19.     - '&8? &b时间&8: &7{time}'
  20.     - '&8? &b原因&8: &7{reason}'
  21.     - '&r'
  22.     left_click_commands:
  23.     - '[player] warn {target} {reason}'
  24.     - '[close]'
  25.     - '[broadcast] &b{target}&7 已被警告,因为&8: &b{reason}'
  26.     right_click_commands:
  27.     - '[player] warn {target} {reason}'
  28.     - '[close]'
  29.     - '[broadcast] &b{target}&7 已被警告,因为&8: &b{reason}'
复制代码
当我们输入/punish HelpChat 15min Example时将会显示



Ⅵ - 礼包(工具)菜单

  1.   
  2. # ---------------------------------------------------------------------- #
  3. #                此菜单制作环境: DeluxeMenus 1.12.0                       #
  4. # ---------------------------------------------------------------------- #
  5. #                                                                        #
  6. # 注意: 此菜单是单独文件格式存在的,请勿直接复制进config.yml                  #
  7. #       把以下代码复制进入gui_menus的kits.yml(如果没有就新建一个)           #
  8. #       并在config.yml注册,注册的代码紧跟在下面                             #
  9. #       然后重置插件(/dm reload)                                          #
  10. #                                                                        #
  11. # gui_menus:                                                             #
  12. #   kits:                                                                #
  13. #     file: kits.yml                                                     #
  14. #                                                                        #
  15. # ---------------------------------------------------------------------- #
  16. menu_title: '&a礼包菜单'
  17. #你可以随意更改,不过请保证遵循YAML格式的前提下
  18. open_command:
  19. - kit
  20. - kits
  21. #换行,空格,- <命令> 即可,请遵循YAML格式
  22. size: 27
  23. #9,18,27,36,45,54都可以,GUI界面大小
  24. update_interval: 1
  25. #物品变量更新间隔,只能用于update: true的物品上,单位是秒
  26. open_requirement:
  27.   requirements:
  28.   #此处你可以随意添加判断式(请遵循格式),下面只是个例子
  29.     permission:
  30.       type: has permission
  31.       #判断玩家是否拥有权限
  32.       permission: essentials.kit
  33.       #判断玩家是否拥有权限essentials.kit
  34.   deny_commands:
  35.   #如果玩家没有,则不予打开菜单,并返回以下操作
  36.   - '[message] '
  37.   - '[message] &8[&b服务器娘&8] &7您好像没有打开此菜单的权限呢'
  38.   - '[message] '
  39. items:  
  40.   'cooldown':
  41.     material: Gray_Dye
  42.     slot: 13
  43.     priority: 1
  44.     update: true
  45.     view_requirement:
  46.       requirements:
  47.         permission:
  48.           type: has permission
  49.           permission: essentials.kits.example
  50.           #判断玩家是否具有essentials.kits.example的权限
  51.         available:
  52.           type: string equals ignorecase
  53.           input: '%essentials_kit_is_available_example%'
  54.           output: 'no'
  55.           #判断变量%essentials_kit_is_available_example%的返回值是否是no
  56.           #两者只要有其一返回不通过则返回下一优先级的物品
  57.     display_name: '&r'
  58.     lore:
  59.     - '&b* &e礼包&8: &7例子'
  60.     - '&b* &e状态&8: &4冷却'
  61.     - '&b* &e剩余&8: &7%essentials_kit_time_until_available_example%'
  62.     - '&r'
  63.   'available':
  64.     material: Lime_Dye
  65.     slot: 13
  66.     priority: 2
  67.     update: true
  68.     view_requirement:
  69.       requirements:
  70.         permission:
  71.           type: has permission
  72.           permission: essentials.kits.example
  73.           #判断玩家是否具有essentials.kits.example的权限
  74.         available:
  75.           type: string equals ignorecase
  76.           input: '%essentials_kit_is_available_example%'
  77.           output: 'yes'
  78.           #判断变量%essentials_kit_is_available_example%的返回值是否是yes
  79.           #两者只要有其一返回不通过则返回下一优先级的物品
  80.     display_name: '&r'
  81.     lore:
  82.     - '&b* &e礼包&8: &7例子'
  83.     - '&b* &e状态&8: &2可用'
  84.     - ''
  85.     - '&b* &a&o点击领取'
  86.     - '&r'
  87.     left_click_commands:
  88.     - '[player] kit example'
  89.     - '[refresh]'
  90.     - '[refresh]<delay=100>'
  91.     right_click_commands:
  92.     - '[player] kit example'
  93.     - '[refresh]'
  94.     - '[refresh]<delay=100>'
  95.   'locked':
  96.     material: Red_Dye
  97.     slot: 13
  98.     priority: 3
  99.     update: true
  100.     display_name: '&r'
  101.     lore:
  102.     - '&b* &e礼包&8: &7例子'
  103.     - '&b* &e状态&8: &4无权'
  104.     - '&r'
复制代码
此处利用Essentials(X)权限以及PAPI变量做判断
/papi ecloud download Essentials
/papi ecloud download Player

看玩家是否满足领取Example礼包的权限,同时又冷却完毕
此处如果你想用你的某个礼包,请将Example/例子换成你的礼包在Ess中注册的名字

(CMI版见下,由本人魔改自上方
)
/papi ecloud download Player
  1. # ---------------------------------------------------------------------- #
  2. #                此菜单制作环境: DeluxeMenus 1.12.0                       #
  3. # ---------------------------------------------------------------------- #
  4. #                                                                        #
  5. # 注意: 此菜单是单独文件格式存在的,请勿直接复制进config.yml                  #
  6. #       把以下代码复制进入gui_menus的kits_cmi.yml(如果没有就新建一个)       #
  7. #       并在config.yml注册,注册的代码紧跟在下面                             #
  8. #       然后重置插件(/dm reload)                                          #
  9. #                                                                        #
  10. # gui_menus:                                                             #
  11. #   kits:                                                                #
  12. #     file: kits_cmi.yml                                                 #
  13. #                                                                        #
  14. # ---------------------------------------------------------------------- #
  15. menu_title: '&a礼包菜单'
  16. #你可以随意更改,不过请保证遵循YAML格式的前提下
  17. open_command:
  18. - kit
  19. - kits
  20. #换行,空格,- <命令> 即可,请遵循YAML格式
  21. size: 27
  22. #9,18,27,36,45,54都可以,GUI界面大小
  23. update_interval: 1
  24. #物品变量更新间隔,只能用于update: true的物品上,单位是秒
  25. open_requirement:
  26.   requirements:
  27.   #此处你可以随意添加判断式(请遵循格式),下面只是个例子
  28.     permission:
  29.       type: has permission
  30.       #判断玩家是否拥有权限
  31.       permission: essentials.kit
  32.       #判断玩家是否拥有权限essentials.kit
  33.   deny_commands:
  34.   #如果玩家没有,则不予打开菜单,并返回以下操作
  35.   - '[message] '
  36.   - '[message] &8[&b服务器娘&8] &7您好像没有打开此菜单的权限呢'
  37.   - '[message] '
  38. items:  
  39.   'cooldown':
  40.     material: Gray_Dye
  41.     slot: 13
  42.     priority: 1
  43.     update: true
  44.     view_requirement:
  45.       requirements:
  46.         permission:
  47.           type: has permission
  48.           permission: cmi.kit.Example
  49.           #判断玩家是否具有cmi.kit.Example的权限
  50.         available:
  51.           type: '!='
  52.           #判断输入和输出是否不相同
  53.           input: '%cmi_user_kitcd_Example%'
  54.           output: '-'
  55.           #判断变量%cmi_user_kitcd_Example%的返回值是否是-
  56.           #两者只要有其一返回不通过则返回下一优先级的物品
  57.     display_name: '&r'
  58.     lore:
  59.     - '&b* &e礼包&8: &7例子'
  60.     - '&b* &e状态&8: &4冷却'
  61.     - '&b* &e剩余&8: &7%essentials_kit_time_until_available_example%'
  62.     - '&r'
  63.   'available':
  64.     material: Lime_Dye
  65.     slot: 13
  66.     priority: 2
  67.     update: true
  68.     view_requirement:
  69.       requirements:
  70.         permission:
  71.           type: has permission
  72.           permission: cmi.kit.Example
  73.           #判断玩家是否具有cmi.kit.Example的权限
  74.         available:
  75.           type: '=='
  76.           #判断输入和输出是否相同
  77.           input: '%cmi_user_kitcd_Example%'
  78.           output: '-'
  79.           #判断变量%cmi_user_kitcd_Example%的返回值是否是-
  80.           #两者只要有其一返回不通过则返回下一优先级的物品
  81.     display_name: '&r'
  82.     lore:
  83.     - '&b* &e礼包&8: &7例子'
  84.     - '&b* &e状态&8: &2可用'
  85.     - ''
  86.     - '&b* &a&o点击领取'
  87.     - '&r'
  88.     left_click_commands:
  89.     - '[console] cmi kit Example %player_name%'
  90.     - '[refresh]'
  91.     - '[refresh]<delay=100>'
  92.     right_click_commands:
  93.     - '[console] cmi kit Example %player_name%'
  94.     - '[refresh]'
  95.     - '[refresh]<delay=100>'
  96.   'locked':
  97.     material: Red_Dye
  98.     slot: 13
  99.     priority: 3
  100.     update: true
  101.     display_name: '&r'
  102.     lore:
  103.     - '&b* &e礼包&8: &7例子'
  104.     - '&b* &e状态&8: &4无权'
  105.     - '&r'
复制代码

Ⅶ - 矿场传送菜单
  1. # ---------------------------------------------------------------------- #
  2. #                此菜单制作环境: DeluxeMenus 1.10.4                       #
  3. # ---------------------------------------------------------------------- #
  4. #                                                                        #
  5. # 注意: 此菜单是单独文件格式存在的,请勿直接复制进config.yml                  #
  6. #       把以下代码复制进入gui_menus的kits.yml(如果没有就新建一个)           #
  7. #       并在config.yml注册,注册的代码紧跟在下面                             #
  8. #       然后重置插件(/dm reload)                                          #
  9. #                                                                        #
  10. # gui_menus:                                                             #
  11. #   kits:                                                                #
  12. #     file: mines.yml                                                    #
  13. #                                                                        #
  14. # ---------------------------------------------------------------------- #
  15. menu_title: '&9矿场菜单'
  16. #下文部分与Kits重叠部分不做注释
  17. open_command:
  18. - mine
  19. - mines
  20. size: 9
  21. open_requirement:
  22.   requirements:
  23.     permission:
  24.       type: has permission
  25.       permission: cs.azurehanchen
  26.       #打开菜单需要的权限
  27.   deny_commands:
  28.   - '[message] &c您好像没有权限打开矿场菜单'
  29. items:
  30.   'A-UNLOCKED':
  31.     material: 160
  32.     data: 5
  33.     slot: 1
  34.     priority: 2
  35.     display_name: '&aA 矿场'
  36.     lore:
  37.     - '&f点击前往'
  38.     - '&fA 矿场.'
  39.     - ''
  40.     - '&a&l已解锁'
  41.     left_click_commands:
  42.     - '[close]'
  43.     - '[player] warp A'
  44.     right_click_commands:
  45.     - '[close]'
  46.     - '[player] warp A'
  47. #
  48. # B MINE
  49. #
  50.   'B-LOCKED':
  51.     material: 160
  52.     data: 14
  53.     slot: 2
  54.     priority: 3
  55.     display_name: '&cB 矿场'
  56.     lore:
  57.     - '&f点击前往'
  58.     - '&f矿场 B'
  59.     - ''
  60.     - '&c&l未解锁'
  61.   'B-UNLOCKED':
  62.     material: 160
  63.     data: 5
  64.     slot: 2
  65.     priority: 2
  66.     view_requirement:
  67.       requirements:
  68.         anything_here:
  69.           type: has permission
  70.           permission: ezranks.rank.b
  71.           #改成你想让玩家前往B矿场的前提
  72.     display_name: '&aB Mine'
  73.     lore:
  74.     - '&f点击前往'
  75.     - '&f矿场B'
  76.     - ''
  77.     - '&a&l已解锁'
  78.     left_click_commands:
  79.     - '[close]'
  80.     - '[player] warp B'
  81.     right_click_commands:
  82.     - '[close]'
  83.     - '[player] warp B'
  84.   'B-CURRENT':
  85.     material: 160
  86.     data: 4
  87.     slot: 2
  88.     priority: 1
  89.     view_requirement:
  90.       requirements:
  91.         anything_here:
  92.           type: string equals ignorecase
  93.           input: '%ezrankspro_rank%'
  94.           output: B
  95.     display_name: '&eB矿场'
  96.     lore:
  97.     - '&f点击前往'
  98.     - '&f矿场B'
  99.     - ''
  100.     - '&e&l已解锁'
  101.     left_click_commands:
  102.     - '[close]'
  103.     - '[player] warp B'
  104.     right_click_commands:
  105.     - '[close]'
  106.     - '[player] warp B'
  107. #
  108. # C 矿场
  109. #
  110.   'C-LOCKED':
  111.     material: 160
  112.     data: 14
  113.     slot: 3
  114.     priority: 3
  115.     display_name: '&cC矿场'
  116.     lore:
  117.     - '&f点击前往'
  118.     - '&fC矿场'
  119.     - ''
  120.     - '&c&l未解锁'
  121.   'C-UNLOCKED':
  122.     material: 160
  123.     data: 5
  124.     slot: 3
  125.     priority: 2
  126.     view_requirement:
  127.       requirements:
  128.         anything_here:
  129.           type: has permission
  130.           permission: ezranks.rank.C
  131.     display_name: '&aC矿场'
  132.     lore:
  133.     - '&f点击前往'
  134.     - '&fC矿场'
  135.     - ''
  136.     - '&a&l已解锁'
  137.     left_click_commands:
  138.     - '[close]'
  139.     - '[player] warp C'
  140.     right_click_commands:
  141.     - '[close]'
  142.     - '[player] warp C'
  143.   'C-CURRENT':
  144.     material: 160
  145.     data: 4
  146.     slot: 3
  147.     priority: 1
  148.     view_requirement:
  149.       requirements:
  150.         anything_here:
  151.           type: string equals ignorecase
  152.           input: '%ezrankspro_rank%'
  153.           output: C
  154.     display_name: '&eC矿场'
  155.     lore:
  156.     - '&f点击前往'
  157.     - '&fC矿场'
  158.     - ''
  159.     - '&e&l已解锁'
  160.     left_click_commands:
  161.     - '[close]'
  162.     - '[player] warp C'
  163.     right_click_commands:
  164.     - '[close]'
  165.     - '[player] warp C'
复制代码
/papi ecloud download EZRanksPro
/papi ecloud download Player

此处使用clip作者本人的
EZRanksPro插件,基本思路是这样的
1.查看玩家是否有可以直接前往的权限,没有则返回2继续判断
2.查看玩家的矿场是否达到了一定等级,没有直接返回3
3.未解锁



Ⅷ - 服务器选择菜单
(此处做了较大幅度魔改)
  1. # ---------------------------------------------------------------------- #
  2. #                此菜单制作环境: DeluxeMenus 1.10.4                      #
  3. # ---------------------------------------------------------------------- #
  4. #                                                                        #
  5. # 注意: 此菜单是单独文件格式存在的,请勿直接复制进config.yml              #
  6. #       把以下代码复制进入gui_menus的serverselector.yml(没有就新建一个)  #
  7. #       并在config.yml注册,注册的代码紧跟在下面                          #
  8. #       然后重置插件(/dm reload)                                         #
  9. #                                                                        #
  10. # gui_menus:                                                             #
  11. #   kits:                                                                #
  12. #     file: serverselector.yml                                           #
  13. #                                                                        #
  14. # ---------------------------------------------------------------------- #
  15. menu_title: '&9选择房间'
  16. open_command: server
  17. size: 9
  18. update_interval: 1
  19. items:
  20.   waiting:
  21.     material: WOOL
  22.     data: 5
  23.     slot: 1
  24.     priority: 1
  25.     update: true
  26.     view_requirement:
  27.       requirements:
  28.         vanila_online:
  29.           type: string equals ignorecase
  30.           input: '%pinger_motd_127.0.0.1:10001%' #注意,PINGER的PAPI需要IP:端口,不能解析域名!!!
  31.           output: '&a等待中...'
  32.     display_name: '&a起床战争 &7(&e等待中&7)'
  33.     lore:
  34.     - '&7人数: &a%bungee_bedwars_1% &7/ &a%pinger_127.0.0.1:10001%'
  35.     - '&7地图: &b吃豆豆'
  36.     - ''
  37.     - '&a点击加入该房间'
  38.     left_click_commands:
  39.     - '[close]'
  40.     - '[message] &7正在连接至 &aBedWars_1(吃豆豆)&7...'
  41.     - '[connect] bedwars_1'
  42.   playing:
  43.     material: WOOL
  44.     data: 14
  45.     slot: 1
  46.     priority: 2
  47.     update: true
  48.     view_requirement:
  49.       requirements:
  50.         vanila_online:
  51.           type: string equals ignorecase
  52.           input: '%pinger_motd_127.0.0.1:10001%' #注意,PINGER的PAPI需要IP:端口,不能解析域名!!!
  53.           output: '&c游戏中'
  54.     display_name: '&a起床战争 &7(&c已开始&7)'
  55.     lore:
  56.     - '&7人数: &a%bungee_bedwars_1% &7/ &a%pinger_127.0.0.1:10001%'
  57.     - '&7地图: &b吃豆豆'
  58.     - ''
  59.     - '&a点击刷新'
  60.     left_click_commands:
  61.     - '[refresh]'
  62.     right_click_commands:
  63.     - '[refresh]'
  64.   error:
  65.     material: WOOL
  66.     data: 15
  67.     slot: 1
  68.     priority: 3
  69.     update: true
  70.     view_requirement:
  71.       requirements:
  72.         vanila_online:
  73.           type: string equals ignorecase
  74.           input: '%pinger_motd_127.0.0.1:10001%' #注意,PINGER的PAPI需要IP:端口,不能解析域名!!!
  75.           output: '&a等待中...'
  76.     display_name: '&a起床战争 &7(&c离线&7)'
  77.     lore:
  78.     - '&7人数: &aNULL &7/ &aNULL'
  79.     - '&7地图: &b吃豆豆'
  80.     - ''
  81.     - '&a点击刷新'
  82.     left_click_commands:
  83.     - '[refresh]'
  84.     right_click_commands:
  85.     - '[refresh]'
复制代码
此处根据房间的MOTD从而判断游戏状态以让玩家加入游戏
/papi ecloud download Essentials
/papi ecloud download Player

注:Pinger比较容易抽风,建议使用一些其他PAPI变量达到同样效果


Ⅷ - 支持多种货币系统的商店菜单
  1. # ---------------------------------------------------------------------- #
  2. #                此菜单制作环境: DeluxeMenus 1.10.5                      #
  3. # ---------------------------------------------------------------------- #
  4. #                                                                        #
  5. # 注意: 此菜单是单独文件格式存在的,请勿直接复制进config.yml              #
  6. #       把以下代码复制进入gui_menus的store.yml(如果没有就新建一个)       #
  7. #       并在config.yml注册,注册的代码紧跟在下面                          #
  8. #       然后重置插件(/dm reload)                                         #
  9. #                                                                        #
  10. # gui_menus:                                                             #
  11. #   kits:                                                                #
  12. #     file: store.yml                                                    #
  13. #                                                                        #
  14. # ---------------------------------------------------------------------- #
  15. menu_title: '&9商店'
  16. open_command: store
  17. size: 9
  18. update_interval: 1
  19. ##########################################################################
  20. # + ------------------------------------------------------------------ + #
  21. # |                            VAULT 经济系统                          | #
  22. # + ------------------------------------------------------------------ + #
  23. ##########################################################################
  24. items:
  25.   '0':
  26.     material: stone
  27.     data: 1
  28.     slot: 0
  29.     display_name: '&f花岗岩'
  30.     lore:
  31.     - '&8* &7购买: &f100&e金币'
  32.     - '&8* &7出售: &f25&e金币'
  33.     left_click_requirement:
  34.       requirements:
  35.         anything_here:
  36.           type: has money
  37.           amount: 100
  38.       deny_commands:
  39.       - '[message] &4商店 &8> &f你需要 &c100元 &f来购买 &c1 x 花岗岩&f.'
  40.     right_click_requirement:
  41.       requirements:
  42.         anything_here:
  43.           type: string equals
  44.           input: '%checkitem_mat:STONE,data:1%'
  45.           output: 'yes'
  46.       deny_commands:
  47.       - '[message] &4商店 &8> &f你没有 &c1 x 花岗岩 &f来出售.'
  48.     left_click_commands:
  49.     - '[console] eco take %player_name% 100'
  50.     - '[console] give %player_name% stone:1 1'
  51.     - '[message] &2商店 &8> &f你购买了 &a1 x 花岗岩 &f花费 &a100金币&f.'
  52.     right_click_commands:
  53.     - '[console] eco give %player_name% 25'
  54.     - '[console] clear %player_name% stone:1 1'
  55.     - '[message] &2商店 &8> &f你出售了 &a1 x 花岗岩 &f获得 &a25金币&f.'
  56. ### Vault经济系统商店结束

  57. ##########################################################################
  58. # + ------------------------------------------------------------------ + #
  59. # |                       TOKEN ENCHANT 经济系统                       | #
  60. # + ------------------------------------------------------------------ + #
  61. ##########################################################################
  62. # 此处原创的"经济系统"是由Placeholder中的JavaScript编写,作者vk2gpz
  63. # 更多详情查看这里 > [url]https://www.spigotmc.org/wiki/placeholderapi-javascript-expansion-scripts/#tokenenchant-token-value[/url]
  64.   'tokens':
  65.     material: stone
  66.     data: 1
  67.     slot: 1
  68.     display_name: '&f花岗岩'
  69.     lore:
  70.     - '&8* &7购买: &f100 &c代币'
  71.     - '&8* &7出售: &f25 &a代币'
  72.     left_click_requirement:
  73.       requirements:
  74.         anything_here:
  75.           type: '>='
  76.           input: '%javascript_tokenenchant_token%'
  77.           output: '100'
  78.       deny_commands:
  79.       - '[message] &4商店 &8> &f你需要 &c100 代币 &f来购买 &c1 x 花岗岩&f.'
  80.     right_click_requirement:
  81.       requirements:
  82.         anything_here:
  83.           type: string equals
  84.           input: '%checkitem_mat:STONE,data:1%'
  85.           output: 'yes'
  86.       deny_commands:
  87.       - '[message] &4商店 &8> &f你没有 &c1 x 花岗岩 &f来出售.'
  88.     left_click_commands:
  89.     - '[console] te remove %player_name% 100'
  90.     - '[console] give %player_name% stone:1 1'
  91.     - '[message] &2Shop &8> &f你购买了 &a1 x 花岗岩 &f花费 &a100 代币&f.'
  92.     right_click_commands:
  93.     - '[console] te add %player_name% 25'
  94.     - '[console] clear %player_name% stone:1 1'
  95.     - '[message] &2Shop &8> &f你出售了 &a1 x 花岗岩 &f获得 &a25 代币&f.'
  96. ### 代币商店结束

  97. ##########################################################################
  98. # + ------------------------------------------------------------------ + #
  99. # |                       PLAYER POINTS 经济系统                       | #
  100. # + ------------------------------------------------------------------ + #
  101. ##########################################################################
  102.   'points':
  103.     material: stone
  104.     data: 1
  105.     slot: 2
  106.     display_name: '&f花岗岩'
  107.     lore:
  108.     - '&8* &7Buy for: &f100 &c点券'
  109.     - '&8* &7Sell for: &f25 &a点券'
  110.     left_click_requirement:
  111.       requirements:
  112.         anything_here:
  113.           type: '>='
  114.           input: '%playerpoints_points%'
  115.           output: '100'
  116.       deny_commands:
  117.       - '[message] &4商店 &8> &f你需要 &c100 点券 &f来购买 &c1 x 花岗岩&f.'
  118.     right_click_requirement:
  119.       requirements:
  120.         anything_here:
  121.           type: string equals
  122.           input: '%checkitem_mat:STONE,data:1%'
  123.           output: 'yes'
  124.       deny_commands:
  125.       - '[message] &4商店 &8> &f你没有 &c1 x 花岗岩 &f来出售.'
  126.     left_click_commands:
  127.     - '[console] points take %player_name% 100'
  128.     - '[console] give %player_name% stone:1 1'
  129.     - '[message] &2商店 &8> &f你购买了 &a1 x 花岗岩 &f花费 &a100 点券&f.'
  130.     right_click_commands:
  131.     - '[console] points give %player_name% 25'
  132.     - '[console] clear %player_name% stone:1 1'
  133.     - '[message] &2商店 &8> &f你出售了 &a1 x 花岗岩 &f获得 &a25 点券&f.'
  134. ### 点券商店结束

  135. ##########################################################################
  136. # + ------------------------------------------------------------------ + #
  137. # |                         PLAYER XP 经济系统                         | #
  138. # + ------------------------------------------------------------------ + #
  139. ##########################################################################
  140. # 此处使用PAPI变量 %player_level%
  141.   'level':
  142.     material: stone
  143.     data: 1
  144.     slot: 3
  145.     display_name: '&f花岗岩'
  146.     lore:
  147.     - '&8* &7购买: &f2 等级'
  148.     - '&8* &7出售: &f1 等级'
  149.     left_click_requirement:
  150.       requirements:
  151.         anything_here:
  152.           type: '>='
  153.           input: '%player_total_exp%'
  154.           output: '34' # 查看 [url]http://www.pernsteiner.org/minecraft/levelcalc.html[/url] 获得等级计算机制详情
  155.       deny_commands:
  156.       - '[message] &4商店 &8> &f你需要 &c2等级 (34 XP) &f来购买 &c1 x 花岗岩&f.'
  157.     right_click_requirement:
  158.       requirements:
  159.         anything_here:
  160.           type: string equals
  161.           input: '%checkitem_mat:STONE,data:1%'
  162.           output: 'yes'
  163.       deny_commands:
  164.       - '[message] &4商店 &8> &f你需要 &c1 x 花岗岩 &f来出售.'
  165.     left_click_commands:
  166.     - '[console] xp give %player_name% -2L' # We need to "give" a negative amount, to remove XP :-/
  167.     - '[console] give %player_name% stone:1 1'
  168.     - '[message] &2商店 &8> &f你购买了 &a1 x 花岗岩 &f花费 &a2 等级&f.'
  169.     right_click_commands:
  170.     - '[console] xp give %player_name% 1L' # L means Level. You could also just type 17 for 17 XP.
  171.     - '[console] clear %player_name% stone:1 1'
  172.     - '[message] &2商店 &8> &f你出售了 &a1 x 花岗岩 &f获得 &a1 等级&f.'
  173. ### 经验商店结束
复制代码


End

  • 字数统计 (粗略)
  • 4964 字数
  • 32815 字符
  • 4325 个汉字
  • 29490 个字母
  • 639 个数字
注意 部分原创魔改润色内容因故也是字母        请勿误认为汉字是全部翻译&搬运量











[groupid=1330]PluginsCDTribe[/groupid]