Closed Micalhl closed 5 days ago
尝试修复 无法在 Velocity 平台上启动 的问题。
问题根源在于 Velocity 服务端自带 ASM 库,所以 PrimitiveLoader#isASM9() 返回 true,但 Velocity 所带的 ASM 库不全 (没有导入 asm-commons 模块),导致插件无法启动 (报错提示无 org.objectweb.asm.commons.Remapper)。
PrimitiveLoader#isASM9()
asm-commons
org.objectweb.asm.commons.Remapper
解决方案是在加载 ASM 库前判断是否非 ASM 环境或非 Bukkit 环境,满足任一条件则由 TabooLib 下载并加载完整的 ASM 库并重定向。
ASM
这个方案我认为不是很聪明。另外,BungeeCord (Waterfall) 我发现应该是不自带 ASM 库的,其他平台未知,所以目前看来应该只有 Velocity 有这个问题。
已在最新的 Velocity (Velocity 3.3.0-SNAPSHOT (git-0cd069ec-b431)) 环境中通过测试。
Velocity 3.3.0-SNAPSHOT (git-0cd069ec-b431)
修复了发包界面,漏网之鱼了属于是。
第 122 行,还是 1.21 改 InventoryView 为接口导致的问题。
尝试修复 无法在 Velocity 平台上启动 的问题。
问题根源在于 Velocity 服务端自带 ASM 库,所以
PrimitiveLoader#isASM9()
返回 true,但 Velocity 所带的 ASM 库不全 (没有导入asm-commons
模块),导致插件无法启动 (报错提示无org.objectweb.asm.commons.Remapper
)。解决方案是在加载 ASM 库前判断是否非 ASM 环境或非 Bukkit 环境,满足任一条件则由 TabooLib 下载并加载完整的
ASM
库并重定向。这个方案我认为不是很聪明。另外,BungeeCord (Waterfall) 我发现应该是不自带 ASM 库的,其他平台未知,所以目前看来应该只有 Velocity 有这个问题。
已在最新的 Velocity (
Velocity 3.3.0-SNAPSHOT (git-0cd069ec-b431)
) 环境中通过测试。