Jeffreyg1228 发表于 2023-7-26 12:51:27

MTR 模组的未来展望

本帖最后由 Jeffreyg1228 于 2023-7-26 12:51 编辑

MTR 模组本体已经有一段时间没有功能性更新了。我们不禁要思考:Jonathan 是否一直在摸鱼?当前这些功能是否够用?MTR 模组何去何从?这篇文章,带大家简单地盘点未来 MTR 模组地可能发展方向。

注:本文信息来源主要为 MTR 官方 Discord 和模组主要贡献者的 Github 仓库 README。信息如有错漏,欢迎留言补充!

一、“遥不可及”的 4.0.0 版本
早在 2021 年,Jonathan 就“预言”了 MTR 未来的曲折发布历程:
versioning goes like this: 3.0.0-beta-1 -> ... -> 3.0.0-beta-7 -> ... -> 3.0.0-beta-x -> 3.0.0 (release) -> 3.0.1 -> ... -> 3.0.x -> 3.1.0 -> ... ->3.1.x -> ... -> 3.x.0 -> ... -> 4.0.0
当前最新版是 3.2.2,这么一说,离 4.0.0 发布不远了(bushi
对于 4.0 版,Jonathan 透露的信息如下:

[*]全面重构:4.0 版本将对代码进行许多重大更改,包括新的 Mapping (映射) 和后端(详见下文)。
[*]公交车(不确定):Jonathan 对于“公交车会在 4.1.0 版本而非 3.4.0 版本加入?”的回复是:“maybe, not sure yet.” (也许,还不确定)。不过在 NTE 目前支持隐藏轨道的前提下,这一功能并非急迫。
[*]版本兼容性:4.0 版本对玩家来说不是一个重大更新,即尽管进行了重构,玩家从 3.2.2 可低成本迁移到 4.0(EMUI -> Harmony OS?)。对 MTR 的附属模组来说则是一个重大改动,需要开发者做相应的更新。
[*]性能优化:4.0 版本将优化性能。


二、4.0.0 背后的技术
1、后端:Transport Simulation Core
This project abstracts all station, route, depot, vehicle code, etc. to a separate project, allowing for better performance when used in a game. (该项目将所有车站、路线、车厂、车辆模拟代码等抽象为一个单独的项目,以便在游戏中获得更好的性能。)
Jonathan 也进行过简单的表述:将车辆模拟与 Minecraft 服务器线程分开。再直白点说,就是显著提升性能、降低开发难度。

他也承诺了一个拥有无限潜力的功能:更多的 API 接口。
事实上,当前 localhost:8888 的实时线路图就是调用了 MTR 的 API 接口实现的。最近 Discord 用户 @JCIBravo 就据此编写了一个 Android App,实现了手机端查看线路的功能(如下图):
https://s2.loli.net/2023/07/25/cNof7dEVAzgIUlY.png https://s2.loli.net/2023/07/25/NpirXHuavSjKzOq.png
相信开发者们可以通过 MTR 的 API 创造出更多有趣的应用!

2、Fabric 与 Forge 的桥梁:Minecraft Mappings
Mod loaders like Fabric and Forge provide mappings that translate Minecraft class, method, and field names to human-readable ones. Since the mappings are created independently, it is often the case where class, method, and field names are translated differently between mod loaders and even between Minecraft versions. Even the package of a certain class can change. The purpose of this project is to provide a stable map of classes, methods, and fields across different mod loaders and versions of Minecraft. (Mod 加载器如 Fabric 和 Forge 提供了映射,将 Minecraft 的类、方法和字段名翻译成人类可读的名字。由于映射是独立创建的,类、方法和字段名的翻译在 mod 加载器和 Minecraft 版本之间经常不一致。甚至一个类的包也可能改变。本项目的目的是为不同的 mod 加载器和 Minecraft 版本提供一个稳定的类、方法和字段映射。)
冷知识:MTR 模组之所以能够凭借一套代码兼容 Fabric 和 Forge 两个模组加载器,Architectury API 扮演了桥梁的角色。
据 Jonathan 说,Architectury 并没有完全解决问题——在不同 Minecraft 版本之间,Architectury 仍有局限性。
Minecraft Mapping 则致力于消除这一问题,降低模组代码复杂度,简化开发流程。同时消除对 Architectury API 的依赖。

三、你不知道的 MTR 附属模组
所谓“MTR 附属模组”,就是依赖于 MTR,增强 MTR 功能的模组。除了“四件套”LU、JCM、NTE、MSD,下面是 Modrinth 上的一些冷门模组:
1、MTR Utility
添加 450、500、600、700、800km/h 轨道连接器。
2、CrabGC's Extension of MTR
增加红石检票闸机和直接付费闸机(可自定义付费金额)。
3、NYC Subway (MTR)
增加纽约地铁相关物品。
4、TransitManager
一个服务端模组,由 Joban Client Mod 作者开发,增加一些控制列车逻辑的 Minecraft 命令。
5、Russian Metro Addon
增加俄罗斯地铁相关物品。

四、其它资源
MTR 模组终于有官方 Wiki 站了!链接:https://wiki.minecrafttransitrailway.com/start。目前内容还不完善,大家可以积极补充内容。

曙光工作室~室长 发表于 2023-7-26 22:21:51

我用MTR Utility会报错()

MSnj_studioX 发表于 2023-7-27 09:15:48

曙光工作室~室长 发表于 2023-7-26 22:21
我用MTR Utility会报错()

作者建议用1.19(

Cmbself 发表于 2023-7-27 18:14:58

官方Wiki?好家伙,隔壁某搞一半的中文wiki可以退休了(

Oscar 发表于 2023-7-27 18:46:09

那么,抢钱快线炸只因可以实现力(

Snapsnap 发表于 2023-7-27 21:05:35

啥时候有钩交()

杰哥王老六 发表于 2023-7-30 11:20:29

好家伙,有官方wiki,还有MTR Utility??

Windows-Updates 发表于 2023-8-10 19:05:44

这些mods没有一个事有Forge版的(悲)(除了Russian Metro Addon)

-DKZ4- 发表于 2023-8-10 19:33:09

本帖最后由 -DKZ4- 于 2023-8-10 19:34 编辑

其实公交不重要,现在已经可以搞出完善的自动运行公交系统甚至铰接车无轨电车BRT快慢车区间车了(有服务器搞出来了)
不过不得不说MTR的寻路机制还是得完善,应该用最短路径才对,不然公交线路刷新半小时,开通就满城跑,特别是轨道网和岔路密集的地方
还有MTR什么时候加入100km/h轨道啊,真的挺需要的

MSnj_studioX 发表于 2023-8-12 20:10:19

-DKZ4- 发表于 2023-8-10 19:33
其实公交不重要,现在已经可以搞出完善的自动运行公交系统甚至铰接车无轨电车BRT快慢车区间车了(有服务器 ...

大概100km/h作者不考虑加(可能是考虑轻量性问题)
页: [1] 2 3
查看完整版本: MTR 模组的未来展望