跳到正文

More Default Options

作者:GrumpyChunks

一个方便整合包开发者为 Minecraft 和各种模组创建默认选项的模组。

收藏

截图

介绍

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

 

概述

这是一个高度可自定义、但极其轻量的模组,可让整合包开发者创建许多自定义的游戏内默认选项。它不仅支持原版的 options.txt 文件,还支持在游戏内配置的模组,例如 JourneyMap 和 FTB Utilities。请注意,游戏加载完成后,此模组不会产生任何额外开销,并会在你开始游玩前释放所有占用的内存,因为它只会在加载界面期间使用。

用途

整合包开发者通常不应该在整合包中附带 options.txt 之类的文件,因为每次整合包更新时,文件中的设置都会覆盖玩家自行配置的选项。玩家花时间设置好控制按键后,却发现整合包更新时设置被覆盖,这会让人非常恼火。然而,如果整合包不附带 options.txt 之类的文件,往往就会出现许多相互冲突的控制按键映射,这可能会导致模组无法正常运行,也可能让玩家感到困惑。

此模组旨在解决这个问题:它会将自定义配置文件复制到游戏目录,但仅限目标文件尚不存在时。也就是说,整合包制作者自定义的选项文件只会在整合包首次启动时创建;整合包更新时不会尝试覆盖任何已有的选项文件,因此玩家之后所做的自定义设置也能保留下来。

此模组并非用于存放在 /config 目录中的标准模组配置文件,而是用于玩家选项,也就是玩家在游戏中设置的选项。例如,设置 JourneyMap 的默认主题、图标或地图大小,更改默认按键绑定,以及设置其他无法预先设定的选项。

更多默认选项?“更多”体现在哪里?

已经有一个非常优秀的模组叫作 Default Options,它能很好地创建默认的 options.txt。不过,像 JourneyMap 这样可以在游戏内配置的模组,也会遇到与 options.txt 文件相同的问题。整合包可以附带配置文件来设置 JourneyMap,但如果用户调整了 JourneyMap 的配置,后续的整合包更新就会覆盖这些用户设置。

此模组的灵感来自 Default Options 模组,但它的主要目标是支持在整合包中配置 JourneyMap,因为我个人认为 JourneyMap 的许多默认设置并不适合我的整合包。

此模组还可以配置为仅在服务器、客户端或两者上复制指定的默认文件,让整合包也能在专用服务器上创建默认的世界生成选项(即 server.properties 文件)。

配置

此模组的配置文件(讽刺的是,默认情况下不会生成)使用 JSON 格式,示例如下(你可以复制并粘贴此示例文件来开始配置):

[

    {

        “sourceFilePath”: “options.txt”,

        “destinationFilePath”: “options.txt”,

        “clientSide”: true,

        “serverSide”: false

    },

    {

       “sourceFilePath”: “journeymap.core.config”,

       “destinationFilePath”: “journeymap/config/5.2/journeymap.core.config”,

       “clientSide”: true,

       “serverSide”: true

   },

   {

       “sourceFilePath”: “journeymap.minimap.config”,

       “destinationFilePath”: “journeymap/config/5.2/journeymap.minimap.config”,

       “clientSide”: true,

       “serverSide”: false

    }

]

请注意,JSON 必须有效且没有拼写错误,否则模组将抛出异常并停止 Minecraft 加载。这是有意设计的,以便整合包开发者能够快速修正 JSON,而无需等待 Minecraft 完成加载。不过,如果配置文件不存在,模组会记录这一事实,卸载自身,然后允许游戏继续加载。有许多在线工具可以帮助你检查 JSON 是否有效,这个是我最喜欢的一个。显然,它无法捕捉拼写错误,但它肯定能捕捉格式错误(例如缺少大括号、圆括号和逗号)。如果你遇到问题,欢迎在评论中留言,我会尽力提供帮助(如果时间允许)。

示例

我有一个整合包使用了我的模组 More Default Options,所以如果你想查看配置文件的结构并测试其工作方式,请查看我的整合包 PureTech ,它可在 Curse 启动器上获取。

目录结构

Curse 启动器在 Windows 上使用的典型目录结构示例可能如下:

c:\Users\Steve\Documents\Curse\Minecraft\Instances\ModpackName

为了本示例的方便,我们将上面的目录称为 GameDir,因此通常你的游戏目录结构应如下所示:

GameDir/

+ Config/

    + MoreDefaultOptions/

        – Options.txt

        – OtherDefaultFile.txt

     – MoreDefaultOptions.json

+ Logs/

+ Mods/

+ ResourcePacks/

–  manifest.json

–  Options.txt

因此,配置文件 MoreDefaultOptions.json 将位于:

GameDir/Config/MoreDefaultOptions.json

……而默认文件应全部位于以下目录中

GameDir/Config/MoreDefaultOptions/

 

我在 Curse 上维护的一个名为 PureTech 的整合包中有一个可用的配置,如果你想下载并亲自查看配置的话。这个整合包会安装一个默认的 options.txt,以及一套 JourneyMap 的默认配置,如上方的文件夹截图所示。

其他配置说明

  • 源默认文件必须始终存放在 MinecraftDir/config/MoreDefaultOptions/ 中。它们不能放在子目录中,因此 JSON 配置文件中的 sourceFilePath 值只需填写文件名。
  • 默认文件的目标路径相对于游戏目录,例如 options.txt 会放在游戏目录的顶层。不能使用 “../” 这样的路径遍历到文件系统层级中的上级目录。destinationFilePath 不能以斜杠开头。
  • 注意,指定目录路径时,建议使用 Unix 风格的正斜杠“/”。这种写法已在 Windows、Mac 和 Unix 系统上测试并可正常使用,不过反斜杠“\”也应该不会有问题。
  • 如果你已配置好这个模组,但它似乎没有生效,请检查日志文件(客户端或服务器端)。日志会记录启动期间执行的操作和错误,有助于你排查问题。
  • 理论上,这个模组也可以用同样的原理复制任何类型的文件(图片、音频文件,甚至其他模组):仅当目标位置尚不存在该文件时,才在目标位置创建文件。不过,这并不是正式支持的功能。
  • sourceFilePath 必须指向文件,不能指向目录。

其他说明 

我愿意听取改进这个模组的建议,也欢迎你在评论中反馈。如果你发现模组存在任何问题,请通过 CurseForge 项目页面上的链接提交报告。

常见问题

More Default Options 支持哪些 Minecraft 版本?

More Default Options 支持 Minecraft Java 版 1.10.2–1.12.2,共 5 个版本,可用的加载器:Forge。下载时注意选择和你游戏版本一致的文件。

More Default Options 怎么安装?

先用 PCL2 或 HMCL 启动器安装对应版本的 Forge,再把下载的 .jar 文件放进游戏目录的 mods 文件夹,重新启动游戏即可。开启了版本隔离的,mods 文件夹在 versions/版本名 下面。

评论

登录后评论和评分

GrumpyChunks 的其他作品

查看全部 →