ColorsWind
本帖最后由 ColorsWind 于 2020-4-4 11:27 编辑

写在前面
v2版本已发布,欢迎尝试
https://github.com/ColorsWind/VirtualMenu




   前段时间我发布了ChestCommandsPro插件,由于在ChestCommands上通过"打补丁"的方式增加功能效率不高而且功能实现受到限制,所以我利用ProtocolLib发送/拦截Inventory的数据包写了一款全新的菜单插件,兼容原ChestCommands菜单,只需将./plugins/ChestCommands/menu/复制到./plugins/VirtualMenu/menu可直接使用。
事务繁忙,插件很多用法没有详细说明,请参考
1、实例文件 example.yml
https://github.com/ColorsWind/Vi ... esource/example.yml
2、ChestCommands的wiki
如果您愿意帮忙补全插件的教程,可以私信索要联系方式,我会详细解答你的问题。
更新消息:
最新(0.0.11-dev)支持各种类型的菜单


支持的服务端:
CraftBukkit,Spigot,Paper,Thermos,CatServer
以及各种能够使用ProtocolLib的服务端,支持1.7.10-1.14.4
计划补全插件文档,如果你愿意提供帮助,我会非常感激


区别
特性
  • 目前已经实现了绝大部分ChestCommands的功能
  • 支持检测玩家点击菜单外
  • 支持更多类型的菜单(漏斗,发射器,以及各种奇怪的GUI)
  • 支持CommandPrompter
  • 基本支持原ChestCommands配置文件
  • 菜单动态更新和玩家点击合法性检测异步实现
  • 菜单错误精确到节点提示
  • 支持各种物品的NBT(如皮革颜色,旗子样式以及ItemFlag等)(NBT节点)
  • 支持给不同玩家显示不同的菜单物品执行不同的命令
  • 新增先进的REQUIRED-ITEM检测,可以检测物品名称,LORE等
  • 新增可视物品金钱,点券(VIEW-MONEY,VIEW-POINTS)
  • 支持PlaceHolderAPI变量+定时更新(PLACEHOLDERAPI节点)
  • 声音支持音高和音量,新增Title,Actionbar执行
  • 支持左击/右击等更多点击方式检测,同上支持原配置格式
  • 玩家不可能从菜单“偷”出物品
  • 游戏内GUI菜单物品编辑器(/vm builder)
  • 游戏内物品菜单YAML格式输出器(/vm info)
  • 支持更高级的物品绑定,如下界之星左击打开A菜单,右击打开B菜单

关于PlaceholderAPI变量没用,请检查菜单文件PLACEHOLDERAPI: true 是否设置

命令
权限
  • op默认拥有所有权限(virtualmenu.admin)


采用发送/拦截数据包实现菜单有什么好处?
  • 玩家不可能“偷”出菜单物品
  • 可以实现漏斗菜单/发射器菜单/铁毡菜单
  • 很多对菜单的操作可以异步执行

下载
0.0.16-dev (2020.2.19)
VirtualMenu-0.0.16-dev.jar (205.46 KB, 下载次数: 637)
0.0.15-dev (2020.2.7)
VirtualMenu-0.0.15-dev.jar (204.55 KB, 下载次数: 54)

0.0.14-dev(2020.1.29)
VirtualMenu.jar (204.26 KB, 下载次数: 134)

请删除原config.yml
0.0.13-dev (2019.10.5)
VirtualMenu.jar (294.1 KB, 下载次数: 106)

0.0.12-dev(2019.9.8)
VirtualMenu.jar (211.85 KB, 下载次数: 57)
0.0.11b-dev(2019.8.17)

VirtualMenu.jar (210.88 KB, 下载次数: 64)
0.0.10-dev(2019.8.13)
VirtualMenu.jar (211.54 KB, 下载次数: 53)
0.0.9-dev  (2019.8.12)
VirtualMenu.jar (210.17 KB, 下载次数: 15)
0.0.8-dev(2019.8.10)
VirtualMenu.jar (187.69 KB, 下载次数: 28)

https://github.com/ColorsWind/VirtualMenu/releases

更多历史版本请到github查看
本帖提供历史版本是为了在较新版本不能使用的情况下尝试
但是没有特殊情况请使用最新版本,兼容的服务端都是一样的

有问题在本帖回复或者在github发issue

更新记录
https://github.com/ColorsWind/VirtualMenu/commits/master




配置

config.yml——插件配置文件

bound.yml——绑定配置文件

example.yml——菜单例子
该文件经常变更,最新版本https://github.com/ColorsWind/Vi ... esource/example.yml

玩家名称用<player>代替



一些效果图






反馈前请阅读
https://github.com/ColorsWind/VirtualMenu/issues

1、确保你所用的VirtualMenu是最新版本
2、提供服务端版本/version
3、提供所用Protocolib版本/protocol version
4、请尽量使用github issue反馈


FAQ
1、1.7.10 MOD服出现ClassNotFoundException

2、 使用/reload或者plugman之类的插件重载更新插件出现LinkageError

解决方案:重启服务器




强烈建议收藏本帖,更新将会通知收藏本帖的用户
如果本插件对您有帮助,请回复+评分(评分人气不消耗自身的)

本插件以GPL-3.0协议开源
本插件所用代码部分来自其他开源或闭源(已授权)作品

https://github.com/tylerhasman/Packet-Menu (MIT)
https://github.com/CryptoMorin/XMaterial (MIT)
部分代码来自以上,其余部分为原创

481878616
很不从插件,感谢分享

苏子峰
感谢分享

coper
很不错的插件,感谢分享

白居易_White
不错的插件 但貌似在线编辑有点问题

ColorsWind
白居易_White 发表于 2019-7-31 23:46
不错的插件 但貌似在线编辑有点问题

具体是什么问题
另外编辑已有菜单的功能已经加入
https://github.com/ColorsWind/VirtualMenu/releases/

白居易_White
1748591300 发表于 2019-8-1 09:38
具体是什么问题
另外编辑已有菜单的功能已经加入
https://github.com/ColorsWind/VirtualMenu/releases/ ...

貌似是我使用的是贴内下载的0.01原因(雾
小白不会构建

ColorsWind
白居易_White 发表于 2019-8-1 10:05
貌似是我使用的是贴内下载的0.01原因(雾
小白不会构建

https://github.com/ColorsWind/Vi ... dev/VirtualMenu.jar
直接下载,第一时间的更新会发到github

白居易_White
1748591300 发表于 2019-8-1 10:09
https://github.com/ColorsWind/VirtualMenu/releases/download/0.0.3-dev/VirtualMenu.jar
直接下载,第 ...

https://paste.ubuntu.com/p/jvzTQzPBpj/
已更新 但出现报错用不了了

ColorsWind
白居易_White 发表于 2019-8-1 10:16
https://paste.ubuntu.com/p/jvzTQzPBpj/
已更新 但出现报错用不了了

尝试重启服务器

白居易_White

已修复 感谢~

白居易_White
玩家需要权限才可打开菜单
但貌似并没有介绍适合给予玩家的权限

ColorsWind
白居易_White 发表于 2019-8-2 01:23
玩家需要权限才可打开菜单
但貌似并没有介绍适合给予玩家的权限

如果用绑定的物品/绑定的命令打开菜单暂时不需要权限(后期可能加上),只有vm open 需要权限

白居易_White
1748591300 发表于 2019-8-2 08:24
如果用绑定的物品/绑定的命令打开菜单暂时不需要权限(后期可能加上),只有vm open 需要权限 ...

绑定的命令帖子内貌似没有介绍..

白居易_White
vm open 菜单 ID
在后台貌似不能执行这个指令

ColorsWind
白居易_White 发表于 2019-8-2 09:06
vm open 菜单 ID
在后台貌似不能执行这个指令

第一个问题,帖子已更新,和cc一样,在meu-settings下设置  command: '命令'
第二个问题,已经确认bug,尽快修复

白居易_White
menu-settings:

  name: '&f[&c宝可梦传奇菜单系统&f]'
  rows: 5
  auto-refresh: 10
  command: 'cd'

这样写有问题吗,输入/cd 显示没有这个指令

ColorsWind
白居易_White 发表于 2019-8-2 12:14
menu-settings:

  name: '&f[&c宝可梦传奇菜单系统&f]'

没问题 确认你使用的插件是最新版本0.0.4-dev /ver VirtualMenu

Goldflower;w;
66666666666

白居易_White
1748591300 发表于 2019-8-2 12:29
没问题 确认你使用的插件是最新版本0.0.4-dev /ver VirtualMenu

VirtualMenu version 0.0.4-dev

白居易_White
依旧不行呢..

ColorsWind

我这边测试完全没问题呢
服务端版本&插件
  1. > ver
  2. [15:49:56 INFO]: This server is running Paper version git-Paper-641 (MC: 1.13.2) (Implementing API version 1.13.2-R0.1-SNAPSHOT)
  3. [15:49:56 INFO]: Checking version, please wait...
  4. > pl
  5. [15:49:57 INFO]: Plugins (12): Essentials, FastAsyncWorldEdit, NoSpawnChunks*, PermissionsEx*, PlaceholderAPI*, PlayerPoints*, PlugMan*, ProtocolLib*, Vault, VirtualMenu, WorldEdit, WorldGuard
复制代码

用到的配置
  1. menu-settings:

  2.   # 菜单名称
  3.   name: '&9&lVirtualMenu'

  4.   # 箱子的行数
  5.   rows: 1


  6.   # 【可选】刷新间隔,同时也会刷新PlaceHolderAPI的变量
  7.   # 单位是tick
  8.   auto-refresh: 10


  9.   # 【可选】可在ChestCommandsPro bound.yml设置,有更多功能
  10.   command: 'mc'


  11. X1Y1:
  12.   NAME: '&a&l支持绝大部分NBT'
  13.   ID: LEATHER_CHESTPLATE
  14.   DATA-VALUE: 0
  15.   KEEP-OPEN: true
  16.   LORE:
  17.   - '支持皮革,旗帜,刷怪蛋等'
  18.   - '支持更多但未测试'
  19.   - '&c&l本功能需要ProtocolLib'
  20.   AMOUNT: 1
  21.   NBT: "CgAACgAHZGlzcGxheQMABWNvbG9yADNMsgAA\r\n"
  22.   POSITION-X: 1
  23.   POSITION-Y: 1
  24. X2Y1:
  25.   NAME: '&b&l支持更多点击检测'
  26.   ID: ENCHANTED_BOOK
  27.   KEEP-OPEN: true
  28.   LORE:
  29.   - '支持的检测,点击这里测试'
  30.   - 'LEFT 左击 SHIFT_LEFT 潜心键+左击'
  31.   - 'RIGHT 右击 SHIFT_RIGHT 潜心键+右击'
  32.   - 'DROP 丢弃键'
  33.   DATA-VALUE: 0
  34.   KEEP-OPEN: true
  35.   COMMAND:
  36.     DEFAULT: 'tell; 默认操作'
  37.     LEFT: 'tell: 左击'
  38.     SHIFT_LEFT: 'tell: 潜心键+左击'
  39.     RIGHT: 'tell: 右击'
  40.     SHIFT_RIGHT: 'tell: 潜心键+右击'
  41.     DROP: 'tell: 丢弃'
  42.   AMOUNT: 1
  43.   NBT: "CgAACQASU3RvcmVkRW5jaGFudG1lbnRzCgAAAAECAANsdmwAAQIAAmlkACEAAA==\r\n"
  44.   POSITION-X: 2
  45.   POSITION-Y: 1
  46. X3Y1:
  47.   NAME: '&d&l支持PlaceHolderAPI'
  48.   LORE:
  49.   - '例子:是否AFK: %essentials_afk%'
  50.   - '如果是第一次使用,还需要进行以下配置才'
  51.   - '才能正常显示测试内容'
  52.   - '1.确保按照了PlaceHolderAPI和'
  53.   - 'Essentials(因为papi的附件需要)'
  54.   - '2.输入/papi ecloud download essentials下载papi的附件'
  55.   - '3.将菜单文件PLACEHOLDERAPI改成true'
  56.   - '4.输入/vm reload 重载插件'
  57.   - '支持Papi变量自动刷新'
  58.   - '需要设定菜单的auto-refresh'
  59.   KEEP-OPEN: true
  60.   DATA-VALUE: 0
  61.   AMOUNT: 1
  62.   PLACEHOLDERAPI: true
  63.   ID: MONSTER_EGG
  64.   NBT: "CgAACgAJRW50aXR5VGFnCAACaWQAA1BpZwAA\r\n"
  65.   POSITION-X: 3
  66.   POSITION-Y: 1
  67. X4Y1:
  68.   ID: SPLASH_POTION
  69.   DATA-VALUE: 0
  70.   NAME: '&d&l菜单显示优先级实例'
  71.   LORE:
  72.   - '&c&l拥有1500金钱'
  73.   - '&c&l拥有1500点券'
  74.   OVERRIDE:
  75.   - PRIORITY: 2
  76.     ID: SPLASH_POTION
  77.     PRICE: 1000
  78.     VIEW-MONEY: 1500
  79.     NAME: '&d&l支持菜单菜单物品显示优先级 优先级:1 '
  80.     LORE:
  81.     - '&a&l拥有1500金钱'
  82.     - '&d&l当你同时拥有点券和金钱时,优先显示点券'
  83.     COMMAND: 'say 消耗1000金钱'
  84.   - PRIORITY: 3
  85.     ID: SPLASH_POTION
  86.     VIEW-POINTS: 1500
  87.     POINTS: 1000
  88.     NAME: '&d&l支持菜单菜单物品显示优先级 优先级:2'
  89.     LORE:
  90.     - '&a&l拥有1500点券'
  91.     - '&d&l当你同时拥有点券和金钱时,优先显示点券'
  92.     COMMAND: 'say 消耗1000点券'
  93.   AMOUNT: 1
  94.   NBT: "CgAACAAGUG90aW9uABhtaW5lY3JhZnQ6bG9uZ19zd2lmdG5lc3MA\n"
  95.   KEEP-OPEN: true
  96.   POSITION-X: 4
  97.   POSITION-Y: 1
  98. X5Y1:
  99.   ID: SLIME_BLOCK
  100.   COMMAND: 'vm builder'
  101.   DATA-VALUE: 0
  102.   NAME: '&9&lGUI菜单物品创建器'
  103.   LORE:
  104.   - '/vm builder (name) 创建(指定)菜单'
  105.   - '(name)为可选参数,用于区分未编辑完的菜单物品'
  106.   - '编辑完毕后菜单物品将会保存在插件目录menu文件夹'
  107.   - '点击这里创建一个随机菜单'
  108.   - '&c&o如果<name>已经存在,则会打开已经编辑的菜单'
  109.   AMOUNT: 1
  110.   KEEP-OPEN: true
  111.   POSITION-X: 5
  112.   POSITION-Y: 1
  113. X6Y1:
  114.   ID: SIGN
  115.   DATA-VALUE: 0
  116.   COMMAND: 'vm info'
  117.   NAME: '&2&l物品信息查看器'
  118.   LORE:
  119.   - '/vm info 查看手持物品的信息'
  120.   - '控制台也会按照配置文件的格式输出一样的信息'
  121.   AMOUNT: 1
  122.   KEEP-OPEN: true
  123.   POSITION-X: 6
  124.   POSITION-Y: 1
  125. X7Y1:
  126.   ID: SAND
  127.   DATA-VALUE: 0
  128.   NAME: '&9&l物品绑定器'
  129.   LORE:
  130.   - '本插件提供更好的物品绑定'
  131.   - '具体在bound.yml内设置'
  132.   - '支持一个物品绑定多个菜单'
  133.   - '通过配置文件开启'
  134.   AMOUNT: 1
  135.   KEEP-OPEN: true
  136.   POSITION-X: 7
  137.   POSITION-Y: 1

  138. X9Y1:
  139.   ID: SAND
  140.   DATA-VALUE: 0
  141.   NAME: '&9&l更好的物品需求'
  142.   LORE:
  143.   - '同上兼容原REQUIRED-ITEM格式'
  144.   AMOUNT: 64
  145.   REQUIRED-ITEM:
  146.     ID: sand
  147.     NAME: '&a测试用沙子'
  148.   KEEP-OPEN: true
  149.   POSITION-X: 9
  150.   POSITION-Y: 1
复制代码

白居易_White
1748591300 发表于 2019-8-2 15:50
我这边测试完全没问题呢
服务端版本&插件

奇怪了 我复制你的就可以了 玄学

ColorsWind
白居易_White 发表于 2019-8-2 16:59
奇怪了 我复制你的就可以了 玄学

也许你哪里写错了后台报错你没看到

白居易_White
1748591300 发表于 2019-8-2 17:06
也许你哪里写错了后台报错你没看到

希望作者早点修复vm open为玩家打开菜单
那个快捷指令打开貌似是不能在VexKeyBoardHelper使用的

白马马
可以动态标题吗

ColorsWind
winds7 发表于 2019-8-2 17:29
可以动态标题吗

标题没办法刷新(Minecraft的机制)

白居易_White
日常催更~~

ljwking
为什么我SHIFT右击菜单,会在背包出现一个相同的道具

ColorsWind
ljwking 发表于 2019-8-3 16:11
为什么我SHIFT右击菜单,会在背包出现一个相同的道具

请使用最新版本0.0.4-dev
0.0.2-dev时用于输出调试信息,已修复

ljwking
1748591300 发表于 2019-8-3 17:16
请使用最新版本0.0.4-dev
0.0.2-dev时用于输出调试信息,已修复

是使用最新版本0.0.4-dev,但是使用默认文档还是可以Shift在右击拿去物品

ColorsWind
ljwking 发表于 2019-8-3 17:18
是使用最新版本0.0.4-dev,但是使用默认文档还是可以Shift在右击拿去物品

理解您的意思了,但目前的情况是这个是客户的的显示错误(如果您取出的物品可以使用,那么您应该是创造模式),应该会在下一个版本修复

白居易_White
作者快更呜呜呜

ColorsWind
@ljwking @白居易_White
已经更新解决反馈的问题
请到github下载0.0.5-dev

sharina2012
插件很棒 感谢分享 !

NGK3

emmm..这是什么问题呀~
打开后


ColorsWind
NGK3 发表于 2019-8-6 19:42
emmm..这是什么问题呀~
打开后

因为你用了数字ID
这不是我预期的,一会我看看(估计今晚修复)

方便的话能否提供你的菜单的(一部分就可以)
另外还有/ver 输出信息

xuan_ge_ge
不错的插件 拿走了。

NGK3
1748591300 发表于 2019-8-6 20:17
因为你用了数字ID
这不是我预期的,一会我看看(估计今晚修复)

能否加QQ然后给你呢!

NERAR
楼主问一下,这个菜单需要给玩家什么权限啊?

ColorsWind
NERAR 发表于 2019-8-9 12:47
楼主问一下,这个菜单需要给玩家什么权限啊?

不需要任何权限

白可乐
请问一下,可以直接导入cc的菜单么?

ColorsWind
白可乐 发表于 2019-8-9 17:12
请问一下,可以直接导入cc的菜单么?

格式基本一样,可以直接导入不需要修改(或者少量修改,见“两个插件的区别”)

ColorsWind
0.0.9-dev发布
1、更好对数字ID支持
2、增加更新检查
3、增加bstats统计
4、修复关闭菜单的一些NPE问题
https://github.com/ColorsWind/VirtualMenu/tree/0.0.9-dev

_DIM_
其实没必要计划支持Sponge,Sponge有功能更强大的VirtualChest

746671016
VirtualMenu version 0.0.9-dev
依旧无法使用任何菜单,包括重置后的example和Command指令自定义菜单
版本:1.14.4 核心:paperspigot  报错:https://paste.ubuntu.com/p/Q2WFwPD6c7/

ColorsWind
746671016 发表于 2019-8-13 13:20
VirtualMenu version 0.0.9-dev
依旧无法使用任何菜单,包括重置后的example和Command指令自定义菜单
版本: ...

我知道了
一会修复
原因是1.14版本数据包的变化

746671016
1748591300 发表于 2019-8-13 13:28
我知道了
一会修复
原因是1.14版本数据包的变化

好的,那我等你通知

ColorsWind
746671016 发表于 2019-8-13 13:37
好的,那我等你通知

已经更新,增加对1.14的支持

mcmina
太感谢了,正需要

下一页 最后一页