本帖最后由 Salt_lovely 于 2021-5-31 12:20 编辑
ProtocolLib 广为使用的前置插件 | 什么是ProtocolLib? | ProtocolLib是一个使用广泛的前置插件,为许多常用插件提供支持。如果你的插件无法加载并提示需要ProtocolLib支持,那你一定需要这个插件。
(以下内容翻译自原帖,本人没有相关知识,翻译错误请指出)
(插件的)某些特定的工作不能依靠Bukkit标准API实现,有时你甚至需要直接修改Minecraft来实现它。有一种实现方法就是修改传入/传出的数据包,或者将自定义的数据包注入流(stream)中。这件事做起来非常麻烦,特别是一个新的Minecraft版本出现的时候,你的代码基本就炸了——这主要归咎于mc的代码混淆。
ProtocolLib是一个允许(插件)访问并读写Minecraft协议的库。它会处理反射和注入通道的绝大部分开销,并提供一个包装器简化包的处理。大多数情况下,它会随着Minecraft的更新而更新,所以在理想情况下,依赖本插件的插件不需要随版本更新。ProtocolLib一般不需要跟随mc的小更新而更新,特别是游戏代码没有什么改动的时候。(比如1.8的安全更新)
Certain tasks are impossible to perform with the standard Bukkit API and may require working with and even modifying Minecraft directly. A common technique is to modify incoming and outgoing packets or to inject custom packets into the stream. This is quite cumbersome to do, however, and most implementations will break as soon as a new version of Minecraft has been released, mostly due to obfuscation.
ProtocolLib is a library that allows read and write access to the Minecraft protocol. It handles most of the overhead required with reflection and channel injection and provides wrappers to simplify packet modification. It is updated with most Minecraft updates so, ideally, individual plugins don't have to. ProtocolLib often doesn't need to be updated for minor updates, especially if there are few code changes (i.e. the 1.8 security updates) |
| 指令与权限 | /protocol
主要的管理员指令,支持如下的子指令
- config:重新载入插件配置文件
- check:检查BukkitDev上有无更新
- version:显示当前插件的版本
- timings:打开或关闭:检测每个插件的CPU时间
- listeners:显示正在使用ProtocolLib的插件,以及它们拦截的包的类型
/packetlog
以十六进制记录指定的包,可以放进文件或者显示在控制台
- 用法:/packetlog <protocol> <sender> <packet> [文件/控制台]
可用的包的类型
以上所有指令需要protocol.admin权限 | 配置文件 | - auto updater.notify: true #是否给所有拥有 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,设置为 FALSE 将不这么做
- background compiler: true #设置为 TRUE 的话,ProtocolLib会尝试使用动态编译的代码替换反射来提高性能
- ignore version check: None #强制 ProtocolLib 在特定的版本中启动,即使该版本不匹配
复制代码
| 反馈漏洞 | 在反馈漏洞之前:
- 先确认自己使用的是最新版的ProtocolLib,你的问题有可能已经在新版中解决了
- 阅读堆栈跟踪,确认这是ProtocolLib的问题。ProtocolLib的包是com.comphenix.protocol,如果你没看到,那就不是ProtocolLib的问题
反馈漏洞时:
- 最好使用漏洞追踪器,你也可以在讨论区反馈,但是请不要在评价区反馈。
- 请提供充足的信息,越多越好,一定要提供你的插件版本和服务端版本。
- 请把错误报告之类的东西贴到pastebin。
| 使用指南 | 管理员(OP):
开发者:
| 兼容性 | 完全兼容paperspigot,spigot和Bukkit完美运行,理论上兼容任何bukkit衍生端。Cauldron兼容性未知(没有在Cauldron测试过)。
以下是作者的话(本人没有相关知识,如有错误请指出):
这个项目的主要目标是对Craftbukkit(以及衍生服务端)做到最大兼容。最终结果应该是(一个)很灵活的(Protocolib)。除了兼容包的变化,它还应该表现出对版本变化的灵活性。(如果成功的话)我最终除了修修漏洞和添加新功能以外啥都不用做。
我们怎么做到这一点?归根结底是反射(Java反射机制)。基本上,没有任何‘名’是硬编码的——每个字段、方法和类都可以通过查看字段类型、包名称或参数类型推断的。这些东西在不同版本(MC服务端)中表现出高度一致。
One of the main goals of this project was to achieve maximum compatibility with CraftBukkit. And the end result is quite flexible. Aside from package changes, it should be resilient against future changes. It's likely that I won't have to update ProtocolLib for anything but bug fixes and new features.
How is this possible? It all comes down to reflection in the end. Essentially, no name is hard coded - every field, method and class is deduced by looking at field types, package names or parameter types. It's remarkably consistent across different versions. |
| 下载地址 | | 相关内容/链接 | 关于TinyProtocol:
TinyProtocol是一个轻量级的ProtocolLib替代品。它本质上使用的是一种不适用结构修饰符或包装器来发送/接收原始包的机制。
Maven与Gradle:
如果你使用Maven,你可以下面的库中自动获得jar文件、JavaDoc和相关源。
Maven:
- <repositories>
- <repository>
- <id>dmulloy2-repo</id>
- <url>http://repo.dmulloy2.net/nexus/repository/public/</url>
- </repository>
- <!-- And so on -->
- </repositories>
复制代码
Gradle:
- repositories {
- maven { url "http://repo.dmulloy2.net/nexus/repository/public/" }
- }
复制代码
作为依赖项下载:
- <dependencies>
- <dependency>
- <groupId>com.comphenix.protocol</groupId>
- <artifactId>ProtocolLib</artifactId>
- <version>4.6.0</version>
- </dependency>
- <!-- And so on -->
- </dependencies>
复制代码
Gradle:
- dependencies {
- compileOnly group: "com.comphenix.protocol", name: "ProtocolLib", version: "4.6.0";
- }
复制代码
作者的话:4.5.0之后开发者必须依靠Protocolib模块作为依赖项。Protocolib-API是个有趣的小实验,但是很不幸的有些链接问题。
Developers are required to use the ProtocolLib module as a dependency as of version 4.5.0. ProtocolLib-API was a fun little experiment, but had some unfortunate linkage errors. |
| 统计数据 | ProtocolLib使用MCStats收集数据,这是可以随时关闭的功能。不过得知插件的运行环境(包括服务端版本、Java版本、插件版本什么的)对于插件的后续开发很有帮助,作者会根据这些数据来做后续升级。 | 支持作者 | 作者在原帖放出的捐助地址 | 关于本帖 | |
|
我来了233
噗 蜜汁操作
9102年了,还有这个啊
指令 可用包类型404
本帖最后由 Salt_lovely 于 2019-10-29 11:23 编辑
刚刚去原帖看过了,链接没搬错,是原帖的链接坏了,已经反馈。感谢指出
@Mucrazy 已经得到作者反馈,换成可用的新地址了
1.7.10的服务器最需要这个了,好多插件都用得到的前置
本帖最后由 Salt_lovely 于 2019-11-7 13:09 编辑
如果你在使用1.7及以下版本的服务端,
请使用3.7.0版本
@mai1763
感谢大佬搬运
换个字的颜色吧,白色有些看的眼睛疼
global:
# 自动下载安装新版本ProtocolLib,服务器重启时自动安装
auto updater:
notify: false
download: false
# 检查新版本的时间间隔(单位:秒)
delay: 43200 # 12小时
# 设置为true的话,ProtocolLib会匿名发送用户数据到mcstats.org
metrics: false
# 设置为true的话,ProtocolLib会尝试使用动态编译的代码替换反射来提高性能
background compiler: true
# 强制ProtocolLib在特定的版本中启动,即使该版本不匹配
ignore version check:
# 覆盖开始注入方法
injection method:
# 是否启用过滤器命令
debug: false
# 是否为每个警告打印堆栈跟踪
detailed error: false
# filter命令使用的引擎
script engine: JavaScript
suppressed reports:
以上是新版本配置
最新构建版本以支持1.15.X
我来了!!!

神乎其技!6的飞起!
spigotmc下载不了
前置插件 超多插件都要这个插件 感谢搬运

我贴了附件在下载部分,点开隐藏内容就能看到了(spigotmc应该没被墙才对)
0202年了,还有人发这个插件的帖子


2020年了,依旧有很多服务器需要这个插件,依旧有很多插件依靠这个插件实现功能。
我从1.9时**插件服到现在1.14,没有做过不用这个插件的端
老哥,为什么我装了这个后,伤害判定就出问题了,我属性插件用的是AP,装了这个插件之后,打怪物,怪物不会掉血了,不仅是mm的怪物,原版怪物也不会掉血了,我服务器版本是1.12的,在之前1.8的时候,倒是没有这个问题,插件什么的也没更换过
AP是哪个插件?有没有错误报告?我没有遇到过这样的BUG,spigotmc论坛上没有找到类似的错误报告,请说得详细些或者去问答版发帖提问。
AttributePlus,报错之前是有,但是后面没有了,就是装上插件后,不管是mm的怪物还是原版的怪物,打了之后都会不掉血
怪物原来就是1500的血,打了几下后还是1500的血
先确认一下你的服务端版本,有没有下载正确的插件版本?
/protocol listeners 检查一下这个插件有没有监听别的插件的包?
你的问题我毫无头绪,现在也没有合适的测试环境,实在帮不了你。。。
要不先卸载了这个插件排除一下是不是这个插件的问题?
如果你在使用CraftBukkit的服务端,请使用最新dev构建
如果你在使用1.8-1.15版本的服务端,请使用最新版本
如果你在使用1.7及以下版本的服务端,请使用3.7.0版本
(4.5.0可用于1.14、1.15,其实无需下载最新dev构建)
谢谢搬运!qwq
实测1.15.2不能用,玩家进不去,后台提示/127.0.0.1:60988 lost connection: Internal Exception: io.netty.handler.codec.DecoderException: java.lang.NullPointerException
Bukkit还是Spigot还是Paper?
如果是Bukkit的话请
使用这个
如果是Spigot或者Paper的话请告诉我你安装了哪些以Protocolib为前置的插件、安装的Protocolib插件是原帖下载的最新版还是本贴搬运的版本、后台报错的详细内容截图,我解决不了的话会去原帖上报。
装上玩家一进就报错,不管给哪个插件当前置,只要装上这插件就出这毛病,paper和spigot一样都测试过了
之前找过好几个地方的protocolib都是一样的
什么版本的服务端,装了哪些插件?
(如果问题过于复杂建议去问答版)
1.15.2,paper131,装了许许多多非常复杂的插件,但是我认为应 该 不 是 其 他 插 件 的 问 题?
我觉得应 该 是 其 他 插 件 的 问 题?
spigotmc上面没看到类似的问题(都是1.8的在报错),我在联机问答板块水了那么久也没看到什么1.15装上Protocollib就开始刷报错。
你可以去
问答版提问尝试解决这个问题。
不是刷报错,是玩家进不去啊啊啊
一进去后台就提示那玩意然后就没下文了
改天我截图再说吧

感谢作者大大,而且为什么头像都是反的
安装AAC使用此前置后疯狂报错,意料之外情理之中
[21:41:07 INFO]: [Yum] [Yum 能耗监控] 注意! 插件 AAC 处理 p 任务 耗时 56ms 平均耗时 48ms!
[21:41:07 WARN]: java.lang.reflect.InvocationTargetException
[21:41:07 WARN]: at jdk.internal.reflect.GeneratedConstructorAccessor49.newInstance(Unknown Source)
[21:41:07 WARN]: at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
[21:41:07 WARN]: at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
[21:41:07 WARN]: at me.konsolas.aac.k.a(k.java)
[21:41:07 WARN]: at me.konsolas.aac.a.p.run(Unknown Source)
[21:41:07 WARN]: at pw.yumc.Yum.inject.TaskInjector.run(TaskInjector.java:101)
[21:41:07 WARN]: at org.bukkit.craftbukkit.v1_15_R1.scheduler.CraftTask.run(CraftTask.java:84)
[21:41:07 WARN]: at org.bukkit.craftbukkit.v1_15_R1.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:452)
[21:41:07 WARN]: at net.minecraft.server.v1_15_R1.MinecraftServer.b(MinecraftServer.java:1185)
[21:41:07 WARN]: at net.minecraft.server.v1_15_R1.DedicatedServer.b(DedicatedServer.java:430)
[21:41:07 WARN]: at net.minecraft.server.v1_15_R1.MinecraftServer.a(MinecraftServer.java:1112)
[21:41:07 WARN]: at net.minecraft.server.v1_15_R1.MinecraftServer.run(MinecraftServer.java:934)
[21:41:07 WARN]: at java.base/java.lang.Thread.run(Thread.java:834)
[21:41:07 WARN]: Caused by: FieldAccessException: No field with type java.util.Map exists in class EnumProtocol.
[21:41:07 WARN]: at com.comphenix.protocol.reflect.StructureModifier.readInternal(StructureModifier.java:216)
[21:41:07 WARN]: at com.comphenix.protocol.reflect.StructureModifier.read(StructureModifier.java:195)
[21:41:07 WARN]: at com.comphenix.protocol.injector.netty.NettyProtocolRegistry.initialize(NettyProtocolRegistry.java:57)
[21:41:07 WARN]: at com.comphenix.protocol.injector.netty.ProtocolRegistry.<init>(ProtocolRegistry.java:59)
[21:41:07 WARN]: at com.comphenix.protocol.injector.netty.NettyProtocolRegistry.<init>(NettyProtocolRegistry.java:38)
[21:41:07 WARN]: at com.comphenix.protocol.injector.packet.PacketRegistry.initialize(PacketRegistry.java:70)
[21:41:07 WARN]: at com.comphenix.protocol.injector.packet.PacketRegistry.getPacketClassFromType(PacketRegistry.java:271)
[21:41:07 WARN]: at com.comphenix.protocol.injector.packet.PacketRegistry.getPacketClassFromType(PacketRegistry.java:259)
[21:41:07 WARN]: at com.comphenix.protocol.concurrency.PacketTypeSet.getPacketClass(PacketTypeSet.java:82)
[21:41:07 WARN]: at com.comphenix.protocol.concurrency.PacketTypeSet.addType(PacketTypeSet.java:35)
[21:41:07 WARN]: at com.comphenix.protocol.injector.spigot.AbstractPacketInjector.addPacketHandler(AbstractPacketInjector.java:30)
[21:41:07 WARN]: at com.comphenix.protocol.injector.PacketFilterManager.enablePacketFilters(PacketFilterManager.java:634)
[21:41:07 WARN]: at com.comphenix.protocol.injector.PacketFilterManager.addPacketListener(PacketFilterManager.java:402)
[21:41:07 WARN]: at me.konsolas.aac.b.b.k.<init>(k.java)
[21:41:07 WARN]: ... 13 more
[21:41:07 WARN]: java.lang.reflect.InvocationTargetException
[21:41:07 WARN]: at jdk.internal.reflect.GeneratedConstructorAccessor50.newInstance(Unknown Source)
[21:41:07 WARN]: at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
[21:41:07 WARN]: at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
[21:41:07 WARN]: at me.konsolas.aac.k.a(k.java)
[21:41:07 WARN]: at me.konsolas.aac.a.p.run(Unknown Source)
[21:41:07 WARN]: at pw.yumc.Yum.inject.TaskInjector.run(TaskInjector.java:101)
[21:41:07 WARN]: at org.bukkit.craftbukkit.v1_15_R1.scheduler.CraftTask.run(CraftTask.java:84)
[21:41:07 WARN]: at org.bukkit.craftbukkit.v1_15_R1.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:452)
[21:41:07 WARN]: at net.minecraft.server.v1_15_R1.MinecraftServer.b(MinecraftServer.java:1185)
[21:41:07 WARN]: at net.minecraft.server.v1_15_R1.DedicatedServer.b(DedicatedServer.java:430)
[21:41:07 WARN]: at net.minecraft.server.v1_15_R1.MinecraftServer.a(MinecraftServer.java:1112)
[21:41:07 WARN]: at net.minecraft.server.v1_15_R1.MinecraftServer.run(MinecraftServer.java:934)
[21:41:07 WARN]: at java.base/java.lang.Thread.run(Thread.java:834)
[21:41:07 WARN]: Caused by: FieldAccessException: No field with type java.util.Map exists in class EnumProtocol.
[21:41:07 WARN]: at com.comphenix.protocol.reflect.StructureModifier.readInternal(StructureModifier.java:216)
[21:41:07 WARN]: at com.comphenix.protocol.reflect.StructureModifier.read(StructureModifier.java:195)
[21:41:07 WARN]: at com.comphenix.protocol.injector.netty.NettyProtocolRegistry.initialize(NettyProtocolRegistry.java:57)
[21:41:07 WARN]: at com.comphenix.protocol.injector.netty.ProtocolRegistry.<init>(ProtocolRegistry.java:59)
[21:41:07 WARN]: at com.comphenix.protocol.injector.netty.NettyProtocolRegistry.<init>(NettyProtocolRegistry.java:38)
[21:41:07 WARN]: at com.comphenix.protocol.injector.packet.PacketRegistry.initialize(PacketRegistry.java:70)
[21:41:07 WARN]: at com.comphenix.protocol.injector.packet.PacketRegistry.getPacketClassFromType(PacketRegistry.java:271)
[21:41:07 WARN]: at com.comphenix.protocol.injector.packet.PacketRegistry.getPacketClassFromType(PacketRegistry.java:259)
[21:41:07 WARN]: at com.comphenix.protocol.concurrency.PacketTypeSet.getPacketClass(PacketTypeSet.java:82)
[21:41:07 WARN]: at com.comphenix.protocol.concurrency.PacketTypeSet.addType(PacketTypeSet.java:35)
[21:41:07 WARN]: at com.comphenix.protocol.injector.spigot.AbstractPacketInjector.addPacketHandler(AbstractPacketInjector.java:30)
[21:41:07 WARN]: at com.comphenix.protocol.injector.PacketFilterManager.enablePacketFilters(PacketFilterManager.java:634)
[21:41:07 WARN]: at com.comphenix.protocol.injector.PacketFilterManager.addPacketListener(PacketFilterManager.java:402)
[21:41:07 WARN]: at me.konsolas.aac.b.b.j.<init>(j.java)
[21:41:07 WARN]: ... 13 more
[21:41:07 WARN]: java.lang.reflect.InvocationTargetException
[21:41:07 WARN]: at jdk.internal.reflect.GeneratedConstructorAccessor51.newInstance(Unknown Source)
[21:41:07 WARN]: at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
[21:41:07 WARN]: at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
[21:41:07 WARN]: at me.konsolas.aac.k.a(k.java)
[21:41:07 WARN]: at me.konsolas.aac.a.p.run(Unknown Source)
[21:41:07 WARN]: at pw.yumc.Yum.inject.TaskInjector.run(TaskInjector.java:101)
[21:41:07 WARN]: at org.bukkit.craftbukkit.v1_15_R1.scheduler.CraftTask.run(CraftTask.java:84)
[21:41:07 WARN]: at org.bukkit.craftbukkit.v1_15_R1.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:452)
[21:41:07 WARN]: at net.minecraft.server.v1_15_R1.MinecraftServer.b(MinecraftServer.java:1185)
[21:41:07 WARN]: at net.minecraft.server.v1_15_R1.DedicatedServer.b(DedicatedServer.java:430)
[21:41:07 WARN]: at net.minecraft.server.v1_15_R1.MinecraftServer.a(MinecraftServer.java:1112)
[21:41:07 WARN]: at net.minecraft.server.v1_15_R1.MinecraftServer.run(MinecraftServer.java:934)
[21:41:07 WARN]: at java.base/java.lang.Thread.run(Thread.java:834)
[21:41:07 WARN]: Caused by: FieldAccessException: No field with type java.util.Map exists in class EnumProtocol.
[21:41:07 WARN]: at com.comphenix.protocol.reflect.StructureModifier.readInternal(StructureModifier.java:216)
[21:41:07 WARN]: at com.comphenix.protocol.reflect.StructureModifier.read(StructureModifier.java:195)
[21:41:07 WARN]: at com.comphenix.protocol.injector.netty.NettyProtocolRegistry.initialize(NettyProtocolRegistry.java:57)
[21:41:07 WARN]: at com.comphenix.protocol.injector.netty.ProtocolRegistry.<init>(ProtocolRegistry.java:59)
[21:41:07 WARN]: at com.comphenix.protocol.injector.netty.NettyProtocolRegistry.<init>(NettyProtocolRegistry.java:38)
[21:41:07 WARN]: at com.comphenix.protocol.injector.packet.PacketRegistry.initialize(PacketRegistry.java:70)
[21:41:07 WARN]: at com.comphenix.protocol.injector.packet.PacketRegistry.getPacketClassFromType(PacketRegistry.java:271)
[21:41:07 WARN]: at com.comphenix.protocol.injector.packet.PacketRegistry.getPacketClassFromType(PacketRegistry.java:259)
[21:41:07 WARN]: at com.comphenix.protocol.concurrency.PacketTypeSet.getPacketClass(PacketTypeSet.java:82)
[21:41:07 WARN]: at com.comphenix.protocol.concurrency.PacketTypeSet.addType(PacketTypeSet.java:35)
[21:41:07 WARN]: at com.comphenix.protocol.injector.spigot.AbstractPacketInjector.addPacketHandler(AbstractPacketInjector.java:30)
[21:41:07 WARN]: at com.comphenix.protocol.injector.PacketFilterManager.enablePacketFilters(PacketFilterManager.java:634)
[21:41:07 WARN]: at com.comphenix.protocol.injector.PacketFilterManager.addPacketListener(PacketFilterManager.java:402)
[21:41:07 WARN]: at me.konsolas.aac.b.c.g.<init>(g.java)
[21:41:07 WARN]: ... 13 more
[21:41:07 WARN]: java.lang.reflect.InvocationTargetException
[21:41:07 WARN]: at jdk.internal.reflect.GeneratedConstructorAccessor52.newInstance(Unknown Source)
[21:41:07 WARN]: at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
[21:41:07 WARN]: at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
[21:41:07 WARN]: at me.konsolas.aac.k.a(k.java)
[21:41:07 WARN]: at me.konsolas.aac.a.p.run(Unknown Source)
[21:41:07 WARN]: at pw.yumc.Yum.inject.TaskInjector.run(TaskInjector.java:101)
[21:41:07 WARN]: at org.bukkit.craftbukkit.v1_15_R1.scheduler.CraftTask.run(CraftTask.java:84)
[21:41:07 WARN]: at org.bukkit.craftbukkit.v1_15_R1.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:452)
[21:41:07 WARN]: at net.minecraft.server.v1_15_R1.MinecraftServer.b(MinecraftServer.java:1185)
[21:41:07 WARN]: at net.minecraft.server.v1_15_R1.DedicatedServer.b(DedicatedServer.java:430)
[21:41:07 WARN]: at net.minecraft.server.v1_15_R1.MinecraftServer.a(MinecraftServer.java:1112)
[21:41:07 WARN]: at net.minecraft.server.v1_15_R1.MinecraftServer.run(MinecraftServer.java:934)
[21:41:07 WARN]: at java.base/java.lang.Thread.run(Thread.java:834)
[21:41:07 WARN]: Caused by: FieldAccessException: No field with type java.util.Map exists in class EnumProtocol.
[21:41:07 WARN]: at com.comphenix.protocol.reflect.StructureModifier.readInternal(StructureModifier.java:216)
[21:41:07 WARN]: at com.comphenix.protocol.reflect.StructureModifier.read(StructureModifier.java:195)
[21:41:07 WARN]: at com.comphenix.protocol.injector.netty.NettyProtocolRegistry.initialize(NettyProtocolRegistry.java:57)
[21:41:07 WARN]: at com.comphenix.protocol.injector.netty.ProtocolRegistry.<init>(ProtocolRegistry.java:59)
[21:41:07 WARN]: at com.comphenix.protocol.injector.netty.NettyProtocolRegistry.<init>(NettyProtocolRegistry.java:38)
[21:41:07 WARN]: at com.comphenix.protocol.injector.packet.PacketRegistry.initialize(PacketRegistry.java:70)
[21:41:07 WARN]: at com.comphenix.protocol.injector.packet.PacketRegistry.getPacketClassFromType(PacketRegistry.java:271)
[21:41:07 WARN]: at com.comphenix.protocol.injector.packet.PacketRegistry.getPacketClassFromType(PacketRegistry.java:259)
[21:41:07 WARN]: at com.comphenix.protocol.concurrency.PacketTypeSet.getPacketClass(PacketTypeSet.java:82)
[21:41:07 WARN]: at com.comphenix.protocol.concurrency.PacketTypeSet.addType(PacketTypeSet.java:35)
[21:41:07 WARN]: at com.comphenix.protocol.injector.netty.ProtocolInjector$4.addPacketHandler(ProtocolInjector.java:385)
[21:41:07 WARN]: at com.comphenix.protocol.injector.PacketFilterManager.enablePacketFilters(PacketFilterManager.java:624)
[21:41:07 WARN]: at com.comphenix.protocol.injector.PacketFilterManager.addPacketListener(PacketFilterManager.java:390)
[21:41:07 WARN]: at me.konsolas.aac.b.c.p.<init>(p.java)
[21:41:07 WARN]: ... 13 more
[21:41:07 WARN]: java.lang.reflect.InvocationTargetException
[21:41:07 WARN]: at jdk.internal.reflect.GeneratedConstructorAccessor53.newInstance(Unknown Source)
[21:41:07 WARN]: at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
[21:41:07 WARN]: at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
[21:41:07 WARN]: at me.konsolas.aac.k.a(k.java)
[21:41:07 WARN]: at me.konsolas.aac.a.p.run(Unknown Source)
[21:41:07 WARN]: at pw.yumc.Yum.inject.TaskInjector.run(TaskInjector.java:101)
[21:41:07 WARN]: at org.bukkit.craftbukkit.v1_15_R1.scheduler.CraftTask.run(CraftTask.java:84)
[21:41:07 WARN]: at org.bukkit.craftbukkit.v1_15_R1.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:452)
[21:41:07 WARN]: at net.minecraft.server.v1_15_R1.MinecraftServer.b(MinecraftServer.java:1185)
[21:41:07 WARN]: at net.minecraft.server.v1_15_R1.DedicatedServer.b(DedicatedServer.java:430)
[21:41:07 WARN]: at net.minecraft.server.v1_15_R1.MinecraftServer.a(MinecraftServer.java:1112)
[21:41:07 WARN]: at net.minecraft.server.v1_15_R1.MinecraftServer.run(MinecraftServer.java:934)
[21:41:07 WARN]: at java.base/java.lang.Thread.run(Thread.java:834)
[21:41:07 WARN]: Caused by: FieldAccessException: No field with type java.util.Map exists in class EnumProtocol.
[21:41:07 WARN]: at com.comphenix.protocol.reflect.StructureModifier.readInternal(StructureModifier.java:216)
[21:41:07 WARN]: at com.comphenix.protocol.reflect.StructureModifier.read(StructureModifier.java:195)
[21:41:07 WARN]: at com.comphenix.protocol.injector.netty.NettyProtocolRegistry.initialize(NettyProtocolRegistry.java:57)
[21:41:07 WARN]: at com.comphenix.protocol.injector.netty.ProtocolRegistry.<init>(ProtocolRegistry.java:59)
[21:41:07 WARN]: at com.comphenix.protocol.injector.netty.NettyProtocolRegistry.<init>(NettyProtocolRegistry.java:38)
[21:41:07 WARN]: at com.comphenix.protocol.injector.packet.PacketRegistry.initialize(PacketRegistry.java:70)
[21:41:07 WARN]: at com.comphenix.protocol.injector.packet.PacketRegistry.getPacketClassFromType(PacketRegistry.java:271)
[21:41:07 WARN]: at com.comphenix.protocol.injector.packet.PacketRegistry.getPacketClassFromType(PacketRegistry.java:259)
[21:41:07 WARN]: at com.comphenix.protocol.concurrency.PacketTypeSet.getPacketClass(PacketTypeSet.java:82)
[21:41:07 WARN]: at com.comphenix.protocol.concurrency.PacketTypeSet.addType(PacketTypeSet.java:35)
[21:41:07 WARN]: at com.comphenix.protocol.injector.spigot.AbstractPacketInjector.addPacketHandler(AbstractPacketInjector.java:30)
[21:41:07 WARN]: at com.comphenix.protocol.injector.PacketFilterManager.enablePacketFilters(PacketFilterManager.java:634)
[21:41:07 WARN]: at com.comphenix.protocol.injector.PacketFilterManager.addPacketListener(PacketFilterManager.java:402)
[21:41:07 WARN]: at me.konsolas.aac.b.c.k.<init>(k.java)
[21:41:07 WARN]: ... 13 more
[21:41:07 WARN]: java.lang.reflect.InvocationTargetException
[21:41:07 WARN]: at jdk.internal.reflect.GeneratedConstructorAccessor54.newInstance(Unknown Source)
[21:41:07 WARN]: at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
[21:41:07 WARN]: at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
[21:41:07 WARN]: at me.konsolas.aac.k.a(k.java)
[21:41:07 WARN]: at me.konsolas.aac.a.p.run(Unknown Source)
[21:41:07 WARN]: at pw.yumc.Yum.inject.TaskInjector.run(TaskInjector.java:101)
[21:41:07 WARN]: at org.bukkit.craftbukkit.v1_15_R1.scheduler.CraftTask.run(CraftTask.java:84)
[21:41:07 WARN]: at org.bukkit.craftbukkit.v1_15_R1.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:452)
[21:41:07 WARN]: at net.minecraft.server.v1_15_R1.MinecraftServer.b(MinecraftServer.java:1185)
[21:41:07 WARN]: at net.minecraft.server.v1_15_R1.DedicatedServer.b(DedicatedServer.java:430)
[21:41:07 WARN]: at net.minecraft.server.v1_15_R1.MinecraftServer.a(MinecraftServer.java:1112)
[21:41:07 WARN]: at net.minecraft.server.v1_15_R1.MinecraftServer.run(MinecraftServer.java:934)
[21:41:07 WARN]: at java.base/java.lang.Thread.run(Thread.java:834)
[21:41:07 WARN]: Caused by: FieldAccessException: No field with type java.util.Map exists in class EnumProtocol.
[21:41:07 WARN]: at com.comphenix.protocol.reflect.StructureModifier.readInternal(StructureModifier.java:216)
[21:41:07 WARN]: at com.comphenix.protocol.reflect.StructureModifier.read(StructureModifier.java:195)
[21:41:07 WARN]: at com.comphenix.protocol.injector.netty.NettyProtocolRegistry.initialize(NettyProtocolRegistry.java:57)
[21:41:07 WARN]: at com.comphenix.protocol.injector.netty.ProtocolRegistry.<init>(ProtocolRegistry.java:59)
[21:41:07 WARN]: at com.comphenix.protocol.injector.netty.NettyProtocolRegistry.<init>(NettyProtocolRegistry.java:38)
[21:41:07 WARN]: at com.comphenix.protocol.injector.packet.PacketRegistry.initialize(PacketRegistry.java:70)
[21:41:07 WARN]: at com.comphenix.protocol.injector.packet.PacketRegistry.getPacketClassFromType(PacketRegistry.java:271)
[21:41:07 WARN]: at com.comphenix.protocol.injector.packet.PacketRegistry.getPacketClassFromType(PacketRegistry.java:259)
[21:41:07 WARN]: at com.comphenix.protocol.concurrency.PacketTypeSet.getPacketClass(PacketTypeSet.java:82)
[21:41:07 WARN]: at com.comphenix.protocol.concurrency.PacketTypeSet.addType(PacketTypeSet.java:35)
[21:41:07 WARN]: at com.comphenix.protocol.injector.spigot.AbstractPacketInjector.addPacketHandler(AbstractPacketInjector.java:30)
[21:41:07 WARN]: at com.comphenix.protocol.injector.PacketFilterManager.enablePacketFilters(PacketFilterManager.java:634)
[21:41:07 WARN]: at com.comphenix.protocol.injector.PacketFilterManager.addPacketListener(PacketFilterManager.java:402)
[21:41:07 WARN]: at me.konsolas.aac.b.d.e.<init>(e.java)
[21:41:07 WARN]: ... 13 more
[21:41:07 WARN]: java.lang.reflect.InvocationTargetException
[21:41:07 WARN]: at jdk.internal.reflect.GeneratedConstructorAccessor55.newInstance(Unknown Source)
[21:41:07 WARN]: at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
[21:41:07 WARN]: at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
[21:41:07 WARN]: at me.konsolas.aac.k.a(k.java)
[21:41:07 WARN]: at me.konsolas.aac.a.p.run(Unknown Source)
[21:41:07 WARN]: at pw.yumc.Yum.inject.TaskInjector.run(TaskInjector.java:101)
[21:41:07 WARN]: at org.bukkit.craftbukkit.v1_15_R1.scheduler.CraftTask.run(CraftTask.java:84)
[21:41:07 WARN]: at org.bukkit.craftbukkit.v1_15_R1.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:452)
[21:41:07 WARN]: at net.minecraft.server.v1_15_R1.MinecraftServer.b(MinecraftServer.java:1185)
[21:41:07 WARN]: at net.minecraft.server.v1_15_R1.DedicatedServer.b(DedicatedServer.java:430)
[21:41:07 WARN]: at net.minecraft.server.v1_15_R1.MinecraftServer.a(MinecraftServer.java:1112)
[21:41:07 WARN]: at net.minecraft.server.v1_15_R1.MinecraftServer.run(MinecraftServer.java:934)
[21:41:07 WARN]: at java.base/java.lang.Thread.run(Thread.java:834)
[21:41:07 WARN]: Caused by: FieldAccessException: No field with type java.util.Map exists in class EnumProtocol.
[21:41:07 WARN]: at com.comphenix.protocol.reflect.StructureModifier.readInternal(StructureModifier.java:216)
[21:41:07 WARN]: at com.comphenix.protocol.reflect.StructureModifier.read(StructureModifier.java:195)
[21:41:07 WARN]: at com.comphenix.protocol.injector.netty.NettyProtocolRegistry.initialize(NettyProtocolRegistry.java:57)
[21:41:07 WARN]: at com.comphenix.protocol.injector.netty.ProtocolRegistry.<init>(ProtocolRegistry.java:59)
[21:41:07 WARN]: at com.comphenix.protocol.injector.netty.NettyProtocolRegistry.<init>(NettyProtocolRegistry.java:38)
[21:41:07 WARN]: at com.comphenix.protocol.injector.packet.PacketRegistry.initialize(PacketRegistry.java:70)
[21:41:07 WARN]: at com.comphenix.protocol.injector.packet.PacketRegistry.getPacketClassFromType(PacketRegistry.java:271)
[21:41:07 WARN]: at com.comphenix.protocol.injector.packet.PacketRegistry.getPacketClassFromType(PacketRegistry.java:259)
[21:41:07 WARN]: at com.comphenix.protocol.concurrency.PacketTypeSet.getPacketClass(PacketTypeSet.java:82)
[21:41:07 WARN]: at com.comphenix.protocol.concurrency.PacketTypeSet.addType(PacketTypeSet.java:35)
[21:41:07 WARN]: at com.comphenix.protocol.injector.spigot.AbstractPacketInjector.addPacketHandler(AbstractPacketInjector.java:30)
[21:41:07 WARN]: at com.comphenix.protocol.injector.PacketFilterManager.enablePacketFilters(PacketFilterManager.java:634)
[21:41:07 WARN]: at com.comphenix.protocol.injector.PacketFilterManager.addPacketListener(PacketFilterManager.java:402)
[21:41:07 WARN]: at me.konsolas.aac.b.c.m.<init>(m.java)
[21:41:07 WARN]: ... 13 more
[21:41:07 WARN]: java.lang.reflect.InvocationTargetException
[21:41:07 WARN]: at jdk.internal.reflect.GeneratedConstructorAccessor56.newInstance(Unknown Source)
[21:41:07 WARN]: at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
[21:41:07 WARN]: at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
[21:41:07 WARN]: at me.konsolas.aac.k.a(k.java)
[21:41:07 WARN]: at me.konsolas.aac.a.p.run(Unknown Source)
[21:41:07 WARN]: at pw.yumc.Yum.inject.TaskInjector.run(TaskInjector.java:101)
[21:41:07 WARN]: at org.bukkit.craftbukkit.v1_15_R1.scheduler.CraftTask.run(CraftTask.java:84)
[21:41:07 WARN]: at org.bukkit.craftbukkit.v1_15_R1.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:452)
[21:41:07 WARN]: at net.minecraft.server.v1_15_R1.MinecraftServer.b(MinecraftServer.java:1185)
[21:41:07 WARN]: at net.minecraft.server.v1_15_R1.DedicatedServer.b(DedicatedServer.java:430)
[21:41:07 WARN]: at net.minecraft.server.v1_15_R1.MinecraftServer.a(MinecraftServer.java:1112)
[21:41:07 WARN]: at net.minecraft.server.v1_15_R1.MinecraftServer.run(MinecraftServer.java:934)
[21:41:07 WARN]: at java.base/java.lang.Thread.run(Thread.java:834)
[21:41:07 WARN]: Caused by: FieldAccessException: No field with type java.util.Map exists in class EnumProtocol.
[21:41:07 WARN]: at com.comphenix.protocol.reflect.StructureModifier.readInternal(StructureModifier.java:216)
[21:41:07 WARN]: at com.comphenix.protocol.reflect.StructureModifier.read(StructureModifier.java:195)
[21:41:07 WARN]: at com.comphenix.protocol.injector.netty.NettyProtocolRegistry.initialize(NettyProtocolRegistry.java:57)
[21:41:07 WARN]: at com.comphenix.protocol.injector.netty.ProtocolRegistry.<init>(ProtocolRegistry.java:59)
[21:41:07 WARN]: at com.comphenix.protocol.injector.netty.NettyProtocolRegistry.<init>(NettyProtocolRegistry.java:38)
[21:41:07 WARN]: at com.comphenix.protocol.injector.packet.PacketRegistry.initialize(PacketRegistry.java:70)
[21:41:07 WARN]: at com.comphenix.protocol.injector.packet.PacketRegistry.getPacketClassFromType(PacketRegistry.java:271)
[21:41:07 WARN]: at com.comphenix.protocol.injector.packet.PacketRegistry.getPacketClassFromType(PacketRegistry.java:259)
[21:41:07 WARN]: at com.comphenix.protocol.concurrency.PacketTypeSet.getPacketClass(PacketTypeSet.java:82)
[21:41:07 WARN]: at com.comphenix.protocol.concurrency.PacketTypeSet.addType(PacketTypeSet.java:35)
[21:41:07 WARN]: at com.comphenix.protocol.injector.spigot.AbstractPacketInjector.addPacketHandler(AbstractPacketInjector.java:30)
[21:41:07 WARN]: at com.comphenix.protocol.injector.PacketFilterManager.enablePacketFilters(PacketFilterManager.java:634)
[21:41:07 WARN]: at com.comphenix.protocol.injector.PacketFilterManager.addPacketListener(PacketFilterManager.java:402)
[21:41:07 WARN]: at me.konsolas.aac.b.b.i.<init>(i.java)
[21:41:07 WARN]: ... 13 more
[21:41:07 WARN]: java.lang.reflect.InvocationTargetException
[21:41:07 WARN]: at jdk.internal.reflect.GeneratedConstructorAccessor57.newInstance(Unknown Source)
[21:41:07 WARN]: at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
[21:41:07 WARN]: at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
[21:41:07 WARN]: at me.konsolas.aac.k.a(k.java)
[21:41:07 WARN]: at me.konsolas.aac.a.p.run(Unknown Source)
[21:41:07 WARN]: at pw.yumc.Yum.inject.TaskInjector.run(TaskInjector.java:101)
[21:41:07 WARN]: at org.bukkit.craftbukkit.v1_15_R1.scheduler.CraftTask.run(CraftTask.java:84)
[21:41:07 WARN]: at org.bukkit.craftbukkit.v1_15_R1.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:452)
[21:41:07 WARN]: at net.minecraft.server.v1_15_R1.MinecraftServer.b(MinecraftServer.java:1185)
[21:41:07 WARN]: at net.minecraft.server.v1_15_R1.DedicatedServer.b(DedicatedServer.java:430)
[21:41:07 WARN]: at net.minecraft.server.v1_15_R1.MinecraftServer.a(MinecraftServer.java:1112)
[21:41:07 WARN]: at net.minecraft.server.v1_15_R1.MinecraftServer.run(MinecraftServer.java:934)
[21:41:07 WARN]: at java.base/java.lang.Thread.run(Thread.java:834)
[21:41:07 WARN]: Caused by: FieldAccessException: No field with type java.util.Map exists in class EnumProtocol.
[21:41:07 WARN]: at com.comphenix.protocol.reflect.StructureModifier.readInternal(StructureModifier.java:216)
[21:41:07 WARN]: at com.comphenix.protocol.reflect.StructureModifier.read(StructureModifier.java:195)
[21:41:07 WARN]: at com.comphenix.protocol.injector.netty.NettyProtocolRegistry.initialize(NettyProtocolRegistry.java:57)
[21:41:07 WARN]: at com.comphenix.protocol.injector.netty.ProtocolRegistry.<init>(ProtocolRegistry.java:59)
[21:41:07 WARN]: at com.comphenix.protocol.injector.netty.NettyProtocolRegistry.<init>(NettyProtocolRegistry.java:38)
[21:41:07 WARN]: at com.comphenix.protocol.injector.packet.PacketRegistry.initialize(PacketRegistry.java:70)
[21:41:07 WARN]: at com.comphenix.protocol.injector.packet.PacketRegistry.getPacketClassFromType(PacketRegistry.java:271)
[21:41:07 WARN]: at com.comphenix.protocol.injector.packet.PacketRegistry.getPacketClassFromType(PacketRegistry.java:259)
[21:41:07 WARN]: at com.comphenix.protocol.concurrency.PacketTypeSet.getPacketClass(PacketTypeSet.java:82)
[21:41:07 WARN]: at com.comphenix.protocol.concurrency.PacketTypeSet.addType(PacketTypeSet.java:35)
[21:41:07 WARN]: at com.comphenix.protocol.injector.spigot.AbstractPacketInjector.addPacketHandler(AbstractPacketInjector.java:30)
[21:41:07 WARN]: at com.comphenix.protocol.injector.PacketFilterManager.enablePacketFilters(PacketFilterManager.java:634)
[21:41:07 WARN]: at com.comphenix.protocol.injector.PacketFilterManager.addPacketListener(PacketFilterManager.java:390)
[21:41:07 WARN]: at me.konsolas.aac.b.c.o.<init>(o.java)
[21:41:07 WARN]: ... 13 more
[21:41:07 INFO]: [Yum] [Yum 能耗监控] 注意! 插件 AAC 处理 p 任务 耗时 84ms 平均耗时 48ms!
>
|
奇怪的是我用了一个整合包里的PL就不会出现这个问题
以pl作为前置的AAC插件疯狂刷起了报错(如下图)请大佬解答qwq
谢谢分享,实用的前置插件
ProtocolSupportSwordBlocking不用愁了
6666666666666666666666
快被气死了,下这个不到2M的插件,能下俩小时
感谢搬运

感谢楼主的分享
感谢楼主的资源分享~