总索引贴
许多Mod都配有各自的配置文件以供玩家修改增加自由度。通过修改配置文件可以使Mod的许多功能按照自己的意愿工作。这篇介绍就会告诉你如何修改Mod的配置文件。
公共篇
配置文件的作用
配置文件就是一种文本文件。 配置文件中保存有一些变量,通过改变这些变量可以改变Mod中的一些数据或者规则。 配置文件一般可以在Mod运行时自动生成,里边的数据为默认值。新安装Mod要先运行一下游戏才会生成配置文件。 由于配置文件是Mod自己生成的,所以我们如果擅自做除了改变可改变的变量值之外的改动很可能导致Mod无法识别配置文件从而认定配置文件损坏,用新生成的配置文件覆盖之。所以一般不要擅自给配置文件添加语句,标点,回车空格等。仅仅改变变量的数值部分。 |
文件目录
一般来说,Forge Mod的配置文件在\.minecraft\config LiteLoader Mod的配置文件在\.minecraft\liteconfig |
Forge篇
配置文件 一般Forge Mod的配置文件后缀名为cfg。cfg并不是一种稳定通用的文件格式,而是Modder们自己发明的一种文件格式。编辑cfg文件用记事本就足矣,也可以用MC P&M的自我修养中介绍的高级记事本。 当然config文件家里也会有一些txt,ini格式的文件,这也是Mod作者选择的配置文件格式。但是不管它是什么格式,放在config文件夹里就起到调节Mod运行的作用。由于绝大多数Modder(包括Forge的作者们)都使用cfg格式,所以本文主要介绍cfg格式。某些mod使用特殊的文件格式我会在那些mod的篇章中专门介绍。 一个Mod的配置可以是一个单一的cfg文件,也可以是多个cfg文件(一般会放在config下的一个文件夹内)。同一个作者又是也会让自己做的好几个Mod共用一个cfg文件。 |
注释
以“#”开头的一行为注释。
注释并不会影响程序运行结果,但是方便我们知道修改注释下边的的变量会带来什么后果。第一行的注释说明修改第二行的“false”为“true”会开启有限水规则(就是无限水造不成了)。 |
变量
配置文件保存的变量有三个要素——数据类型、变量名、变量值。
常用的变量数据类型在cfg文件里的简写如下:
注意!有的Mod的配置文件并不会严格遵守上边的格式,例如ChickenBones就不喜欢加数据类型(严重怀疑他是学弱类型语言的……),随意在修改前一定要看清修改前的默认值是什么类型。尤其不要把整数和小数混了。如果修改前是个整数,八成就是整型,别加小数点。 |
分类(category)
若干个变量被一对花括号括起来,前边再加一个名字就形成了所谓的cfg文件中的分类。(十分类似C语言的“结构体”,所以我之前的说法是结构体。感谢u.s.knowledge 的提醒)。
(这里的“结构体”的功能并不像C语言里的结构体那么强大,它只是起一个分类作用,例如很多Mod作者都会把关于世界生成的选项放在一个叫“world”的结构体里。用结构体把同类变量放在一起能方便管理。) 分类还可以嵌套——也就是说分类也是一种数据类型,它可以用来构成其他的分类。
|
LiteLoader篇
json
一般LiteLoader的Mod会采用比较规范的json。和cfg不一样,json(JavaScript Object Notation)是一种使用比较广的数据交换格式,而不是Modder们自己发明的。 我这里仅简单分析一例,想要学习更多json的可以去百度一下。
|
properties
properties也是一种Java程序中常用的文件格式。欲学习详细者请自行百度。只是修改Mod配置的话,基本语法和cfg类似。只不过一般不加数据类型。
|
Minecraft篇
文件和游戏内设置
版本:1.8.9 1.文件 外链:请先看制作整合包的那些事第六部分冗余文件清理,有一个很详细的文件介绍。 (1)总文件夹名:.minecraft Minecraft的所有文一般上都会放在这个文件夹内。但是启动器不在这个文件夹内。 (2)AMD或NVIDIA 这个这文件夹是一些有关显卡渲染的东西。叫什么名字和你的显卡有关系。在清理文件时可以删掉。 (3)launcher_profiles.json 正版启动器的配日志文件。 (4)server-resource-packs 服务器材质包。 (5)一些文件夹的内容的详解请参见地图制作,模组制作的教程。 2.配置 (1)options.txt 用于保存游戏中的设置。所有项目都可以在游戏中那个设置改变。 每一项文伟三个部分——变量名,冒号,变量值。 例如:
3.设置 在游戏内按Esc键打开菜单,点击选项。 (1)视野 窗口内显示的视野大小。 (2)自定义皮肤 分别设置披风;衣帽四肢第二层皮肤的显示与否。 (3)音乐盒声音 控制总音量和背景音乐,天气,玩家,生物,方块等各项音效的独立音量。 (4)视频设置 图像品质:字面意思……主要区分在树叶的透明度、掉落物的图形厚度、阴影等方面。 平滑光照:控制光影效果的细腻程度。也就是亮度渐变。设置的越大亮度变化越平滑,设置的小会看到方块的亮度一格格的突变层次感很明显。 3D效果:打开后显示红蓝3D效果。(需要配合红蓝3D眼镜。亲测表示很难受。) 界面尺寸:设置界面的大小。 云:游戏内云的效果。 全屏:切换全屏和窗口 Mipmap级别:平面纹理清晰程度。等级越高越清晰,但是运算量也越大。 启用缓冲区顶点对象:能够启用/禁用缓冲区顶点对象。开启时能够提升10%左右的性能 能见度:所渲染的区块数。(所设置的是渲染区的半径。) 最大帧率:字面意思……限制帧率的。 视角摇晃:任务走动时视角左右摆动效果的开关。 亮度:游戏显示亮度和游戏内有关刷怪的那个光照度没关系。 颗粒效果:粒子效果渲染程度控制。 使用垂直同步:开启后防止刷新过快导致画面撕裂。 替选方块:能够启用/禁用特殊方块模型。关闭时,最不复杂的最高优先模型将被使用在方块上。 Entity Shadows:实体阴影的开闭。 (5)语言 游戏语言选择,自带汉语。 强制使用Unicode字体:中文界面(其实是一切使用Unicode编码的符号的界面)下使用的就是Unicode字体,英文界是默认的Ascii字体。开启了强制Unicode字体的话会使英语界面也显示和中文界面里的英文字符一样的细长字体。 (6)资源包 详见资源包的使用。 (7)Super Secret Settings... 可以切换到旁观模式下附身不同生物的时候的特殊显示效果。试一下就知道了。(改不回来的时候退出地图重新进入一下。) (8)直播设置 Twitch直播用。 (9)控制 鼠标反转:开启后左右键和鼠标Y轴(前后方向)反转。 鼠标灵敏度:鼠标移动单位距离造成的在桌面上的移动。 触屏模式:字面意思…… 其他各项分别设置各种功能对应的按键。 (10)聊天设置 聊天栏的高度、宽度、透明度等的设置设置,以及聊天是否显示文字颜色,是否可以点击链接打开网页等。 (11)匿名信息反馈设置 用于Mojang收集用户的设备及游戏体验信息,开关不会对游戏本身有任何影响。 (12)难度设置 |
HelloMinecraftLauncher启动器篇
配置文件
文件、配置和设置 (1)HMCL-x.x.x.x.exe 主体程序。 (2)hmcl.json 和主体程序在同一目录下,用于保存主体程序的设置,其中内容基本都可以通过设置修改。 (3)hmcl.log 和主体程序在同一目录下,主体程序的日志文件。 (4)launcher_profiles.json 在.minecraft中,启动器配置文件,内容一般不需要手动修改。 (5)usernamecache.json 一些用户信息,其内容一般不需要手动修改。 |