跳到正文

Presence Footsteps (Forge)

作者:Paint_Ninja

Presence Footsteps 从 Fabric 移植到 Forge 的非官方版本

收藏

介绍

介绍由机器翻译自 CurseForge 原页面,仅供参考。

概览

这是将 Fabric 版的 Presence Footsteps 非官方移植到 Forge 的版本。Fabric 用户请查看原模组。

如果你在这个 Forge 版本的模组中遇到任何问题,请在这里提交问题——不要因为这个 Forge 版本的问题去打扰原 Fabric 版本的模组作者 Sollace。

 

为什么?

简单来说,我想在现代版本的 Minecraft 中继续享受这个模组,同时使用其他 Forge 模组。过去,这个模组使用 LiteLoader,并且可以选择在 Forge 之上运行;但自从转向 Fabric 后,这已经无法实现了。

有不少人请求移植 Forge 版本,但模组作者表示他们无意进行移植。由于该模组采用 MIT 许可证,我决定亲自完成移植,并在短短几天内尽可能制作出接近 1:1 的版本。

这一点应该很明显,但我还是要说明:请不要因为 Sollace 没有亲自进行移植而责怪他们,这是他们的决定,我对此表示尊重。我制作这个版本是因为这样做在法律上是允许的,也能让更多人享受这个模组;同时,这也让 Forge 用户在希望转向 Fabric 时更加方便,因为又多了一个同时支持两个平台的模组(甚至原 Fabric 模组与这个 Forge 移植版的配置文件也彼此兼容!)。需要注意的是,尽管 Sollace 没有参与这个移植项目,多年来他们仍然从该项目中获得了相当一部分 CurseForge 奖励计划积分。

如何?

1.19.3/1.19.2/1.18.2

以后某个时候再补充文档。相比 1.16.5 的移植流程,我的移植工作流程已经有了一些不错的改进。

1.16.5

过去我曾将各种小型 Fabric 模组移植到 Forge 供个人使用,每次移植都学到了更高效的方法。

对于 Presence Footsteps,我执行了以下流程:
1. 克隆要移植的 Fabric 模组的仓库
2. 获取 Forge MDK,设置 Mixin 配置和 Yarn2MCP 的 Yarn 映射
3. 使用 ForgeGradle 的 updateMappings 命令将 Yarn 转换为 MCP
到这一步,相当一部分工作已经完成了!
4. 使用 Linkie Discord 机器人手动将剩余的 Yarn 类名翻译为 MCP 类名,同时翻译一些 Mixin 相关内容
5. 手动将 Fabric 特有的 API 和做法翻译为 Forge 的等价物(例如独立的事件系统、独立的模组初始化方式等……)

关于此次移植的说明:
– 下次我可能会尝试使用 MojMap 作为中间翻译映射,而不是 Yarn2MCP,以减少设置时间,并在使用 ForgeGradle 的 updateMappings 或 Loom 的 migrateMappings 命令之间保持灵活性。这次我没有使用它们,因为上次我检查时,Linkie 不支持在 MojMap 和 MCP 之间进行翻译,但现在这似乎已经解决了。
– 我确实尝试过在转换为 MCP 之前直接使用 Yarn2MCP 的 Yarn 映射运行代码,但由于映射错误,遗憾的是这无法实现。
– 该模组使用了一些仅限 Fabric 的模组前置库,所以我不得不也移植所使用的部分。我在该库中有一个特定函数遇到了麻烦,它与某个 MCP 方法名相同,导致编译错误,因为代码所指的方法存在歧义(如果我没记错的话,这与 GUI 库中按钮的工具提示渲染有关)。目前,我只是禁用了那个方法调用作为变通方案。
– 我记得开发者说过他们不喜欢 MCP 映射,但有趣的是,我发现多处变量名与 MCP 类名匹配而非 Yarn 类名。也许只是从 LiteLoader 时代复用的代码?谁知道呢……
– 这不是我最优雅的解决方案——我当时很无聊,所以在 updateMappings 自动化之后仍然手动复制了库相关内容来完成部分工作。

  

下载

本模组适用于 26.2、26.1.2、1.21.11、1.21.10、1.21.8、1.21.5、1.21.4、1.21.1、1.20.4、1.20.2、1.20.1、1.19.4、 1.19.3、 1.19.2 以及 1.18.2 和 1.16.5。部分版本可能存在限制——详情请参阅文件的更新日志,并不时检查更新。

 

赞助者

感谢以下 GitHub 赞助者为我的模组开发工作捐款,他们激励我继续开发诸如这个 Presence Footsteps 非官方 Forge 移植版之类的项目:

  • (目前暂无)

评论

登录后评论和评分