LX86 发表于 2026-5-26 23:00:58

【原创】【1.16.5 - 1.20.4】JCM v2.2.0 发布

由于是次更新或会影响到已推出及未来MTR资源包的发展,因特此​​作出JCM v2.2.0更新公告。未来更新仍可透过Modrinth或其它途径得知

---
阅读前注意:
MTR 4 正式把列车 (Train) 的命名改为 车辆 (Vehicle),方便容纳非铁路的车辆。在此更新日志中亦会跟随MTR 4的 "车辆" 叫法,实则与MTR 3 的 "列车" 无异。
---
是次更新主要分为两部分,以下逐一介绍:

1. MTR 改进方案

为让玩家在MTR 4下得到更完整的体验,JCM v2.2 会开始为 MTR 4 提供一些 "补丁",并修改部分 MTR 4 的运作。

暂时已加入的补丁包括:

[*]OBJ模型加载速度优化
[*]自动填满车卡功能 (适用于 车库侧线)
[*]重新加入 MTR 3 电梯的 "Ding" 声效
[*]在Dashboard里增加 小提示,把鼠标移到月台/侧线轨道即可看到有关轨道的配置
[*]把部分MTR-NTE的选项移植,例如隐藏轨道及隐藏正在乘坐的列车 (方便影片拍摄)


2. 为车辆 加入 JS 功能
是次更新正式为MTR 4 车辆 加入 JS 功能,再此允许资源包创作者加入特效 (广播,乘客显示屏等资讯)
这次加入的车辆JS功能是建基于过往新增的JS PIDS功能。使用的JS引擎为Rhino 1.9 (MTR-NTE 使用的则是 Rhino v1.7.15),未有带来重大兼容性的改变。
目前大部分NTE提供的JS API已移植到JCM,旧有 (MTR 3) 注册方式亦有保留。因此部分较为简单的MTR-NTE JS 资源包可在无需移植情况下直接载入。

但请注意
"向后兼容" 只适用于NTE提供的API。 MTR 3 内部的 API (MTRClientData, Station.java/Route.java) 或有带来改变。某些较复杂的JS或需要进行移植工作
(视乎情况亦可考虑在JS里检查MTR版本,然后作出适当的调用,达成MTR 3/4双兼容的JS)
MTR 4 亦为了节省数据用量,不会像MTR 3 将所有MTR资讯传给客户端。为方便制作LCD等显示屏,JCM已自带另外的传送途径,但只限于有关车辆需用到的资讯。功能性较高的JS (例如 显示完整的转乘路线画面) 暂未能实现。


装饰物件 (Eyecandy) JS 支持
装饰物件 (Eyecandy) JS 支援在 v2.1 已经加入,但当时还未成熟。这次更新加入了常用的3D模型处理API,及进一步改善与MTR-NTE的兼容程度。

下載
一如以往,模组可在 GitHub ,Modrinth 及 下载。
需要 MTR 4.0.4 运行!

JS 文档 (供开发者使用)
目前JCM文档只有提供英文版,可考虑使用机翻阅读。

比较有用的几页如下:
[*]Migration from NTE (适应 NTE 的 JS) | 镜像一 | 镜像二
[*]Dual-versioned scripts (支持双版本的 JS) | 镜像一 | 镜像二
[*]Quick Reload (启用快捷重新加载,类似NTE的 F3+5) | 镜像一 | 镜像二
[*]Vehicle Scripting (车辆JS,涵盖旧有及新增的API) | 镜像一 | 镜像二

讨论
欢迎任何技术性讨论,但因本人时间有限,或未能逐一回答所有问题。部分较入门/广泛的问题 (例如: "如何弄LCD显示屏" ) 或不作回覆。

页: [1]
查看完整版本: 【原创】【1.16.5 - 1.20.4】JCM v2.2.0 发布