特点
选择本模组进行硬编码汉化有以下几个优势:
分发更轻松且不违反分发修改后模组本体的规则: 模块文件为json后缀的文本文件,体量极小,可以上传下面的补丁库,使用其链接分发,汉化作者也可以内置汉化包中。使用时只要安装对模组和补丁位置,就可以生效。(b站还有相应普通用户使用的专栏教程,b站链接)
维护更快,兼容性强: 本模组工作原理同俗理解就是匹配替换,所使用的模块文件,起到索引的作用,即“哪个地方有什么替换成什么”,这就使得模组更新后,代码即使有改动,只要硬编码内容没改动,就可以沿用生效,不用像反编译汉化那样,更新一次要全部重新改一次。
在掌握模组使用后,制作模块补丁更简单快速: 如果有Java基础上手可以更快,因为分辨处理硬编码需要看Java代码,同时理解模块文件的含义更快。熟练后,基本就是固定流程,少数情况要特别处理(那就是高级用法了),制作速度会很快,不用你学完整的Java做mixin模组,你写索引vp帮你mixin。
功能丰富,且大多版本支持(测试没有每个版本都测,遇到没有生效问题,在确认不是自己写错后可以反馈bug): vp模组有三类替换方式,分别为模块的动态替换和普通替换,替换class的补丁文件。动态替换是匹配替换显示内容(只要写原文和替换的内容,不用说在哪里,非mixin),可能会引起游戏性能下降,帧数降低及打开界面时卡顿;普通替换就是下文的工作原理,它不仅可以替换字符串常量,还可以替换存在变量,返回值等里面的字符串类型内容,是本模组最主流的用法;补丁文件可以增改删减代码,可以做非汉化相关的改动,自由度更高,但要会Java。动态替换支持1.17+,其他方式支持的版本同步本模组。
其他
替换硬编码字符串功能类似于 动态翻译 Mod,但工作原理不同。
1.4.2+的版本,支持了字节码修改模组代码,类似于 创可贴 Mod,但代码实现方式不同。
使用方式和流程基本相同,所以教程可以沿用,但比原模组支持的版本更多,支持1.6.2+的游戏版本。
本模组的 Github 网站内有相关使用教程以及模组交流群,欢迎讨论。(教程链接)
收录中文简体的硬编码汉化配置库,链接,欢迎贡献和调用。
工作原理
本模组在 1.2.11 后完全重构了模组,作为 CoreMod 使用 ASM 替换。
直接替换掉目标模组类中的字符串常量,使得效率大幅提升。
在 1.4.2 后,支持的字节码修改模组代码,也使用 ASM 替换内存的方式。
制作
mcmod: [VP] 保险库补丁 VaultPatcher
Github: VaultPatcher
文案: KlparetlR


