-
Notifications
You must be signed in to change notification settings - Fork 0
Example_MultiBlock
LiangquHMF edited this page Aug 9, 2026
·
12 revisions
event.create('kjs_config_parallel', 'multiblock')
.machine((holder) => new ConfigurableElectricParallelMachine(holder, 32))
//32 -> Max_Parallels(int)
//32 -> 设置最大并行数(int)
.rotationState(RotationState.ALL)
.appearanceBlock(GCYMBlocks.CASING_INDUSTRIAL_STEAM)
.recipeType('forge_hammer')
.recipeModifier((machine, recipe) => ConfigurableElectricParallelMachine.recipeModifier(machine, recipe), true)
.addOutputLimit(ItemRecipeCapability.CAP, 1)
.pattern(definition => FactoryBlockPattern.start()
.aisle('AAAAAA', 'ACCCCA', 'AAAAAA')
.aisle('AAAAAA', 'ADDDDA', 'AAAAAA')
.aisle('AAAAAA', 'ACACCA', 'AAAAAA')
.aisle('AAA###', 'AKA###', 'AAA###')
.where('#', Predicates.any())
.where('K', Predicates.controller(Predicates.blocks(definition.get())))
.where('D', Predicates.blocks('gtceu:bronze_gearbox'))
.where('C', Predicates.blocks('gtceu:frame_bronze'))
.where('A', Predicates.blocks('gtceu:industrial_steam_casing').setMinGlobalLimited(45)
.or(Predicates.abilities(PartAbility.IMPORT_ITEMS).setPreviewCount(1))
.or(Predicates.abilities(PartAbility.EXPORT_ITEMS).setPreviewCount(1))
.or(Predicates.abilities(PartAbility.INPUT_ENERGY).setExactLimit(1)))
.build())
.model(GTMachineModels.createWorkableCasingMachineModel(
GTCEu.id('block/casings/gcym/industrial_steam_casing'),
GTCEu.id('block/multiblock/large_chemical_reactor')))
event.create('kjs_enhanceable_electric', 'multiblock')
.machine((holder) => new EnhanceableElectricMachine(holder, true, true))
/*Builder(holder,useFrame,usePipe):
useFrame-When set to true, enables the frame tier mechanism.
usePipe-When set to true, enables the pipe tier mechanism.
useFrame-当设置为 true 时,启用框架等级机制
usePipe-当设置为 true 时,启用管道方块等级机制
*/
.rotationState(RotationState.ALL)
.appearanceBlock(GTBlocks.CASING_STEEL_SOLID)
.recipeType('forge_hammer')
.recipeModifier((machine, recipe) => EnhanceableElectricMachine.recipeModifier(machine, recipe), true)
.addOutputLimit(ItemRecipeCapability.CAP, 1)
.pattern(definition => FactoryBlockPattern.start()
.aisle('AAAAAA', 'ACCCCA', 'AAAAAA')
.aisle('AAAAAA', 'ADDDDA', 'AAAAAA')
.aisle('AAAAAA', 'ACACCA', 'AAAAAA')
.aisle('AAA###', 'AKA###', 'AAA###')
.where('#', Predicates.any())
.where('K', Predicates.controller(Predicates.blocks(definition.get())))
.where('D', GTUFPatternPredicates.UniversalPipeTier())
.where('C', GTUFPatternPredicates.UniversalFrameTier())
.where('A', GTUFPatternPredicates.UniversalCasingTier().setMinGlobalLimited(40)
/*
GTUF_PatternPredicates:
UniversalCasingTier:CASING_STEEL_SOLID=1,CASING_ALUMINIUM_FROSTPROOF=2,
CASING_STAINLESS_CLEAN=3,CASING_TITANIUM_STABLE=4,CASING_TUNGSTENSTEEL_ROBUST=5
UniversalFrameTier:Steel=1,Aluminium=2,StainlessSteel=3,Titanium=4,TungstenSteel=5
UniversalPipeTier:CASING_BRONZE_PIPE=1,CASING_STEEL_PIPE=2,CASING_TITANIUM_PIPE=3,CASING_TUNGSTENSTEEL_PIPE=4
UniversalGearboxTier:Not used yet(暂无使用)
SteamCasingTier:CASING_BRONZE_BRICKS=1,CASING_STEEL_SOLID=2
SteamFrameTier:Bronze=1,Steel=2
*/
.or(Predicates.abilities(PartAbility.IMPORT_ITEMS).setPreviewCount(1))
.or(Predicates.abilities(PartAbility.EXPORT_ITEMS).setPreviewCount(1))
.or(Predicates.abilities(PartAbility.INPUT_ENERGY).setExactLimit(1))
.or(Predicates.abilities(GTUFPartAbility.THREAD_HATCH).setPreviewCount(1)))
.build())
.model(GTUFModels.createTieredMachineModel(
GTCEu.id('block/casings/solid/machine_casing_solid_steel'),
GTCEu.id('block/multiblock/large_chemical_reactor')))