实现效果
新建一个txt文件,然后代码塞到txt文件里面,然后改后缀为.js就可以可以了
下面代码塞到startup_scripts这个里面
GTCEuStartupEvents.registry('gtceu:recipe_type', mek => { //注册一个配方事件,配方事件必须在机器添加前注册
mek.create('re_li_zheng_liu') //配方类型,JEI上上类别就是这个
.category('re_li_zheng_liu_ta') //不知道是干啥的,找了个边没有匹配上的
.setEUIO('in') //能量输入,in是输入能量
.setMaxIOSize(3, 3, 3, 3) //物品输入槽位,物品输出槽位,流体输入槽位,流体输出槽位,3代表有3个槽位
.setProgressBar( //设置配方进度条显示方式
GuiTextures.PROGRESS_BAR_ARROW,
FillDirection.LEFT_TO_RIGHT
)
.setSlotOverlay( //设置槽位叠加效果
false,
false,
GuiTextures.SOLIDIFIER_OVERLAY
)
.setSound(GTSoundEntries.BOILER) //设置声音
})
GTCEuStartupEvents.registry('gtceu:machine', mek => { ///创建一个事件,gtceu的机器注册
mek.create('re_li_zheng_liu_ta_he_xin', 'multiblock') //机器名称是mek_re_li_zheng_liu,类型是多方块,实际上物品就叫这个
.tooltips(Component.translatable('your.langfile.entry.here')) // 工具提示
.rotationState(RotationState.NON_Y_AXIS) //旋转行为
.appearanceBlock(GTBlocks.CASING_STEEL_SOLID) //外壳显示
.recipeModifiers(
[
GTRecipeModifiers.PARALLEL_HATCH,
GTRecipeModifiers.ELECTRIC_OVERCLOCK.apply(OverclockingLogic.PERFECT_OVERCLOCK)
])
.recipeTypes(['re_li_zheng_liu']) //要和上面注册的一致才有效,配方类型
.pattern(
definition => FactoryBlockPattern.start() //多方块结构
.aisle('WBW', 'WBW', 'WBW', 'WBW', 'WBW', 'WBW', 'WBW', 'WBW', 'WBW') //第三列
.aisle('W#W', 'B#B', 'B#B', 'B#B', 'B#B', 'B#B', 'B#B', 'B#B', 'B#B') //第二列
.aisle('WCW', 'WBW', 'WBW', 'WBW', 'WBW', 'WBW', 'WBW', 'WBW', 'WBW') //第一列
.where(
'C', Predicates.controller
(Predicates.blocks(definition.get()) //控制中心
))
.where(
'#', Predicates.air()
) //空心的,空气
.where('B', Predicates.blocks
(GTBlocks.CASING_TEMPERED_GLASS.get()) //钢化玻璃
.or(Predicates.autoAbilities(definition.getRecipeTypes())) //输入总线,输出总线,输入仓,输出仓这一类的
.or(Predicates.blocks("minecraft:glass")) //玻璃
) //玻璃
.where(
'W', Predicates.blocks("minecraft:stone") //外壳
.or(Predicates.autoAbilities(definition.getRecipeTypes())) //输入总线,输出总线,输入仓,输出仓这一类的
.or(Predicates.abilities(PartAbility.PARALLEL_HATCH).setMaxGlobalLimited(4)) //并行处理仓
.or(Predicates.blocks(GTBlocks.CASING_STEEL_SOLID.get())) //脱氧钢机械方块
//.or(Predicates.abilities(PartAbility.MAINTENANCE).setExactLimit(1)) //维护仓
//.or(Predicates.abilities(PartAbility.MUFFLER).setExactLimit(1)) // 消声仓
)
.build()
)
.workableCasingRenderer(
"gtceu:block/casings/solid/machine_casing_inert_ptfe", //
"gtceu:block/multiblock/large_chemical_reactor", //
false
)
})
下面代码塞到server_scripts这个里面
ServerEvents.recipes(r => {
//蒸馏水到重水
r.recipes.gtceu.distillation_tower(`gregtech:distillation_tower_to_heavy_water`) //distillation_towe 蒸馏塔
.inputFluids(
Fluid.of('gtceu:distilled_water', 10000),//蒸馏水
)
.outputFluids(
Fluid.of('mekanism:heavy_water', 5000),//重水
)
.duration(40)
.EUt(480);
//
r.recipes.gtceu.re_li_zheng_liu(`gregtech:shui_dao_yan_shui`) //gtceu.re_li_zheng_liu 务必和注册的一致
.inputFluids(
Fluid.of('minecraft:water', 10000),//水
)
.outputFluids(
Fluid.of('mekanism:brine', 5000),//盐水
)
.duration(40)
.EUt(480);
r.recipes.gtceu.re_li_zheng_liu(`gregtech:yan_shuo_dao_li`)
.inputFluids(
Fluid.of('mekanism:brine', 10000),//盐水
)
.outputFluids(
Fluid.of('mekanism:lithium', 5000),//锂
)
.duration(40)
.EUt(480);
})
//设置热力蒸馏塔核心的合成配方
ServerEvents.recipes(mek => {
mek.shaped('gtceu:re_li_zheng_liu_ta_he_xin', //名称务必和注册的一样
['AWA', 'ASA', 'WAW'],
{
A: '#gtceu:circuits/mv',
W: 'gtceu:copper_single_cable',
S: 'gtceu:solid_machine_casing'
}
).id('gtceu:mek_re_li_zheng_liu') //注册的配方合成ID
})