-Receiver casing fix and large solar panel tiers (#1505)

This commit is contained in:
Redeix 2025-08-02 05:29:52 -05:00 committed by GitHub
parent 6eaf69b4be
commit 2d6edff7ea
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
5 changed files with 289 additions and 8 deletions

View file

@ -5,7 +5,9 @@
"block.gtceu.end_dome": "Enderarium",
"block.gtceu.greenhouse": "Greenhouse",
"block.gtceu.steam_bloomery": "Steam Bloomery",
"block.gtceu.large_solar_panel": "Large Solar Panel",
"block.gtceu.large_solar_panel": "§9Large Solar Panel",
"block.gtceu.large_solar_panel_tier2": "§bLarge Solar Panel II",
"block.gtceu.large_solar_panel_tier3": "§cLarge Solar Panel III",
"block.gtceu.gas_pressurizer": "Gas Pressurizer",
"block.gtceu.nuclear_fuel_factory": "Nuclear Fuel Factory",
"block.gtceu.heat_exchanger": "Heat Exchanger",
@ -25,7 +27,9 @@
"gtceu.steam_bloomery": "Steam Bloomery",
"gtceu.food_oven": "Food Oven",
"gtceu.food_processor": "Food Processor",
"gtceu.large_solar_panel": "Large Solar Panel",
"gtceu.large_solar_panel": "§9Large Solar Panel",
"gtceu.large_solar_panel_tier2": "§bLarge Solar Panel II",
"gtceu.large_solar_panel_tier3": "§cLarge Solar Panel III",
"gtceu.gas_pressurizer": "Gas Pressurizer",
"gtceu.nuclear_fuel_factory": "Nuclear Fuel Factory",
"gtceu.heat_exchanger": "Heat Exchanger",

View file

@ -254,7 +254,7 @@
"block.tfg.rapeseed_dead": "Dead Rapeseed",
"block.tfg.casings.machine_casing_iron_desh": "Desh Machine Casing",
"block.tfg.casings.machine_casing_red_solar_panel": "Energium Solar Panel Casing",
"block.tfg.casings.machine_casing_aluminium_plated_steel": "Aluminium Plated Steel Machine Casing",
"block.tfg.machine_casing_aluminium_plated_steel": "Aluminium Plated Steel Casing",
"block.tfg.sand.fluorapatite.blue": "Blue Fluorapatite Sand",
"block.tfg.sandstone.raw.fluorapatite.blue": "Raw Blue Fluorapatite Sandstone",
"block.tfg.sandstone.wall.raw.fluorapatite.blue": "Raw Blue Fluorapatite Sandstone Wall",

View file

@ -3,14 +3,14 @@
"loader": "gtceu:machine",
"machine": "tfg:interplanetary_item_receiver",
"texture_overrides": {
"all": "gtceu:block/casings/voltage/mv/side"
"all": "tfg:block/casings/machine_casing_aluminium_plated_steel"
},
"variants": {
"is_formed=false": {
"model": {
"parent": "gtceu:block/machine/template/cube_all/sided",
"textures": {
"all": "gtceu:block/casings/voltage/mv/side",
"all": "tfg:block/casings/machine_casing_aluminium_plated_steel",
"overlay_front": "tfg:block/machines/interplanetary_item_receiver/overlay_front",
"overlay_front_emissive": "tfg:block/machines/interplanetary_item_receiver/overlay_front_emissive"
}
@ -20,7 +20,7 @@
"model": {
"parent": "gtceu:block/machine/template/cube_all/sided",
"textures": {
"all": "gtceu:block/casings/voltage/mv/side",
"all": "tfg:block/casings/machine_casing_aluminium_plated_steel",
"overlay_front": "tfg:block/machines/interplanetary_item_receiver/overlay_front_active",
"overlay_front_emissive": "tfg:block/machines/interplanetary_item_receiver/overlay_front_active_emissive"
}

View file

@ -210,6 +210,8 @@ const registerGTCEuMachines = (event) => {
"tfg:block/steam_bloomery")
//#endregion
//#region Large Solar Panels
//Tier 1
event.create('large_solar_panel', 'multiblock')
.rotationState(RotationState.NON_Y_AXIS)
.generator(true)
@ -238,7 +240,7 @@ const registerGTCEuMachines = (event) => {
.aisle(" B B ", " B B ", " CCCCC ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ")
.where("H", Predicates.controller(Predicates.blocks(definition.get())))
.where("B", Predicates.blocks(ChemicalHelper.getBlock(TagPrefix.frameGt, GTMaterials.StainlessSteel)))
.where("C", Predicates.blocks("tfg:casings/machine_casing_red_solar_panel"))
.where("C", Predicates.blocks("tfg:casings/machine_casing_blue_solar_panel"))
.where("E", Predicates.blocks("ad_astra:iron_plateblock"))
.where("F", Predicates.blocks("tfg:casings/machine_casing_iron_desh")
.or(Predicates.autoAbilities(definition.getRecipeTypes()))
@ -272,7 +274,7 @@ const registerGTCEuMachines = (event) => {
.aisle(" B B ", " B B ", " CCCCC ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ")
.where("H", controller, Direction.SOUTH)
.where("B", Block.getBlock("gtceu:stainless_steel_frame"))
.where("C", Block.getBlock("tfg:casings/machine_casing_red_solar_panel"))
.where("C", Block.getBlock("tfg:casings/machine_casing_blue_solar_panel"))
.where("E", Block.getBlock("ad_astra:iron_plateblock"))
.where("A", GTMachines.ITEM_IMPORT_BUS[GTValues.ULV], Direction.WEST)
.where("D", GTMachines.MAINTENANCE_HATCH, Direction.SOUTH)
@ -286,6 +288,265 @@ const registerGTCEuMachines = (event) => {
)
.workableCasingModel('tfg:block/casings/machine_casing_iron_desh', 'gtceu:block/multiblock/hpca')
//Tier 2
event.create('large_solar_panel_tier2', 'multiblock')
.rotationState(RotationState.NON_Y_AXIS)
.generator(true)
.recipeType('large_solar_panel_tier2')
.noRecipeModifier()
.appearanceBlock(() => Block.getBlock('tfg:casings/machine_casing_iron_desh'))
.pattern(definition => FactoryBlockPattern.start()
.aisle(" A A ", " A A ", " B B ", " B B ", " CCCCCCC ", " ", " ", " ", " ", " ", " ", " ", " ", " A")
.aisle(" A A ", " A A ", " B B ", " B B ", " CCC CCC ", " ", " ", " ", " ", " ", " ", " ", " ", " ")
.aisle(" B B ", " B B ", " B B ", " CCCCCCC ", " CC CC ", " ", " ", " ", " ", " ", " ", " ", " ", " ")
.aisle(" A B B A ", " A B B A ", " B B B B ", " B CC CC B ", " C C ", " ", " ", " ", " ", " ", " ", " ", " ", " ")
.aisle(" B B ", " B B ", " CCCCC ", " C C ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ")
.aisle(" A B B A ", " A B B A ", " B CC CC B ", " B CC CC B ", " CC CC ", " ", " ", " ", " ", " ", " ", " ", " ", " ")
.aisle(" B B ", " CCCCC ", " CC CC ", " CC CC ", " CC CC ", " ", " ", " ", " ", " ", " ", " ", " ", " ")
.aisle(" B B ", " CC CC ", " C C ", " C C ", " C C ", " ", " ", " ", " ", " ", " ", " ", " ", " ")
.aisle(" A B CCC B A ", " A B CC CC B A ", " B B CC CC B B ", " B C C B ", " C C ", " ", " ", " ", " ", " ", " ", " ", " ", " ")
.aisle(" B B CC CC B B ", " B C C B ", " C C ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ")
.aisle("A B C C B A", "A B B A", "B B B B", "B C C B", "C C", " ", " ", " ", " ", " ", " ", " ", " ", " ")
.aisle(" B B B B ", " B C C B ", " C C ", " C C ", "C C", " ", " ", " ", " ", " ", " ", " ", " ", " ")
.aisle(" C III C ", " C B B C ", " C B B C ", " C B B C ", "C B B C", " B B ", " B B ", " B B ", " B B ", " B B ", " DDD ", " EEE ", " EEE ", " EEE ")
.aisle(" C IFI C ", " C F C ", " C F C ", " C F C ", "C F C", " F ", " F ", " F ", " F ", " F ", " DFD ", " EFE ", " EGE ", " EEE ")
.aisle(" C IHI C ", " C B B C ", " C B B C ", " C B B C ", "C B B C", " B B ", " B B ", " B B ", " B B ", " B B ", " DDD ", " EEE ", " EEE ", " EEE ")
.aisle(" B B B B ", " B C C B ", " C C ", " C C ", "C C", " ", " ", " ", " ", " ", " ", " ", " ", " ")
.aisle("A B C C B A", "A B B A", "B B B B", "B C C B", "C C", " ", " ", " ", " ", " ", " ", " ", " ", " ")
.aisle(" B B CC CC B B ", " B C C B ", " C C ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ")
.aisle(" A B CCC B A ", " A B CC CC B A ", " B B CC CC B B ", " B C C B ", " C C ", " ", " ", " ", " ", " ", " ", " ", " ", " ")
.aisle(" B B ", " CC CC ", " C C ", " C C ", " C C ", " ", " ", " ", " ", " ", " ", " ", " ", " ")
.aisle(" B B ", " CCCCC ", " CC CC ", " CC CC ", " CC CC ", " ", " ", " ", " ", " ", " ", " ", " ", " ")
.aisle(" A B B A ", " A B B A ", " B CC CC B ", " B CC CC B ", " CC CC ", " ", " ", " ", " ", " ", " ", " ", " ", " ")
.aisle(" B B ", " B B ", " CCCCC ", " C C ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ")
.aisle(" A B B A ", " A B B A ", " B B B B ", " B CC CC B ", " C C ", " ", " ", " ", " ", " ", " ", " ", " ", " ")
.aisle(" B B ", " B B ", " B B ", " CCCCCCC ", " CC CC ", " ", " ", " ", " ", " ", " ", " ", " ", " ")
.aisle(" A A ", " A A ", " B B ", " B B ", " CCC CCC ", " ", " ", " ", " ", " ", " ", " ", " ", " ")
.aisle("A A A ", " A A ", " B B ", " B B ", " CCCCCCC ", " ", " ", " ", " ", " ", " ", " ", " ", " ")
.where("A", Predicates.blocks('gtceu:light_concrete')
.or(Predicates.blocks('gtceu:polished_light_concrete'))
.or(Predicates.blocks('gtceu:light_concrete_bricks'))
.or(Predicates.blocks('gtceu:cracked_light_concrete_bricks'))
.or(Predicates.blocks('gtceu:mossy_light_concrete_bricks'))
.or(Predicates.blocks('gtceu:chiseled_light_concrete'))
.or(Predicates.blocks('gtceu:light_concrete_tile'))
.or(Predicates.blocks('gtceu:light_concrete_small_tile'))
.or(Predicates.blocks('gtceu:light_concrete_windmill_a'))
.or(Predicates.blocks('gtceu:light_concrete_windmill_b'))
.or(Predicates.blocks('gtceu:small_light_concrete_bricks'))
.or(Predicates.blocks('gtceu:square_light_concrete_bricks'))
.or(Predicates.blocks('gtceu:dark_concrete'))
.or(Predicates.blocks('gtceu:polished_dark_concrete'))
.or(Predicates.blocks('gtceu:dark_concrete_bricks'))
.or(Predicates.blocks('gtceu:cracked_dark_concrete_bricks'))
.or(Predicates.blocks('gtceu:mossy_dark_concrete_bricks'))
.or(Predicates.blocks('gtceu:chiseled_dark_concrete'))
.or(Predicates.blocks('gtceu:dark_concrete_tile'))
.or(Predicates.blocks('gtceu:dark_concrete_small_tile'))
.or(Predicates.blocks('gtceu:dark_concrete_windmill_a'))
.or(Predicates.blocks('gtceu:dark_concrete_windmill_b'))
.or(Predicates.blocks('gtceu:small_dark_concrete_bricks'))
.or(Predicates.blocks('gtceu:square_dark_concrete_bricks'))
)
.where("B", Predicates.blocks(ChemicalHelper.getBlock(TagPrefix.frameGt, GTMaterials.TungstenSteel)))
.where("C", Predicates.blocks("tfg:casings/machine_casing_green_solar_panel"))
.where("D", Predicates.blocks("ad_astra:iron_plateblock"))
.where("E", Predicates.blocks(GTBlocks.CASING_TEMPERED_GLASS.get()))
.where("F", Predicates.blocks("tfg:casings/machine_casing_iron_desh"))
.where("G", Predicates.blocks(ChemicalHelper.getBlock(TagPrefix.block, GTMaterials.Silver)))
.where("H", Predicates.controller(Predicates.blocks(definition.get())))
.where("I", Predicates.blocks("tfg:casings/machine_casing_iron_desh")
.or(Predicates.autoAbilities(definition.getRecipeTypes()))
.or(Predicates.abilities(PartAbility.MAINTENANCE).setExactLimit(1))
)
.where(" ", Predicates.any())
.build()
)
.shapeInfo(controller => MultiblockShapeInfo.builder()
.aisle(" A A ", " A A ", " B B ", " B B ", " CCCCCCC ", " ", " ", " ", " ", " ", " ", " ", " ", " ")
.aisle(" A A ", " A A ", " B B ", " B B ", " CCC CCC ", " ", " ", " ", " ", " ", " ", " ", " ", " ")
.aisle(" B B ", " B B ", " B B ", " CCCCCCC ", " CC CC ", " ", " ", " ", " ", " ", " ", " ", " ", " ")
.aisle(" A B B A ", " A B B A ", " B B B B ", " B CC CC B ", " C C ", " ", " ", " ", " ", " ", " ", " ", " ", " ")
.aisle(" B B ", " B B ", " CCCCC ", " C C ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ")
.aisle(" A B B A ", " A B B A ", " B CC CC B ", " B CC CC B ", " CC CC ", " ", " ", " ", " ", " ", " ", " ", " ", " ")
.aisle(" B B ", " CCCCC ", " CC CC ", " CC CC ", " CC CC ", " ", " ", " ", " ", " ", " ", " ", " ", " ")
.aisle(" B B ", " CC CC ", " C C ", " C C ", " C C ", " ", " ", " ", " ", " ", " ", " ", " ", " ")
.aisle(" A B CCC B A ", " A B CC CC B A ", " B B CC CC B B ", " B C C B ", " C C ", " ", " ", " ", " ", " ", " ", " ", " ", " ")
.aisle(" B B CC CC B B ", " B C C B ", " C C ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ")
.aisle("A B C C B A", "A B B A", "B B B B", "B C C B", "C C", " ", " ", " ", " ", " ", " ", " ", " ", " ")
.aisle(" B B B B ", " B C C B ", " C C ", " C C ", "C C", " ", " ", " ", " ", " ", " ", " ", " ", " ")
.aisle(" C FML C ", " C B B C ", " C B B C ", " C B B C ", "C B B C", " B B ", " B B ", " B B ", " B B ", " B B ", " DDD ", " EEE ", " EEE ", " EEE ")
.aisle(" C IFK C ", " C F C ", " C F C ", " C F C ", "C F C", " F ", " F ", " F ", " F ", " F ", " DFD ", " EFE ", " EGE ", " EEE ")
.aisle(" C JHF C ", " C B B C ", " C B B C ", " C B B C ", "C B B C", " B B ", " B B ", " B B ", " B B ", " B B ", " DDD ", " EEE ", " EEE ", " EEE ")
.aisle(" B B B B ", " B C C B ", " C C ", " C C ", "C C", " ", " ", " ", " ", " ", " ", " ", " ", " ")
.aisle("A B C C B A", "A B B A", "B B B B", "B C C B", "C C", " ", " ", " ", " ", " ", " ", " ", " ", " ")
.aisle(" B B CC CC B B ", " B C C B ", " C C ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ")
.aisle(" A B CCC B A ", " A B CC CC B A ", " B B CC CC B B ", " B C C B ", " C C ", " ", " ", " ", " ", " ", " ", " ", " ", " ")
.aisle(" B B ", " CC CC ", " C C ", " C C ", " C C ", " ", " ", " ", " ", " ", " ", " ", " ", " ")
.aisle(" B B ", " CCCCC ", " CC CC ", " CC CC ", " CC CC ", " ", " ", " ", " ", " ", " ", " ", " ", " ")
.aisle(" A B B A ", " A B B A ", " B CC CC B ", " B CC CC B ", " CC CC ", " ", " ", " ", " ", " ", " ", " ", " ", " ")
.aisle(" B B ", " B B ", " CCCCC ", " C C ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ")
.aisle(" A B B A ", " A B B A ", " B B B B ", " B CC CC B ", " C C ", " ", " ", " ", " ", " ", " ", " ", " ", " ")
.aisle(" B B ", " B B ", " B B ", " CCCCCCC ", " CC CC ", " ", " ", " ", " ", " ", " ", " ", " ", " ")
.aisle(" A A ", " A A ", " B B ", " B B ", " CCC CCC ", " ", " ", " ", " ", " ", " ", " ", " ", " ")
.aisle(" A A ", " A A ", " B B ", " B B ", " CCCCCCC ", " ", " ", " ", " ", " ", " ", " ", " ", " ")
.where("A", Block.getBlock('gtceu:light_concrete'))
.where("B", Block.getBlock("gtceu:tungsten_steel_frame"))
.where("C", Block.getBlock("tfg:casings/machine_casing_green_solar_panel"))
.where("D", Block.getBlock("ad_astra:iron_plateblock"))
.where("E", Block.getBlock("gtceu:tempered_glass"))
.where("F", Block.getBlock("tfg:casings/machine_casing_iron_desh"))
.where("G", Block.getBlock("gtceu:silver_block"))
.where("H", controller, Direction.SOUTH)
.where("I", GTMachines.ITEM_IMPORT_BUS[GTValues.ULV], Direction.WEST)
.where("J", GTMachines.MAINTENANCE_HATCH, Direction.SOUTH)
.where("K", GTMachines.FLUID_IMPORT_HATCH[GTValues.MV], Direction.EAST)
.where("L", GTMachines.FLUID_EXPORT_HATCH[GTValues.MV], Direction.EAST)
.where("M", GTMachines.ENERGY_OUTPUT_HATCH[GTValues.HV], Direction.NORTH)
.where(" ", Predicates.any())
.build()
)
.workableCasingModel('tfg:block/casings/machine_casing_iron_desh', 'gtceu:block/multiblock/hpca')
//Tier 3
event.create('large_solar_panel_tier3', 'multiblock')
.rotationState(RotationState.NON_Y_AXIS)
.generator(true)
.recipeType('large_solar_panel_tier3')
.noRecipeModifier()
.appearanceBlock(() => Block.getBlock('tfg:casings/machine_casing_iron_desh'))
.pattern(definition => FactoryBlockPattern.start()
.aisle(" A A ", " A A ", " A A ", " B B ", " B B ", " B B ", " CCCCCCCCC ", " ", " ", " ", " ", " ", " ", " ")
.aisle(" A A ", " A A ", " A A ", " B B ", " B B ", " B B ", " CC CC ", " ", " ", " ", " ", " ", " ", " ")
.aisle(" A A ", " A A ", " B B ", " B B ", " B B ", " CCCCCCC ", " CCC CCC ", " ", " ", " ", " ", " ", " ", " ")
.aisle(" A A A A ", " A A A A ", " A B B A ", " B B B B ", " B B B B ", " B CCC CCC B ", " C C ", " ", " ", " ", " ", " ", " ", " ")
.aisle(" A A B B A A ", " A A B B A A ", " A B B B B A ", " B B B B B B ", " B B CCCCCCC B B ", " B CCC CCC B ", " CC CC ", " ", " ", " ", " ", " ", " ", " ")
.aisle(" A B B A ", " A B B A ", " B B B B ", " B B B B ", " B CCC CCC B ", " C C ", " CC CC ", " ", " ", " ", " ", " ", " ", " ")
.aisle(" A B B A ", " A B B A ", " A B B A ", " B CCCCCCC B ", " B CC CC B ", " B CC CC B ", " C C ", " ", " ", " ", " ", " ", " ", " ")
.aisle(" A B B B B A ", " A B B B B A ", " B B B B B B ", " B B CC CC B B ", " B C C B ", " CC CC ", " ", " ", " ", " ", " ", " ", " ", " ")
.aisle(" AA B B AA ", " AA B B AA ", " AB CCCCC BA ", " BB C C BB ", " BB BB ", " BC CB ", " CC CC ", " ", " ", " ", " ", " ", " ", " ")
.aisle(" B B B B ", " B B B B ", " B CC CC B ", " B CC CC B ", " CC CC ", " C C ", " C C ", " ", " ", " ", " ", " ", " ", " ")
.aisle(" B B ", " CCCCC ", " CC CC ", " CC CC ", " CC CC ", " CC CC ", " CC CC ", " ", " ", " ", " ", " ", " ", " ")
.aisle(" A B B A ", " A CC CC A ", " A C C A ", " B C C B ", " B C C B ", " B C C B ", " C C ", " ", " ", " ", " ", " ", " ", " ")
.aisle(" A B B CCC B B A ", " A B B CC CC B B A ", " B B B CC CC B B B ", " B B C C B B ", " B C C B ", " C C ", " ", " ", " ", " ", " ", " ", " ", " ")
.aisle("A B B CC CC B B A", "A B C C B A", "A C C A", "B B", "B B", "B B", "C C", " ", " ", " ", " ", " ", " ", " ")
.aisle(" A B B C C B B A ", " A B B B B A ", " B B B B B B ", " B B C C B B ", " B C C B ", " C C ", "C C", " ", " ", " ", " ", " ", " ", " ")
.aisle(" B B B B ", " B C C B ", " C C ", " C C ", " C C ", " C C ", "C C", " ", " ", " ", " ", " ", " ", " ")
.aisle(" C III C ", " C B B C ", " C B B C ", " C B B C ", " C B B C ", " C B B C ", "C B B C", " B B ", " B B ", " B B ", " DDD ", " EEE ", " EEE ", " EEE ")
.aisle(" C IFI C ", " C F C ", " C F C ", " C F C ", " C F C ", " C F C ", "C F C", " F ", " F ", " F ", " DFD ", " EFE ", " EGE ", " EEE ")
.aisle(" C IHI C ", " C B B C ", " C B B C ", " C B B C ", " C B B C ", " C B B C ", "C B B C", " B B ", " B B ", " B B ", " DDD ", " EEE ", " EEE ", " EEE ")
.aisle(" B B B B ", " B C C B ", " C C ", " C C ", " C C ", " C C ", "C C", " ", " ", " ", " ", " ", " ", " ")
.aisle(" A B B C C B B A ", " A B B B B A ", " B B B B B B ", " B B C C B B ", " B C C B ", " C C ", "C C", " ", " ", " ", " ", " ", " ", " ")
.aisle("A B B CC CC B B A", "A B C C B A", "A C C A", "B B", "B B", "B B", "C C", " ", " ", " ", " ", " ", " ", " ")
.aisle(" A B B CCC B B A ", " A B B CC CC B B A ", " B B B CC CC B B B ", " B B C C B B ", " B C C B ", " C C ", " ", " ", " ", " ", " ", " ", " ", " ")
.aisle(" A B B A ", " A CC CC A ", " A C C A ", " B C C B ", " B C C B ", " B C C B ", " C C ", " ", " ", " ", " ", " ", " ", " ")
.aisle(" B B ", " CCCCC ", " CC CC ", " CC CC ", " CC CC ", " CC CC ", " CC CC ", " ", " ", " ", " ", " ", " ", " ")
.aisle(" B B B B ", " B B B B ", " B CC CC B ", " B CC CC B ", " CC CC ", " C C ", " C C ", " ", " ", " ", " ", " ", " ", " ")
.aisle(" AA B B AA ", " AA B B AA ", " AB CCCCC BA ", " BB C C BB ", " BB BB ", " BC CB ", " CC CC ", " ", " ", " ", " ", " ", " ", " ")
.aisle(" A B B B B A ", " A B B B B A ", " B B B B B B ", " B B CC CC B B ", " B C C B ", " CC CC ", " ", " ", " ", " ", " ", " ", " ", " ")
.aisle(" A B B A ", " A B B A ", " A B B A ", " B CCCCCCC B ", " B CC CC B ", " B CC CC B ", " C C ", " ", " ", " ", " ", " ", " ", " ")
.aisle(" A B B A ", " A B B A ", " B B B B ", " B B B B ", " B CCC CCC B ", " C C ", " CC CC ", " ", " ", " ", " ", " ", " ", " ")
.aisle(" A A B B A A ", " A A B B A A ", " A B B B B A ", " B B B B B B ", " B B CCCCCCC B B ", " B CCC CCC B ", " CC CC ", " ", " ", " ", " ", " ", " ", " ")
.aisle(" A A A A ", " A A A A ", " A B B A ", " B B B B ", " B B B B ", " B CCC CCC B ", " C C ", " ", " ", " ", " ", " ", " ", " ")
.aisle(" A A ", " A A ", " B B ", " B B ", " B B ", " CCCCCCC ", " CCC CCC ", " ", " ", " ", " ", " ", " ", " ")
.aisle(" A A ", " A A ", " A A ", " B B ", " B B ", " B B ", " CC CC ", " ", " ", " ", " ", " ", " ", " ")
.aisle(" A A ", " A A ", " A A ", " B B ", " B B ", " B B ", " CCCCCCCCC ", " ", " ", " ", " ", " ", " ", " ")
.where("A", Predicates.blocks('gtceu:light_concrete')
.or(Predicates.blocks('gtceu:polished_light_concrete'))
.or(Predicates.blocks('gtceu:light_concrete_bricks'))
.or(Predicates.blocks('gtceu:cracked_light_concrete_bricks'))
.or(Predicates.blocks('gtceu:mossy_light_concrete_bricks'))
.or(Predicates.blocks('gtceu:chiseled_light_concrete'))
.or(Predicates.blocks('gtceu:light_concrete_tile'))
.or(Predicates.blocks('gtceu:light_concrete_small_tile'))
.or(Predicates.blocks('gtceu:light_concrete_windmill_a'))
.or(Predicates.blocks('gtceu:light_concrete_windmill_b'))
.or(Predicates.blocks('gtceu:small_light_concrete_bricks'))
.or(Predicates.blocks('gtceu:square_light_concrete_bricks'))
.or(Predicates.blocks('gtceu:dark_concrete'))
.or(Predicates.blocks('gtceu:polished_dark_concrete'))
.or(Predicates.blocks('gtceu:dark_concrete_bricks'))
.or(Predicates.blocks('gtceu:cracked_dark_concrete_bricks'))
.or(Predicates.blocks('gtceu:mossy_dark_concrete_bricks'))
.or(Predicates.blocks('gtceu:chiseled_dark_concrete'))
.or(Predicates.blocks('gtceu:dark_concrete_tile'))
.or(Predicates.blocks('gtceu:dark_concrete_small_tile'))
.or(Predicates.blocks('gtceu:dark_concrete_windmill_a'))
.or(Predicates.blocks('gtceu:dark_concrete_windmill_b'))
.or(Predicates.blocks('gtceu:small_dark_concrete_bricks'))
.or(Predicates.blocks('gtceu:square_dark_concrete_bricks'))
)
.where("B", Predicates.blocks(ChemicalHelper.getBlock(TagPrefix.frameGt, GTMaterials.RhodiumPlatedPalladium)))
.where("C", Predicates.blocks("tfg:casings/machine_casing_red_solar_panel"))
.where("D", Predicates.blocks("ad_astra:iron_plateblock"))
.where("E", Predicates.blocks(GTBlocks.CASING_TEMPERED_GLASS.get()))
.where("F", Predicates.blocks("tfg:casings/machine_casing_iron_desh"))
.where("G", Predicates.blocks(ChemicalHelper.getBlock(TagPrefix.block, GTMaterials.Silver)))
.where("H", Predicates.controller(Predicates.blocks(definition.get())))
.where("I", Predicates.blocks("tfg:casings/machine_casing_iron_desh")
.or(Predicates.autoAbilities(definition.getRecipeTypes()))
.or(Predicates.abilities(PartAbility.MAINTENANCE).setExactLimit(1))
)
.where(" ", Predicates.any())
.build()
)
.shapeInfo(controller => MultiblockShapeInfo.builder()
.aisle(" A A ", " A A ", " A A ", " B B ", " B B ", " B B ", " CCCCCCCCC ", " ", " ", " ", " ", " ", " ", " ")
.aisle(" A A ", " A A ", " A A ", " B B ", " B B ", " B B ", " CC CC ", " ", " ", " ", " ", " ", " ", " ")
.aisle(" A A ", " A A ", " B B ", " B B ", " B B ", " CCCCCCC ", " CCC CCC ", " ", " ", " ", " ", " ", " ", " ")
.aisle(" A A A A ", " A A A A ", " A B B A ", " B B B B ", " B B B B ", " B CCC CCC B ", " C C ", " ", " ", " ", " ", " ", " ", " ")
.aisle(" A A B B A A ", " A A B B A A ", " A B B B B A ", " B B B B B B ", " B B CCCCCCC B B ", " B CCC CCC B ", " CC CC ", " ", " ", " ", " ", " ", " ", " ")
.aisle(" A B B A ", " A B B A ", " B B B B ", " B B B B ", " B CCC CCC B ", " C C ", " CC CC ", " ", " ", " ", " ", " ", " ", " ")
.aisle(" A B B A ", " A B B A ", " A B B A ", " B CCCCCCC B ", " B CC CC B ", " B CC CC B ", " C C ", " ", " ", " ", " ", " ", " ", " ")
.aisle(" A B B B B A ", " A B B B B A ", " B B B B B B ", " B B CC CC B B ", " B C C B ", " CC CC ", " ", " ", " ", " ", " ", " ", " ", " ")
.aisle(" AA B B AA ", " AA B B AA ", " AB CCCCC BA ", " BB C C BB ", " BB BB ", " BC CB ", " CC CC ", " ", " ", " ", " ", " ", " ", " ")
.aisle(" B B B B ", " B B B B ", " B CC CC B ", " B CC CC B ", " CC CC ", " C C ", " C C ", " ", " ", " ", " ", " ", " ", " ")
.aisle(" B B ", " CCCCC ", " CC CC ", " CC CC ", " CC CC ", " CC CC ", " CC CC ", " ", " ", " ", " ", " ", " ", " ")
.aisle(" A B B A ", " A CC CC A ", " A C C A ", " B C C B ", " B C C B ", " B C C B ", " C C ", " ", " ", " ", " ", " ", " ", " ")
.aisle(" A B B CCC B B A ", " A B B CC CC B B A ", " B B B CC CC B B B ", " B B C C B B ", " B C C B ", " C C ", " ", " ", " ", " ", " ", " ", " ", " ")
.aisle("A B B CC CC B B A", "A B C C B A", "A C C A", "B B", "B B", "B B", "C C", " ", " ", " ", " ", " ", " ", " ")
.aisle(" A B B C C B B A ", " A B B B B A ", " B B B B B B ", " B B C C B B ", " B C C B ", " C C ", "C C", " ", " ", " ", " ", " ", " ", " ")
.aisle(" B B B B ", " B C C B ", " C C ", " C C ", " C C ", " C C ", "C C", " ", " ", " ", " ", " ", " ", " ")
.aisle(" C FML C ", " C B B C ", " C B B C ", " C B B C ", " C B B C ", " C B B C ", "C B B C", " B B ", " B B ", " B B ", " DDD ", " EEE ", " EEE ", " EEE ")
.aisle(" C IFK C ", " C F C ", " C F C ", " C F C ", " C F C ", " C F C ", "C F C", " F ", " F ", " F ", " DFD ", " EFE ", " EGE ", " EEE ")
.aisle(" C JHF C ", " C B B C ", " C B B C ", " C B B C ", " C B B C ", " C B B C ", "C B B C", " B B ", " B B ", " B B ", " DDD ", " EEE ", " EEE ", " EEE ")
.aisle(" B B B B ", " B C C B ", " C C ", " C C ", " C C ", " C C ", "C C", " ", " ", " ", " ", " ", " ", " ")
.aisle(" A B B C C B B A ", " A B B B B A ", " B B B B B B ", " B B C C B B ", " B C C B ", " C C ", "C C", " ", " ", " ", " ", " ", " ", " ")
.aisle("A B B CC CC B B A", "A B C C B A", "A C C A", "B B", "B B", "B B", "C C", " ", " ", " ", " ", " ", " ", " ")
.aisle(" A B B CCC B B A ", " A B B CC CC B B A ", " B B B CC CC B B B ", " B B C C B B ", " B C C B ", " C C ", " ", " ", " ", " ", " ", " ", " ", " ")
.aisle(" A B B A ", " A CC CC A ", " A C C A ", " B C C B ", " B C C B ", " B C C B ", " C C ", " ", " ", " ", " ", " ", " ", " ")
.aisle(" B B ", " CCCCC ", " CC CC ", " CC CC ", " CC CC ", " CC CC ", " CC CC ", " ", " ", " ", " ", " ", " ", " ")
.aisle(" B B B B ", " B B B B ", " B CC CC B ", " B CC CC B ", " CC CC ", " C C ", " C C ", " ", " ", " ", " ", " ", " ", " ")
.aisle(" AA B B AA ", " AA B B AA ", " AB CCCCC BA ", " BB C C BB ", " BB BB ", " BC CB ", " CC CC ", " ", " ", " ", " ", " ", " ", " ")
.aisle(" A B B B B A ", " A B B B B A ", " B B B B B B ", " B B CC CC B B ", " B C C B ", " CC CC ", " ", " ", " ", " ", " ", " ", " ", " ")
.aisle(" A B B A ", " A B B A ", " A B B A ", " B CCCCCCC B ", " B CC CC B ", " B CC CC B ", " C C ", " ", " ", " ", " ", " ", " ", " ")
.aisle(" A B B A ", " A B B A ", " B B B B ", " B B B B ", " B CCC CCC B ", " C C ", " CC CC ", " ", " ", " ", " ", " ", " ", " ")
.aisle(" A A B B A A ", " A A B B A A ", " A B B B B A ", " B B B B B B ", " B B CCCCCCC B B ", " B CCC CCC B ", " CC CC ", " ", " ", " ", " ", " ", " ", " ")
.aisle(" A A A A ", " A A A A ", " A B B A ", " B B B B ", " B B B B ", " B CCC CCC B ", " C C ", " ", " ", " ", " ", " ", " ", " ")
.aisle(" A A ", " A A ", " B B ", " B B ", " B B ", " CCCCCCC ", " CCC CCC ", " ", " ", " ", " ", " ", " ", " ")
.aisle(" A A ", " A A ", " A A ", " B B ", " B B ", " B B ", " CC CC ", " ", " ", " ", " ", " ", " ", " ")
.aisle(" A A ", " A A ", " A A ", " B B ", " B B ", " B B ", " CCCCCCCCC ", " ", " ", " ", " ", " ", " ", " ")
.where("A", Block.getBlock('gtceu:light_concrete'))
.where("B", Block.getBlock("gtceu:tungsten_steel_frame"))
.where("C", Block.getBlock("tfg:casings/machine_casing_red_solar_panel"))
.where("D", Block.getBlock("ad_astra:iron_plateblock"))
.where("E", Block.getBlock("gtceu:tempered_glass"))
.where("F", Block.getBlock("tfg:casings/machine_casing_iron_desh"))
.where("G", Block.getBlock("gtceu:silver_block"))
.where("H", controller, Direction.SOUTH)
.where("I", GTMachines.ITEM_IMPORT_BUS[GTValues.ULV], Direction.WEST)
.where("J", GTMachines.MAINTENANCE_HATCH, Direction.SOUTH)
.where("K", GTMachines.FLUID_IMPORT_HATCH[GTValues.MV], Direction.EAST)
.where("L", GTMachines.FLUID_EXPORT_HATCH[GTValues.MV], Direction.EAST)
.where("M", GTMachines.ENERGY_OUTPUT_HATCH[GTValues.HV], Direction.NORTH)
.where(" ", Predicates.any())
.build()
)
.workableCasingModel('tfg:block/casings/machine_casing_iron_desh', 'gtceu:block/multiblock/hpca')
//#endregion
//#region Nuclear Multiblocks
// Nuclear Fuel Factory

View file

@ -31,6 +31,22 @@ const registerGTCEuRecipeTypes = (event) => {
.setProgressBar(GuiTextures.PROGRESS_BAR_ARROW, FillDirection.LEFT_TO_RIGHT)
.setSound(GTSoundEntries.COOLING)
event.create('large_solar_panel_tier2')
.category('generator')
.setEUIO('out')
.setMaxIOSize(2, 0, 2, 1)
.setSlotOverlay(false, false, GuiTextures.SOLIDIFIER_OVERLAY)
.setProgressBar(GuiTextures.PROGRESS_BAR_ARROW, FillDirection.LEFT_TO_RIGHT)
.setSound(GTSoundEntries.COOLING)
event.create('large_solar_panel_tier3')
.category('generator')
.setEUIO('out')
.setMaxIOSize(2, 0, 2, 1)
.setSlotOverlay(false, false, GuiTextures.SOLIDIFIER_OVERLAY)
.setProgressBar(GuiTextures.PROGRESS_BAR_ARROW, FillDirection.LEFT_TO_RIGHT)
.setSound(GTSoundEntries.COOLING)
event.create('nuclear_fuel_factory')
.category('nuclear_fuel_factory')
.setEUIO('in')