@@ -32,32 +32,24 @@ title: "Greenhouse"
3232## Multiblock
3333=== "JavaScript"
3434 ```js title="greenhouse_multiblock.js"
35+ const $RecipeLogic = Java.loadClass('com.gregtechceu.gtceu.api.machine.trait.RecipeLogic')
36+ const $List = Java.loadClass('java.util.List')
37+
3538 GTCEuStartupEvents.registry('gtceu:machine', event => {
3639 event.create('greenhouse', 'multiblock')
3740 .rotationState(RotationState.NON_Y_AXIS)
3841 .recipeType('greenhouse')
3942 .appearanceBlock(GTBlocks.CASING_STEEL_SOLID)
4043 .pattern(definition => FactoryBlockPattern.start()
4144 .aisle('CCC', 'CGC', 'CGC', 'CLC', 'CCC')
42- .aisle('CMC', 'GSG ', 'G#G', 'LIL', 'COC')
45+ .aisle('CMC', 'G#G ', 'G#G', 'LIL', 'COC')
4346 .aisle('CKC', 'CGC', 'CGC', 'CLC', 'CNC')
4447 .where('K', Predicates.controller(Predicates.blocks(definition.get())))
4548 .where('M', Predicates.blocks('moss_block')
4649 .or(Predicates.blocks('dirt'))
4750 .or(Predicates.blocks('grass_block'))
4851 )
4952 .where('G', Predicates.blocks('ae2:quartz_glass'))
50- .where('S', Predicates.blocks('oak_sapling')
51- .or(Predicates.blocks('dark_oak_sapling'))
52- .or(Predicates.blocks('spruce_sapling'))
53- .or(Predicates.blocks('birch_sapling'))
54- .or(Predicates.blocks('jungle_sapling'))
55- .or(Predicates.blocks('acacia_sapling'))
56- .or(Predicates.blocks('azalea'))
57- .or(Predicates.blocks('flowering_azalea'))
58- .or(Predicates.blocks('mangrove_propagule'))
59- .or(Predicates.blocks('gtceu: rubber_sapling '))
60- )
6153 .where('I', Predicates.blocks('glowstone'))
6254 .where('L', Predicates.blocks(GTBlocks.CASING_GRATE.get()))
6355 .where('C', Predicates.blocks(GTBlocks.CASING_STEEL_SOLID.get())
@@ -70,9 +62,9 @@ title: "Greenhouse"
7062 .where('#', Predicates.air())
7163 .build()
7264 )
73- .workableCasingModel(
74- "gtceu : block /casings/solid/machine_casing_solid_steel",
75- "gtceu : block /multiblock/implosion_compressor"
65+ .modelProperty(GTModelProperties.RECIPE_LOGIC_STATUS, $RecipeLogic.Status.IDLE)
66+ .model(GTMachineModels.createWorkableCasingMachineModel(GTCEu.id(" block/casings/solid/machine_casing_solid_steel"), GTCEu.id("block/multiblock/implosion_compressor"))
67+ ["andThen(java.util.function.Consumer)"](b => b.addDynamicRenderer(() => GTDynamicRenders.makeGrowingPlantRender($List.of(new Vector3f(0, 1, -1)))))
7668 )
7769 })
7870 ```
@@ -85,23 +77,13 @@ title: "Greenhouse"
8577 .appearanceBlock(GTBlocks.CASING_STEEL_SOLID)
8678 .pattern(definition -> FactoryBlockPattern.start()
8779 .aisle("CCC", "CGC", "CGC", "CLC", "CCC")
88- .aisle("CMC", "GSG ", "G#G", "LIL", "COC")
80+ .aisle("CMC", "G#G ", "G#G", "LIL", "COC")
8981 .aisle("CKC", "CGC", "CGC", "CLC", "CNC")
9082 .where('K', Predicates.controller(Predicates.blocks(definition.get())))
9183 .where('M', Predicates.blocks(Blocks.MOSS_BLOCK)
9284 .or(Predicates.blocks(Blocks.DIRT))
9385 .or(Predicates.blocks(Blocks.GRASS_BLOCK)))
9486 .where('G', Predicates.blocks(AEBlocks.QUARTZ_GLASS.block()))
95- .where('S', Predicates.blocks(Blocks.OAK_SAPLING)
96- .or(Predicates.blocks(Blocks.DARK_OAK_SAPLING))
97- .or(Predicates.blocks(Blocks.SPRUCE_SAPLING))
98- .or(Predicates.blocks(Blocks.BIRCH_SAPLING))
99- .or(Predicates.blocks(Blocks.JUNGLE_SAPLING))
100- .or(Predicates.blocks(Blocks.ACACIA_SAPLING))
101- .or(Predicates.blocks(Blocks.AZALEA))
102- .or(Predicates.blocks(Blocks.FLOWERING_AZALEA))
103- .or(Predicates.blocks(Blocks.MANGROVE_PROPAGULE))
104- .or(Predicates.blocks(GTBlocks.RUBBER_SAPLING.get())))
10587 .where('I', Predicates.blocks(Blocks.GLOWSTONE))
10688 .where('L', Predicates.blocks(GTBlocks.CASING_GRATE.get()))
10789 .where('C', Predicates.blocks(GTBlocks.CASING_STEEL_SOLID.get())
@@ -111,9 +93,9 @@ title: "Greenhouse"
11193 .where('N', Predicates.abilities(PartAbility.MAINTENANCE))
11294 .where('#', Predicates.air())
11395 .build())
114- .workableCasingModel(
115- GTCEu.id("block/casings/solid/machine_casing_solid_steel"),
116- GTCEu.id("gtceu : block /multiblock/implosion_compressor" ))
96+ .modelProperty(GTMachineModelProperties.RECIPE_LOGIC_STATUS, RecipeLogic.Status.IDLE)
97+ .model(GTMachineModels.createWorkableCasingMachineModel( GTCEu.id("block/casings/solid/machine_casing_solid_steel"), GTCEu.id("block/multiblock/implosion_compressor"))
98+ .andThen(b -> b.addDynamicRenderer(() -> GTDynamicRenders.makeGrowingPlantRender(List.of(new Vector3f(0, 1, -1)))) ))
11799 .register();
118100 ```
119101
0 commit comments