兼容性检查
Monoceros 的目标是跨版本运行,但“支持跨版本”不等于“所有能力在所有环境下完全一致”。
为什么兼容性检查重要
Monoceros 涉及这些高敏感能力:
- 数据包监听与覆写
- NMS 挥发能力
- 物品与元数据处理
- 不同 Java 版本下的兼容层
这些能力天然会受:
- Minecraft 版本
- Java 版本
- 底层映射差异
- 当前启用的 FeatureFlags
影响。
当前兼容层结构
| 层级 | 说明 |
|---|---|
legacy/ | 老版本兼容处理 |
modern/ | 现代版本能力处理 |
compat/java17/ | Java 17 兼容 |
compat/java21/ | Java 21 兼容 |
建议重点关注的能力
数据包覆写
如果你要用 Wireshark 的覆写能力,除了看 Tap 配置,还要看当前环境是否适合安全覆写。
NMS 挥发
伪方块、伪边界、实体元数据这些能力都和版本适配关系很深,升级服务端后建议优先自检。
新版物品能力
像 dataComponent、itemModel 这类能力,天然更依赖高版本支持。
推荐操作
- 新环境首次部署:先
/mono selfcheck - 服务端升级后:先
/mono selfcheck+/mono status - 启用高风险能力前:先确认配置和版本环境都匹配
最稳妥的思路
把 Monoceros 当成“已经帮你做了很多兼容工作”的框架,而不是“完全不需要关心环境差异”的黑盒。
只要你在启用高风险模块前先做一次兼容性检查,很多问题都能提前发现。