
Options Enforcer
修改options.txt及其他顶层配置文件中的值,并从子文件夹复制文件...
查看大图
注意:此模组不会更新到 1.19 以上版本。
这是因为 Minecraft 那严苛且专横的举报系统,它可能被欺骗和利用,导致用户无法在自己的私人服务器上游玩。
我原则上反对这个糟糕的系统,只要我不在 1.19 以上的版本运行游戏,我就不会让我的账户沾上这个可能性。
幸运的是,Options Enforcer 的代码在 https://gitgud.io/AstroTibs/options-enforcer,你可以自行将其移植到新版本!
给您带来的不便,敬请谅解。
Options Enforcer (OE) 是一个仅客户端模组,主要面向整合包设计。它做两件事。
功能一——配置/选项强制执行(主要面向整合包作者)
注意: 此功能与 Default Options 和 More Default Options 非常相似。根据你想实现的目标,它可能是相同的——我没有详细研究过那些模组。当我发现它们存在时,这个项目已经进行得很深入了。OE 的配置方式不同,所以在其他条件相同的情况下,你可能会更喜欢 OE 的配置语法。

OE 允许你覆盖 options.txt 和其他配置文件中的值,这样你就不必在每次更新整合包时都捆绑这些文件。为什么这很重要?
问题 1.1:如果你在整合包中包含完整的 options.txt,它会覆盖用户的副本,将他们所有的值(按键绑定、声音、渲染等)重置为整合包默认值。
问题 1.2:如果你在整合包中只包含部分值的 options.txt,它会覆盖用户的副本,将所有未包含的值重置为 Minecraft 默认值。
问题 1.3:如果你不在整合包中包含 options.txt,用户的值永远不会被覆盖,但需要他们自己解决按键冲突、应用资源包和设置重要值等问题。
使用 Options Enforcer,首先,整合包作者只需将他希望强制执行的值添加到 optionsenforcer.cfg 文件中,例如:
options.txt|renderDistance:10
其次,作者只需不将 options.txt 包含在整合包中。
现在,每次用户更新或启动整合包时,值 renderDistance:10 将被插入到文件 options.txt 中,而所有其他值将保留为用户最后一次离开时的状态。
或者,从 OE 版本 1.4 开始,你可以在强制执行条目末尾附加 |default:这样做将仅在首次启动时设置该值,但如果已有值,则永远不会设置!
OE 设计用于 options.txt、optionsof.txt、smart_moving_options.txt 等位于 Minecraft 根目录中的文件,但也可以修改其他模组配置文件,例如 config/VillageNames4/general.cfg。
重要提示: 确保不要捆绑你正在强制执行值的配置文件,例如 options.txt,否则就失去了意义!
这个模组是为我的整合包 Galaxy Odyssey 的 Technic 版本 而创建的,但也可能适用于多个整合包平台。
功能二——模组结转(主要面向整合包用户)
注意: 此功能类似于 Mod Director,后者实际上做得更好,它在启动期间下载并加载模组;也类似于 MCInstance Loader。然而,这些模组依赖于启动时可访问的下载链接,如果链接不可用,它们会在启动时崩溃。

也许你,作为整合包用户,想使用诸如 OptiFine、WAILA、Fullscreen Windowed、Real First Person 2 等未包含在整合包中的模组。然而,每次你更新整合包时,它都会清空并替换 mods 文件夹中的所有模组,迫使你再次下载这些辅助模组。
启动时,OE 会将 mods-carryover 文件夹(如果不存在,OE 会创建)中的所有 .jar 和 .zip 文件复制到常规的 mods 文件夹中,前提是这些文件尚未存在于那里。
通常,整合包作者不需要对这个配置值做任何处理,只需将其重命名为另一个文件夹名即可。在包更新之间,由用户自己管理想要复制过来的模组。除非整合包平台或启动器特别严格,并删除所有不认识的文件夹名,否则 mods-carryover 文件夹及其内容应该在包更新之间保留下来。
整合包作者不应将此新增文件夹名的配置值留空,因为这会阻止模组被复制,基本上使此功能失效,并导致用户在包更新后必须重新获取或复制模组。那样的话,你还不如直接使用 Default Options 或 More Default Options 来代替 OE。
备注:
- 这个模组的灵感来源于更新我的 Technic 整合包 Galaxy Odyssey 时解决上述两个限制。去看看吧!
- 你可以在整合包中使用这个模组。毕竟,这就是它的意义所在!
- 如果你有问题或想聊天,可以来我的 Discord 服务器。
正在加载版本记录…


正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。