Repository navigation
OpenDreamCore v0.1.2
更新日志
v0.1.2(2026-09-20)
老架构迁移收官:16 个版本一条核心线
这一版把梦想核心的老底子整个搬完了。从最早的自用客户端一路跑到现在,当年那些只有我自己看得懂的角落,这次全部落到开源架构上,一条共享核心拖 16 个版本壳,谁也不用再维护第二套逻辑。
- 1.6.4 / 1.7.10 / 1.12.2 / 1.16.5 四个远古版本整体迁完:现代线和远古线共用同一份共享层——同一套页面格式、同一套协议、同一套 DreamLang 脚本能力、同一套渲染语义。每个老版本名下只剩薄薄一层版本适配壳,1.6.4 的客户端跟 26.x 的客户端拿到的是同一份页面,行为没有差别。
- 共享层源码走 Jabel 脱糖,字节码锁死 release 8;yaml / gson / antlr 全部打进包内,老服不用额外装库。
- 版本矩阵收口为 16 个 target:1.20.1 / 1.21.1 / 1.21.4 / 1.21.8 / 1.21.11 / 26.1.2 的 Forge / Fabric / NeoForge,加远古四版,再叠服务端插件与 common 测试。
替换类功能一个不落
字符替换、标签替换、物品贴图替换这些当年自用时的看家本领,这次全部完成迁移:
- 字符替换:规则下发两端对齐,服务端拍平成
id=字符加一段配置,客户端就按这个格式解析,中文字符想换哪张贴图就是哪张;纹理注册统一走渲染线程冲刷队列,图片到位下一帧就位 - gif 动画整套迁进来:按内容识别解码,不看扩展名,均匀抽帧,角色贴图、动画图标、会跳动的字都能动
- 标签替换:名字标签、悬停标签全版本一个样
- 物品贴图替换:物品图标、容器界面、tooltip 的老版本画法各自按自家时代的 API 落地
- 盔甲层、光标这些细碎一并迁完,中文字体贴图、图集、字距、阴影在新老版本线上一套表现,中英文混排不打架
变量这块迁成客户端自产
- 占位符客户端本地优先:player / query / system 在本地每帧解析,只有 PAPI 占位符才走网络向服务器要数。单机不装 PAPI 照样有变量。
- 握手当场把全局状态整包带下来,断线重连、页面重载之后状态照旧在。
HUD 迁完能叠着挂
- HUD 按页面 id 叠加:hud、hud_promo、hud_global 想同屏就同屏,互不挤占。
- autoMount 会把
match: hud的一族页面全部挂上,新增一行配置就是一张新常驻条。
命令与权限理顺
- /odc 权限模型理顺:普通玩家能开页面(
/odc open <页面>),管理子命令只认管理员权限,没权限就明明白白告诉你。 - 客户端到插件的转发链路全通,服务端每收一条都留日志,前后端能对上话。
- 插件侧整体搬成纯 Bukkit/Paper API,整包 Java 8 字节码,从 1.16.5 的老服一路吃到最新版。
渲染全版本收口
- 名牌、光标、盔甲层贴图、ItemIcon、tooltip 在 16 个版本上各自按自家时代的 API 落地,一版不落。
- 世界全息面板卡进世界渲染的收尾阶段,模型视图栈有了深度守卫。
服务端与配套
- 服务端全局状态、页面、视觉规则、匹配规则各自落位;握手后缺失的会话页面会补发。
- 新增 /codc 纯客户端诊断命令:看连接状态、导出当前页面、开关常驻条、查各版本适配信息,全程不碰服务器权限。
- 资源云管线整体搬完:图片/音频/字体自动同步,增量加密传输,按内容去重;文件夹直接丢进 OpenDreamCore 材质包目录即生效,中文文件名也没问题。
- Ctrl+R 一键重载材质包,改图片不用重进游戏。
更多更新,进游戏里慢慢探索吧。