克拉克星人 发表于 2018-3-8 00:27:28

Chest Commands——菜单插件

本帖最后由 克拉克星人 于 2024-3-15 20:13 编辑

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

插件下载
你们想要看的菜单基础教程来了 点击进入


一、指令和权限


指令权限详细
/chestcommands 或 /cc-主指令,用于查看信息/更新/指令帮助
/cc helpchestcommands.command.help列出指令
/cc reloadchestcommands.command.reload重新读取配置文件
/cc open <file>chestcommands.command.open直接打开一个指定菜单,你除了需要有左边的权限还需要有打开该菜单的权限
/cc open <file> 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

如下
Builder:
    default: true
    permissions:
    - chestcommands.item.
    - chestcommands.item.cd.yml
    - chestcommands.open.cd.yml
    inheritance:
    - default
    - g:essentials_builder
    - g:towny_builder
    info:
      build: true
      prefix: '&2'
      suffix: ''
!!!不要点复制代码,此为示范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)

先列举一个包含所有节点的完整的按钮(但并不一定正确,原因见下)spawn-item:
    ID: bed
    POSITION-X: 5
    POSITION-Y: 1
    NAME: '&6This is a colored name!'
    LORE:
    - 'Description of the item'
    - 'Some other details'
    - '&cImportant note'
    ENCHANTMENT: 'sharpness, 5; durability, 10; silk touch'
    COLOR: '255, 0, 0'
    SKULL-OWNER: 'filoghost'
    COMMAND: 'spawn'
    PRICE: 100.0
    LEVELS: 5
    POINTS: 50
    REQUIRED-ITEM: 'stained glass:1, 30'
    KEEP-OPEN: true
    PERMISSION: 'my.custom.permission'
    VIEW-PERMISSION: 'my.custom.permission'
    PERMISSION-MESSAGE: '&cYou must be VIP to use this item!

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,使用"="前的代码在游戏中将会被替换成"="后的符号,支持颜色

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






经济插件需求:

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


建立菜单牌子:

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



商店搭载:首先请阅读完经济章节&点击效果章节.
出售物品:(例:以100元出售一个钻石)example:
    COMMAND: 'give: 264'
    PRICE: 100
    NAME: '购买一个钻石'
    ID: 264
    POSITION-X: 1
    POSITION-Y: 1
收购物品:(例:以10元收购64个泥土)example:
    COMMAND: 'givemoney: 10'
    REQUIRED-ITEM: 3, 64
    NAME: 'Sell dirt'
    ID: 3
    POSITION-X: 1
    POSITION-Y: 1




qq1163639750 发表于 2018-3-16 11:43:07

看起来挺棒的,我们服务器就是用的这个插件

huangdafa 发表于 2018-3-10 01:22:20

66666666666666666666666

GqnNA5 发表于 2018-3-10 21:28:35

祝楼主越办越好

dreamgood 发表于 2018-3-17 17:50:33

666666666666666666666666

yanzi 发表于 2018-4-1 10:52:24

楼主棒棒哒

2786744343 发表于 2018-4-7 19:10:08

楼主加油!!

回忆过去 发表于 2018-4-10 12:42:10

666666666666666666666

616032899 发表于 2018-4-16 15:59:43

好哈哈哈哈哈哈哈哈哈

616032899 发表于 2018-4-16 16:54:40

阿萨德沙发沙发爱上爱上

1577406848 发表于 2018-4-18 07:37:35

66666666666

1577406848 发表于 2018-4-18 07:37:58

6666666666666666

zhangzitao1995 发表于 2018-4-20 03:39:28

66666666666666

云昔 发表于 2018-5-3 20:04:16

23333333333333

3238937646 发表于 2018-5-10 01:01:26

好,很棒,如果同意了借我看看,

赎之夏 发表于 2018-5-12 01:25:44

6666666666666

2175462647 发表于 2018-5-12 20:24:35

啦啦啦啦啦啦啦啦啦啦啦啦啦啦阿拉啦

bluesnow 发表于 2018-5-14 17:25:05

感谢楼主大大的无私分享

liruiqi1113 发表于 2018-5-15 17:41:14

666666666666666

liruiqi1113 发表于 2018-5-15 17:41:40

厉害厉害厉害了厉害厉害厉害了

BaoGe152 发表于 2018-5-16 00:30:58

恩恩,看似不错

2642991326 发表于 2018-5-22 20:56:38

123333333333

3244862369 发表于 2018-5-24 03:44:00

1234567891231

Rose_chen 发表于 2018-5-24 13:17:17

6666
.6666666

xialu2 发表于 2018-5-27 16:48:00

230
03.GYTYJYT

SuperHuang233 发表于 2018-5-31 17:47:59

2333333333333333

4yen 发表于 2018-5-31 23:24:08

666666666666666666666666666666666666666666666666666666

weflash 发表于 2018-6-3 19:29:21

6666666666666666666

Blue_TK 发表于 2018-6-6 14:55:58

很不错的插件

HAOA 发表于 2018-6-8 10:27:34

666666666666666666

2223742783 发表于 2018-6-11 07:51:07

666666666666666666666666666

arylon_courage 发表于 2018-6-11 12:16:57

棒o(* ̄▽ ̄*)ブ

suxiaoxiao 发表于 2018-6-12 23:21:35

0000
00000000000000000000

756251724 发表于 2018-6-15 09:35:41

感谢楼主分享

1351803298 发表于 2018-6-15 21:33:20

6666666666666666

sszd 发表于 2018-6-17 12:40:30

666666666666

gudu 发表于 2018-6-18 17:04:50

1·111111111

2805187159 发表于 2018-6-19 01:59:31

祝楼主越办越好

盒芝秋 发表于 2018-6-19 16:13:06

为学习而来、感谢楼主的资源。

Caqlatufi丶茶沨 发表于 2018-6-20 23:00:10

6666666666谢谢楼主~
页: [1] 2 3 4 5 6 7
查看完整版本: Chest Commands——菜单插件