切换到窄版

 找回密码
 点击文字激活账号
搜索
热搜: 活动 交友 discuz
扫描二维码关注官方公众号
查看: 6|回复: 0

Chest Commands——菜单插件

[复制链接]
  • 打卡等级:以坛为家II
  • 打卡总天数:421
  • 打卡月天数:30
  • 打卡总奖励:126896
  • 最近打卡:2025-01-30 09:50:59
  • TA的每日心情

    21 分钟前
  • 签到天数: 421 天

    连续签到: 36 天

    [LV.9]以坛为家II

    UID
    1
    主题
    1415
    精华
    8
    积分
    2147483647
    发表于 5 天前 | 显示全部楼层 |阅读模式

    马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

    您需要 登录 才可以下载或查看,没有账号?点击文字激活账号

    ×
    特征:
    多菜单支持.
    通过项目自定义图标/自定义指令/自定义牌子打开菜单,方便又高端.
    可以自定的占位符&符号,♂♂♂♂♂♂♂用你的基情填满它.
    高质量的代码,减少卡顿,BUG.
    支持大量经济插件,经济用途.还为你的建筑技术发愁?那就做一个掌上商店!
    有更新自动通知,保持最新高端货.
    ' ' 内 支持中文,如果乱码请改ANSI编码


    一、指令和权限

    指令权限详细
    /chestcommands 或 /cc-主指令,用于查看信息/更新/指令帮助
    /cc helpchestcommands.command.help列出指令
    /cc reloadchestcommands.command.reload重新读取配置文件
    /cc open <file>chestcommands.command.open直接打开一个指定菜单,你除了需要有左边的权限还需要有打开该菜单的权限
    /cc open <file> [player]chestcommands.command.open.others为某个玩家打开指定菜单,不许要指定玩家有权限
    /cc listchestcommands.command.list列出当前已有的菜单
    -chestcommands.update在进入游戏且有更新时会收到提示
    -chestcommands.open.filename.yml
    chestcommands.item.filename.yml
    只有拥有该权限的玩家才能通过指令打开指定菜单(右键/左键/命令/牌子),filename替换为菜单名
    只有拥有该权限的玩家才能通过物品打开指定菜单(右键/左键/命令/牌子),filename替换为菜单名
    (感谢 @熊猫不会飞  的提醒)
    -chestcommands.economy.bypass拥有该权限的玩家可以无视扣钱
    -chestcommands.sign拥有该权限的玩家可以创建菜单牌子


    怎么添加权限 ?(1/2只打一组指令即可,看你服务器加的是哪个权限插件)

    1.GroupManager插件
    ①打指令添加(默认权限组builder)
    /mangaddp builder chestcommands.item.    builder组玩家有权限使用菜单物品
    /mangaddp builder chestcommands.item.cd.yml    builder组玩家有权限通过物品打开cd.yml菜单(cd.yml为菜单名)
    /mangaddp builder chestcommands.open.cd.yml   builder组玩家有权限通过指令打开cd.yml菜单(cd.yml为菜单名)

    PS:物品和指令可通过修改菜单插件配置文件获得plugins/ChestCommands/menu文件夹内文件

    ②配置文件添加
    打开文件plugins\GroupManager\worlds\world(多世界名)\groups.yml将这3条权限添加到权限组内
        - chestcommands.item.
        - chestcommands.item.cd.yml
        - chestcommands.open.cd.yml


    如下

    1.   Builder:
    2.     default: true
    3.     permissions:
    4.     - chestcommands.item.
    5.     - chestcommands.item.cd.yml
    6.     - chestcommands.open.cd.yml
    7.     inheritance:
    8.     - default
    9.     - g:essentials_builder
    10.     - g:towny_builder
    11.     info:
    12.       build: true
    13.       prefix: '&2'
    14.       suffix: ''
    15. !!!不要点复制代码,此为示范
    复制代码


    [color=rgb(68, 68, 68) !important]复制代码

    PS:cd.yml为plugins\ChestCommands\menu文件夹内文件
    (更详细菜单制作会陆续更新)

    2.LuckPerms插件
    打指令添加(默认权限组default)
    /luckperms group default permission set chestcommands.item.    default组玩家有权限使用菜单物品
    /luckperms group default permission set chestcommands.item.cd.yml
        default组玩家有权限通过物品打开cd.yml菜单(cd.yml为菜单名
    /luckperms group default permission set chestcommands.open.cd.yml
       default组玩家有权限通过指令打开cd.yml菜单(cd.yml为菜单名
    PS:物品和指令可通过修改菜单插件配置文件获得plugins/ChestCommands/menu文件夹内文件

    基础(菜单是如何组成及如何修改)

    修改现有菜单:
    打开文件夹: /plugins/ChestCommands/menu/
    修改配置文件(这里推荐使用Notepad++)
    创建一个新的菜单:
    最简单,稳定的途径是:复制粘贴现有菜单,更改设定,修改你需要的物品/指令
    在这里建议文件名小写,因为权限对大小写很敏感

    菜单总体设定你可以在菜单文件内的顶部,在配置节点"menu-settings"下面找到它们)
    name: '&1Menu' (必须存在)
    ↑这个将会成为打开菜单后显示在左上角的自定义标题.不能大于30字符(包括颜色代码)(一个汉字=2字符)
    该例将会显示为:细体蓝色"Menu"

    rows: 6 (必须存在)
    ↑这个是打开菜单后将会显示的行数.数字只能在1-6之间(6相当于一个大箱子)(过高玩家客户端将会无法显示)
    该例将会显示为6行,同一个大箱子

    command: 'menu'(可添加,可删去)
    ↑这个是一种打开菜单的途径:自定义指令,请注意它将覆盖掉已存在的指令强行打开菜单(如/home,/back之类)所以尽量不要重复.当然你可以使用分号让一个菜单使用多种指令打开.如 command: 'menu; m; mainmenu'
    该例将会使得 /menu 能打开该菜单.(二例使得 /menu 或 /m 或 /mainmenu 能打开该菜单)

    auto-refresh: 5(可添加,可删去)
    ↑这个是菜单自动刷新的频率.注意,金钱和点券会在每次交易后都会自动更新(? 由于一段时间的离坑,作者介绍也没详细,UP这里没懂,稍后会改动.)

    open-with-item: (可添加,可删去)
       id: 'wool:1'        - 另一种打开菜单的途径:手持该物品(左键/右键)能打开该菜单. 可以使用附加值.可以使用物品名称/物品ID 详请点击(需要注意这个ID列表始终为最新状态,旧版本Minecraft需要注意避免使用旧版本没有的方块ID)
        right-click: true - 如果你想右键(上面设置的)物品来打开菜单,请设置为true
        left-click: false  - 如果你想左键(上面设置的)物品来打开菜单,请设置为true(左右两者可以同时为true)
    需要注意,如果将 command: 'menu' 和 open-with-item: 都删去的话将只能通过插件指令(/cc open <文件名> [玩家名])打开菜单.


    菜单物品细节设定配置内部名称请不要使用大写/颜色代码/符号(见下).并且请勿在同一个菜单配置里使用重复的名字)
    每个配置的物品按钮都有他的内部名称(只是配置内区分,游戏内无论如何都不会看到的)和节点(可以配置它的指令,名称,介绍,显示).一个标准的物品配置如下:

              ↓这个"spawn-item"就是内部名称
    spawn-item:
                ↓以下的都是节点(最少需要 ID和POSITION-X和POSITION-Y,其他项可以删除),详细将会在下一节解释
        ID: bed
        COMMAND: 'spawn'
        NAME: '&a回到出生点'
        LORE:
           - '这是物品按钮的介绍.'
           - '当鼠标移到按钮上后会显示在名称下面.'
        POSITION-X: 1
        POSITION-Y: 1






    图标节点

    注:这3个节点是严格要求存在的(ID&POSITION-X&POSITION-Y)

    先列举一个包含所有节点的完整的按钮(但并不一定正确,原因见下)

    1. spawn-item:
    2.     ID: bed
    3.     POSITION-X: 5
    4.     POSITION-Y: 1
    5.     NAME: '&6This is a colored name!'
    6.     LORE:
    7.     - 'Description of the item'
    8.     - 'Some other details'
    9.     - '&cImportant note'
    10.     ENCHANTMENT: 'sharpness, 5; durability, 10; silk touch'
    11.     COLOR: '255, 0, 0'
    12.     SKULL-OWNER: 'filoghost'
    13.     COMMAND: 'spawn'
    14.     PRICE: 100.0
    15.     LEVELS: 5
    16.     POINTS: 50
    17.     REQUIRED-ITEM: 'stained glass:1, 30'
    18.     KEEP-OPEN: true
    19.     PERMISSION: 'my.custom.permission'
    20.     VIEW-PERMISSION: 'my.custom.permission'
    21.     PERMISSION-MESSAGE: '&cYou must be VIP to use this item!
    复制代码


    [color=rgb(68, 68, 68) !important]复制代码



    ID——这里填写物品的ID/英文名称(即在菜单内部显示的方块),ID较为方便,但文字名称更易读取(不区分大小写,可以省略下划线).      物品ID列表

    POSITION-X POSITION-Y——这里填写数字,POSITION-X最大值为9,POSITION-Y最大值为6(超出范围不会显示该图标),这2个节点配合使用可以决定图标在菜单中的位置.

    NAME——这里是鼠标停到图标上,在第一行所显示的自定义名称,你可以使用任何颜色代码和符号代码.(可以删去,删除即只会显示LORE/不显示任何东西)

    LORE——这里是鼠标停到图标上,在名称下面所显示的描述,你可以使用任何颜色代码和符号代码.并且可以无限添加行数(当然,长度和行数请控制在可视范围内,超出范围的内容客户端看不到.)  (可以删去,删除即只会显示名称/不显示任何东西)

    ENCHANTMENT——这里是在显示图标上加上附魔属性.(但是属性大多然而并没有什么○用,使用这个节点一般只是因为附魔的发光效果美观)    附魔列表
                                 当然,你可以为其附上多个属性,使用英文的分号";"分隔.(可以删去,删除即取消所有的附魔属性)
                                 例: ENCHANTMENT: 'sharpness, 5; durability, 10; silk touch'

    COLOR——这里是设置皮甲的颜色.也就是意味着如果ID那里不是皮甲的话,可以直接删去这一行了,代码的格式是'<red>, <green>, <blue>',每个值必须在0-255之间   颜色选取器

    SKULL-OWNER——这里填写的是(正版)玩家的名称,如果ID那里不是 397:3(玩家的脑袋)话,可以直接删去这一行了,这个节点用于在玩家脑袋的图标上显指定(正版)玩家的皮肤(脑袋那部分)(如:显示为了纪念列出某个小游戏的创始人,把他的脸放进菜单,会更加醒目)

    COMMAND——这里填写的是指令(不需要带"/"号),这里支持很多种类的指令.当不加前缀时指令的执行人是点击图标的那名玩家(当玩家没有执行该指令的权限时,点击图标将会无效). 指令是一个较为复杂的版块,详细的内容请见下一章:点击效果 (可以删去,删除即点击不执行任何指令)

    PRICE——这里填写的是点击图标所收取的金钱,一般与指令节点搭配使用.(当玩家钱不足时将不会执行指令).需求前置经济插件 (可以删去,删除即点击不收取费用)

    LEVELS——这里填写的是点击图标所收取的经验等级,一般与指令节点搭配使用.(当玩家等级不足时将不会执行指令). (可以删去,删除即点击不消耗等级)

    POINTS——这里填写的是点击图标所收取的玩家点券,一般与指令节点搭配使用.(当玩家点券不足时将不会执行指令).这是一个其他插件兼容性的一个节点. Playerpoints 点券插件创造了除开"money"外的另一种货币,在这里你可以同金钱一样使用 (可以删去,删除即点击不收取玩家点券)

    REQUIRED-ITEM——这里填写的是点击图标所收取的物品,一般可以做成RPG物品的合成/商店(配合指令give玩家XX物品).格式为 'stained glass:1, 30' 前面的"stained glass"为彩色玻璃,可以替换为相应ID,":1"为附加值,在这里为玻璃的颜色,橙色.(可以把":1"删去,这里就会变为白色玻璃)," 30"代表数量. 当收取多个物品时应该也可以用";"隔开 (可以删去,删除即点击不收取物品)

    KEEP-OPEN——默认的图标点击之后是会自动关闭菜单的,若该节点为"true",将会在点击之后保持菜单打开的状态(特殊情况除外) (可以删去,删除即点击自动关闭,与"false"效果一致)

    PERMISSION——这里可以自定义点击该图标的权限.(注意最好不要和其他插件权限重复),没有该权限点击将不会执行指令.你也可以反向使用它(在权限前面加一个"-"号)如: '-my.custom.permission',这代表了没有"my.custom.permission"权限的玩家才能点击执行该图标 (可以删去,删除即点击不需要权限,但是执行指令时的权限依旧必要)

    VIEW-PERMISSION——这里可以自定义看到该图标的权限.(注意最好不要和其他权限重复),没有该权限看不到该图标.你也可以反向使用它,方法同上 (可以删去,删除即所有人可以看见,但是执行指令&点击时的权限(若存在)依旧必要)

    PERMISSION-MESSAGE——这里可以自定义当没有权限时会弹出的消息.  (可以删去,删除即使用默认消息,在config.yml可以见到&修改)


    点击效果

    注:如果图标节点内的指令节点"COMMAND"所填写的指令是打开另一个菜单,请务必保证"KEEP-OPEN"为"true".否则即使打开了也会马上关闭

    一些变量可以在 COMMAND&NAME&LORE 这3个节点内使用)

    {player}——将会显示为玩家名
    {world}——将会显示当前所在世界
    {online}——将会显示在线的玩家数
    {max_players}——将会最大玩家数
    {money}——将会显示你的存款余额,必须有" Vault"插件
    {points}——显示点券余额,需要playerpoints插件


    简单的指令:指令请直接填写在单引号内,不得包含日常使用时的"/"号,当然,"WorldEdit"插件除外,使用过的人都明白该插件一般使用时为"//"号
    例: COMMAND: 'spawn' (点击执行/spawn 即返回出生点)

    作为服务端执行指令请慎重使用该方法) 作为服务端执行指令可以无视所有指令的权限指令,在被点击后执行指令,但请注意一些指令只能在游戏中使用,若作为服务端使用可能会报错.使用格式:在指令前添加"console:"

    例: COMMAND: 'console: say Hello world!' (点击图标服务器将会执行/say 即服务器冒出一段话)(玩家默认没有/say权限,但由于"console:"也能在菜单内执行该指令.)

    作为管理员执行指令请慎重使用该方法) 作为OP执行指令一样可以绕过所有指令的权限指令,并且更加稳定(所以一般推荐这种),方法:同上添加"op:"
    例: COMMAND: 'op: say Hello world!' (效果同上)

    多个指令:使用";"分隔,可以点击图标时执行多个指令
    例: COMMAND: 'spawn; me 我已回到出生点!' (执行/spawn&/me 返回出生点并发出消息:我已回到出生点)

    向点击者发送消息:在一段话前面放一个"tell:"点击后将会直接发送给玩家(仅该玩家可见).(这段话支持彩色代码和符号代码)
    例: COMMAND: 'tell: &cHello man!' (玩家点击后将会看到一句红色的Hello man!)

    向全服发送广播:同上"broadcast:",但是全服可见
    例: COMMAND: 'broadcast: {player} is awesome!' (玩家点击后将会向全服广播:<点击者>真棒!)

    播放音效:只能播放Minecraft自带音效,添加自定义电台什么的还是不要想啦.格式为 'sound: <音效名称>, [音调类型], [音量]' (音效&音量一般为数字,在0-2之间)  音效列表
    例: COMMAND: 'sound: ghast scream, 2.0, 0.5' (将会向点击者播放恶魂受伤时的尖叫)(一般可以作为点击图标的音效,更加生动)

    给予物品:与"give"指令类似,但仅能给予物品. 添加"give:"
    例: COMMAND: 'give: wool:15, 10' (将会给予10个黑羊毛)

    给予金钱:需要有Vault和一个经济插件.
    例: COMMAND: 'give-money: 100.0' (将会给你100)

    打开其他的菜单:请保证"KEEP-OPEN"为"true",当然玩家也必须要有打开指定菜单的权限(详情查看指令&权限章节)
    例: COMMAND: 'open: example.yml' (将会打开/plugins/ChestCommands/menu/下的example.yml)(若要打开你配置的请更改"example"为你的文件名)

    BungeeCord指令(? 应该是跨服指令):你可以使用"server: <目标>",点击后玩家将会尝试连接到目标服务器.如果你不懂什么是BungeeCord,那就无视这一块吧.
    例: COMMAND: 'server: hub'

    Player Points(需求插件Player Points):效果同金钱
    例: COMMAND: 'give-points: 50'

    BOSS血条消息需求插件BarAPI):点击后通过BOSS血条发送一条消息,但是目前不知道BOSS血条插件支不支持中文.(所以请慎用中文)格式:"dragon-bar: <持续时间X秒> | <消息>"
    例: COMMAND: 'dragon-bar: 10 | &aHello, {player}!' (将会在BOSS血条上显示10秒:泥嚎<点击者>)



    符号代码
    这些符号可以用在LORE&NAME&含"tell:"的COMMAND,使用"="前的代码在游戏中将会被替换成"="后的符号,支持颜色


    添加自定义的图案:打开目录文件夹下的"placeholders.yml"添加一新的一行,格式:"被替换成符号的文本:符号字段" (符号字段请用U码转码之后写入)
    例:   "[special]: \u2726Special Item \u2726(在"LORE&NAME&含"tell:"的COMMAND"中输入"[special]"将会被替代为"  "符号列表



    经济插件需求:

    Vault (必须是最新版本!)
    一个兼容的经济插件 (iConomy, BOSEconomy..等)


    建立菜单牌子:

    如何建立一个右键打开菜单的牌子?
    在合适的地方放置一个牌子
    在牌子第一行输入[Menu] (你必须有权限"chestcommands.sign")
    在第二行输入菜单的名称(注意是(/plugins/ChestCommands/menu/)内的文件名,可以不带".yml")
    如果成功创建一个菜单牌子[Menu]将会变,否则会变并且报错
    创建成功后右键牌子可以直接打开菜单(需要打开指定菜单的权限)



    商店搭载:
    首先请阅读完经济章节&点击效果章节.
    出售物品例:以100元出售一个钻石)
    1. example:
    2.     COMMAND: 'give: 264'
    3.     PRICE: 100
    4.     NAME: '购买一个钻石'
    5.     ID: 264
    6.     POSITION-X: 1
    7.     POSITION-Y: 1
    复制代码

    [color=rgb(68, 68, 68) !important]复制代码

    收购物品例:以10元收购64个泥土)

    1. example:
    2.     COMMAND: 'givemoney: 10'
    3.     REQUIRED-ITEM: 3, 64
    4.     NAME: 'Sell dirt'
    5.     ID: 3
    6.     POSITION-X: 1
    7.     POSITION-Y: 1
    复制代码

    都是
    点评回复

    使用道具 举报

    *滑块验证:

    本版积分规则

    更多主题

    QQ|站点统计|Archiver|手机版|小黑屋|73327424 BBS ( 京ICP备05008343号|京公网安备11010602022017号 )
    免责声明:
    本站所发布的一切破解补丁、注册机和注册信息及软件的解密分析文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。

    Mail To:3574358495@qq.com

    GMT+8, 2025-1-30 10:12 , Processed in 1.816596 second(s), 38 queries .

    Powered by Discuz! X3.5 Licensed

    © 2001-2025 Discuz! Team.

    快速回复 返回顶部 返回列表