前言

看到评论区有人问如何通过修改配置文件来生成铝、铱之类的矿物,于是写了这篇教程。实际上应该归到CoFH World里,但是考虑到CoFH World页面基本没人看就决定放这里了。

不想看具体细节可以直接将底下解决方案的代码合并到.minecraft\config\cofh\world\01_thermalfoundation_ores.json文件中 (实际上CoFH World递归读取了文件夹下所有json,所以新建一个json或者在里面建文件夹再新建json也是可以的)。

这里只讨论了一部分细节。感兴趣可以去看官方文档或者读源码。


文件格式

这里截取.minecraft\config\cofh\world\01_thermalfoundation_ores.json文件的一部分作为参考。

  • distribution描述生成物的分布情况,可选uniform, gaussian, surface等等。uniform分布会使生成物均匀生成在某个高度区间之内,因此需要指定min-height(最低高度)和max-height(最高高度)两个值。

  • generator描述矿脉形状以及具体生成物。可选cluster, sparse-cluster, large-vein等等。如果distribution为uniform那么这里默认为cluster,一个矿脉中的矿物简单地聚在一起,这也是绝大多数矿物的生成方式。generator内的block值描述了具体生成什么方块。name对应block的内部id。热力基本矿物的内部id都注册为thermalfoundation:ore,这个不用改。不同矿物靠metadata区分,对应表附在最后。material值不用管。cluster-size值决定矿脉大小,但这个数字不代表block的数量。block值也可以是一个对象数组,让一个矿脉中含有多种生成物,此时需指定各个生成物的权重weight以调节比例。具体不展开,可以参考silver和lead。

  • cluster-count描述生成物的区块密度,数字代表每个chunk尝试生成的次数。

  • min-height和max-height指定生成的高度区间。

  • retrogen决定是否在已经生成的chunk中再次生成。一般是没装这个mod的时候开的存档玩到一半再装这个mod才会有影响。不用管。

  • biome决定生成于哪些生物群系。填all相当于无限制。

  • dimension决定生成于哪些世界。restriction值决定接下来的value数组是白名单 (只在这些世界中生成) 还是黑名单 (不在这些世界中生成)。value数组内填写世界id,0代表主世界,-1代表下界,1代表末地。这个例子的意思是不在下界和末地生成。


  • 解决方案

    铜: 0

  • 锡: 1

  • 银: 2

  • 铅: 3

  • 铝: 4

  • 镍: 5

  • 铂: 6

  • 铱: 7

  • 蕴魔秘银: 8