加入YUMC插件论坛

这里有国内顶尖的插件作者,这里有国内一流的服务器服主,这里还有你想拥有的一切Minecraft信息

论坛逐步发展中 招收插件开发人员 开发者申请 或联系QQ: 502647092

搬运 DeluxeMenus - 杜蕾斯菜单 1.6.0

所有功能都具备的GUI菜单插件!

标签:
  1. Gods_Es
    支持核心:
    • Spigot
    支持版本:
    • 1.7
    • 1.8
    • 1.9
    • 1.10
    [​IMG]
    DeluxeMenus 介绍
    • 点击某个图标需要的权限
    • 某个变量达到一定的值时的显示等等
    • 每个界面都有着可以设置的yml文件
    • 支持PlaceholderAPI
    • 支持BungeeCord跨服
    • 多种变量
    • 具备了大多数菜单(比如ChestCommands)的功能
    DeluxeMenus 命令
    /deluxemenus可以缩写成/dm
    [​IMG]

    /dm open <菜单名字> (玩家名字) #(向某玩家)打开对应的菜单
    /dm list #列出无配置问题的菜单
    /dm reload #重载菜单插件配置

    DeluxeMenus 权限
    deluxemenus.admin #全部插件的权限 默认值:OP
    deluxemenus.open #打开菜单权限 默认值:OP
    deluxemenus.open.others #为某玩家打开菜单权限 默认值:OP

    DeluxeMenus 效果图

    [​IMG] [​IMG]
    (这个动态杜蕃斯菜单是付费插件,作用已经被作者删除)

    DeluxeMenus 配置教程
    转载于www.mcbbs.net
    一、给每个菜单独立的yml文本文档
    如果你是初次运行该插件,那么插件会在plugins创建一个名为DeluxeMenus的文件夹(废话!)
    那么会有一个config.yml的文件,这个文件是干什么的呢?很简单: 在这一个文本里面可以多个菜单,包括每个菜单的图标. 但我并不建议这么做,如果你的服务器是Windows系统.转为ANSI码之后.那就成UTF-8码了.具体原因不太清楚,我不是很了解YAML格式.233.
    使用方法:
    删除config.yml所有的内容,当然,你英语好可以留着注释的部分,那也是一个官方的小教程.
    然后粘贴一下内容:
    代码 (Text):

    [LIST=1]
    [*]check_updates: true #检查更新

    [*]gui_menus:

    [*]main:

    [*]    file: main.yml #一个名叫main的菜单.

    [*]prefix:

    [*]    file:prefix.yml #一个名叫prefix的菜单.
    [/LIST]
     
    设置好重载插件或者重启服务器时.会在原有的文件夹内生成一个名叫 gui_menus 的文件夹打开它.
    在该文件夹内,会生成原先设置好的两个菜单.在这里分别是: main.yml 和 prefix.yml

    二、菜单详解(菜单文件独立开之后)
    代码 (Text):

    [LIST=1]
    [*]menu_title: '<菜单的标题,很好理解>'

    [*]open_command: #打开该菜单的指令

    [*]- 'cmd'

    [*]- 'menu' #正如你所见,可以多个

    [*]open_requirement:

    [*]expression: 'BukkitPlayer.hasPermission("some.permission");' #这个的教程在后面.

    [*]deny_commands:

    [*]- '[message] &c你缺少权限权限: some.permission'#这个是没达到上方要求时执行的指令.

    [*]#你肯定会问,这个[message]又是什么鬼,这个后面会讲到.

    [*]size: 9 #菜单的大小,必须为9的倍数,不能大于54.

    [*]updata_interval: 1 #刷新菜单的延迟.秒为单位

    [*]items: #以下就是每个图标的设置了.

    [*]    test: #图标的名字而已.不要和其他的重复.这个名为 test

    [*]        material: 1 #图标的材质,可以为数字ID或者英文代码ID 如果是玩家头: 'head;玩家名字/也可以是变量'

    [*]        data: 2 #附加值吧算是.比如羊毛的数字ID":"后面的那串数字.

    [*]        amount: 20 #显示的数量

    [*]        priority: #优先级.如果一个位置有多个图标,那么这个非常有用。[这个后面详细教程]

    [*]        view_requirement: 'BukkitPlayer.hasPermission("some.permission");' #这个后面有教程

    [*]        updata: true #true或false 如果打开这个,那么会在菜单已打开的情况下刷新变量.默认是打开菜单才刷新.

    [*]        hide_attributes: true #true或false 隐藏物品的属性.

    [*]        hide_enchantments: true #true或false 隐藏物品的附魔.

    [*]        hide_effects: true #true或false 隐藏效果,药水.

    [*]        banner_meta: #如果上方的图标材质为旗帜.那么这个很有用.

    [*]        - '<颜色>;<花纹类型>'

    [*]        - 'WHITE;CREEPER' #白色,苦力怕形状.

    [*]     #这个具体如何用,参考网址:点击进入 这个本人也没用过,不太懂旗帜.

    [*]        display_name: 'thisaname' #物品的展示名字,自定义.可变量/彩色等.
    [/LIST]
     

    三、优先级

    首先,先说说优先级是什么:
    在这个插件中 优先级的大小关系 最高:1 最低:2147483647
    问: 优先级有什么用? 答:优先级可以让处于一个位置的多个图标区分来显示给玩家. [这时候就要配合可视需求了]
    例子: 个人觉得优先级这一部分可能不太好理解,结合例子,自己实际动手做几个图标,慢慢感受一下.

    代码 (Text):
    #我这里有2个名字分别为1,2的图标.
    #它们都处于同一个位置 slot都为20 .
    items:
      1:
        material: 2
        slot: 20
        display_name: '&7&l这是第一个图标'
        update: true
        priority: 1 #这个优先级为1, #这个优先级最高
        view_requirement: '%vaulteco_balance% = 20'
            #金币为20时会显示图标 1 否则显示2.
        lore:
        - '第一个图标'
      2:
        material: 3
        priority: 2 #这个优先级为2.
        slot: 20
        display_name: '&7&l这是第二个图标'
        update: true
        lore:
        - '第二个图标'
    #那么你猜猜它们的显示顺序把,很好理解.
    详细:
    图标1的优先级为1,所以没有可视需求之前,他肯定是第一个显示,
    如果一旦有可是需求,要达到可视需求才行.
    此时当一个玩家的钱数为20时,会显示第一个图标

    四、可视/点击需求
    注意,此部分扩展性非常高,不仅仅是几个判定方式.如果你懂bukkit的API,那么你可以玩转这玩意.
    我只是在这里列举常用的,我可不是藏着掖着,而是真的有很多,无法讲完.
    首先,先明白什么是需求(requirement):
    需求在本插件就是达到一定的条件去打开某个菜单/显示某个图标,或是点击某个图标.
    这个比较多:
    点击需求:
    例子:
    left_click_requirement: #这是左键点击的需求,右键也是如此 left改为right.
    expression: '%vaulteco_balance% > 100' #这里是金币需要高于100.
    deny_commands: #以下是没有100时,点击执行的命令.
    - '[close]'
    - '[message] &cYou dont have 100 dollars to click that item'
    -----------------------------------------------------------------------------------------------

    打开需求: #打开一个菜单的需求
    列子: 其实和点击需求一样,把 *_click_requirement 改为 open_requirement 即可 (偷懒一下不会死)
    -----------------------------------------------------------------------------------------------

    可视需求:
    例子:
    view_requirement: '%vaulteco_balance% > 100' #金币大于100时才可看见图标.
    注意一下,为什么和点击需要不一样呢,因为点击需求没达到条件时可以执行命令,而这个就没必要了2333
    -----------------------------------------------------------------------------------------------

    需求说明 [仅仅列举3个常用,如果你懂bukkit的插件编程,那么你一看就懂.]:
    1.数值变量: 返回值为数字的变量,例如PlayerPoints的。vault的等等.
    '%vaulteco_balance% = 100'
    '%vaulteco_balance% >= 100' 大于或者等于,这就是判断大小的问题,可以小于、大于、大于或等于、小于或等于、
    2.权限需求: 例如: 'BukkitPlayer.hasPermission("test.1.a")'需要有权限: test.1.a
    'BukkitPlayer.noPermission("test.1.a")'这个的意思是没有此权限的才算达到需求
    -----------------------------------------------------------------------------------------------
    3.返回值判定(文本型) 列如:
    '"%player_world%".equalsIgnoreCase("world_nether")' 当变量%player_world%的返回值为 world_nether 时,才达到需求.
    '!"%player_world%".equalsIgnoreCase("world_nether")' 前方加个 ! 用法就和上面的权限需求差不多了.

    五、执行类型[重要!必看部分]
    这一部分是指令节点部分,就是本插件的一种....一种... 23333 没想到什么专业名词,简单来说,就是执行类型!不仅仅是执行指令哦~
    先来个看完前面的教程就能明白的小“栗子”
    left_click_requirement:
    expression: '%vaulteco_balance% > 100'
    deny_commands:
    - '[close]' #关闭菜单的意思,
    - '[message] 这是没达到条件时执行,这是一句话!'

    left_click_commands:
    - '[close]'
    - '[message] 这是达到所需条件后执行的,这是一句话!'
    - '[console] fuck you 2333' #指令,由控制台执行!

    如果这个例子的前三句你没看明白,那肯定是没看前面的教程!
    肯定有人问了,这个[close] [message] [console] 又是什么鬼东西!那么我下面给你解释一下:


    [console] - 由控制台执行一条指令!
    用法: - '[console] eco give SerLiunx 233' #由控制台给玩家SerLiunx一些金币 233个.

    [player] - 由点击这个图标的玩家执行指令
    用法: - '[player] spawn' #回主城,有玩家执行的。

    [commandevent] - 这个我觉得比较不好理解,说白了就是执行没有使用bukkit的指令系统所生成的指令,
    # 不好理解?再说明白点. 如果你想用这个打开chestcommands的面板,你发现用你chestcommands设置好的打开菜单的指令却无法打开。因为我们自定义chestcommands的菜单指令时,是没有用到bukkit的指令系统的。所有你要使用这个执行方式.
    用法: - '[commandevent] main' #假如我有一个需用用/main 来打开的一个chestcommands的菜单,那么这样就可能正常打开

    [message] - 向点击的玩家发送一条消息
    用法: - '[message] <文本>' #这个不多说了...

    [openguimenu] - 打开一个本插件的菜单!别想用这个打开cc的,[这个只能用在点击命令中
    用法: - '[openguimenu] shit' #打开一个名为shit的菜单

    [connect] - 连接一个bungeecord的服务器,如果你不使用bc,忽略这个.
    用法: - '[connect] skyblock' #连接至服务器skyblock

    [close] - 关闭
    用法: - '[close]' #这个不用多说了吧 2333 本插件的图标点击后不会自动关闭,需要使用这个.

    DeluxeMenus 坐标图
    [​IMG]
    已获得 2821869675 的点赞。