本篇教程由作者设定未经允许禁止转载。
GTCEu为玩家提供了一套极为简便的自定义矿脉方法。而且修改后能正确的反映在jei的矿物系统里,非常方便。
打开位于config\gregtech\dimensions.json,该文件存储的是gt矿脉所涉及的维度的名字,这样会显示在维度ID的后边,如0(overworld),不写也没事,我们这里截取一段。
{
"dimID": 0,
"dimName": "Overworld"
},
显而易见的,该段描述了主世界维度,主世界的维度id是0。
我们也可以在这个文件里添加其他维度,例如:
{
"dimID": 7,
"dimName": "Twilight Forest"
},
显而易见的,这是暮色森林的维度,在游戏里边就看到7(Twilight Forest)了。
打开config\gregtech\worldgen\vein文件夹,这里存放着不同维度的矿脉配置,gt已经提供了主世界,下界,末地三个文件夹,我们这里依葫芦画瓢,为了方便后续维护,文件夹命名建议是对应的维度。
在这里假如我们想在星系月球维度(id为-28)添加一个铝土矿矿脉,先新建一个moon(叫什么不重要,主要是看得懂便于分类,建议使用字母命名)文件夹。再打开GT已经配置好的铝土矿矿脉示例(原版的gt铝土矿位于末地,需要找一下),现在简单的分析一下。
{
"weight": 40, //权重
"density": 0.25,
"min_height": 10, //矿脉生成的位置
"max_height": 80,
"vein_populator": {
"type": "surface_rock", //矿脉类型,普通矿物或者宝石类
"material": "aluminium"
},
"dimension_filter": [ //配置的维度
"name:moon.moon" 或者 dimension_id: -28 //格式为 dimension_id:对应维度id(在这里已经修改)
],
"generator": { //矿脉细节
"type": "layered", //矿脉是分层的
"radius": [ //矿脉的半径,矿石密度
14,
16
]
},
"filler": {
"type": "layered", //对于分层矿脉,需要配置其上,中,下层,以及散乱生成的矿物
"values": [
{
"primary": "ore:bauxite" //在这里我们可以添加自己想要的矿物,随便修改
},
{
"secondary": "ore:ilmenite"
},
{
"between": "ore:aluminium"
},
{
"sporadic": "ore:ilmenite"
}
]
}
}
GT已经拥有主世界三个维度的方块信息,比如花岗岩矿石以及末地石矿石。与主世界不同的是,月球的底下生成的是月球石头,因此我们需要添加月球石头的基底来生成矿脉。打开script文件夹,新建文件(本魔改需要模组DevTech支持,目前不支持ceu最新版本)。
import mods.gregtech.material.MaterialRegistry;
import mods.gregtech.material.MaterialBuilder;
import mods.gregtech.material.Material;
import mods.gregtech.ore.OrePrefix;
import mods.gregtech.StoneType;
MaterialBuilder(9501, "moon_stone").dust().color(0x636362).build(); //注册ID,注意不要重复
val oreMoonStone as OrePrefix = OrePrefix.registerOrePrefix("oreMoonStone", 1);
oreMoonStone.addSecondaryMaterial(<material:moon_stone>, 1);
StoneType.create(16, "moon_stone", "oreMoonStone", <material:moon_stone>, "galacticraftcore:basic_block_moon:basictypemoon=moon_stone");
此处是为了让GT矿脉能够识别月球石头作为基地并且在正常生成矿脉,其余维度替换名称即可。
这样我们就把铝土矿移动到了月球维度,也可以在jei里查询到对应变化,是不是非常方便呢?
最后,请打开gtceu的cfg的配置界面,将worldgen options里的allUniqueStoneTypes改为true,这样你的矿石就可以在gt的终端里显示了,也可以在jei里查询到相应的配方。
另一种写法,在你的矿脉文件内添加如下代码:
"generation_predicate":["block:galacticraftcore:basic_block_moon:basictypemoon=moon_stone"],
这里表示矿石会自动以石头基底替换月球石头。
当然,你也可以使用:
"generation_predicate":[any],
来替换所有方块,包括空气,这里有极大概率会让你的矿石生成在空气内!!
关于给你的矿石汉化方法,新注册的矿石没有名字,我们需要做如下修改:
打开lang文件,加入以下两条。
material.moon_stone=月球
item.material.oreprefix.oreMoonStone=月球%s
即可
gt的流体矿脉配置,相较于矿石,虚拟油田的配置更加简单,举一个简单的例子即可。
{
"weight": 15,
"name": "Heavy Oil Deposit",
"yield": {
"min": 200, // 油田的最大最小产量
"max": 300
},
"depletion": {
"amount": 1,
"chance": 100,
"depleted_yield": 20
},
"fluid": "oil_heavy", //油田里的液体
"dimension_filter": [ //维度
"name:planet.moon"
],
"biome_modifier": { //生物群系
"type": "biome_dictionary",
"ocean": 5,
"sandy": 10
}
}