|
还没有账号?赶快去注册吧!
您需要 登录 才可以下载或查看,没有账号?立即注册
×
本帖最后由 Jeffreyg1228 于 2023-7-26 12:51 编辑
# Z8 m2 \' q% Z5 O/ U& y$ `0 p8 l( Z/ z9 H" r( J' H
MTR 模组本体已经有一段时间没有功能性更新了。我们不禁要思考:Jonathan 是否一直在摸鱼?当前这些功能是否够用?MTR 模组何去何从?这篇文章,带大家简单地盘点未来 MTR 模组地可能发展方向。) O" a. p5 H/ m5 B# K
v1 ?9 V, ]! i8 D* `6 a
注:本文信息来源主要为 MTR 官方 Discord 和模组主要贡献者的 Github 仓库 README。信息如有错漏,欢迎留言补充!2 O& u4 r- l/ j* G2 J
& F0 B& z9 S/ ?# F3 y一、“遥不可及”的 4.0.0 版本
' C6 A& R3 i# u$ t' z# R# q* s早在 2021 年,Jonathan 就“预言”了 MTR 未来的曲折发布历程:
1 E6 E/ K7 ^8 n" Yversioning 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
+ V( |. I# Z% d4 A" N! b w7 Y% k当前最新版是 3.2.2,这么一说,离 4.0.0 发布不远了(bushi+ B. U j/ Q9 K& r8 i7 z
对于 4.0 版,Jonathan 透露的信息如下:
+ ] r, m; n% V& ~* `0 ^+ K- 全面重构: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 版本将优化性能。: h/ G# ]/ d5 U4 n. D. P
' d* z8 K6 s7 u$ f! J
8 u2 E6 q. \* j- w二、4.0.0 背后的技术
% a7 ?8 t$ _( w" f* w% K% |3 ~- Z1、后端:Transport Simulation Core
I- [# F" @3 ^4 ?% aThis project abstracts all station, route, depot, vehicle code, etc. to a separate project, allowing for better performance when used in a game. (该项目将所有车站、路线、车厂、车辆模拟代码等抽象为一个单独的项目,以便在游戏中获得更好的性能。) # Y {' U1 _5 X
Jonathan 也进行过简单的表述:将车辆模拟与 Minecraft 服务器线程分开。再直白点说,就是显著提升性能、降低开发难度。
/ O$ _/ I0 D# V5 q8 H' C$ Z/ P7 D9 P& G7 y2 S# z+ Z! W( Y$ ^
他也承诺了一个拥有无限潜力的功能:更多的 API 接口。
" c1 W2 M7 a, m) v事实上,当前 localhost:8888 的实时线路图就是调用了 MTR 的 API 接口实现的。最近 Discord 用户 @JCIBravo 就据此编写了一个 Android App,实现了手机端查看线路的功能(如下图):" n& X7 H6 Y$ u- ?: I P
; ] Y7 m J! D* U相信开发者们可以通过 MTR 的 API 创造出更多有趣的应用!
6 |8 q/ P9 X6 ]
$ y7 V( @" i* _3 o# @2、Fabric 与 Forge 的桥梁:Minecraft Mappings
x- L" K* t, e5 ^6 \( E( u8 TMod 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 版本提供一个稳定的类、方法和字段映射。)
J7 R L& x( j3 L8 A冷知识:MTR 模组之所以能够凭借一套代码兼容 Fabric 和 Forge 两个模组加载器,Architectury API 扮演了桥梁的角色。
# z$ M6 o% C& R( D" m. V+ C6 a4 d: o据 Jonathan 说,Architectury 并没有完全解决问题——在不同 Minecraft 版本之间,Architectury 仍有局限性。
6 G& D8 ]: @# ^9 M- P6 n8 @3 e9 vMinecraft Mapping 则致力于消除这一问题,降低模组代码复杂度,简化开发流程。同时消除对 Architectury API 的依赖。
3 [! O3 Z2 m) N$ P! Q
1 W N0 G( r& A) G& T三、你不知道的 MTR 附属模组
+ D) b$ M0 @6 u- f5 w9 h- U/ N所谓“MTR 附属模组”,就是依赖于 MTR,增强 MTR 功能的模组。除了“四件套”LU、JCM、NTE、MSD,下面是 Modrinth 上的一些冷门模组:! t5 O8 @' l1 }8 D
1、MTR Utility* `# V5 T. Q) O
添加 450、500、600、700、800km/h 轨道连接器。
! B; r7 w( D H+ S# g. Y% ?- R4 m2、CrabGC's Extension of MTR
" ?9 N& i4 N x, b% _9 p增加红石检票闸机和直接付费闸机(可自定义付费金额)。# z. }4 d6 x6 h& N) H
3、NYC Subway (MTR)
, L+ X& G! A6 D& O: a增加纽约地铁相关物品。6 E+ @4 Q9 g5 t, M
4、TransitManager) w2 Z/ w7 F: F
一个服务端模组,由 Joban Client Mod 作者开发,增加一些控制列车逻辑的 Minecraft 命令。* h6 F% N0 T* |! |
5、Russian Metro Addon6 A! W/ K$ Z2 G5 j
增加俄罗斯地铁相关物品。+ F/ @! W( S6 H D' q: G; G& w
, l8 D: S: _# Q s6 F. U1 ?" f四、其它资源
$ p0 d; m' h) \8 Q; i$ X: xMTR 模组终于有官方 Wiki 站了!链接:https://wiki.minecrafttransitrailway.com/start。目前内容还不完善,大家可以积极补充内容。 |
评分
-
查看全部评分
|