Zapic
本帖最后由 Zapic 于 2019-9-30 16:50 编辑

废话


===========正题分界线==========
插件权限/指令
配置文件
1.config.yml
  2. lang.yml
3.placeholders.yml


===========重头戏分界线===========

如何写一个菜单?
1.菜单的组成
2.应用(简单篇)
2.应用(中级篇)
3.应用(高级篇)
4.如何美化你的菜单
5.如何使你的菜单更易用
可能是完结了,正在查缺补漏.
(2019.6.14,7:30)
新年快乐!(跨年鸽子叫)
如果觉得这篇帖子写的还行那就在底下评分吧~
评分是不会扣自己人气的你造吗



2021.12 数据,可能有更多内容
废话目前,Bukkit上有很多菜单插件,主流的就有BossShop与ChestCommands,本人是从ChestCommands入手的,其自带的物品绑定和广泛的兼容性(1.7~1.13.2)算是对新手腐竹和怕麻烦的人以及嫌插件多的人发了一个大福利.这个插件入门很简单,不过要是想玩到精通做出各种各样的功能实在有些难度.这个帖子将从入门讲起,一点一点的结合实例来帮助大家做出高大上的ChestCommands菜单.
如果你用的是BossShop就不要来这里看了.会用啥就用啥吧...



===========正题分界线==========插件权限/指令
指令
权限
作用
/chestcommands
(简写/cc)
插件主命令
/cc help
chestcommands.command.help
插件帮助命令--无需给予玩家
/cc reload
chestcommands.command.reload
插件重载命令,用于修改菜单后不重启服务器加载新的菜单
--不建议给予玩家
/cc open <文件名>
chestcommands.command.open
为自己打开指定菜单
--不建议给予玩家
/cc open <文件名> [玩家]
chestcommands.command.open.other
为其他玩家打开指定菜单
--不建议给予玩家
/cc list
chestcommands.command.list
显示加载的菜单列表,可协助/cc open指令
--不建议给予玩家
-
*chestcommands.open.文件名.yml
拥有此权限的玩家可以通过设置的指令和绑定的物品
打开指定的菜单,无权限的玩家会收到错误信息
--酌情给予玩家
-
chestcommands.economy.bypass
拥有此权限的玩家可以不必为需要消耗
金钱/物品/点券/经验的选项付出任何代价
--不建议给予玩家
-
chestcommands.command.update
拥有此权限的玩家可以收到插件更新信息
--无需给予玩家
-
chestcommands.sign
允许创建一个能够打开菜单的告示牌
--不必给予玩家
*:这个权限决定了玩家能打开的菜单,如/menu下有一个叫做"menu.yml"的菜单,如果某玩家拥有"chestcommands.open.menu.yml"权限,他就能通过绑定的物品和指定的指令来打开这个菜单.
配置文件1.config.yml这个文件是干啥在这里的?
这个是一个配置文件,可以修改插件的一些自定义配置(好像也没有什么卵用)
默认配置:

代码:

  1. default-color:
  2. name: '&f'
  3. lore: '&7'
  4. multiple-commands-separator: ;
  5. use-only-commands-without-args: true
  6. update-notifications: true
  7. use-console-colors: true
  8. anti-click-spam-delay: 100
配置的简单解释:
属性
默认值
作用
default-color
属性
默认值
name
&f
lore
&7
决定不使用颜色代码时的文字颜色.颜色代码详见下面说明.
multiple-commands-separator
;   
多指令分隔符,在一个菜单项下执行多指令时有用
use-only-commands-without-args
true
没什么卵用,不建议修改
update-notifications
true
当插件有更新时提醒拥有"chestcommands.command.update"权限的玩家以及在后台提示.
use-console-colors
true
在后台使用颜色,若为false,后台提示不会有颜色.
anti-click-spam-delay
100
防止快速点击菜单选项导致刷屏,这个值越大每秒允许点击每一个选项的次数就越少.Example:当值为100时,每秒最大允许点击次数为10,多余的将被省略;当值为20时,每秒点击最大点击次数为50.以此类推
2. lang.yml这个文件是干啥在这里的?
这是一个语言文件,可以修改插件在游戏里的提示信息.
默认配置:

代码:

  1. no-open-permission: '&cYou don''t have permission &e{permission} &cto use this menu.'
  2. default-no-icon-permission: '&cYou don''t have permission for this icon.'
  3. open-menu: '&aOpening the menu "{menu}".'
  4. no-exp: '&cYou need {levels} XP levels for this.'
  5. menu-not-found: '&cMenu not found! Please inform the staff.'
  6. no-money: '&cYou need {money}$ for this.'
  7. no-required-item: '&cYou must have &e{amount}x {material} &c(data value: {datavalue}) for this.'
  8. open-menu-others: '&aOpening the menu "{menu}" to {player}.'
  9. any: any
简单的解释:
属性
默认值
作用
no-open-permission
You don''t have permission {permission} to use this menu.
当无权限"chestcommands.open.文件名.yml"时尝试打开相应菜单时会在聊天框发出这个提示.
其中"{permission}"是对应权限.
default-no-icon-permission
You don''t have permission for this icon.
当没有权限使用这个选项时而又没有设置自定义提示语时会发出这个提示
open-menu
Opening the menu "{menu}".
使用"/cc open <文件名>" 打开菜单时会发出这个提示.
其中"{menu}"为打开的菜单.
no-exp
You need {levels} XP levels for this.
当点击一个需要经验的选项而没有足够经验时会弹出这个提示.
其中"{levels}"为所需经验等级数.
menu-not-found
Menu not found! Please inform the staff.
当尝试打开一个不存在的菜单时会发出这个提示.
no-money
You need {money}$ for this.
当点击一个需要经济的选项而没有足够金钱时会弹出这个提示.
其中"{money}"为所需经验金钱数.
no-required-item
You must have {amount}x {material} (data value: {datavalue}) for this.
当点击一个需要指定物品的选项而没有足够的指定物品时会弹出这个提示.
其中"{amount}"为所需物品数,"{material}"为所需物品名,
"{datavalue}"为物品数据值(1.13+已移除数据值支持)
open-menu-others
Opening the menu "{menu}" to {player}.
当使用" /cc open <文件名> [玩家]"指令打开菜单时会发出这个提示.
其中"{menu}"为打开的菜单,"{player}"为目标玩家.
any
any
任何,当"no-required-item"提示中的"{datavalue}"在菜单中没有指定时会使用这个代替空白.
简单的汉化(仅供参考):

代码:

  1. no-points: '&c你需要&e{points}&c点券来这样做.'
  2. no-open-permission: '&c你没有权限&e"{permission}"&c来打开这个菜单'
  3. default-no-icon-permission: '&c权限不足'
  4. open-menu: '&a正在打开菜单"{menu}".'
  5. no-exp: '&c你需要&e{levels}&c经验等级来这样做.'
  6. menu-not-found: '&c菜单不存在,请联系管理员'
  7. no-money: '&c你需要&e{money}&c来这样做'
  8. no-required-item: '&c你需要&e{amount}&cx&e{material}(data value: {datavalue})&c来这样做'
  9. open-menu-others: '&a为{player} 打开菜单"{menu}".'
  10. any: 任何
其实也可以自己去自定义啦~
3.placeholders.yml这个文件是干啥在这里的?
这是一个没有什么卵用的文件,可以自定义一些占位符.
默认配置:

代码:

  1. <3: \u2764
  2. : \u2605
  3. [**]: \u2739
  4. [p]: \u2022
  5. [v]: \u2714
  6. [+]: \u25C6
  7. [++]: \u2726
  8. [x]: \u2588
  9. [/]: \u258C
  10. [cross]: \u2720
  11. [arrow_right]: \u27A1
  12. [arrow_left]: \u2B05
  13. [arrow_up]: \u2B06
  14. [arrow_down]:\u2B07
那怎么用呢?
其实这个文件是用于在菜单里添加一些特殊符号的,例如:
&quot;?&quot;(好像连论坛都不能打出来,这是个爱心)不能很方便的直接打出来,但可以在在配置中添加它的unicode码和你想的简单写法,就像&quot;&lt;3: \u2764&quot;可以在配置中使用&quot;&lt;3&quot;来代替&quot;?&quot;.
你想要更多的符号?来这里找到符号和他对应的unicode码!

===========重头戏分界线===========
如何写一个菜单?1.菜单的组成
这是一个完整的示例:
menu.yml:

代码:

  1. menu-settings:
  2. name: '&lTest'
  3. rows: 6
  4. command: '233'
  5. auto-refresh: 1
  6. open-action: ''
  7. open-with-item:
  8.     id: stick
  9.     left-click: false
  10.     right-click: false
  11. test:
  12.     ID: stone
  13.     POSITION-X: 1
  14.     POSITION-Y: 1
  15.     NAME: '&6测试'
  16.     LORE:
  17.     - '物品属性1'
  18.     - '&c带颜色的物品属性2'
  19.     ENCHANTMENT: 'sharpness, 5; durability, 10; silk touch'
  20.     COMMAND: 'spawn;op: say hello;console: say console message;sound: PLAYER_LEVEL_UP;give: diamond,1;tell: &72333'
  21.     PRICE: 100
  22.     LEVELS: 10
  23.     POINTS: 10
  24.     REQUIRED-ITEM: 'diamond, 30'
  25.     KEEP-OPEN: true
  26.     PERMISSION: 'test1.test'
  27.     VIEW-PERMISSION: 'test2.test'
  28.     PERMISSION-MESSAGE: '&c无权限警告'
在游戏里看起来会像这样:

示例的简单解释:
menu-settings:
属性
作用
name
菜单名字,在菜单顶部显示
rows
菜单行数,不应超过6行,否则客户端显示会出错
command
打开菜单的指令
auto-refresh
菜单自动刷新的间隔,值越小菜单反应越快,也更消耗性能
open-action
打开菜单时执行的指令
open-with-item
绑定特定物品打开菜单
id
绑定物品的id
left-click
左键绑定物品是否可以打开菜单
right-click
右键绑定物品是否可以打开菜单
&quot;menu-settings:&quot;是必须存在的,否则会被视为无效菜单,其他菜单项也不能以&quot;menu-settings&quot;命名,否则也会成为无效菜单!
test(这个是可以改的,例如&quot;example&quot;/&quot;233&quot;/&quot;wtf???&quot;只要不是&quot;menu-settings&quot;就OK):
节点
作用
ID
在菜单内显示的图标,1.12.x(对应插件v3.1.4及以下)及以下可以使用英文ID和数字ID(部分英文ID在插件中有别名,具体查看后面物品别名表),1.13.x(对应插件v3.2.0+)只能使用英文ID,并且取消了所有物品别名,可以直接使用原版物品名.
POSITION-X
在菜单的第x排,最大为9
POSITION-Y
在插件的第x行,最大不超过&quot;menu-settings&quot;中的&quot;rows&quot;的数值
NAME
悬浮时显示的物品名,不加入这一行为&quot;ID&quot;对应物品在游戏里的对应物品名(如:&quot;ID: BEACON&quot;,不加入&quot;NAME&quot;,则这一项在语言为中文的游戏里显示&quot;信标&quot;,在英文游戏显示为&quot;Beacon&quot;).
LORE
物品注释,可以用&quot;-&quot;分隔多行.不加入这一行则不显示.
ENCHANTMENT
显示物品所带的附魔,不会自动显示在物品注释里.
COMMAND
点击物品时执行的指令.使用&quot;;(默认情况下)&quot;分隔多条指令.不加入这一项或这一项留空则不执行任何指令.
PRICE
使用这个选项时需要的金钱,若余额足够则扣除金钱并直接执行,不足则向玩家发送&quot;no-money&quot;消息,若无经济插件则会报错.不加入这一行则不需要金钱
LEVELS
使用这个选项所需的经验等级,若经验等级足够则扣除经验等级并直接执行,不足则向玩家发送&quot;no-exp&quot;消息.不加入这一行则不需要经验等级.
POINTS
使用这个选项所需的点券,若点券足够则扣除点券并直接执行,不足则向玩家发送&quot;no-exp&quot;消息,若无点券插件则会报错不加入这一行则不需要点券.
REQUIRED-ITEM
使用这个选项所需的物品,若背包里有足够的物品则扣除物品并直接执行,不足则向玩家发送&quot;no-required-item&quot;消息.不加入这一行则不需要任何物品.
KEEP-OPEN
点击该选项时菜单是否保持打开,true为保持打开,false为点击后关闭.不加入这一行默认为false.
PERMISSION
点击该项所需的权限,若有该权限则直接执行,权限不足则发送自定义的&quot;PERMISSION-MESSAGE&quot;消息,若无权限也无&quot;PERMISSION-MESSAGE&quot;消息则发送&quot;default-no-icon-permission&quot;消息.不加入这一行则执行这个选项之前不进行额外的权限检查.
VIEW-PERMISSION
看见这个选项所需的权限,若玩家无该权限则此选项不显示.不加入这一行则无需任何权限就能看见这个选项.
PERMISSION-MESSAGE
自定义权限不足消息,用于无权限时向玩家发出自定义消息.不加入这一行则使用&quot;default-no-icon-permission&quot;消息.
此外,还有两个特殊的节点:
节点
作用
SKULL-OWNER
当&quot;ID&quot;节点为头颅(skull:3/player_skull)时,指定头颅的主人(必须是正版玩家的ID)
COLOR
当&quot;ID&quot;节点为皮革装备(皮革头盔,皮革胸甲,皮革护腿,皮靴)时指定该物品的RGB颜色值.格式为&lt;RED&gt;,&lt;GREEN&gt;,&lt;BLUE&gt;,如蓝色(0,0,255),黄色(255,255,0).想要获得自定义颜色的RGB值请点这儿

可以像这样:menu2.yml:

代码:

  1. menu-settings:
  2. name: '&lTest'
  3. rows: 6
  4. headtest:
  5. ID: PLAYER_HEAD
  6. SKULL-OWNER: "Zapic"
  7. POSITION-X: 1
  8. POSITION-Y: 1
  9. leathertest:
  10. ID: leather_helmet
  11. COLOR: 234,56,78
  12. POSITION-X: 2
  13. POSITION-Y: 1
*这个示例仅适用于1.13.x,1.12.x及以下请把&quot;player_head&quot;改为&quot;skull:3&quot;.然后就会像这样:
此外的此外,&quot;COMMAND&quot;节点下有几个特殊的指令:
指令
作用
op: &lt;指令&gt;
无视权限执行指令(谨慎使用).
console: &lt;指令&gt;
在后台执行指令,无视权限(谨慎使用).
give: &lt;物品&gt;,&lt;数量&gt;
给予玩家一定数量的物品.
give-money: &lt;数量&gt;
给予玩家指定数量的金钱(需要Valut前置与兼容的经济插件).
give-points: &lt;数量&gt;
给予玩家指定数量的点券(需要Valut前置与点券插件).
tell: &lt;消息&gt;
向该玩家发送一条消息,只有该玩家可见.
boardcast: &lt;消息&gt;
向全服玩家发送一条消息.
sound: &lt;声音&gt;
向该玩家播放一个声音,仅该玩家可听见,声音请参见这里.
open: &lt;菜单&gt;
打开一个存在的菜单,如&quot;menu.yml&quot;.若无打开该菜单的权限则发送&quot;no-open-permission&quot;消息.
server: &lt;服务器&gt;
跳转到一个BungeeCord子服(需要BungeeCord支持).
bossbar: &lt;时间&gt; | &lt;消息&gt;
以顶端血条的形式发送一条消息(需要BarAPI支持).

这些东西就不再赘述,会在下面的实例中一点一点介绍.其实就是要偷懒此外的此外的此外(1.13的腐竹注意了!)物品的数据值在1.13被取消了!物品的数据值在1.13被取消了!物品的数据值在1.13被取消了!所以你不能直接用类似于&quot;leather_helmet:20&quot;来给物品附上特殊的数据值.你需要在&quot;ID&quot;行下添加一行&quot;DATA-VALUE&quot;并附上数据值就OK了.如:

代码:

  1. leathertest:
  2. ID: leather_helmet
  3. DATA-VALUE: 20
  4. POSITION-X: 1
  5. POSITION-Y: 1
2.应用(简单篇)最简单的一个示例--信息:

代码:

  1. information:
  2. ID: sign
  3. NAME: '&6服务器信息"
  4. LORE:
  5.     - 'Zapic的服务器'
  6.     - '于xx.x.x建立'
  7.     - '当前在线{onlines}
  8. KEEP-OPEN: true
  9. POSITION-X: 1
  10. POSITION-Y: 1
这个就是一个简单的信息提示,图不上了自己脑补一下吧....较简单的一个示例--回城:

代码:

  1. spawn:
  2. ID: BEACON
  3. NAME: '&6回城'
  4. LORE:
  5.     - '点击回到主城'
  6. COMMAND: 'spawn'
  7. POSITION-X: 2
  8. POSITION-Y: 1
当玩家点击信标的时候就如同输入了&quot;/spawn&quot;一样,图片还是自己脑补吧...这些就是这个插件比较简单的用法,可以帮助玩家免去记住大量复杂指令的麻烦.2.应用(中级篇)啥?你的玩家觉得菜单太垃圾?用它不如打指令?或者只能代替指令不够用?快过来看这里!1.收费指令觉得一些功能免费给玩家用太(减)影(少)响(收)平(入)衡了?这样!

代码:

  1. costcommands:
  2. NAME: '&6随机传送'
  3. LORE:
  4.     - '点击随机传送.'
  5.     - '&a500'
  6. PRICE: 500
  7. ID: ENDER_PEARL
  8. COMMAND: 'op: randomtp'
  9. POSITION-X: 1
  10. POSITION-Y: 3
这样,当玩家想要进行随机传送时会从他的账户扣除500$,如果他的钱不够,那他将收到&quot;no-money&quot;消息并不能进行随机传送.当然,你要避免他使用指令进行随机传送,这时只要不给普通玩家进行随机传送的权限就好了.这里因为玩家没有进行随机传送的权限,所以要以&quot;op: &lt;指令&gt;&quot;的形式来执行随机传送.同理,也可以收点贵一点的东西:

代码:

  1. costpoints:
  2. NAME: '&6飞行'
  3. LORE:
  4.     - '我将赋予你飞行的权利'
  5.     - '&c飞行期间不会受到掉落伤害'
  6.     - '&a10点券'
  7. POINTS: 10
  8. ID: feather
  9. POSITION-X: 2
  10. POSITION-Y: 3
  11. COMMAND: 'op: fly'
这个也与收费随机传送是一个道理,在这里就不赘述了.也可以收好几样东西:

代码:

  1. costalot:
  2. NAME: '&f煤炭&6换&b钻石'
  3. LORE:
  4.     - '煤炭2:3换钻石'
  5.     - '只要299,只要299!'
  6. PRICE: 299
  7. REQUIRED-ITEM: coal, 2
  8. COMMAND: 'give: diamond, 3;tell: "成功兑换了3钻石"'
这样,可以同时收取玩家两个煤炭和299$,向玩家发送消息,并给予玩家3个钻石.如果这还看不懂你就去从头再读一遍吧
2.商店
建造实体商店太费时间?玩家懒得到处跑?用上你的菜单吧!收购商店:

代码:

  1. buy:
  2. ID: coal
  3. AMOUNT: 32
  4. LORE:
  5.     - '价格>200'
  6.     - '数量> 32'
  7. REQUIRED-ITEM: coal,32
  8. COMMAND: 'give-money:200;tell: 出售成功,获得200'
  9. KEEP-OPEN: true
这样,当玩家点击这个菜单项时,就会扣除玩家背包内的32个煤炭,同时向玩家账户内增加200游戏币,以及一条消息.当然,玩家背包物品不足时什么都不会发生.同时,使用&quot;KEEP-OPEN&quot;项使菜单保持打开,以便玩家快速反复点击.
出售商店:

代码:

  1. sell:
  2. ID: diamond
  3. AMOUNT: 16
  4. LORE:
  5.     -'售价>500'
  6.     -'数量>8'
  7. PRICE: 500
  8. COMMAND: "give: diamond ,8;tell: 购买成功"
  9. KEEP-OPEN: true
同理,这里使用&quot;PRICE&quot;指定点击此项时扣除的游戏币,使用&quot;give:&quot;来给予玩家物品.
3.应用(高级篇)1.配合权限组的功能开关简单的单项功能开关显得很菜?来一个高级一点的!简单示例:

代码:

  1. chair-head:
  2. NAME: '椅子'
  3. LORE:
  4.     - '把台阶当作椅子坐'
  5. ID: OAK_STAIRS
  6. POSITION-X: 1
  7. POSITION-Y: 1
  8. KEEP-OPEN: true

  9. chair-enable:
  10. NAME: '&a启用'
  11. COMMAND: 'chair on;console:manuaddp {player} isenable.chair.on;console:manudelp {player} isenable.chair.off'
  12. PERMISSION: 'isenable.chair.off'
  13. ID: GREEN_STAINED_GLASS_PANE
  14. POSITION-X: 2
  15. POSITION-Y: 1
  16. KEEP-OPEN: true

  17. chair-disable:
  18. NAME: '&c禁用'
  19. COMMAND: 'chair off;console:manuaddp {player} isenable.chair.off;console:manudelp {player} isenable.chair.on'
  20. PERMISSION: 'isenable.chair.on'
  21. ID:RED_STAINED_GLASS_PANE
  22. POSITION-X: 3
  23. POSITION-Y: 1
  24. KEEP-OPEN: true
然后默认给予玩家'isenable.chair.off'权限和chairs的权限,就可以做一个极其迫真的开关了..看起来像这样:
利用权限组存储功能的开关状态,但不过很可能会导致你的后台一大坨屎...2.装逼的商店利用菜单给你的商店来一点特效!嘛...我在写帖子的时候还在想这个放在高级篇是不是有些不合适但不过脑子也用光了就把这东西放在这里吧利用原版的particle和sound就能搞出花样~比如:

代码:

  1. sell2:
  2. COMMAND: 'op:playsound entity.villager.yes player @a ~ ~ ~ 0.7 1 0;op:particle happyVillager ~ ~1 ~ 0.5 0.2 0.5 1 50 @a;give: pumpkin_seeds, 16'
  3. ID: pumpkin_seeds
  4. LORE:
  5.     - '数量>16个'
  6.     - '售价>200'
  7. AMOUNT: 16
  8. PRICE: 200
  9. POSITION-X: 4
  10. POSITION-Y: 1
  11. KEEP-OPEN: true
然后玩家买东西的时候就会头上冒绿光...4.如何美化你的菜单你觉得你的菜单丑的一批?你觉得你的菜单很混乱?那就瞅这里!1.统一你的字体颜色花花绿绿的真的很瞎眼也很丑...尽量的一类性质的消息用一类颜色来表示,可以像我这样在脑子里写一个对应表:
类型
颜色
一般菜单项标题
&amp;f&amp;l
一般Lore说明
&amp;7
菜单项强调色
&amp;c&amp;l
Lore说明强调色#1(警告)
&amp;c
Lore说明强调色#2(区别普通提示)
&amp;6
Lore说明强调色#3(区别区别普通提示)
&amp;a
废话
&amp;7&amp;m
然后你的菜单就会看起来整齐统一,干净简洁(至少不会像屎一样).2.减少特殊符号的使用除非你要骗小学森氪金,否则请尽量减少特殊符号的使用.这并不会让你的菜单显得很高大上,只会让人觉得你是文笔不行符号来凑.
3.尽量不要让菜单忽高忽低如果可能,尽量让你的菜单保持唯一的rows数.5.如何使你的菜单更易用你的菜单是为了方便玩家而存在的,一切请以玩家体验为前提.1.菜单结构应该简洁明了为了能够更快的找到想要的东西,超市会划出一块一块的区域.菜单同理,不要把什么乱七八糟的东西都丢在一起,划出一页一页的区域方便玩家检索.例如,不应该把领取地皮的菜单项与传送到商店的菜单项放在一起,很明显去商店的玩家不会接着去领取地皮(除非他要去收购商店赚钱买地皮)
2.触手可及的快捷功能别以为你把氪金项摆在第一页就能提高玩家氪金率,不存在的.打开菜单,玩家绝对不会想去翻翻翻翻翻,而是希望想要的东西就在鼠标指针下.如果使用菜单的效率低于指令,那么要你这破东西有何用?打开菜单的第一页最好分类集聚一些常用的功能,比如传送到常用的场地(PVP/地皮balabala),或者常用功能的开关什么的你可以查阅log了解一下玩家使用频率最高的指令,然后把他摆在打开菜单最顺手的位置.体验plus!
3.统一的侧栏/顶栏你可见识过QQ HD?在很多软件里都有绝大部分时候都可以召唤的侧边栏的设计(TG/QQ/宽屏iOS设置),这样在长距离移动时,就不必一直点返回直到抽搐了.那么我们也可以整一个给玩家使使.因为绝大部分人都是右撇子,那么我们可以把侧栏安排在左边.
或者6个选项的侧栏不够玩?你可以把侧栏改成顶栏.
然后在绝大部分的时候,你都不能让你的菜单项占用这些位置.统一美观Get.可能是完结了,正在查缺补漏.(2019.6.14,7:30)新年快乐!(跨年鸽子叫)如果觉得这篇帖子写的还行那就在底下评分吧~评分是不会扣自己人气的你造吗



1005057343
打开菜单,在主菜单页面我想弄一个显示在线玩家的   显示请问怎么设置?

Tryways
1005057343 发表于 2018-12-8 16:27
打开菜单,在主菜单页面我想弄一个显示在线玩家的   显示请问怎么设置?

<onlineplayers>

1005057343

好,我去试试

1005057343

COMMAND: '{online players}' 这个样子吗? 不行呀 不显示

Zapic
1005057343 发表于 2018-12-10 18:45
COMMAND: '{online players}' 这个样子吗? 不行呀 不显示

这个差点忘了....占位符会补上...
你这个应该用{online},这个占位符可以显示在线玩家.
还有一个相关的是{max_players},可以显示这个服务器的最大玩家

Zapic
1005057343 发表于 2018-12-10 18:45
COMMAND: '{online players}' 这个样子吗? 不行呀 不显示

而且要在聊天框显示要用'tell: {online}'光用占位符是没有效果的

1005057343
Zapic 发表于 2018-12-11 22:19
而且要在聊天框显示要用'tell: {online}'光用占位符是没有效果的

我试试.............

1005057343
Zapic 发表于 2018-12-11 22:19
而且要在聊天框显示要用'tell: {online}'光用占位符是没有效果的

不行,。,,是不是要什么前置啊

Zapic
1005057343 发表于 2018-12-12 22:43
不行,。,,是不是要什么前置啊

你确定你用的是ChestCommands吗?
这些占位符不需要任何前置.
我这里测试非常正常,建议你更新一下插件.



1005057343
Zapic 发表于 2018-12-13 12:42
你确定你用的是ChestCommands吗?
这些占位符不需要任何前置.
我这里测试非常正常,建议你更新一下插件.

是这个。。你这个我试试你那样写

1005057343
Zapic 发表于 2018-12-13 12:42
你确定你用的是ChestCommands吗?
这些占位符不需要任何前置.
我这里测试非常正常,建议你更新一下插件.

可能要更新吧...


我的是这个插件

1005057343
Zapic 发表于 2018-12-13 12:42
你确定你用的是ChestCommands吗?
这些占位符不需要任何前置.
我这里测试非常正常,建议你更新一下插件.

可以加个QQ吗?  1005057343

卡尔酱
这个插件能支持显示子服务器人数吗?
比如显示其他子服的人数

Zapic
RedCarl 发表于 2018-12-25 07:51
这个插件能支持显示子服务器人数吗?
比如显示其他子服的人数

没改过的貌似不行...
你可以试一下修改过的,这个支持PAPI变量,你可以看看PAPI有没有什么变量可以实现.

卡尔酱
Zapic 发表于 2018-12-25 12:30
没改过的貌似不行...
你可以试一下修改过的,这个支持PAPI变量,你可以看看PAPI有没有什么变量可以实现. ...

OK我试试,谢谢大佬指点

林轩呀.
看不懂怎么弄点卷购买的

Zapic
林轩呀. 发表于 2019-1-7 17:52
看不懂怎么弄点卷购买的

"POINTS"项指定执行这个菜单项所需的点券数,在中级篇里有一个简单的示例不知道你看了没有:
  1. costpoints:
  2.   NAME: '&6飞行'  //名称
  3.   LORE:
  4.     - '我将赋予你飞行的权利'
  5.     - '&c飞行期间不会受到掉落伤害'
  6.     - '&a10点券'
  7.   POINTS: 10  //执行所需点券
  8.   ID: feather  //图标
  9.   POSITION-X: 2
  10.   POSITION-Y: 3
  11.   COMMAND: 'op: fly'  //通过指令让玩家飞行
复制代码

这里,当玩家点击这个羽毛时,会扣除玩家10点券,然后用指令给予玩家飞行的能力.当然,点券不够时就不会执行指令,也就不会获得飞行了.

林轩呀.
Zapic 发表于 2019-1-7 18:01
"POINTS"项指定执行这个菜单项所需的点券数,在中级篇里有一个简单的示例不知道你看了没有:

这里,当玩家 ...

我是小白,这些东西是啥,我都看不懂

Zapic
林轩呀. 发表于 2019-1-7 19:15
我是小白,这些东西是啥,我都看不懂

小白?干脆直接用编辑器吧.
这帖子不大适合小白.

林轩呀.
我会用编辑器做菜单就是不会做这个点卷购买物品的,有这个编辑器吗?

Zapic
林轩呀. 发表于 2019-1-7 23:06
我会用编辑器做菜单就是不会做这个点卷购买物品的,有这个编辑器吗?

没用过编辑器,菜单都自己慢慢打的.所以不大清楚(笑)

MaiQu
进服不给予玩家给菜单,请问和插件配置有关系吗?

Zapic
MaiQu 发表于 2019-1-19 02:06
进服不给予玩家给菜单,请问和插件配置有关系吗?

插件不附带这个功能,想要这个功能建议使用CustomJoinItem.
然后绑定指令打开菜单,不必再绑定物品,以免玩家自做指南针意外打开菜单.

MaiQu
Zapic 发表于 2019-1-19 07:30
插件不附带这个功能,想要这个功能建议使用CustomJoinItem.
然后绑定指令打开菜单,不必再绑定物品,以免玩 ...

嗯嗯,明白了

1005057343
我想问一下   怎么把自己做的RPG物品放到菜单里面

Zapic
1005057343 发表于 2019-1-27 15:26
我想问一下   怎么把自己做的RPG物品放到菜单里面

不可能的.
你只能自己写lore,然后用指令give一个RPG物品.

1005057343
Zapic 发表于 2019-1-28 13:34
不可能的.
你只能自己写lore,然后用指令give一个RPG物品.

好吧。。。知道了

1005057343
1005057343 发表于 2019-1-28 18:53
好吧。。。知道了

我在琢磨琢磨

LCQAQ
1005057343 发表于 2018-12-8 16:27
打开菜单,在主菜单页面我想弄一个显示在线玩家的   显示请问怎么设置?

我也跪求大佬解决这样的问题

yg320
老是容易搞混箱子菜单和钟表菜单,没救了感觉awa

Zapic
yg320 发表于 2019-2-6 21:18
老是容易搞混箱子菜单和钟表菜单,没救了感觉awa

感觉cc比较好用XD
搞混无所谓的,只要能用就好了

未末丶
谢谢楼主!!整理的很详细

Zapic
未末丶 发表于 2019-3-8 11:08
谢谢楼主!!整理的很详细

我都没写完,有点想弃坑了...

未末丶
emmm..        陷入沉思       欲言又止——

yg320
Zapic 发表于 2019-2-6 23:36
感觉cc比较好用XD
搞混无所谓的,只要能用就好了

好的知道惹,感谢楼楼ヾ(????)?

[旺仔]
教程挺全的.厉害

[旺仔]
bbs有你更精彩.教程太全了

zzxh129
楼主你好 我想问下 玩家没有权限打开子菜单(主菜单下点击执行打开另一个菜单),我用的是op:open:XX.yml  怎么是无效的

Zapic
zzxh129 发表于 2019-3-27 09:19
楼主你好 我想问下 玩家没有权限打开子菜单(主菜单下点击执行打开另一个菜单),我用的是op:open:XX.yml   ...

首先,类似于"op:""console:""sound:"等都是chestcommands的内部指令(即你不能通过"/op:"执行),所以"op:"对于"open:"是没有任何卵用的.
其次,你是没有给予玩家打开菜单的权限,还是希望玩家只能通过菜单打开子菜单呢?
前者可以通过给予玩家权限,然后直接使用"open:菜单名"打开.
后者不必给予玩家权限,使用"op: cc open 菜单名"打开菜单(这样必须加一项"KEEP-OPEN: true"保持菜单打开).

zzxh129
Zapic 发表于 2019-3-27 12:30
首先,类似于"op:""console:""sound:"等都是chestcommands的内部指令(即你不能通过"/op:"执行),所以"op:" ...

好的 多谢楼主  新人小白还在学习 所以难免犯糊涂

Zapic
本帖最后由 Zapic 于 2019-7-25 08:42 编辑

嘛...
这个我想弃坑的帖子貌似成了一个CC答疑帖(笑)
既然这个帖子还有前途那我就写下去吧!

提问须知,仔细阅读,不要一目十行.
此贴只接受回答菜单应用(某某功能怎么实现)问题.
在提问之前请检查你的书写格式.
在提问之前请尝试在网上搜索你的问题.
请不要在这里问任何有关插件无法正常工作/插件额外功能的问题,就算我懂我也不会回答的,这类问题请移步问答版.
若想支持变量和更多功能请安装ChestcommandPro.
http://www.mcbbs.net/thread-710556-1-1.html

pppppppp.s:觉得还行请务必给我点人气和金粒.



薇甜
可惜了1.10的cc不支持papi变量

Zapic
浅弱ら晓雨 发表于 2019-4-7 17:16
可惜了1.10的cc不支持papi变量

之前某大佬说要魔改一个但不过不知道进度怎么样了...
也很期待(因为只看见了1.13的)

人走茶凉。
怎么用一个菜单打开另一个菜单?我写OPEN: shop.yml 不行啊

Zapic
myunco 发表于 2019-4-24 21:10
怎么用一个菜单打开另一个菜单?我写OPEN: shop.yml 不行啊

这个...有报错么...没有报错我也很为难啊...

人走茶凉。
Zapic 发表于 2019-4-25 12:25
这个...有报错么...没有报错我也很为难啊...

这...是我的错,应该写COMMAND:OPEN:XXX.YML
我直接写OPEN:xxx.yml了

mallreal
更新啊啊啊

Zapic

呃...我尽力...
好像评分帮你升了一级(笑)

Sonder.BaiLu
本帖最后由 l小魂l 于 2019-5-13 17:14 编辑

我来玩一玩 顺便支持下

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