ImagineBreaker
本帖最后由 ImagineBreaker 于 2018-8-2 21:08 编辑
一个简单却十分强力的插件,为玩家们创造万用菜单!
关于提交BUG  丨   关于提供点子  丨  需求帮助? (均为CB站原帖地址)

特征:



基础教程:
图标节点:
点击效果:
经济插件需求:

建立菜单牌子:
符号代码:
指令和权限:
商店搭载:
教学视频:
Github源码:
为作者捐款!


下面是最新版下载链接:
ChestCommands v3.1.4
理论上高版本服务端是兼容低版本插件的.所以1.11.2与1.12都应该能用
旧版请直接在官网内下载
[/spoiler]
1.7.2及以下版本教程请见旧帖


谁也不要的历史记录:


2021.12 数据,可能有更多内容一个简单却十分强力的插件,为玩家们创造万用菜单!
关于提交BUG丨   关于提供点子需求帮助? (均为CB站原帖地址)翻译:
提交BUG前请确认: 你使用的是插件最新版丨这个BUG未被提交过(点此查看已提交过的BUG)丨提交BUG请包含:○插件版本("最新版不是个明智的回复)○使用的服务器类型(如Craftbukkit, Spigot, Cauldron,...等)○使用的服务器的版本(如1.7.10/1.8.1)    确认完毕之后点此继续 (请在提交类型请选择"Defect"之后进行详细描述,最后稳稳的提交)(因为我不是插件原作者,所以向我提交BUG(排除你们的操作问题之后)没有用,所以 这里地址均是原作者页面. UP可以将BUG代交给原作者,但请体谅UP的工作量,先要确保做到上面的3项,尤其是第2项!有能力请尽量使用英文.)
提供你的点子前请确认: 描述详细得当丨这个点子未被提交过(点此查看已提交过的点子)   确认完毕之后点此继续 (请在提交类型请选择"Enhancement"之后进行详细描述,最后稳稳的提交)(UP的话如上)
提出你的问题前请确认: 认认真真的查阅过所有的说明你使用的是插件最新版.    确认完毕之后点此继续 (请在提交类型请选择"Other"之后进行详细描述,最后稳稳的提交)(这里UP可以代答一些简单的操作问题,但话也如上,请先检阅自身问题,并且请在向我提交时进行详细描述,描述不全可能会被忽视)



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



基础教程:在本节中,将介绍一个菜单是如何组成的,以及如何修改.当然,在提出任何问题之前,请确保认真读完了本版.
修改现有菜单:
  • 打开文件夹: (/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!
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——这里填写的是点击图标所收取的玩家点券,一般与指令节点搭配使用.(当玩家点券不足时将不会执行指令).这是一个其他插件兼容性的一个节点. Player points 插件创造了除开"money"外的另一种货币,在这里你可以同金钱一样使用 (可以删去,删除即点击不收取玩家点券)
REQUIRED-ITEM——这里填写的是点击图标所收取的物品,一般可以做成RPG物品的合成/商店(配合指令give玩家XX物品).格式为 'stained glass:1, 30' 前面的"stained glass"为彩色玻璃,可以替换为相应ID,":1"为附加值,在这里为玻璃的颜色,橙色.(可以把":1"删去,这里就会变为白色玻璃)," 30"代表数量. 当收取多个物品时应该也可以用";"隔开(这点作者介绍未提,UP也并未尝试,欢迎广大腐竹进行测试后反馈) (可以删去,删除即点击不收取物品)
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插件( @feiyuyu 提供)



简单的指令:指令请直接填写在单引号内,不得包含日常使用时的"/"号,当然,"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秒:泥嚎<点击者>)
经济插件需求:
  • Vault (必须是最新版本!)
  • 一个兼容的经济插件 (iConomy, BOSEconomy..等)
(默默吐个槽...只有这一章良心啊..字数好少,QAQ幸福)
建立菜单牌子:如何建立一个右键打开菜单的牌子?
  • 在合适的地方放置一个牌子
  • 在牌子第一行输入[Menu] (你必须有权限"chestcommands.sign")
  • 在第二行输入菜单的名称(注意是(/plugins/ChestCommands/menu/)内的文件名,可以不带".yml")
  • 如果成功创建一个菜单牌子[Menu]将会变,否则会变并且报错
  • 创建成功后右键牌子可以直接打开菜单(需要打开指定菜单的权限)
例子:
符号代码:这些符号可以用在LORE&NAME&含"tell:"的COMMAND,使用"="前的代码在游戏中将会被替换成"="后的符号,支持颜色

添加自定义的图案:打开目录文件夹下的"placeholders.yml"添加一新的一行,格式:"被替换成符号的文本: 符号字段" (符号字段请用U码转码之后写入)例:   "[special]: \u2726 Special Item \u2726("LORE&NAME&含"tell:"的COMMAND"中输入"[special]"将会被替代为"
"
符号列表
指令和权限:插件整体权限:
指令
权限
详细
/chestcommands 或 /cc
-
主指令,用于查看信息/更新/指令帮助
/cc help
chestcommands.command.help
列出指令
/cc reload
chestcommands.command.reload
重新读取配置文件
/cc open <file>
chestcommands.command.open
直接打开一个指定菜单,你除了需要有左边的权限还需要有打开该菜单的权限
/cc open <file> [player]
chestcommands.command.open.others
为某个玩家打开指定菜单,不许要指定玩家有权限
/cc list
chestcommands.command.list
列出当前已有的菜单
-
chestcommands.update
在进入游戏且有更新时会收到提示
-
chestcommands.open.filename.yml
chestcommands.item.filename.yml
只有拥有该权限的玩家才能通过指令打开指定菜单(右键/左键/命令/牌子),filename替换为菜单名
只有拥有该权限的玩家才能通过物品打开指定菜单(右键/左键/命令/牌子),filename替换为菜单名
(感谢 @熊猫不会飞的提醒)
-
chestcommands.economy.bypass
拥有该权限的玩家可以无视扣钱
-
chestcommands.sign
拥有该权限的玩家可以创建菜单牌子
图标权限请见上面节点章节
商店搭载:首先请阅读完经济章节&点击效果章节.出售物品:(例:以100元出售一个钻石)

代码:

  1. example:
  2.     COMMAND: 'give: 264'
  3.     PRICE: 100
  4.     NAME: '购买一个钻石'
  5.     ID: 264
  6.     POSITION-X: 1
  7.     POSITION-Y: 1
收购物品:(例:以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
教学视频:需要科学上网https://dev.bukkit.org/projects/chest-commands/pages/tutorial/videos
Github源码:点此进入
为作者捐款!

下面是最新版下载链接:ChestCommands v3.1.4理论上高版本服务端是兼容低版本插件的.所以1.11.2与1.12都应该能用旧版请直接在官网内下载[/spoiler]1.7.2及以下版本教程请见旧帖


谁也不要的历史记录:
  • v3.1.4
    • Fixed getOnlinePlayers error.
    v3.1.3
    • Updated to work with Spigot 1.9.
    v3.1.2
    • Attempt to fix an annoying Bukkit bug, when wrong amounts of items are being given with the "give: " action.
    v3.1.1
    • Updated the attribute hider for 1.8.3, 1.8.4 and future versions.
    v3.1
    • Added support for variables in items' descriptions! ({money}, {online}, all of them!)
    • Added menu-settings, auto-refresh. How frequently the menu will refresh variables
      • Note: money and points are automatically refreshed after transactions via Chest Commands, so keep it to 5 seconds.




ImagineBreaker
本帖最后由 ImagineBreaker 于 2018-8-2 20:51 编辑

很早之前就占的楼,鬼知道有什么用(泥垢

2018/8/2
那就作为楼主的更新和留言地址吧~
留言第一发~
今天回来更新了一下帖子,主要是很久没玩MC了,咕了很久,所以解释一下:

海牛的麻烦
喜大普奔。1.8的用了很久了,楼主终于回来更新了么

BrackRat
非常有用的插件,适合中大型服,楼主辛苦啦

ImagineBreaker
终于做完了,还有一些将来要做的,暂时这样吧

赵子龙Ⅲ
噫。这次更全面了?

sfter
为什么1.6.2会报错~后台哗哗的刷{:10_507:}

OneDot
拿来试试好不好用

Supper_12kg
lz求帮忙 总是弄不好。不知道是哪里的问题

wangzai233
好贴!!!!!!!

‮tcejorPoiK
本帖最后由 小小马 于 2015-8-8 03:09 编辑

很棒的插件!

fangkuimma
问一下关闭菜单命令是什么,谢谢了
现在主菜单里建了一个打开环球市场的物品链接,可以进不去,如果加  KEEP-OPEN: true 可以打开,但是不显示里面的内容,所以我想通过多命令来实现,第一步关闭主菜单,第二部打开环球市场,请问第一步的命令是什么,感激不尽

fangkuimma
问一下关闭菜单命令是什么,谢谢了
现在主菜单里建了一个打开环球市场的物品链接,可以进不去,如果加  KEEP-OPEN: true 可以打开,但是不显示里面的内容,所以我想通过多命令来实现,第一步关闭主菜单,第二部打开环球市场,请问第一步的命令是什么,感激不尽

ImagineBreaker
fangkuimma 发表于 2015-8-8 14:02
问一下关闭菜单命令是什么,谢谢了
现在主菜单里建了一个打开环球市场的物品链接,可以进不去,如果加  KEE ...

如果不加KEEP-OPEN: true  默认就是关闭主菜单和打开环球市场

Mei_Yuan
有经验!!!

Mei_Yuan
楼主!!!!!!!!!!!

Mei_Yuan
用了你的插件 感觉 整个游戏都变了 vip都不吵不闹了

Mei_Yuan
谢谢楼主!{:10_512:}搬运辛苦了!

xRPQx
支持~我想问下,旧版本v2.0,如何更新到这个v3.1.1??{:10_523:}是直接拖进去再复制菜单吗{:10_517:}

fangkuimma
ImagineBreaker 发表于 2015-8-8 22:02
如果不加KEEP-OPEN: true  默认就是关闭主菜单和打开环球市场

试了,不行,直接关闭主菜单了,打不开市场

ImagineBreaker
fangkuimma 发表于 2015-8-10 12:52
试了,不行,直接关闭主菜单了,打不开市场

不加的默认是打开市场+关闭菜单同时执行的,可能会直接被关闭
按你的描述不显示物品这个我没法解决,你可以想办法咨询作者,初步来看可能是市场的问题.比较这个环球市场插件只更新到1.5~1.6左右就停更了

s915039544
弄了好久。发现中文不行。。我改成英文就可以。。格式都转过了。

asson113
本帖最后由 asson113 于 2015-8-11 09:11 编辑

真是个好东西,
可惜跟一些插件冲突了,怎么破!有没有其它插件像这个的...

ImagineBreaker
s915039544 发表于 2015-8-10 19:16
弄了好久。发现中文不行。。我改成英文就可以。。格式都转过了。

只有' '内才能书写中文

s915039544
ImagineBreaker 发表于 2015-8-11 12:03
只有' '内才能书写中文

好难用呀。出错一点就不行了。只能一点一点弄。一次性弄完。出错了都找不到原因。。现在好了

849025143
显然是复制过来的。。。。

cc7w
本帖最后由 1345979462 于 2019-8-11 23:12 编辑

安上使用
/cc reload
报错啊


客户端
在执行这一指令时内部错误



求解。
@ImagineBreaker

NikolaTesla
全篇都没有找到数据值,难道子ID跟在ID后面?

ImagineBreaker
1345979462 发表于 2015-8-12 12:15
安上使用
/cc reload
报错啊

如果只是安上这个报错那我没法解决,可能是和服务器版本不兼容
如果你对菜单进行修改后使用这个指令,请检查你的书写格式,严格执行格式

ImagineBreaker
NikolaTesla 发表于 2015-8-12 13:55
全篇都没有找到数据值,难道子ID跟在ID后面?

可能不太明显   是 "物品ID:附加值"

NikolaTesla
ImagineBreaker 发表于 2015-8-12 14:35
可能不太明显   是 "物品ID:附加值"

我试了一下,报错,不过功能正常使用,只是图标被置为基岩图标,并且有一行红色报错Lore,图标点击也仍有效果。我又尝试ID: 附加值(在:后面空一格),报错。我干脆直接另起一行,DATA: 附加值,这次重载没有报错,不过显示的图标是ID的图标,DATA那行被忽略了。

第一页 上一页 下一页 最后一页