本篇教程由作者设定未经允许禁止转载。
首先是理论部分,自定义矿脉的第一步是移除矿脉以外的其他矿物,这一点非常容易做到,只需修改各模组的cfg文件即可,删除矿物的生成,这步操作不会影响cofh world。
现在来看cofh world是如何生成矿脉的,打开位于config\cofh\world的文件夹,我们在这里先来分析cofh cfg文件提供的示例(这里以煤炭为例)。
"coal": {
"distribution": "uniform", //分布类型:在最小高度和最大高度之间均匀分布。
"generator": {
"block": "coal_ore", //需要替换为的方块:煤炭
"material": "minecraft:stone", //需要替换的方块:石头
"cluster-size": 17 //矿簇期望规模(不是确切数值)
},
"cluster-count": 20, //在单个区块成功生成矿脉的概率(生成成功尝试的次数),
//符合条件的每个区块求值一次。(越大生成概率越高)
"min-height": 0, //矿脉最小生成高度
"max-height": 128, //矿脉最大生成高度
"retrogen": false, //如果该区块已经生成一次本矿脉,是否重复计算再次生成。
"biome": "all", //执行此操作的生物群系(值:所有)
"dimension": { //执行此操作的维度
"restriction": "blacklist", //执行此操作的维度的黑名单(也可以设置为白名单)
"value": [ //执行黑名单维度 1,-1.地狱和末地啦。
-1,
1
]
}
},
我们现在来描述一下这个示例,在y轴0-128的范围内,以20次概率生成一个拥有17个煤炭矿石规模的矿脉,不限生物群系,维度。
值得注意的是。
"distribution": "uniform" //分布类型
这一行里,我们可以替换"uniform"为gaussian定高,surface地表,underwater水底,cave洞穴表面等等不同的分布类型,当然,后续的参数也需要修改。
不难发现,要使用cofh world控制原版矿物的生成是及其容易的,那么我们如何控制其生成一个拥有模组矿物的矿脉捏?
首先打开f3,准星对准你的矿物,看右下角的值,这里分别是 ic2:resource,type:copper_ore。
我们只需要将示例里的 "block" 稍作修改。(我们这里以一个混合多种矿物的矿脉为例)
"block": [
{
"name": "minecraft:iron_ore", //你的矿物
"weight": 60 //矿脉里生此矿物的权重
},
{
"name": "ic2:resource", //我们的模组矿物
"properties": {
"type": "copper_ore" //type类型
},
"weight": 15
},
{
"name": "mekanism:oreblock",
"properties": {
"type": "osmium"
},
"weight": 25
}
],
我们在这里演示的是一个混合有ic2里的铜矿mek里的锇,原版的铁的矿脉,他们在这一个矿脉里生成的占比分别是0.6,0.15,0.25。
当然对于不同的模组,在获取“type”可能稍有差异。我们来看下边这个例子。
{
"name": "libvulpes:ore0",
"properties": {
"varient": "8"
},
"weight": 40
}
这个方块没有对应的type,取而代之的是“varient”。