我的世界服务器虚拟菜单插件,[综合|娱乐|管理][比赛]VirtualMenu——支持多种类型GUI的虚拟菜单[1.7.10~1.14]...

您尚未登录,立即登录享受更好的浏览体验!

您需要 登录 才可以下载或查看,没有帐号?注册(register)

x

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

写在前面

v2版本已发布,欢迎尝试

https://github.com/ColorsWind/VirtualMenu

thread-894621-1-1.html

前段时间我发布了ChestCommandsPro插件,由于在ChestCommands上通过"打补丁"的方式增加功能效率不高而且功能实现受到限制,所以我利用ProtocolLib发送/拦截Inventory的数据包写了一款全新的菜单插件,兼容原ChestCommands菜单,只需将./plugins/ChestCommands/menu/复制到./plugins/VirtualMenu/menu可直接使用。

事务繁忙,插件很多用法没有详细说明,请参考

1、实例文件 example.yml

2、ChestCommands的wiki

如果您愿意帮忙补全插件的教程,可以私信索要联系方式,我会详细解答你的问题。更新消息:

最新(0.0.11-dev)支持各种类型的菜单

cc3f09d759d2cdb5ff85a1c6397f2a55.png

支持各种类型菜单1.png (94.04 KB, 下载次数: 2)

2019-8-16 19:15 上传

cc3f09d759d2cdb5ff85a1c6397f2a55.png

支持各种类型菜单2.png (77.97 KB, 下载次数: 1)

2019-8-16 19:15 上传

支持的服务端:

CraftBukkit,Spigot,Paper,Thermos,CatServer

以及各种能够使用ProtocolLib的服务端,支持1.7.10-1.14.4

计划补全插件文档,如果你愿意提供帮助,我会非常感激

区别

菜单使用发送/拦截数据包实现

menu-settings.auto-refresh单位:s->tick,其余相同

皮革颜色,玩家头所有者标签用被删除,已经被NBT标签代替,支持更多物品NBT

REQUIRED-ItEM,COMMAND采用新的格式(见示例),同时兼容原格式

OVERRIDE采用新的格式(ChestCommandsPro only)

木牌打开菜单由于使用脚本方块等插件完全可以实现,故不支持此功能

权限系统大大简化,绝大部分操作不需要权限,只有命令部分需要权限virtualmenu.admin

菜单绑定的物品需要在bound.yml配置,支持更高级的配置特性

目前已经实现了绝大部分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 是否设置

命令

/vm reload 重载插件配置文件和菜单

/vm builder 游戏内编辑编辑器

/vm info 输出手上物品信息,可直接贴到菜单里面(同时控制台也会输出一份)

/vm open 为自己打开菜单

/vm open 为其他人打开菜单

/vm list 列出所有菜单权限

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

采用发送/拦截数据包实现菜单有什么好处?

玩家不可能“偷”出菜单物品

可以实现漏斗菜单/发射器菜单/铁毡菜单

很多对菜单的操作可以异步执行下载

0.0.16-dev (2020.2.19)

43cf909e2c5601e3a44de03bdbadda4e.gif

下载遇到问题? 直接下载

2020-2-19 20:44 上传

点击文件名下载附件

0.0.16-dev

0.0.15-dev (2020.2.7)

2020-2-7 14:58 上传

点击文件名下载附件

0.0.15-dev

0.0.14-dev(2020.1.29)

43cf909e2c5601e3a44de03bdbadda4e.gif

VirtualMenu.jar

(0204.26 KB, 下载次数: 130)

下载遇到问题? 直接下载

2020-1-29 11:52 上传

点击文件名下载附件

0.0.14-dev

请删除原config.yml

0.0.13-dev (2019.10.5)

43cf909e2c5601e3a44de03bdbadda4e.gif

VirtualMenu.jar

(0294.1 KB, 下载次数: 101)

下载遇到问题? 直接下载

2019-10-5 13:40 上传

点击文件名下载附件

0.0.13-dev

0.0.12-dev(2019.9.8)

43cf909e2c5601e3a44de03bdbadda4e.gif

VirtualMenu.jar

(0211.85 KB, 下载次数: 55)

下载遇到问题? 直接下载

2019-9-8 10:36 上传

点击文件名下载附件

0.0.12-de

0.0.11b-dev(2019.8.17)

43cf909e2c5601e3a44de03bdbadda4e.gif

VirtualMenu.jar

(0210.88 KB, 下载次数: 63)

下载遇到问题? 直接下载

2019-8-17 17:26 上传

点击文件名下载附件

0.0.11b-dev

0.0.10-dev(2019.8.13)

43cf909e2c5601e3a44de03bdbadda4e.gif

VirtualMenu.jar

(0211.54 KB, 下载次数: 52)

下载遇到问题? 直接下载

2019-8-13 14:46 上传

点击文件名下载附件

0.0.10-dev

0.0.9-dev  (2019.8.12)

43cf909e2c5601e3a44de03bdbadda4e.gif

VirtualMenu.jar

(0210.17 KB, 下载次数: 13)

下载遇到问题? 直接下载

2019-8-12 11:12 上传

点击文件名下载附件

0.0.9-dev

0.0.8-dev(2019.8.10)

43cf909e2c5601e3a44de03bdbadda4e.gif

VirtualMenu.jar

(0187.69 KB, 下载次数: 23)

下载遇到问题? 直接下载

2019-8-10 12:06 上传

点击文件名下载附件

0.0.8-dev

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

更多历史版本请到github查看

本帖提供历史版本是为了在较新版本不能使用的情况下尝试

但是没有特殊情况请使用最新版本,兼容的服务端都是一样的

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

更新记录

https://github.com/ColorsWind/VirtualMenu/commits/master

配置

config.yml——插件配置文件

# 消息前缀

Prefix: '&b[&dVirtualMenu&b]'

# 两次点击背包物品的间隔,单位毫秒,设置为-1关闭这个功能

AntiSpam: 200

# 是否启用NBT支持,非原版服务端可能出现异常

SupportNBT: true

# 全局语言,菜单设置的语言会覆盖全局设定

Lang:

NoEnoughMoney: '金钱不足,你需要 {0} 来执行这个动作'

NoEnoughPoint: '点券不足,你需要 {0} 来执行这个动作'

NoEnoughtItem: '物品不足,你需要 {0} 个 {1} 来执行这个动作'

NoPermission: '权限不足,你需要 {0} 来执行这个命令'

InternalError: '插件出现内部错误,动作被取消,请联系管理员,错误摘要: {0}'复制代码

bound.yml——绑定配置文件

# 格式

# :

#   :

# material参考https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/Material.html

# 可用的action: RIGHT_SHIFT, LEFT_SHIFT, DROP_SHIFT, RIGHT_CLICK, LEFT_CLICK, DROP_ITEM

# 下面是一个例子 下界之星 潜行右击打开 example菜单 丢弃打开example2菜单

NETHER_STAR:

RIGHT_SHIFT: example

DROP_ITEM: example复制代码

example.yml——菜单例子

玩家名称用代替

menu-settings:

# 【必须】菜单名称

name: '&9&lVirtualMenu测试菜单'

# 【必须】箱子的行数

rows: 1

# 【可选】刷新间隔,同时也会刷新PlaceHolderAPI的变量

# 单位是tick

auto-refresh: 10

# 【可选】有关整个菜单的事件

events:

# 左击菜单的边界外

LEFT: 'tell: 点击左击边界外'

# 右击菜单的边界外

RIGHT: 'tell: 点击右击边界外'

# 鼠标中键点击边界外(由于minecraft的bug,只能检测创造模式)

MIDDLE: 'tell: 鼠标中键(创造模式)点击边界外'

# 打开菜单时

OPEN: 'tell: 打开菜单(此项在menu-settings.event.open中配置)'

# 关闭菜单时

# 及时玩家不关闭菜单直接退出游戏,仍然会触发关闭菜单

CLOSE: 'console:say 玩家 关闭了测试菜单(此项在menu-settings.event.open中配置)'

# 【可选】可在./plugins/VirtualMenu/bound.yml设置,有更多功能

X1Y1:

NAME: '&a&l支持绝大部分NBT'

ID: LEATHER_CHESTPLATE

DATA-VALUE: 0

KEEP-OPEN: true

LORE:

- '支持皮革,旗帜,刷怪蛋等'

- '支持更多但未测试'

- '&c&l本功能需要ProtocolLib'

AMOUNT: 1

NBT: "CgAACgAHZGlzcGxheQMABWNvbG9yADNMsgAA\r\n"

POSITION-X: 1

POSITION-Y: 1

X2Y1:

NAME: '&b&l支持更多点击检测'

ID: ENCHANTED_BOOK

KEEP-OPEN: true

LORE:

- '支持的检测,点击这里测试'

- 'LEFT 左击 SHIFT_LEFT 潜心键+左击'

- 'RIGHT 右击 SHIFT_RIGHT 潜心键+右击'

- 'DROP 丢弃键'

DATA-VALUE: 0

KEEP-OPEN: true

COMMAND:

DEFAULT: 'tell; 默认操作'

LEFT: 'tell: 左击'

SHIFT_LEFT: 'tell: 潜心键+左击'

RIGHT: 'tell: 右击'

SHIFT_RIGHT: 'tell: 潜心键+右击'

DROP: 'tell: 丢弃'

AMOUNT: 1

NBT: "CgAACQASU3RvcmVkRW5jaGFudG1lbnRzCgAAAAECAANsdmwAAQIAAmlkACEAAA==\r\n"

POSITION-X: 2

POSITION-Y: 1

X3Y1:

NAME: '&d&l支持PlaceHolderAPI'

LORE:

- '例子:是否AFK: %essentials_afk%'

- '如果是第一次使用,还需要进行以下配置才'

- '才能正常显示测试内容'

- '1.确保按照了PlaceHolderAPI和'

- 'Essentials(因为papi的附件需要)'

- '2.输入/papi ecloud download essentials下载papi的附件'

- '3.将菜单文件PLACEHOLDERAPI改成true'

- '4.输入/vm reload 重载插件'

- '支持Papi变量自动刷新'

- '需要设定菜单的auto-refresh'

KEEP-OPEN: true

DATA-VALUE: 0

AMOUNT: 1

PLACEHOLDERAPI: true

ID: MONSTER_EGG

NBT: "CgAACgAJRW50aXR5VGFnCAACaWQAA1BpZwAA\r\n"

POSITION-X: 3

POSITION-Y: 1

X4Y1:

ID: SPLASH_POTION

DATA-VALUE: 0

NAME: '&d&l菜单显示优先级实例'

LORE:

- '&c&l拥有1500金钱'

- '&c&l拥有1500点券'

OVERRIDE:

- PRIORITY: 2

ID: SPLASH_POTION

PRICE: 1000

VIEW-MONEY: 1500

NAME: '&d&l支持菜单菜单物品显示优先级 优先级:1 '

LORE:

- '&a&l拥有1500金钱'

- '&d&l当你同时拥有点券和金钱时,优先显示点券'

COMMAND: 'say 消耗1000金钱'

- PRIORITY: 3

ID: SPLASH_POTION

VIEW-POINTS: 1500

POINTS: 1000

NAME: '&d&l支持菜单菜单物品显示优先级 优先级:2'

LORE:

- '&a&l拥有1500点券'

- '&d&l当你同时拥有点券和金钱时,优先显示点券'

COMMAND: 'say 消耗1000点券'

AMOUNT: 1

NBT: "CgAACAAGUG90aW9uABhtaW5lY3JhZnQ6bG9uZ19zd2lmdG5lc3MA\n"

KEEP-OPEN: true

POSITION-X: 4

POSITION-Y: 1

X5Y1:

ID: SLIME_BLOCK

COMMAND: 'vm builder'

DATA-VALUE: 0

NAME: '&9&lGUI菜单物品创建器'

LORE:

- '/vm builder (name) 创建(指定)菜单'

- '(name)为可选参数,用于区分未编辑完的菜单物品'

- '编辑完毕后菜单物品将会保存在插件目录menu文件夹'

- '点击这里创建一个随机菜单'

- '&c&o如果已经存在,则会打开已经编辑的菜单'

AMOUNT: 1

KEEP-OPEN: true

POSITION-X: 5

POSITION-Y: 1

X6Y1:

ID: SIGN

DATA-VALUE: 0

COMMAND: 'vm info'

NAME: '&2&l物品信息查看器'

LORE:

- '/vm info 查看手持物品的信息'

- '控制台也会按照配置文件的格式输出一样的信息'

AMOUNT: 1

KEEP-OPEN: true

POSITION-X: 6

POSITION-Y: 1

X7Y1:

ID: SAND

DATA-VALUE: 0

NAME: '&9&l物品绑定器'

LORE:

- '本插件提供更好的物品绑定'

- '具体在bound.yml内设置'

- '支持一个物品绑定多个菜单'

- '通过配置文件开启'

AMOUNT: 1

KEEP-OPEN: true

POSITION-X: 7

POSITION-Y: 1

X8Y1:

ID: ICE

DATA-VALUE: 0

NAME: '&9&l支持CommandPrompter'

LORE:

- 'https://www.spigotmc.org/resources/commandprompter.47772/'

- 'https://www.mcbbs.net/thread-858668-1-1.html'

COMMAND: 'say '

AMOUNT: 1

KEEP-OPEN: false

POSITION-X: 8

POSITION-Y: 1

X9Y1:

ID: SAND

DATA-VALUE: 0

NAME: '&9&l更好的物品需求'

LORE:

- '同上兼容原REQUIRED-ITEM格式'

AMOUNT: 64

REQUIRED-ITEM:

ID: sand

NAME: '&a测试用沙子'

KEEP-OPEN: true

POSITION-X: 9

POSITION-Y: 1复制代码

一些效果图

游戏内编辑器/vm builder

cc3f09d759d2cdb5ff85a1c6397f2a55.png

QQ截图20190731195620.png (32.49 KB, 下载次数: 1)

2019-7-31 19:56 上传物品信查看器/ccp info

cc3f09d759d2cdb5ff85a1c6397f2a55.png

QQ截图20190731195807.png (57.49 KB, 下载次数: 1)

2019-7-31 19:58 上传

cc3f09d759d2cdb5ff85a1c6397f2a55.png

QQ截图20190731200031.png (106.47 KB, 下载次数: 1)

2019-7-31 20:00 上传

cc3f09d759d2cdb5ff85a1c6397f2a55.png

图片.png (8.79 KB, 下载次数: 1)

2019-7-31 20:02 上传

反馈前请阅读

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

1、确保你所用的VirtualMenu是最新版本

2、提供服务端版本/version

3、提供所用Protocolib版本/protocol version

4、请尽量使用github issue反馈

FAQ

1、1.7.10 MOD服出现ClassNotFoundException

cc3f09d759d2cdb5ff85a1c6397f2a55.png

classnotfond.png (149.72 KB, 下载次数: 2)

2019-8-17 19:19 上传

原因:服务端带的asm版本过旧,不支持java8编辑的插件

解决方案:参考https://blog.yumc.pw/posts/Fix-T ... in-Class-Not-Found/

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

cc3f09d759d2cdb5ff85a1c6397f2a55.png

exception.png (79.77 KB, 下载次数: 1)

2019-8-17 19:15 上传

原因:由于某些原因,Class没有被卸载回收,然后新的Class就载入了

解决方案:重启服务器

thread-894621-1-1.html

强烈建议收藏本帖,更新将会通知收藏本帖的用户

如果本插件对您有帮助,请回复+评分(评分人气不消耗自身的)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/572284.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

什么是类加载器

作用: 负责把.class文件(存储的物理文件)加载在到内存中 类加载时机: 创建类的实例(对象)调用类的类方法访问类或者接口的类变量,或者为该类变量赋值使用反射方式来强制创建某个类或接口对应的j…

Spring中@Transactional事务回滚(含实例详细讲解,附源码)

原文出处: 小宝鸽 一、使用场景举例 在了解Transactional怎么用之前我们必须要先知道Transactional有什么用。下面举个栗子:比如一个部门里面有很多成员,这两者分别保存在部门表和成员表里面,在删除某个部门的时候,假设…

服务器不稳定 如何让百度重新收录网站,教你如何让百度重新收录首页

很多站长都应该碰到这个问题:百度不收录首页,或者site网站,首页不在第一位。我想这个问题也曾经困扰过许多的站长,我说说导致百度不收录首页或者首页不在第一位的几种状况以及解决的方法。第一 页面链接过多,一般一个…

日志-Log4J

日志: 程序中的日志可以用来记录程序在运行的时候点点滴滴。并可以进行永久存储 日志和输出语句的区别: 输出语句日志技术取消日志需要修改代码,灵活性比较差不需要修改代码,灵活性比较好输出位置只能是控制台可以将日志信息写入…

七月工作笔记 7.7 - 7.11

1. vs第二次单步调试崩溃。。一開始不知道为什么,重装无数次。。后来发现是VAssistX 插件的问题。。。将下载下来的插件包中的VA_X.dll 复制到VAssistX 的安装路径下就可以。2. 发现了一个非常棒的vs配色方案的站点 http://studiostyl.es/3. sendmessage和postme…

VMware安装虚拟机Mac版

VMware: 1、不需要分区或重开机就能再同一台PC上使用多种操作系统。 2、完全隔离并且保护不同操作系统的环境以及所有软件、资料。 3、不同的操作系统之间还能互动操作 4、有复原功能 5、能够设置并且随时修改操作系统的操作环境 下载地址:https://www.v…

Drupal 自己定义主题实体 Theming Custom Entities

在自己定义主题中输出结果时,有三个部分或很多其它特殊的函数。如 hook_menu,Page Callback。MODULE_theme 钩子 1、hook_menu 为了使用自己定义的实体。像创建、编辑、删除、查看实体的功能,就必须要创建一些 Menu path。这里创建、编辑、…

黑暗之魂3正在从服务器获取信息,黑暗之魂3如何解决入侵服务器问题 | 手游网游页游攻略大全...

发布时间:2016-01-04今天为大家带来的是黑暗之魂3法兰守卫入侵方法,一起来看看吧! 黑暗之魂3 法兰守卫入侵方法 法兰守卫怎么入侵 今天为大家带来的是黑暗之魂3法兰守卫入侵方法,一起来看看吧! 你的游戏可能被防火墙禁止了——解决方法:找到你的 ...标签&#xff1a…

Linux用户与用户组

Linux目录详解: 目录名说明/bin重要的二进制 (binary) 应用程序:包含二进制文件,系统的所有用户使用的命令都在这个目录下/boot启动 (boot) 配置文件:包含引导加载程序相关的文件,开机时用到的引导文件/data数据存储区…

数据库增添

条件查询用where 比如&#xff1a;查询Score表中成绩在60到80之间的所有记录。 select DEGREE from score where degree>60 and degree<80 模糊查询用% 比如查询与三相关的数据&#xff1a; where cno like 3% 3%是已三开头 %3%是中间带3 %3是末尾带3 排序查询 orde…

小程序怎样和服务器交互,微信小程序与 Django服务器 数据流 交互通信

Django服务器 解析小程序发送的json二进制字符串https://blog.csdn.net/qq_25068917/article/details/81041048http://www.cnblogs.com/Liang-jc/p/9326680.html小程序 解析Django服务器返回的json二进制字符串(字典)https://blog.csdn.net/qiushi_1990/article/details/759129…

Linux时间date与timedatectl

date&#xff1a; date是Linux里日期管理命令 UTC 协调世界时&#xff0c;又称世界统一时间、世界标准时间、国际协调时间。由于英文&#xff08;CUT&#xff09;和法文&#xff08;TUC&#xff09;的缩写不同&#xff0c;作为妥协&#xff0c;简称UTC GMT 即格林尼治 平太阳时…

2.apache模块mod_rpaf ,让nginx代理后端的apache获取访客真是IP

安装mod_rpaf这个模块 #wget http://stderr.net/apache/rpaf/download/mod_rpaf-0.6.tar.gz(下载不了就在百度上找相应的软件包下载) #tar xvfz mod_rpaf-0.6.tar.gz #cd mod_rpaf-0.6检查有没有httpd-devel这个工具包(如果没有就安装一下&#xff0c;有就直接执行…

Linux切换用户

显示目前用户的名称 logname切换用户 su 用户名当在权限不够的时候可以使用下面的命令执行&#xff0c;执行完会再自动切换到执行前的用户 su -c 要执行的命令 要切换的用户名 su -c ls root提高普通用户的操作权限,权限提升到了root sudo <参数> sudo ls sudo其它参…

oracle 之 基础操作

//删除存在的表空间及数据 drop tablespace TS_YYGL including contents and datafiles若是出现了提示 错误 导致无法全部删除&#xff0c;那么就执行以下语句可以得到那些表有主键相关&#xff0c;再执行就可以 select alter table ||owner||.||table_name|| drop constraint …

object类型转换为Array类型

var obj {a: 1, b: 2, c: 3}; // .... var arr []; for(var key in obj){ if(!obj.hasOwnProperty(key)){continue;}var item {}; item[key] obj[key]; arr.push(item); } console.log(arr); // [{a: 1}, {b: 2}, {c: 3}] // 将Object的属性输出成Array function objOf…

关机重启与who

关机&#xff1a; shutdown命令可以用来进行关闭系统&#xff0c;并且在关机以前传送讯息给所有使用者正在执行的程序&#xff0c;shutdown 也可以用来重开机使用者权限&#xff1a;管理员用户 关机语法 shutdown [-t seconds] [-rkhncfF] time [message]参数说明&#xff1a;…

webpack之font-awesome

1、安装font-awesome和font-awesome-loader及依赖 git&#xff1a;https://github.com/shakacode/font-awesome-loader npm install font-awesome-loader less less-loader css-loader style-loader file-loader font-awesome -save 2、配置webpack 官方给出的webpack2.0配置如…

目录命令及权限

目录命令及权限&#xff1a; 命令说明ls列出目录cd切换目录pwd显示目前的目录mkdir创建新目录rmdir删除一个空的目录cp复制文件或目录rm移除文件或目录mv移动文件与目录或修改文件与目录的名称 ls列出目录&#xff1a; ls # 显示不隐藏的文件和文件夹 ls -l # 显示不隐藏的…

【树莓派】【网摘】树莓派与XBMC及Kodi、LibreELEC插件(三)

之前的相关文章参考&#xff1a; 【树莓派】树莓派与XBMC及Kodi、LibreELEC插件&#xff08;一&#xff09; 【树莓派】树莓派与XBMC及Kodi、LibreELEC插件&#xff08;二&#xff09; 【树莓派】树莓派与XBMC及Kodi、LibreELEC插件&#xff08;三&#xff09; ---------------…