- 版权类型
- 转载
- 插件中文名称
- 协议库
- 插件英文名称
- ProtocolLib
- 支持的核心(服务端)
- Spigot
- Paper
- PufferFish
- Leaves
- 语言支持
- 其他
- 适配版本(Java)
- 1.7
- 1.8
- 1.9
- 1.10
- 1.11
- 1.12
- 1.13
- 1.14
- 1.15
- 1.16
- 1.17
- 1.18
- 1.19
- 1.20
某些任务无法使用标准 Bukkit API 执行,可能需要直接使用 Minecraft,甚至修改 Minecraft。一种常见的技术是修改传入和传出数据包或将自定义数据包注入流中。然而,这样做非常麻烦,而且大多数实现都会在新版本的 Minecraft 发布后立即中断,主要是由于混淆。
ProtocolLib 是一个允许对 Minecraft 协议进行读写访问的库。它处理反射和信道注入所需的大部分开销,并提供包装器以简化数据包修改。它更新了大多数 Minecraft 更新,因此理想情况下,单个插件不必这样做。ProtocolLib 通常不需要为次要更新进行更新,尤其是在代码更改很少的情况下(即 1.8 安全更新)
支持
在报告错误之前:
只需从上面的链接下载 ProtocolLib。它本身不做任何事情,它只是允许其他插件运行。
命令
协议
主要管理命令。支持以下子命令:
将所提供数据包的十六进制表示记录到文件或控制台
语法:/packetlog [file/console]
可以在此处找到接受的数据包。
所有这些命令都需要权限 protocol.admin。
配置
提供一小组配置选项:
全局部分
代码 (YAML):
兼容性
该项目的主要目标之一是实现与不同版本的Minecraft的最大兼容性。最终结果非常灵活。除了软件包更改之外,它还应该能够抵御未来的更改。
这怎么可能?归根结底,这一切都归结为反思。从本质上讲,没有名称是硬编码的 - 每个字段、方法和类都是通过查看字段类型、包名称或参数类型来推导的。它在不同版本之间非常一致。
统计
ProtocolLib 通过 BStats 匿名收集统计数据。参与是完全可选的,您可以随时选择退出,尽管它对于确定插件运行的环境(即 Spigot、Java 和 ProtocolLib 的版本)非常有帮助,因此我可以相应地调整开发。
赞助
如果 ProtocolLib 让你的生活变得轻松得多,或者你特别慷慨,可以考虑赞助这个项目!这是支持我花在维护这个插件上的许多时间并保持开发者的动力的好方法。如果您负担不起,请不要赞助。
https://github.com/sponsors/dmulloy2
捐款
您也可以通过PayPal进行一次性捐赠
![[IMG] [IMG]](https://www.paypalobjects.com/en_US/i/btn/btn_donateCC_LG.gif)
ProtocolLib 是一个允许对 Minecraft 协议进行读写访问的库。它处理反射和信道注入所需的大部分开销,并提供包装器以简化数据包修改。它更新了大多数 Minecraft 更新,因此理想情况下,单个插件不必这样做。ProtocolLib 通常不需要为次要更新进行更新,尤其是在代码更改很少的情况下(即 1.8 安全更新)
支持
在报告错误之前:
- 查找 ProtocolLib 的更新,您的错误很可能已经修复。
- 读取堆栈跟踪,并确保 ProtocolLib 有错误。ProtocolLib 的软件包是 com.comphenix.protocol。如果你在任何地方都看不到它,它就不是 ProtocolLib。
- 查看常见错误 wiki 页面。
- 使用问题跟踪器!不要在评论中报告错误。在报告新问题之前,请搜索重复项!
- 提供尽可能多的信息。提供 ProtocolLib 版本和 Spigot 版本。
- 使用 pastebin 提供任何堆栈跟踪或“错误”。
只需从上面的链接下载 ProtocolLib。它本身不做任何事情,它只是允许其他插件运行。
命令
协议
主要管理命令。支持以下子命令:
- config:重新加载配置文件。
- check:检查 BukkitDev 上的新版本。
- version:显示当前正在运行的 ProtocolLib 版本。
- timings:切换测量每个插件花费的 CPU 时间。
- listeners:显示哪些插件正在使用 ProtocolLib,以及它们正在拦截的数据包类型。
将所提供数据包的十六进制表示记录到文件或控制台
语法:/packetlog [file/console]
可以在此处找到接受的数据包。
所有这些命令都需要权限 protocol.admin。
配置
提供一小组配置选项:
全局部分
代码 (YAML):
YAML:
auto.updater.notify:true #当新版本的 ProtocolLib 发布时通知任何具有权限 protocol.info 的玩家。
auto.updater.download: false #自动下载并安装最新版本的 ProtocolLib。安装将在服务器重新启动时生效。
auto.updater.delay:43200 #每次检查更新之间的秒数。
auto.updater.last:0 # 仅记录上次执行更新检查的时间(自1970年1月1日以来的秒)。将其设置为0可强制进行更新检查。
metrics: true #如果为 TRUE,则 ProtocolLib 会向 mcstats.org 发布匿名使用数据。
background compiler: true #如果为,ProtocolLib 将尝试通过动态地用编译的代码替换反射来提高性能。
ignore version check: None #强制 ProtocolLib启动,即使它不兼容当前Minecraft版本。
该项目的主要目标之一是实现与不同版本的Minecraft的最大兼容性。最终结果非常灵活。除了软件包更改之外,它还应该能够抵御未来的更改。
这怎么可能?归根结底,这一切都归结为反思。从本质上讲,没有名称是硬编码的 - 每个字段、方法和类都是通过查看字段类型、包名称或参数类型来推导的。它在不同版本之间非常一致。
统计
ProtocolLib 通过 BStats 匿名收集统计数据。参与是完全可选的,您可以随时选择退出,尽管它对于确定插件运行的环境(即 Spigot、Java 和 ProtocolLib 的版本)非常有帮助,因此我可以相应地调整开发。
赞助
如果 ProtocolLib 让你的生活变得轻松得多,或者你特别慷慨,可以考虑赞助这个项目!这是支持我花在维护这个插件上的许多时间并保持开发者的动力的好方法。如果您负担不起,请不要赞助。
https://github.com/sponsors/dmulloy2
捐款
您也可以通过PayPal进行一次性捐赠
![[IMG] [IMG]](https://www.paypalobjects.com/en_US/i/btn/btn_donateCC_LG.gif)