几乎所有mod都需要某种配置文件,这可以让玩家改变你的mod平衡。添加一个配置文件十分简单。这一章教程我们将会向你展示如何做到这个。
首先,我们添加一个“Config”类用于处理我们的配置。在这里的例子中,这只是一个单独的类。在一些规模比较大的mod中,你可能想要用不同的方式构建你的配置类们,也许是根据每一个模块进行分类。在这里的例子中,我们创建了一个拥有两个部分(也可以叫做类别)的配置文件。其中一个用于通用配置,而另一个用于dimension(维度?)的配置(现在没有用到)。
Automatic Creation(自动化创建):很重要的一点是Forge的配置框架让你可以在不用考虑配置文件是否存在的情况下访问它。如果需要,它会自动为你创建文件并把配置选项添加到文件中。比如说,如果你之后决定添加一个新的配置选项,那么你就可以在这里进行这个操作,然后配置文件就会自动的被扩展。
Changing Defaults(更改默认项):如果你修改了一个配置选项的默认值,那么它不会在配置文件中反映出来。如果你有一个配置选项需要一个不同的默认值,你必须告诉用户手动删除配置文件或者想另外一个法子强制重置。一个方法是重命名这个配置。这个方法将会用新的默认值创建一个新的配置,但以前那个配置仍将会保留在生成的配置文件中。另一个方法是增加版本(这个是你加在你配置文件中的另一个数字)。
Server/Client config(服务端/客户端配置):一个最后需要注意的地方:配置文件在服务器端和客户端都被读取的。当你要添加需要用于两端的值时,想想这句话。比如说,一台机器需要多少电是一个服务器端的配置,但是客户端可能也想要在提示信息中展示出这一信息。如果你有类似这样的情况,你必须确保客户端一直有一个最新的配置文件(因为不然的话,提示信息就错了)或者在服务端和客户端之间通过网络传输真实的信息。
我们还需要在我们的CommonProxy类添加一些东西。我们在FMLPreInitializationEvent中给出的目录中创建一个新的配置文件,然后我们调用Config.readConfig()来进行设置。我们还需要在postInit()方法中实现一些内容来保证当我们的配置在初始化的过程中发生变化,它能够被保存。
领取专属 10元无门槛券
私享最新 技术干货