From 5a82b012bd56ed4af3095ed2925c38774daa152a Mon Sep 17 00:00:00 2001 From: MuuuShin <1248440677@qq.com> Date: Wed, 12 Aug 2026 12:04:34 +0800 Subject: [PATCH] feat: migrate utility hatches to dedicated slots --- .../resources/assets/gtocore/lang/en_us.json | 4 +- .../resources/assets/gtocore/lang/zh_cn.json | 4 +- .../resources/assets/gtocore/lang/zh_tw.json | 4 +- .../api/machine/part/GTOPartAbility.java | 2 + .../com/gtocore/common/data/GTOMachines.java | 8 +- .../data/machines/ExResearchMachines.java | 20 +-- .../common/data/machines/GCYMMachines.java | 67 +++++----- .../common/data/machines/GTMachineModify.java | 10 +- .../data/machines/GeneratorMultiblock.java | 39 ++---- .../common/data/machines/ManaMultiBlock.java | 30 ++--- .../common/data/machines/MultiBlockA.java | 125 +++++++++--------- .../common/data/machines/MultiBlockB.java | 54 ++++---- .../common/data/machines/MultiBlockC.java | 61 +++++---- .../common/data/machines/MultiBlockD.java | 60 ++++----- .../common/data/machines/MultiBlockE.java | 4 +- .../common/data/machines/MultiBlockF.java | 16 +-- .../common/data/machines/MultiBlockG.java | 50 +++---- .../common/data/machines/MultiBlockH.java | 52 ++++---- .../common/data/machines/MultiblockI.java | 6 +- .../common/data/machines/OptionalMachine.java | 2 +- .../common/data/machines/SpaceMultiblock.java | 22 +-- .../mana/multiblock/ManaCondenserMachine.java | 4 +- .../electric/PCBFactoryMachine.java | 6 +- .../electric/nano/NanoForgeMachine.java | 6 +- .../CompoundExtremeCoolingMachine.java | 4 +- .../space/spacestaion/WorkspaceExtension.java | 2 +- .../PhotovoltaicPowerStationMachine.java | 7 +- .../multiblock/noenergy/GodForgeMachine.java | 2 +- .../noenergy/NeutronVortexMachine.java | 4 +- .../steam/LargeSteamSolarBoilerMachine.java | 2 +- .../utils/register/MachineRegisterUtils.java | 9 +- 31 files changed, 334 insertions(+), 352 deletions(-) diff --git a/src/generated/resources/assets/gtocore/lang/en_us.json b/src/generated/resources/assets/gtocore/lang/en_us.json index ad9077145..b483a3f12 100644 --- a/src/generated/resources/assets/gtocore/lang/en_us.json +++ b/src/generated/resources/assets/gtocore/lang/en_us.json @@ -5865,6 +5865,7 @@ "gtocore.part_ability.input_mana": "Input Mana", "gtocore.part_ability.items_input": "Items Input", "gtocore.part_ability.items_output": "Items Output", + "gtocore.part_ability.machine_control": "Machine Control Hatch", "gtocore.part_ability.maintenance": "Maintenance Hatch", "gtocore.part_ability.mana_amplifier_hatch": "Mana Amplifier Hatch", "gtocore.part_ability.muffler": "Muffler", @@ -5890,6 +5891,7 @@ "gtocore.part_ability.substation_output_energy": "Substation Energy Output", "gtocore.part_ability.tank_valve": "Tank Valve", "gtocore.part_ability.thread_hatch": "Thread Hatch", + "gtocore.part_ability.utility": "Utility Hatch", "gtocore.pattern.blocking_mode": "Block insertion when the container has any content", "gtocore.pattern.blocking_parallel": "Prevent insertion after parallel allocation if container has synthetic materials", "gtocore.pattern.blocking_reverse": "Prevent insertion when not using the same pattern", @@ -9096,4 +9098,4 @@ "venus.ad_astra.name": "Venus", "venus_orbit.ad_astra.name": "Venus Orbit", "void.gtocore.name": "Void" -} \ No newline at end of file +} diff --git a/src/generated/resources/assets/gtocore/lang/zh_cn.json b/src/generated/resources/assets/gtocore/lang/zh_cn.json index e562249ea..a328d8caa 100644 --- a/src/generated/resources/assets/gtocore/lang/zh_cn.json +++ b/src/generated/resources/assets/gtocore/lang/zh_cn.json @@ -5993,6 +5993,7 @@ "gtocore.part_ability.input_mana": "魔力输入仓", "gtocore.part_ability.items_input": "物品输入仓", "gtocore.part_ability.items_output": "物品输出仓", + "gtocore.part_ability.machine_control": "机器控制仓", "gtocore.part_ability.maintenance": "维护仓", "gtocore.part_ability.mana_amplifier_hatch": "魔力增幅仓", "gtocore.part_ability.muffler": "消声仓", @@ -6018,6 +6019,7 @@ "gtocore.part_ability.substation_output_energy": "变电站能量输出仓", "gtocore.part_ability.tank_valve": "储罐阀门", "gtocore.part_ability.thread_hatch": "线程仓", + "gtocore.part_ability.utility": "通用仓", "gtocore.pattern.blocking_mode": "容器有任何内容时阻止插入", "gtocore.pattern.blocking_parallel": "并行发配后容器内存在合成材料时暂停发送", "gtocore.pattern.blocking_reverse": "非同一样板时阻止插入", @@ -9225,4 +9227,4 @@ "venus.ad_astra.name": "金星", "venus_orbit.ad_astra.name": "金星轨道", "void.gtocore.name": "虚空" -} \ No newline at end of file +} diff --git a/src/generated/resources/assets/gtocore/lang/zh_tw.json b/src/generated/resources/assets/gtocore/lang/zh_tw.json index 006587ebf..01cf81ce6 100644 --- a/src/generated/resources/assets/gtocore/lang/zh_tw.json +++ b/src/generated/resources/assets/gtocore/lang/zh_tw.json @@ -5993,6 +5993,7 @@ "gtocore.part_ability.input_mana": "魔力輸入倉", "gtocore.part_ability.items_input": "物品輸入倉", "gtocore.part_ability.items_output": "物品輸出倉", + "gtocore.part_ability.machine_control": "機器控制倉", "gtocore.part_ability.maintenance": "維護倉", "gtocore.part_ability.mana_amplifier_hatch": "魔力增幅倉", "gtocore.part_ability.muffler": "消聲倉", @@ -6018,6 +6019,7 @@ "gtocore.part_ability.substation_output_energy": "變電站能量輸出倉", "gtocore.part_ability.tank_valve": "儲罐閥門", "gtocore.part_ability.thread_hatch": "線程倉", + "gtocore.part_ability.utility": "通用倉", "gtocore.pattern.blocking_mode": "容器有任何內容時阻止插入", "gtocore.pattern.blocking_parallel": "並行發配後容器內存在合成材料時暫停發送", "gtocore.pattern.blocking_reverse": "非同一樣板時阻止插入", @@ -9225,4 +9227,4 @@ "venus.ad_astra.name": "金星", "venus_orbit.ad_astra.name": "金星軌道", "void.gtocore.name": "虛空" -} \ No newline at end of file +} diff --git a/src/main/java/com/gtocore/api/machine/part/GTOPartAbility.java b/src/main/java/com/gtocore/api/machine/part/GTOPartAbility.java index fb5c373ac..f81f5d11b 100644 --- a/src/main/java/com/gtocore/api/machine/part/GTOPartAbility.java +++ b/src/main/java/com/gtocore/api/machine/part/GTOPartAbility.java @@ -83,6 +83,8 @@ public GTOPartAbility(String name, String cn, String en) { LANG.put("gtocore.part_ability.optical_data_transmission", new CNEN("光学数据源仓", "Optical Data Transmission")); LANG.put("gtocore.part_ability.data_access", new CNEN("数据访问仓", "Data Access")); LANG.put("gtocore.part_ability.hpca_component", new CNEN("高性能计算组件", "HPCA Component")); + LANG.put("gtocore.part_ability.utility", new CNEN("通用仓", "Utility Hatch")); + LANG.put("gtocore.part_ability.machine_control", new CNEN("机器控制仓", "Machine Control Hatch")); } } diff --git a/src/main/java/com/gtocore/common/data/GTOMachines.java b/src/main/java/com/gtocore/common/data/GTOMachines.java index 1f1d036ce..3622a4b87 100644 --- a/src/main/java/com/gtocore/common/data/GTOMachines.java +++ b/src/main/java/com/gtocore/common/data/GTOMachines.java @@ -690,7 +690,7 @@ public static void init() { public static final MachineDefinition HEAT_HATCH = machine("heat_hatch", "导热仓", h -> new HeatHatchPartMachine(h, 850, 1, 1)) .allRotation() - .abilities(PartAbility.IMPORT_ITEMS, PartAbility.IMPORT_FLUIDS, HEAT_CONDUCTION) + .abilities(PartAbility.UTILITY, HEAT_CONDUCTION) .tooltips(GTOMachineTooltips.TempInterfaceTooltips) .tooltips(Component.translatable(HeatInterfaceCover.MAX_TEMPERATURE, 850)) .tooltips(Component.translatable(HeatInterfaceCover.HEAT_CAPACITY, 1)) @@ -702,7 +702,7 @@ public static void init() { public static final MachineDefinition ADVANCED_HEAT_HATCH = machine("advanced_heat_hatch", "高级导热仓", h -> new HeatHatchPartMachine(h, 3600, 2, 4)) .allRotation() - .abilities(PartAbility.IMPORT_ITEMS, PartAbility.IMPORT_FLUIDS, HEAT_CONDUCTION) + .abilities(PartAbility.UTILITY, HEAT_CONDUCTION) .tooltips(GTOMachineTooltips.TempInterfaceTooltips) .tooltips(Component.translatable(HeatInterfaceCover.MAX_TEMPERATURE, 3600)) .tooltips(Component.translatable(HeatInterfaceCover.HEAT_CAPACITY, 2)) @@ -714,7 +714,7 @@ public static void init() { public static final MachineDefinition VACUUM_INTERFACE = machine("vacuum_interface", "真空接口", VacuumInterfacePartMachine::new) .allRotation() - .abilities(PartAbility.IMPORT_ITEMS, PartAbility.IMPORT_FLUIDS) + .abilities(PartAbility.UTILITY) .tooltips(GTOMachineTooltips.VacuumInterfaceTooltips) .tier(LV) .overlayTieredHullRenderer("neutron_sensor") @@ -722,7 +722,7 @@ public static void init() { public static final MachineDefinition SPACE_SHIELD_HATCH = machine("space_shield_hatch", "太空屏障仓", SpaceShieldHatch::new) .allRotation() - .abilities(PartAbility.IMPORT_ITEMS, PartAbility.IMPORT_FLUIDS) + .abilities(PartAbility.UTILITY) .notAllowSharedTooltips() .tooltips(GTOMachineTooltips.spaceShieldHatchTooltips) .renderer(() -> new OverlayTieredMachineRenderer(UEV, GTCEu.id("block/machine/part/optical_data_hatch"))) diff --git a/src/main/java/com/gtocore/common/data/machines/ExResearchMachines.java b/src/main/java/com/gtocore/common/data/machines/ExResearchMachines.java index 8dd32aae6..fddc077f6 100644 --- a/src/main/java/com/gtocore/common/data/machines/ExResearchMachines.java +++ b/src/main/java/com/gtocore/common/data/machines/ExResearchMachines.java @@ -122,7 +122,7 @@ public static void init() {} .where('O', blocks(GTBlocks.HIGH_POWER_CASING.get())) .where('P', blocks(GTOBlocks.COBALT_OXIDE_CERAMIC_STRONG_THERMALLY_CONDUCTIVE_MECHANICAL_BLOCK.get())) .where('Q', blocks(GTOBlocks.MC_NYLON_TENSILE_MECHANICAL_SHELL.get())) - .where('R', blocks(GTOBlocks.OXIDATION_RESISTANT_HASTELLOY_N_MECHANICAL_CASING.get()) + .wherePart('R', blocks(GTOBlocks.OXIDATION_RESISTANT_HASTELLOY_N_MECHANICAL_CASING.get()) .or(blocks(GTOMachines.THERMAL_CONDUCTOR_HATCH.get()).setMaxGlobalLimited(1)) .or(abilities(IMPORT_ITEMS)) .or(abilities(IMPORT_FLUIDS)) @@ -304,7 +304,7 @@ private static GTOMachineBuilder registerHPCAPart(String name, String cn, .or(abilities(IMPORT_FLUIDS)) .or(abilities(COMPUTATION_DATA_RECEPTION)) .or(abilities(PartAbility.OPTICAL_DATA_RECEPTION))) - .where('D', blocks(GTBlocks.HIGH_POWER_CASING.get()) + .wherePart('D', blocks(GTBlocks.HIGH_POWER_CASING.get()) .or(abilities(PartAbility.OPTICAL_DATA_TRANSMISSION).setMaxGlobalLimited(4, 1)) .or(abilities(PartAbility.OPTICAL_DATA_RECEPTION).setMaxGlobalLimited(4, 1)) .or(abilities(PartAbility.INPUT_ENERGY).setMinGlobalLimited(1).setMaxGlobalLimited(8, 2)) @@ -434,7 +434,7 @@ private static GTOMachineBuilder registerHPCAPart(String name, String cn, .where('-', any()) .where('V', blocks(COMPUTER_HEAT_VENT.get())) .where('A', blocks(ADVANCED_COMPUTER_CASING.get())) - .where('P', blocks(COMPUTER_CASING.get()) + .wherePart('P', blocks(COMPUTER_CASING.get()) .or(abilities(PartAbility.INPUT_ENERGY).setMinGlobalLimited(1).setMaxGlobalLimited(2, 1)) .or(abilities(PartAbility.COMPUTATION_DATA_RECEPTION).setExactLimit(1)) .or(autoAbilities(true, false, false))) @@ -484,7 +484,7 @@ private static GTOMachineBuilder registerHPCAPart(String name, String cn, .where('B', blocks(GTBlocks.COMPUTER_HEAT_VENT.get())) .where('C', blocks(GTBlocks.ADVANCED_COMPUTER_CASING.get())) .where('D', blocks(GTBlocks.HIGH_POWER_CASING.get())) - .where('E', blocks(GTBlocks.HIGH_POWER_CASING.get()) + .wherePart('E', blocks(GTBlocks.HIGH_POWER_CASING.get()) .or(abilities(PartAbility.INPUT_ENERGY).setMaxGlobalLimited(2)) .or(abilities(PartAbility.EXPORT_ITEMS).setExactLimit(1)) .or(abilities(PartAbility.COMPUTATION_DATA_RECEPTION).setExactLimit(1)) @@ -556,7 +556,7 @@ private static GTOMachineBuilder registerHPCAPart(String name, String cn, .where('B', blocks(GTBlocks.ADVANCED_COMPUTER_CASING.get())) .where('C', blocks(GTOBlocks.HIGH_PRESSURE_RESISTANT_CASING.get())) .where('D', blocks(GTBlocks.HIGH_POWER_CASING.get())) - .where('E', blocks(GTBlocks.HIGH_POWER_CASING.get()) + .wherePart('E', blocks(GTBlocks.HIGH_POWER_CASING.get()) .or(abilities(PartAbility.INPUT_ENERGY).setMaxGlobalLimited(2)) .or(abilities(IMPORT_ITEMS)) .or(blocks(STORAGE_DATA_HOLDER.get()).setExactLimit(1)) @@ -577,11 +577,11 @@ private static GTOMachineBuilder registerHPCAPart(String name, String cn, .nonYAxisRotation() .pattern(definition -> MultiBlockFileReader.start(definition) .where('A', blocks(GTBlocks.COMPUTER_CASING.get())) - .where('B', blocks(GTOBlocks.STABLE_BASE_CASING.get()) + .wherePart('B', blocks(GTOBlocks.STABLE_BASE_CASING.get()) .or(abilities(PartAbility.INPUT_ENERGY).setMaxGlobalLimited(2).setPreviewCount(1)) .or(blocks(THERMODYNAMIC_DATA_HOLDER.get()).setExactLimit(1)) - .or(abilities(PartAbility.MAINTENANCE).setExactLimit(1)) - .or(blocks(GTMachines.CONTROL_HATCH.get()))) + .or(abilities(PartAbility.MAINTENANCE).setExactLimit(1)), + abilities(HEAT_CONDUCTION)) .where('C', controller(definition)) .where('D', blocks(GTOBlocks.STABLE_BASE_CASING.get())) .where('E', GTOPredicates.recordPosition(LOW_TEMP_INTERFACE, @@ -623,7 +623,7 @@ private static GTOMachineBuilder registerHPCAPart(String name, String cn, .where('J', blocks(GTOBlocks.OPTICAL_DYNAMIC_COATING_INSTRUMENT_PROTECTIVE_SHIELD_GLASS.get())) .where('K', blocks(GTOBlocks.PRESSURE_RESISTANT_HOUSING_MECHANICAL_BLOCK.get())) .where('L', blocks(GTOBlocks.HIGH_ENERGY_LASER_EMITTER.get())) - .where('M', blocks(GCYMBlocks.CASING_LASER_SAFE_ENGRAVING.get()) + .wherePart('M', blocks(GCYMBlocks.CASING_LASER_SAFE_ENGRAVING.get()) .or(autoAbilities(definition.getRecipeTypes())) .or(abilities(MAINTENANCE).setExactLimit(1)) .or(blocks(OPTICAL_DATA_HOLDER.get()).setExactLimit(1))) @@ -659,7 +659,7 @@ private static GTOMachineBuilder registerHPCAPart(String name, String cn, .where('N', blocks(GTOBlocks.MOLECULAR_CASING.get())) .where('O', blocks(GTOBlocks.VACUUM_CHAMBER_PROTECTION_CASING.get())) .where('P', blocks(GTOBlocks.STRONTIUM_CARBONATE_CERAMIC_RAY_ABSORBING_MECHANICAL_CUBE.get())) - .where('Q', blocks(GTOBlocks.NEUTRONIUM_STABLE_CASING.get()) + .wherePart('Q', blocks(GTOBlocks.NEUTRONIUM_STABLE_CASING.get()) .or(autoAbilities(definition.getRecipeTypes())) .or(blocks(INTELLIGENT_SCANNING_ME_PROXY.get()).setExactLimit(1)) .or(abilities(MAINTENANCE).setExactLimit(1))) diff --git a/src/main/java/com/gtocore/common/data/machines/GCYMMachines.java b/src/main/java/com/gtocore/common/data/machines/GCYMMachines.java index 51506e498..7a789aca2 100644 --- a/src/main/java/com/gtocore/common/data/machines/GCYMMachines.java +++ b/src/main/java/com/gtocore/common/data/machines/GCYMMachines.java @@ -81,7 +81,7 @@ public static void init() {} .aisle("XXXXX", "XGGGX", "XGGGX", "XAAAX") .aisle("XXXXX", "XXXXX", "XXSXX", "XXXXX") .where('S', controller(definition)) - .where('X', blocks(CASING_SECURE_MACERATION.get()).setMinGlobalLimited(55) + .wherePart('X', blocks(CASING_SECURE_MACERATION.get()).setMinGlobalLimited(55) .or(GTOPredicates.autoGCYMAbilities(definition.getRecipeTypes())) .or(autoAbilities(true, false, true))) .where('G', blocks(CRUSHING_WHEELS.get())) @@ -111,7 +111,7 @@ public static void init() {} .aisle("XXXXX", "XTTTX", "XrrrX") .aisle("XXXXX", "XXSXX", "XXXXX") .where('S', controller(definition)) - .where('X', blocks(CASING_WATERTIGHT.get()).setMinGlobalLimited(55) + .wherePart('X', blocks(CASING_WATERTIGHT.get()).setMinGlobalLimited(55) .or(GTOPredicates.autoGCYMAbilities(definition.getRecipeTypes())) .or(autoAbilities(true, false, true))) .where(' ', air()) @@ -140,7 +140,7 @@ public static void init() {} .aisle("XXXXX", "XAPAX", "XXXXX") .aisle("#XXX#", "XXSXX", "#XXX#") .where('S', controller(definition)) - .where('X', blocks(CASING_VIBRATION_SAFE.get()).setMinGlobalLimited(40) + .wherePart('X', blocks(CASING_VIBRATION_SAFE.get()).setMinGlobalLimited(40) .or(GTOPredicates.autoGCYMAbilities(definition.getRecipeTypes())) .or(autoAbilities(true, false, true))) .where('P', blocks(CASING_STEEL_PIPE.get())) @@ -169,7 +169,7 @@ public static void init() {} .aisle("XXXXX", "XAPAX", "XAAAX", "XAPAX", "XrrrX", "##F##") .aisle("#XXX#", "#XSX#", "#XXX#", "#XXX#", "#XXX#", "##F##") .where('S', controller(definition)) - .where('X', blocks(CASING_REACTION_SAFE.get()).setMinGlobalLimited(50) + .wherePart('X', blocks(CASING_REACTION_SAFE.get()).setMinGlobalLimited(50) .or(GTOPredicates.autoGCYMAbilities(definition.getRecipeTypes())) .or(autoAbilities(true, false, true))) .where('F', GTOPredicates.frame(GTMaterials.HastelloyX)) @@ -200,7 +200,7 @@ public static void init() {} .aisle("XXaXX", "XCCCX", "XCCCX") .aisle("XXXXX", "XXSXX", "XXXXX") .where('S', controller(definition)) - .where('X', blocks(CASING_NONCONDUCTING.get()).setMinGlobalLimited(30) + .wherePart('X', blocks(CASING_NONCONDUCTING.get()).setMinGlobalLimited(30) .or(GTOPredicates.autoGCYMAbilities(definition.getRecipeTypes())) .or(autoAbilities(true, false, true))) .where('C', blocks(ELECTROLYTIC_CELL.get())) @@ -226,7 +226,7 @@ public static void init() {} .aisle("XCaCX", "XCXCX", "XCXCX") .aisle("XXXXX", "XXSXX", "XXXXX") .where('S', controller(definition)) - .where('X', blocks(CASING_NONCONDUCTING.get()).setMinGlobalLimited(35) + .wherePart('X', blocks(CASING_NONCONDUCTING.get()).setMinGlobalLimited(35) .or(GTOPredicates.autoGCYMAbilities(definition.getRecipeTypes())) .or(autoAbilities(true, false, true))) .where('C', blocks(ELECTROLYTIC_CELL.get())) @@ -255,7 +255,7 @@ public static void init() {} .aisle("XXX", "XaX", "XXX") .aisle("XXX", "XSX", "XXX") .where('S', controller(definition)) - .where('X', blocks(CASING_TUNGSTENSTEEL_ROBUST.get()).setMinGlobalLimited(30) + .wherePart('X', blocks(CASING_TUNGSTENSTEEL_ROBUST.get()).setMinGlobalLimited(30) .or(GTOPredicates.autoGCYMAbilities(definition.getRecipeTypes())) .or(autoAbilities(true, false, true))) .where('A', air()) @@ -280,7 +280,7 @@ public static void init() {} .aisle("XXXXXXXXX", "XAAAXAaAX", "XGGGXXXXX") .aisle("XXXXXXXXX", "XGGGXXSXX", "XGGGX###X") .where('S', controller(definition)) - .where('X', blocks(CASING_LARGE_SCALE_ASSEMBLING.get()).setMinGlobalLimited(40) + .wherePart('X', blocks(CASING_LARGE_SCALE_ASSEMBLING.get()).setMinGlobalLimited(40) .or(GTOPredicates.autoGCYMAbilities(definition.getRecipeTypes())) .or(autoAbilities(true, false, true))) .where('G', blocks(CASING_TEMPERED_GLASS.get())) @@ -309,7 +309,7 @@ public static void init() {} .aisle("XXXXXXX", "XTTTTXX", "XXXXXXX") .aisle("#####XX", "#####SX", "#####XX") .where('S', controller(definition)) - .where('X', blocks(CASING_LARGE_SCALE_ASSEMBLING.get()).setMinGlobalLimited(55) + .wherePart('X', blocks(CASING_LARGE_SCALE_ASSEMBLING.get()).setMinGlobalLimited(55) .or(GTOPredicates.autoGCYMAbilities(definition.getRecipeTypes())) .or(autoAbilities(true, false, true))) .where('T', blocks(CASING_TEMPERED_GLASS.get())) @@ -340,7 +340,7 @@ public static void init() {} .aisle("XXXXX", "XACAX", "XACAX", "XXXXX") .aisle("#XXX#", "#XSX#", "#XXX#", "#XXX#") .where('S', controller(definition)) - .where('X', blocks(CASING_HIGH_TEMPERATURE_SMELTING.get()).setMinGlobalLimited(45) + .wherePart('X', blocks(CASING_HIGH_TEMPERATURE_SMELTING.get()).setMinGlobalLimited(45) .or(GTOPredicates.autoGCYMAbilities(definition.getRecipeTypes())) .or(autoAbilities(true, false, true))) .where('C', blocks(MOLYBDENUM_DISILICIDE_COIL_BLOCK.get())) @@ -370,7 +370,7 @@ public static void init() {} .aisle("XXSXX", "XXGXX", "XXGXX", "XXXXX") .where('S', controller(definition)) .where('C', blocks(CASING_TUNGSTENSTEEL_PIPE.get())) - .where('X', blocks(CASING_LASER_SAFE_ENGRAVING.get()).setMinGlobalLimited(45) + .wherePart('X', blocks(CASING_LASER_SAFE_ENGRAVING.get()).setMinGlobalLimited(45) .or(GTOPredicates.autoGCYMAbilities(definition.getRecipeTypes())) .or(autoAbilities(true, false, true))) .where('G', blocks(CASING_TEMPERED_GLASS.get())) @@ -399,7 +399,7 @@ public static void init() {} .aisle("XXXXX", "XAXAX", "XKKKX", "XKKKX", "X###X") .aisle("#X#X#", "#X#X#", "#XSX#", "XXXXX", "#XXX#") .where('S', controller(definition)) - .where('X', blocks(CASING_VIBRATION_SAFE.get()).setMinGlobalLimited(50) + .wherePart('X', blocks(CASING_VIBRATION_SAFE.get()).setMinGlobalLimited(50) .or(GTOPredicates.autoGCYMAbilities(definition.getRecipeTypes())) .or(autoAbilities(true, false, true))) .where('K', blocks(CASING_GRATE.get())) @@ -454,7 +454,7 @@ public static void init() {} .aisle("XXXXX", "CAAAC", "GAAAG", "CAAAC", "XXXXX") .aisle("#XSX#", "#CCC#", "#GGG#", "#CCC#", "#XXX#") .where('S', controller(definition)) - .where('X', blocks(CASING_HIGH_TEMPERATURE_SMELTING.get()).setMinGlobalLimited(30) + .wherePart('X', blocks(CASING_HIGH_TEMPERATURE_SMELTING.get()).setMinGlobalLimited(30) .or(GTOPredicates.autoGCYMAbilities(definition.getRecipeTypes())) .or(autoAbilities(true, false, false))) .where('C', heatingCoils()) @@ -506,7 +506,7 @@ public static void init() {} .aisle("XXX", "XTX", "XXX") .aisle("XXX", "XSX", "XXX") .where('S', controller(definition)) - .where('X', blocks(CASING_WATERTIGHT.get()).setMinGlobalLimited(30) + .wherePart('X', blocks(CASING_WATERTIGHT.get()).setMinGlobalLimited(30) .or(GTOPredicates.autoGCYMAbilities(definition.getRecipeTypes())) .or(autoAbilities(true, false, true))) .where('T', blocks(CASING_STEEL_PIPE.get())) @@ -532,7 +532,7 @@ public static void init() {} .aisle("XXXXXXX", "XaXGGGX", "XXXXXXX") .aisle("XXXXXXX", "XSXCCCX", "XXXXXXX") .where('S', controller(definition)) - .where('X', blocks(CASING_STRESS_PROOF.get()).setMinGlobalLimited(40) + .wherePart('X', blocks(CASING_STRESS_PROOF.get()).setMinGlobalLimited(40) .or(GTOPredicates.autoGCYMAbilities(definition.getRecipeTypes())) .or(autoAbilities(true, false, true))) .where('G', blocks(CASING_STEEL_GEARBOX.get())) @@ -560,7 +560,7 @@ public static void init() {} .aisle("XXXXX", "XCCCX", "XAAAX", "XXaXX", "##X##") .aisle("#XXX#", "#XSX#", "#XXX#", "#XXX#", "#####") .where('S', controller(definition)) - .where('X', blocks(CASING_CORROSION_PROOF.get()).setMinGlobalLimited(50) + .wherePart('X', blocks(CASING_CORROSION_PROOF.get()).setMinGlobalLimited(50) .or(GTOPredicates.autoGCYMAbilities(definition.getRecipeTypes())) .or(autoAbilities(true, false, true))) .where('P', blocks(CASING_STEEL_PIPE.get())) @@ -590,7 +590,7 @@ public static void init() {} .aisle("XXXXXXX", "XaXCCCX", "XXXAAAX", "##XXXXX") .aisle("XXXXXXX", "XSXGGGX", "XXXGGGX", "##XXXXX") .where('S', controller(definition)) - .where('X', blocks(CASING_SHOCK_PROOF.get()).setMinGlobalLimited(65) + .wherePart('X', blocks(CASING_SHOCK_PROOF.get()).setMinGlobalLimited(65) .or(GTOPredicates.autoGCYMAbilities(definition.getRecipeTypes())) .or(autoAbilities(true, false, true))) .where('G', blocks(CASING_TEMPERED_GLASS.get())) @@ -621,8 +621,7 @@ public static void init() {} .aisle("##X##", "#XAX#", "XAPAX", "#XAX#", "##X##").setRepeatable(1, 12) .aisle("#####", "#ZZZ#", "#ZCZ#", "#ZZZ#", "#####") .where('S', controller(definition)) - .where('Y', casingPredicate.or(abilities(IMPORT_ITEMS)) - .or(Predicates.blocks(CONTROL_HATCH.get()).setMaxGlobalLimited(1).setPreviewCount(0)) + .wherePart('Y', casingPredicate.or(abilities(IMPORT_ITEMS)) .or(abilities(INPUT_ENERGY).setMinGlobalLimited(1).setMaxGlobalLimited(8)) .or(abilities(IMPORT_FLUIDS).setMinGlobalLimited(1)) .or(Predicates.abilities(GTOPartAbility.ACCELERATE_HATCH).setMaxGlobalLimited(1)) @@ -709,7 +708,7 @@ public static void init() {} .aisle("XXXXX", "XCaCX", "XXXXX") .aisle("XXXXX", "XXSXX", "XXXXX") .where('S', controller(definition)) - .where('X', blocks(CASING_WATERTIGHT.get()).setMinGlobalLimited(25) + .wherePart('X', blocks(CASING_WATERTIGHT.get()).setMinGlobalLimited(25) .or(GTOPredicates.autoGCYMAbilities(definition.getRecipeTypes())) .or(autoAbilities(true, false, true))) .where('C', blocks(CASING_STEEL_PIPE.get())) @@ -736,7 +735,7 @@ public static void init() {} .aisle("XXXXX", "XaXPX", "XXXGX") .aisle("XXXXX", "XSXXX", "XXXXX") .where('S', controller(definition)) - .where('X', blocks(CASING_STRESS_PROOF.get()).setMinGlobalLimited(40) + .wherePart('X', blocks(CASING_STRESS_PROOF.get()).setMinGlobalLimited(40) .or(GTOPredicates.autoGCYMAbilities(definition.getRecipeTypes())) .or(autoAbilities(true, false, true))) .where('P', blocks(CASING_TITANIUM_PIPE.get())) @@ -765,7 +764,7 @@ public static void init() {} .aisle("XXXXX", "XCaCX", "XCACX", "XXXXX") .aisle("#XXX#", "#XSX#", "#XXX#", "#XXX#") .where('S', controller(definition)) - .where('X', blocks(CASING_WATERTIGHT.get()).setMinGlobalLimited(45) + .wherePart('X', blocks(CASING_WATERTIGHT.get()).setMinGlobalLimited(45) .or(GTOPredicates.autoGCYMAbilities(definition.getRecipeTypes())) .or(autoAbilities(true, false, true))) .where('C', blocks(CASING_STEEL_PIPE.get())) @@ -793,7 +792,7 @@ public static void init() {} .aisle("XXXXX", "XaCCX", "XXXXX") .aisle("XXXXX", "XSXXX", "XXX##") .where('S', controller(definition)) - .where('X', blocks(CASING_STRESS_PROOF.get()).setMinGlobalLimited(25) + .wherePart('X', blocks(CASING_STRESS_PROOF.get()).setMinGlobalLimited(25) .or(GTOPredicates.autoGCYMAbilities(definition.getRecipeTypes())) .or(autoAbilities(true, false, true))) .where('C', blocks(CASING_TITANIUM_GEARBOX.get())) @@ -831,7 +830,7 @@ public static void init() {} .aisle("#XXXXXXXXXXX#", "#XXXXXaXXXXX#", "###F#####F###", "###F#####F###", "###FFFFFFF###", "#############", "#############", "#############", "#############", "#############", "####FFFFF####", "#############", "#############", "#############", "#############", "#############", "#############") .aisle("##XXXXXXXXX##", "##XXXXSXXXX##", "#############", "#############", "#############", "#############", "#############", "#############", "#############", "#############", "#############", "#############", "#############", "#############", "#############", "#############", "#############") .where('S', controller(definition)) - .where('X', casing.or(GTOPredicates.autoGCYMAbilities(definition.getRecipeTypes())) + .wherePart('X', casing.or(GTOPredicates.autoGCYMAbilities(definition.getRecipeTypes())) .or(autoAbilities(true, false, true))) .where('C', heatingCoils()) .where('M', abilities(MUFFLER)) @@ -870,7 +869,7 @@ public static void init() {} .aisle("XXXXXXX#KKK", "XPPPPPX#KVK", "XPA#APX#KVK", "XPAAAPX#KVK", "XPAAAPX#KKK", "XPPPPPX####", "XXXXXXX####") .aisle("#XXXXX#####", "#XXSXX#####", "#XGGGX#####", "#XGGGX#####", "#XGGGX#####", "#XXXXX#####", "###########") .where('S', controller(definition)) - .where('X', blocks(CASING_ALUMINIUM_FROSTPROOF.get()).setMinGlobalLimited(140) + .wherePart('X', blocks(CASING_ALUMINIUM_FROSTPROOF.get()).setMinGlobalLimited(140) .or(GTOPredicates.autoGCYMAbilities(definition.getRecipeTypes())) .or(autoAbilities(true, false, true))) .where('G', blocks(CASING_TEMPERED_GLASS.get())) @@ -907,7 +906,7 @@ public static void init() {} .aisle(" ebbbbbe ", " c c ", " c c ", " c c ", " efffffe ", " bbbbbbb ", " bbbbb ", " ccccc ", " ccccc ", " ccccc ", " ccccc ", " ccccc ", " ccccc ", " ccccc ", " ccccc ", " ccccc ", " bbbbb ", " ") .aisle(" eeeee ", " cbbbc ", " cb~bc ", " cbbbc ", " eeeee ", " bbbbb ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ") .where('~', controller(definition)) - .where('b', blocks(GCYMBlocks.CASING_HIGH_TEMPERATURE_SMELTING.get()).setMinGlobalLimited(280) + .wherePart('b', blocks(GCYMBlocks.CASING_HIGH_TEMPERATURE_SMELTING.get()).setMinGlobalLimited(280) .or(GTOPredicates.autoGCYMAbilities(definition.getRecipeTypes())) .or(abilities(MAINTENANCE).setExactLimit(1)) .or(abilities(PARALLEL_HATCH).setMaxGlobalLimited(1))) @@ -942,7 +941,7 @@ public static void init() {} .aisle("AAAAA", "ABBBA", "A A", "A C A") .aisle("AAAAA", "AA~AA", "AAAAA", "AAAAA") .where('~', controller(definition)) - .where('A', blocks(GCYMBlocks.CASING_SECURE_MACERATION.get()) + .wherePart('A', blocks(GCYMBlocks.CASING_SECURE_MACERATION.get()) .or(abilities(GTOPartAbility.ACCELERATE_HATCH).setMaxGlobalLimited(1)) .or(abilities(IMPORT_ITEMS).setMaxGlobalLimited(1).setPreviewCount(1)) .or(abilities(EXPORT_ITEMS).setMaxGlobalLimited(1).setPreviewCount(1)) @@ -975,7 +974,7 @@ public static void init() {} .aisle("AAAAA", "A A", "ACCCA", "AAAAA") .aisle("AA~AA", "A A", "AAAAA", " AAA ") .where('~', controller(definition)) - .where('A', blocks(GCYMBlocks.CASING_STRESS_PROOF.get()) + .wherePart('A', blocks(GCYMBlocks.CASING_STRESS_PROOF.get()) .setMinGlobalLimited(80) .or(GTOPredicates.autoGCYMAbilities(definition.getRecipeTypes())) .or(autoAbilities(true, false, true))) @@ -1011,7 +1010,7 @@ public static void init() {} .where('E', blocks(GTBlocks.CASING_GRATE.get())) .where('F', blocks(GTBlocks.STEEL_HULL.get())) .where('G', controller(definition)) - .where('A', blocks(GCYMBlocks.CASING_STRESS_PROOF.get()) + .wherePart('A', blocks(GCYMBlocks.CASING_STRESS_PROOF.get()) .or(GTOPredicates.autoGCYMAbilities(definition.getRecipeTypes())) .or(autoAbilities(true, false, true))) .where(' ', any()) @@ -1042,7 +1041,7 @@ public static void init() {} .where('F', blocks(ChemicalHelper.getBlock(TagPrefix.block, GTMaterials.TungstenSteel))) .where('G', blocks(GTBlocks.CASING_TUNGSTENSTEEL_GEARBOX.get())) .where('H', blocks(GTBlocks.CASING_GRATE.get())) - .where('A', blocks(GCYMBlocks.CASING_STRESS_PROOF.get()) + .wherePart('A', blocks(GCYMBlocks.CASING_STRESS_PROOF.get()) .or(GTOPredicates.autoGCYMAbilities(definition.getRecipeTypes())) .or(autoAbilities(true, false, true))) .where(' ', any()) @@ -1073,7 +1072,7 @@ public static void init() {} .where('D', blocks(GTBlocks.CASING_PALLADIUM_SUBSTATION.get())) .where('E', blocks(GCYMBlocks.ELECTROLYTIC_CELL.get())) .where('F', controller(definition)) - .where('a', blocks(GCYMBlocks.CASING_NONCONDUCTING.get()) + .wherePart('a', blocks(GCYMBlocks.CASING_NONCONDUCTING.get()) .or(GTOPredicates.autoGCYMAbilities(definition.getRecipeTypes())) .or(autoAbilities(true, false, true))) .where(' ', any()) @@ -1098,7 +1097,7 @@ public static void init() {} .aisle("ABBBB", "AFCFB", "AEEEB") .aisle("ABBBB", "ADCDB", "AEEEB") .aisle("ABBBB", "ABCBB", "ABBBB") - .where('A', blocks(GTBlocks.CASING_PTFE_INERT.get()) + .wherePart('A', blocks(GTBlocks.CASING_PTFE_INERT.get()) .or(GTOPredicates.autoGCYMAbilities(definition.getRecipeTypes())) .or(autoAbilities(true, false, true))) .where('B', blocks(GTBlocks.CASING_PTFE_INERT.get())) @@ -1129,7 +1128,7 @@ public static void init() {} .aisle("ACA", "CDC", "CCC") .aisle("ACA", "CDC", "CCC") .aisle("AAA", "ABA", "AAA") - .where('A', blocks(GCYMBlocks.CASING_LASER_SAFE_ENGRAVING.get()) + .wherePart('A', blocks(GCYMBlocks.CASING_LASER_SAFE_ENGRAVING.get()) .or(GTOPredicates.autoGCYMAbilities(definition.getRecipeTypes())) .or(autoAbilities(true, false, true))) .where('B', controller(definition)) @@ -1162,7 +1161,7 @@ public static void init() {} .where('B', GTOPredicates.frame(GTMaterials.Ultimet)) .where('C', blocks(GTBlocks.CASING_TUNGSTENSTEEL_GEARBOX.get())) .where('D', blocks(GTBlocks.CASING_TEMPERED_GLASS.get())) - .where('X', blocks(GCYMBlocks.CASING_SECURE_MACERATION.get()) + .wherePart('X', blocks(GCYMBlocks.CASING_SECURE_MACERATION.get()) .or(GTOPredicates.autoGCYMAbilities(definition.getRecipeTypes())) .or(blocks(GTOMachines.MACHINE_ACCESS_LINK.get()).setMaxGlobalLimited(1, 0)) .or(autoAbilities(true, false, true))) diff --git a/src/main/java/com/gtocore/common/data/machines/GTMachineModify.java b/src/main/java/com/gtocore/common/data/machines/GTMachineModify.java index 9ea66dadd..9c9ae297e 100644 --- a/src/main/java/com/gtocore/common/data/machines/GTMachineModify.java +++ b/src/main/java/com/gtocore/common/data/machines/GTMachineModify.java @@ -64,7 +64,7 @@ public static void init() { .aisle("XXX", "XSX", "XXX") .where('S', Predicates.controller(definition)) .where('#', air()) - .where('X', blocks(CASING_BRONZE_BRICKS.get()) + .wherePart('X', blocks(CASING_BRONZE_BRICKS.get()) .or(abilities(PartAbility.STEAM_IMPORT_ITEMS).setMaxGlobalLimited(1).setPreviewCount(1)) .or(abilities(PartAbility.STEAM_EXPORT_ITEMS).setMaxGlobalLimited(1).setPreviewCount(1)) .or(abilities(PartAbility.STEAM).setExactLimit(1)) @@ -78,7 +78,7 @@ public static void init() { .where('S', controller(definition)) .where('#', air()) .where(' ', any()) - .where('X', blocks(CASING_BRONZE_BRICKS.get()) + .wherePart('X', blocks(CASING_BRONZE_BRICKS.get()) .or(Predicates.abilities(PartAbility.STEAM_IMPORT_ITEMS).setMaxGlobalLimited(1).setPreviewCount(1)) .or(Predicates.abilities(PartAbility.STEAM_EXPORT_ITEMS).setMaxGlobalLimited(1).setPreviewCount(1))) .where('F', blocks(FIREBOX_BRONZE.get()) @@ -90,7 +90,7 @@ public static void init() { .aisle("XXX", "XXX", "XXX", "XXX") .aisle("XXX", "X#X", "X#X", "X#X") .aisle("XXX", "XYX", "XXX", "XXX") - .where('X', blocks(CASING_PRIMITIVE_BRICKS.get()).or(blocks(PRIMITIVE_BLAST_FURNACE_HATCH.get()).setMaxGlobalLimited(5))) + .wherePart('X', blocks(CASING_PRIMITIVE_BRICKS.get()).or(blocks(PRIMITIVE_BLAST_FURNACE_HATCH.get()).setMaxGlobalLimited(5))) .where('#', air()) .where('Y', controller(definition)) .build())); @@ -104,7 +104,7 @@ public static void init() { .where('X', blocks(FIREBOX_BRONZE.get()).setMinGlobalLimited(5) .or(Predicates.abilities(PartAbility.IMPORT_FLUIDS).setMinGlobalLimited(1).setPreviewCount(1)) .or(Predicates.abilities(PartAbility.IMPORT_ITEMS).setMaxGlobalLimited(1).setPreviewCount(1))) - .where('C', blocks(CASING_BRONZE_BRICKS.get()).setMinGlobalLimited(20).or(Predicates.abilities(PartAbility.EXPORT_FLUIDS).setMinGlobalLimited(1).setPreviewCount(1))) + .wherePart('C', blocks(CASING_BRONZE_BRICKS.get()).setMinGlobalLimited(20).or(Predicates.abilities(PartAbility.EXPORT_FLUIDS).setMinGlobalLimited(1).setPreviewCount(1))) .build())); GTMultiMachines.DISTILLATION_TOWER.setPatternFactory(List.of(definition -> { @@ -116,7 +116,7 @@ public static void init() { .aisle("XXX", "X#X", "XXX").setRepeatable(0, 10) .aisle("XXX", "XXX", "XXX") .where('S', Predicates.controller(definition)) - .where('Y', blocks(CASING_STAINLESS_CLEAN.get()) + .wherePart('Y', blocks(CASING_STAINLESS_CLEAN.get()) .or(Predicates.abilities(PartAbility.EXPORT_ITEMS).setMaxGlobalLimited(1)) .or(Predicates.abilities(PartAbility.INPUT_ENERGY).setMinGlobalLimited(1).setMaxGlobalLimited(2)) .or(Predicates.abilities(PartAbility.IMPORT_FLUIDS).setExactLimit(1)) diff --git a/src/main/java/com/gtocore/common/data/machines/GeneratorMultiblock.java b/src/main/java/com/gtocore/common/data/machines/GeneratorMultiblock.java index 122885d39..24178d5b8 100644 --- a/src/main/java/com/gtocore/common/data/machines/GeneratorMultiblock.java +++ b/src/main/java/com/gtocore/common/data/machines/GeneratorMultiblock.java @@ -26,7 +26,6 @@ import com.gregtechceu.gtceu.api.machine.MultiblockMachineDefinition; import com.gregtechceu.gtceu.api.machine.multiblock.PartAbility; import com.gregtechceu.gtceu.api.pattern.FactoryBlockPattern; -import com.gregtechceu.gtceu.api.pattern.Predicates; import com.gregtechceu.gtceu.api.pattern.util.RelativeDirection; import com.gregtechceu.gtceu.api.recipe.modifier.ParallelLogic; import com.gregtechceu.gtceu.api.recipe.modifier.RecipeModifier; @@ -105,8 +104,7 @@ private static MultiblockMachineDefinition registerPhotovoltaicPowerStation(Stri .where('J', blocks(GCYMBlocks.HEAT_VENT.get())) .where('K', blocks(GTOBlocks.BORON_CARBIDE_CERAMIC_RADIATION_RESISTANT_MECHANICAL_CUBE.get())) .where('L', controller(definition)) - .where('I', blocks(GTBlocks.CASING_TUNGSTENSTEEL_ROBUST.get()) - .or(blocks(GTMachines.CONTROL_HATCH.get()).setMaxGlobalLimited(1).setPreviewCount(0)) + .wherePart('I', blocks(GTBlocks.CASING_TUNGSTENSTEEL_ROBUST.get()) .or(abilities(OUTPUT_LASER).setExactLimit(1)) .or(abilities(MAINTENANCE).setExactLimit(1)) .or(abilities(IMPORT_FLUIDS).setMaxGlobalLimited(1)) @@ -202,8 +200,7 @@ private static MultiblockMachineDefinition registerPhotovoltaicPowerStation(Stri .where('M', blocks(GTBlocks.FIREBOX_TUNGSTENSTEEL.get())) .where('N', blocks(GTBlocks.CASING_TUNGSTENSTEEL_ROBUST.get()) .or(abilities(OUTPUT_ENERGY).setMaxGlobalLimited(4, 4))) - .where('n', blocks(GTBlocks.CASING_TUNGSTENSTEEL_ROBUST.get()) - .or(blocks(GTMachines.CONTROL_HATCH.get()).setMaxGlobalLimited(1).setPreviewCount(0)) + .wherePart('n', blocks(GTBlocks.CASING_TUNGSTENSTEEL_ROBUST.get()) .or(abilities(MAINTENANCE).setExactLimit(1)) .or(blocks(ExResearchMachines.ENERGY_DATA_HOLDER.get()).setMaxGlobalLimited(1)) .or(abilities(OUTPUT_ENERGY).setMaxGlobalLimited(4, 4))) @@ -519,7 +516,7 @@ private static MultiblockMachineDefinition registerPhotovoltaicPowerStation(Stri .where('X', blocks(GTOBlocks.SPACETIME_ASSEMBLY_LINE_UNIT.get())) .where('Y', blocks(GTBlocks.CASING_PALLADIUM_SUBSTATION.get())) .where('[', blocks(GTOBlocks.HIGH_ENERGY_ULTRAVIOLET_EMITTER_CASING.get())) - .where('a', blocks(GTOBlocks.DYSON_CONTROL_CASING.get()) + .wherePart('a', blocks(GTOBlocks.DYSON_CONTROL_CASING.get()) .or(abilities(COMPUTATION_DATA_RECEPTION).setExactLimit(1)) .or(autoAbilities(definition.getRecipeTypes()))) .where(' ', any()) @@ -545,8 +542,7 @@ private static MultiblockMachineDefinition registerPhotovoltaicPowerStation(Stri .where('G', blocks(GTOBlocks.HYPER_CORE.get())) .where('H', blocks(GTOBlocks.MOLECULAR_CASING.get())) .where('I', blocks(GTBlocks.HIGH_POWER_CASING.get())) - .where('a', blocks(GTBlocks.HIGH_POWER_CASING.get()) - .or(blocks(GTMachines.CONTROL_HATCH.get()).setMaxGlobalLimited(1).setPreviewCount(0)) + .wherePart('a', blocks(GTBlocks.HIGH_POWER_CASING.get()) .or(abilities(IMPORT_FLUIDS).setExactLimit(1)) .or(abilities(COMPUTATION_DATA_RECEPTION).setExactLimit(1)) .or(blocks(ExResearchMachines.ENERGY_DATA_HOLDER.get()).setMaxGlobalLimited(1)) @@ -584,8 +580,7 @@ private static MultiblockMachineDefinition registerPhotovoltaicPowerStation(Stri .where('E', GTOPredicates.frame(GTMaterials.Naquadria)) .where('F', blocks(GTOBlocks.AMPROSIUM_PIPE_CASING.get())) .where('G', GTOPredicates.frame(GTMaterials.Trinium)) - .where('a', blocks(GTOBlocks.HYPER_MECHANICAL_CASING.get()) - .or(blocks(GTMachines.CONTROL_HATCH.get()).setMaxGlobalLimited(1).setPreviewCount(0)) + .wherePart('a', blocks(GTOBlocks.HYPER_MECHANICAL_CASING.get()) .or(abilities(IMPORT_FLUIDS).setMaxGlobalLimited(2)) .or(abilities(OUTPUT_ENERGY).setMaxGlobalLimited(1)) .or(blocks(ExResearchMachines.ENERGY_DATA_HOLDER.get()).setMaxGlobalLimited(1)) @@ -623,8 +618,7 @@ private static MultiblockMachineDefinition registerPhotovoltaicPowerStation(Stri .where('F', blocks(GTOBlocks.DIMENSIONAL_BRIDGE_CASING.get())) .where('G', blocks(GTOBlocks.CONTAINMENT_FIELD_GENERATOR.get())) .where('H', blocks(GTOBlocks.HYPER_CORE.get())) - .where('a', blocks(GTOBlocks.ENHANCE_HYPER_MECHANICAL_CASING.get()) - .or(blocks(GTMachines.CONTROL_HATCH.get()).setMaxGlobalLimited(1).setPreviewCount(0)) + .wherePart('a', blocks(GTOBlocks.ENHANCE_HYPER_MECHANICAL_CASING.get()) .or(abilities(IMPORT_FLUIDS).setMaxGlobalLimited(1)) .or(blocks(ExResearchMachines.ENERGY_DATA_HOLDER.get()).setMaxGlobalLimited(1)) .or(abilities(MAINTENANCE).setExactLimit(1)) @@ -700,8 +694,7 @@ private static MultiblockMachineDefinition registerPhotovoltaicPowerStation(Stri .where('G', blocks(GTBlocks.FUSION_GLASS.get())) .where('H', blocks(GTOBlocks.HYPER_CORE.get())) .where('I', blocks(GTOBlocks.AMPROSIUM_PIPE_CASING.get())) - .where('a', blocks(GTOBlocks.ENHANCE_HYPER_MECHANICAL_CASING.get()) - .or(blocks(GTMachines.CONTROL_HATCH.get()).setMaxGlobalLimited(1).setPreviewCount(0)) + .wherePart('a', blocks(GTOBlocks.ENHANCE_HYPER_MECHANICAL_CASING.get()) .or(abilities(IMPORT_FLUIDS).setMaxGlobalLimited(2)) .or(blocks(ExResearchMachines.ENERGY_DATA_HOLDER.get()).setMaxGlobalLimited(1)) .or(abilities(MAINTENANCE).setExactLimit(1)) @@ -732,8 +725,7 @@ private static MultiblockMachineDefinition registerPhotovoltaicPowerStation(Stri .aisle("XXX", "C#C", "XXX") .aisle("XSX", "CCC", "XXX") .where('S', controller(definition)) - .where('X', blocks(GTBlocks.CASING_STEEL_SOLID.get()) - .or(Predicates.blocks(GTMachines.CONTROL_HATCH.get()).setMaxGlobalLimited(1).setPreviewCount(0)) + .wherePart('X', blocks(GTBlocks.CASING_STEEL_SOLID.get()) .or(abilities(IMPORT_FLUIDS).setMaxGlobalLimited(4)) .or(abilities(OUTPUT_ENERGY).setMaxGlobalLimited(1)) .or(blocks(ExResearchMachines.ENERGY_DATA_HOLDER.get()).setMaxGlobalLimited(1)) @@ -761,8 +753,7 @@ private static MultiblockMachineDefinition registerPhotovoltaicPowerStation(Stri .where('H', blocks(GTOBlocks.RHENIUM_REINFORCED_ENERGY_GLASS.get())) .where('I', blocks(GTOBlocks.DYSON_CONTROL_CASING.get())) .where('J', blocks(GTOBlocks.DYSON_RECEIVER_CASING.get())) - .where('K', blocks(GTBlocks.HIGH_POWER_CASING.get()) - .or(blocks(GTMachines.CONTROL_HATCH.get()).setMaxGlobalLimited(1).setPreviewCount(0)) + .wherePart('K', blocks(GTBlocks.HIGH_POWER_CASING.get()) .or(blocks(GTOMachines.WIRELESS_ENERGY_INTERFACE_HATCH.get()).setMaxGlobalLimited(1)) .or(abilities(OUTPUT_LASER)) .or(abilities(IMPORT_ITEMS)) @@ -792,15 +783,14 @@ private static MultiblockMachineDefinition registerPhotovoltaicPowerStation(Stri else return r; }) .pattern(definition -> MultiBlockFileReader.start(definition) - .where('A', blocks(GTOBlocks.IRIDIUM_CASING.get()) + .wherePart('A', blocks(GTOBlocks.IRIDIUM_CASING.get()) .or(abilities(OUTPUT_ENERGY).or(abilities(INPUT_ENERGY).or(abilities(OUTPUT_LASER)))) .or(abilities(IMPORT_ITEMS)) .or(abilities(IMPORT_FLUIDS)) .or(abilities(EXPORT_ITEMS)) .or(abilities(EXPORT_FLUIDS)) .or(blocks(ExResearchMachines.ENERGY_DATA_HOLDER.get()).setMaxGlobalLimited(1)) - .or(blocks(GTOMachines.ION_ACTIVITY_SENSOR.get()).setMaxGlobalLimited(1)) - .or(blocks(GTMachines.CONTROL_HATCH.get()))) + .or(blocks(GTOMachines.ION_ACTIVITY_SENSOR.get()).setMaxGlobalLimited(1))) .where('B', blocks(GCYMBlocks.ELECTROLYTIC_CELL.get())) .where('C', controller(definition)) .where('D', blocks(GTOBlocks.FLOCCULATION_CASING.get())) @@ -835,7 +825,7 @@ private static MultiblockMachineDefinition registerPhotovoltaicPowerStation(Stri .where('C', blocks(GTOBlocks.BIOACTIVE_MECHANICAL_CASING.get())) .where('D', blocks(GTBlocks.HIGH_POWER_CASING.get())) .where('E', GTOPredicates.frame(GTMaterials.Naquadria)) - .where('F', blocks(GTOBlocks.BIOACTIVE_MECHANICAL_CASING.get()) + .wherePart('F', blocks(GTOBlocks.BIOACTIVE_MECHANICAL_CASING.get()) .or(abilities(INPUT_ENERGY)) .or(abilities(MAINTENANCE).setExactLimit(1))) .where('G', blocks(GTOBlocks.AMPROSIUM_ACTIVE_CASING.get())) @@ -867,15 +857,14 @@ private static MultiblockMachineDefinition registerPhotovoltaicPowerStation(Stri .where('H', GTOPredicates.frame(GTOMaterials.HastelloyN)) .where('I', blocks(GTOBlocks.BIOLOGICAL_MECHANICAL_CASING.get())) .where('J', blocks(GTOBlocks.PRESSURE_RESISTANT_HOUSING_MECHANICAL_BLOCK.get())) - .where('K', blocks(GTOBlocks.ANTIFREEZE_HEATPROOF_MACHINE_CASING.get()) + .wherePart('K', blocks(GTOBlocks.ANTIFREEZE_HEATPROOF_MACHINE_CASING.get()) .or(abilities(OUTPUT_ENERGY).or(abilities(OUTPUT_LASER))) .or(abilities(IMPORT_ITEMS)) .or(abilities(IMPORT_FLUIDS)) .or(abilities(EXPORT_FLUIDS)) .or(blocks(ExResearchMachines.ENERGY_DATA_HOLDER.get()).setMaxGlobalLimited(1)) .or(blocks(GTOMachines.TISSUE_SENSOR.get()).setMaxGlobalLimited(1)) - .or(blocks(GTOMachines.CONNECTING_ROD_HATCH.get()).setMaxGlobalLimited(1)) - .or(blocks(GTMachines.CONTROL_HATCH.get()))) + .or(blocks(GTOMachines.CONNECTING_ROD_HATCH.get()).setMaxGlobalLimited(1))) .where('L', blocks(GTOBlocks.NAQUADAH_REINFORCED_PLANT_CASING.get())) .where('M', GTOPredicates.tierBlock(BlockMap.MACHINING_CASING, GTORecipeDataKeys.MACHINING_CONTROL_MODULE_TIER)) .where('N', blocks(GTBlocks.CLEANROOM_GLASS.get())) diff --git a/src/main/java/com/gtocore/common/data/machines/ManaMultiBlock.java b/src/main/java/com/gtocore/common/data/machines/ManaMultiBlock.java index 011250483..9f235aa86 100644 --- a/src/main/java/com/gtocore/common/data/machines/ManaMultiBlock.java +++ b/src/main/java/com/gtocore/common/data/machines/ManaMultiBlock.java @@ -70,7 +70,7 @@ public static void init() {} .block(GTOBlocks.MANASTEEL_CASING) .pattern(definition -> MultiBlockFileReader.start(definition) .where('A', blocks(RegistriesUtils.getBlock("botania:livingrock"))) - .where('B', blocks(GTOBlocks.MANASTEEL_CASING.get()) + .wherePart('B', blocks(GTOBlocks.MANASTEEL_CASING.get()) .or(autoAbilities(definition.getRecipeTypes())) .or(abilities(GTOPartAbility.INPUT_MANA).setMaxGlobalLimited(8, 1)) .or(abilities(MAINTENANCE).setExactLimit(1))) @@ -112,7 +112,7 @@ public static void init() {} .where('~', controller(definition)) .where('A', blocks(RegistriesUtils.getBlock("botania:livingrock_bricks_wall"))) .where('B', blocks(RegistriesUtils.getBlock("botania:livingrock_bricks"))) - .where('b', blocks(RegistriesUtils.getBlock("botania:livingrock_bricks")) + .wherePart('b', blocks(RegistriesUtils.getBlock("botania:livingrock_bricks")) .or(abilities(GTOPartAbility.INPUT_MANA)) .or(abilities(GTOPartAbility.EXTRACT_MANA))) .where('C', blocks(Blocks.BIRCH_FENCE_GATE)) @@ -139,7 +139,7 @@ public static void init() {} .where('A', blocks(RegistriesUtils.getBlock("botania:livingrock"))) .where('B', blocks(RegistriesUtils.getBlock("botania:livingrock_bricks_wall"))) .where('C', blocks(RegistriesUtils.getBlock("botania:livingrock_bricks"))) - .where('c', blocks(RegistriesUtils.getBlock("botania:livingrock_bricks")) + .wherePart('c', blocks(RegistriesUtils.getBlock("botania:livingrock_bricks")) .or(abilities(GTOPartAbility.INPUT_MANA)) .or(abilities(GTOPartAbility.EXTRACT_MANA))) .where('D', blocks(RegistriesUtils.getBlock("botania:apothecary_livingrock"))) @@ -166,7 +166,7 @@ public static void init() {} .where('C', blocks(RegistriesUtils.getBlock("botania:livingwood_fence"))) .where('D', blocks(RegistriesUtils.getBlock("botania:livingwood"))) .where('E', controller(definition)) - .where('F', blocks(GTOBlocks.MANASTEEL_CASING.get()) + .wherePart('F', blocks(GTOBlocks.MANASTEEL_CASING.get()) .or(abilities(GTOPartAbility.INPUT_MANA).setMaxGlobalLimited(16, 1)) .or(abilities(PARALLEL_HATCH).setMaxGlobalLimited(1)) .or(abilities(EXPORT_ITEMS).setMaxGlobalLimited(16, 1)) @@ -213,7 +213,7 @@ public static void init() {} .block(GTOBlocks.MANASTEEL_CASING) .pattern(definition -> MultiBlockFileReader.start(definition) .where('A', GTOPredicates.frame(GTOMaterials.Manasteel)) - .where('B', blocks(GTOBlocks.MANASTEEL_CASING.get()) + .wherePart('B', blocks(GTOBlocks.MANASTEEL_CASING.get()) .or(abilities(GTOPartAbility.INPUT_MANA).setMaxGlobalLimited(2, 1)) .or(abilities(PARALLEL_HATCH).setMaxGlobalLimited(1)) .or(abilities(EXPORT_ITEMS).setMaxGlobalLimited(4, 1)) @@ -239,7 +239,7 @@ public static void init() {} .recipeTypes(GTORecipeTypes.INDUSTRIAL_ALTAR_RECIPES) .block(GTOBlocks.MANASTEEL_CASING) .pattern(definition -> MultiBlockFileReader.start(definition) - .where('A', blocks(GTOBlocks.MANASTEEL_CASING.get()) + .wherePart('A', blocks(GTOBlocks.MANASTEEL_CASING.get()) .or(abilities(GTOPartAbility.INPUT_MANA).setMaxGlobalLimited(16, 1)) .or(abilities(PARALLEL_HATCH).setMaxGlobalLimited(1)) .or(abilities(IMPORT_FLUIDS).setMaxGlobalLimited(16, 1)) @@ -277,7 +277,7 @@ public static void init() {} .where('H', GTOPredicates.frame(GTOMaterials.Gaiasteel)) .where('I', blocks(RegistriesUtils.getBlock("botania:livingrock_bricks_wall"))) .where('J', blocks(BotaniaBlocks.enchantedSoil)) - .where('K', blocks(GTOBlocks.MANASTEEL_CASING.get()) + .wherePart('K', blocks(GTOBlocks.MANASTEEL_CASING.get()) .or(abilities(GTOPartAbility.INPUT_MANA).setMaxGlobalLimited(16, 1)) .or(abilities(PARALLEL_HATCH).setMaxGlobalLimited(1)) .or(abilities(IMPORT_FLUIDS).setMaxGlobalLimited(4, 1)) @@ -301,7 +301,7 @@ public static void init() {} .where('C', blocks(RegistriesUtils.getBlock("botania:livingwood"))) .where('D', blocks(RegistriesUtils.getBlock("botania:glimmering_livingwood"))) .where('E', air()) - .where('F', blocks(RegistriesUtils.getBlock("botania:livingrock")) + .wherePart('F', blocks(RegistriesUtils.getBlock("botania:livingrock")) .or(abilities(PARALLEL_HATCH).setMaxGlobalLimited(1)) .or(abilities(IMPORT_FLUIDS).setMaxGlobalLimited(4, 1)) .or(abilities(IMPORT_ITEMS).setMaxGlobalLimited(4, 1)) @@ -346,7 +346,7 @@ public static void init() {} .pattern(definition -> MultiBlockFileReader.start(definition) .where('A', blocks(GTOBlocks.ALFSTEEL_CASING.get())) .where('B', blocks(GTOBlocks.SPELL_PRISM_CASING.get())) - .where('C', blocks(GTOBlocks.SPELL_PRISM_CASING.get()) + .wherePart('C', blocks(GTOBlocks.SPELL_PRISM_CASING.get()) .or(abilities(EXPORT_ITEMS).setMaxGlobalLimited(4, 1)) .or(abilities(IMPORT_ITEMS).setMaxGlobalLimited(4, 1)) .or(abilities(IMPORT_FLUIDS).setMaxGlobalLimited(4, 1)) @@ -388,7 +388,7 @@ public static void init() {} .aisle(" AAAAA ", " BBB ", " CHC ", " CCC ", " CDC ", " CDC ", " CDC ", " CDC ", " CDC ", " CDC ", " CDC ", " CCC ", " CCC ", " ") .where('A', blocks(GTOBlocks.PPS_CORROSION_RESISTANT_MECHANICAL_HOUSING.get())) .where('B', GTOPredicates.frame(GTOMaterials.Herbs)) - .where('C', blocks(GCYMBlocks.CASING_CORROSION_PROOF.get()) + .wherePart('C', blocks(GCYMBlocks.CASING_CORROSION_PROOF.get()) .or(abilities(EXPORT_ITEMS).setMaxGlobalLimited(4, 1)) .or(abilities(IMPORT_ITEMS).setMaxGlobalLimited(4, 1)) .or(abilities(EXPORT_FLUIDS).setMaxGlobalLimited(4, 1)) @@ -437,7 +437,7 @@ public static void init() {} .block(GTOBlocks.SOURCE_FIBER_MECHANICAL_CASING) .pattern(definition -> MultiBlockFileReader.start(definition) .where('A', blocks(GTOBlocks.SPELL_PRISM_CASING.get())) - .where('B', blocks(GTOBlocks.SOURCE_FIBER_MECHANICAL_CASING.get()) + .wherePart('B', blocks(GTOBlocks.SOURCE_FIBER_MECHANICAL_CASING.get()) .or(abilities(GTOPartAbility.INPUT_MANA).setMaxGlobalLimited(16, 1)) .or(abilities(PARALLEL_HATCH).setMaxGlobalLimited(1)) .or(abilities(EXPORT_ITEMS)) @@ -475,7 +475,7 @@ public static void init() {} .where('D', blocks(GTOBlocks.SOURCE_STONE_CASING.get())) .where('E', blocks(GTOBlocks.SPELL_PRISM_CASING.get())) .where('F', blocks(GTOBlocks.HERETICAL_MECHANICAL_CASING.get())) - .where('G', blocks(GTOBlocks.SPELL_PRISM_CASING.get()) + .wherePart('G', blocks(GTOBlocks.SPELL_PRISM_CASING.get()) .or(abilities(INPUT_ENERGY)) .or(abilities(GTOPartAbility.INPUT_MANA)) .or(abilities(IMPORT_FLUIDS)) @@ -515,7 +515,7 @@ public static void init() {} .where('J', blocks(GTOBlocks.ORIGINAL_BRONZE_CASING.get())) .where('K', blocks(GTOBlocks.THE_ORIGIN_CASING.get())) .where('L', blocks(RegistriesUtils.getBlock("ars_nouveau:void_prism"))) - .where('M', blocks(GTOBlocks.THE_ORIGIN_CASING.get()) + .wherePart('M', blocks(GTOBlocks.THE_ORIGIN_CASING.get()) .or(autoAbilities(definition.getRecipeTypes())) .or(abilities(GTOPartAbility.INPUT_MANA).setMaxGlobalLimited(16)) .or(abilities(MAINTENANCE).setExactLimit(1))) @@ -546,7 +546,7 @@ public static void init() {} .where('L', blocks(GTOBlocks.SPELL_PRISM_CASING.get())) .where('M', blocks(RegistriesUtils.getBlock("mythicbotany:alfsteel_pylon"))) .where('N', GTOPredicates.frame(GTOMaterials.Photonium)) - .where('O', blocks(GTOBlocks.SPELL_PRISM_CASING.get()) + .wherePart('O', blocks(GTOBlocks.SPELL_PRISM_CASING.get()) .or(autoAbilities(definition.getRecipeTypes())) .or(abilities(GTOPartAbility.INPUT_MANA).setMaxGlobalLimited(16)) .or(abilities(MAINTENANCE).setExactLimit(1))) @@ -584,7 +584,7 @@ public static void init() {} .where('C', blocks(RegistriesUtils.getBlock("ars_nouveau:purple_archwood_log"))) .where('D', ManaFlowAssembler.MANA_POOL.get()) .where('E', ManaFlowAssembler.MANA_PYLON.get()) - .where('F', blocks(GTOBlocks.MANASTEEL_CASING.get()) + .wherePart('F', blocks(GTOBlocks.MANASTEEL_CASING.get()) .or(abilities(IMPORT_FLUIDS_1X).setMaxGlobalLimited(1))) .where('G', controller(definition)) .where('H', blocks(RegistriesUtils.getBlock("ars_nouveau:red_archwood_log"))) diff --git a/src/main/java/com/gtocore/common/data/machines/MultiBlockA.java b/src/main/java/com/gtocore/common/data/machines/MultiBlockA.java index 9636fc680..f3d8cbcc7 100644 --- a/src/main/java/com/gtocore/common/data/machines/MultiBlockA.java +++ b/src/main/java/com/gtocore/common/data/machines/MultiBlockA.java @@ -70,7 +70,7 @@ public static void init() {} .block(GTBlocks.CASING_STEEL_SOLID) .recipeTypes(DUMMY_RECIPES) .pattern(definition -> MultiBlockFileReader.start(definition) - .where('A', blocks(GTBlocks.CASING_STEEL_SOLID.get()) + .wherePart('A', blocks(GTBlocks.CASING_STEEL_SOLID.get()) .or(abilities(INPUT_ENERGY).setMaxGlobalLimited(2).setPreviewCount(1)) .or(abilities(EXPORT_FLUIDS)) .or(abilities(EXPORT_ITEMS))) @@ -98,8 +98,7 @@ public static void init() {} .aisle("XXX", "X#X", "XXX").setRepeatable(5) .aisle(" Z ", "ZZZ", " Z ") .where('S', controller(definition)) - .where('Y', blocks(GTOBlocks.STAINLESS_EVAPORATION_CASING.get()) - .or(Predicates.blocks(GTMachines.CONTROL_HATCH.get()).setMaxGlobalLimited(1).setPreviewCount(0)) + .wherePart('Y', blocks(GTOBlocks.STAINLESS_EVAPORATION_CASING.get()) .or(abilities(INPUT_ENERGY).setMinGlobalLimited(1).setMaxGlobalLimited(2)) .or(abilities(IMPORT_FLUIDS).setExactLimit(1))) .where('X', blocks(GTOBlocks.STAINLESS_EVAPORATION_CASING.get()) @@ -142,7 +141,7 @@ public static void init() {} .block(GTOBlocks.ANTIFREEZE_HEATPROOF_MACHINE_CASING) .pattern(definition -> MultiBlockFileReader.start(definition) .where('A', blocks(GTOBlocks.COLD_ICE_CASING.get())) - .where('B', blocks(GTOBlocks.ANTIFREEZE_HEATPROOF_MACHINE_CASING.get()) + .wherePart('B', blocks(GTOBlocks.ANTIFREEZE_HEATPROOF_MACHINE_CASING.get()) .or(autoAbilities(definition.getRecipeTypes())) .or(abilities(MAINTENANCE).setExactLimit(1))) .where('C', blocks(GTOBlocks.COBALT_OXIDE_CERAMIC_STRONG_THERMALLY_CONDUCTIVE_MECHANICAL_BLOCK.get())) @@ -170,7 +169,7 @@ public static void init() {} .block(GTBlocks.CASING_HSSE_STURDY) .pattern(definition -> MultiBlockFileReader.start(definition) .where('a', controller(definition)) - .where('b', blocks(GTBlocks.CASING_HSSE_STURDY.get()) + .wherePart('b', blocks(GTBlocks.CASING_HSSE_STURDY.get()) .setMinGlobalLimited(80) .or(abilities(PARALLEL_HATCH).setMaxGlobalLimited(1)) .or(autoAbilities(definition.getRecipeTypes())) @@ -220,7 +219,7 @@ public static void init() {} .where('Y', blocks(GTOBlocks.IRIDIUM_CASING.get())) .where('Z', blocks(GTBlocks.HERMETIC_CASING_UHV.get())) .where('[', blocks(GTOBlocks.PRESSURE_CONTAINMENT_CASING.get())) - .where('\\', blocks(GTOBlocks.SPS_CASING.get()) + .wherePart('\\', blocks(GTOBlocks.SPS_CASING.get()) .or(GTOPredicates.autoLaserAbilities(definition.getRecipeTypes())) .or(abilities(MAINTENANCE).setExactLimit(1))) .where(']', blocks(GTOBlocks.AMPROSIUM_GEARBOX.get())) @@ -241,7 +240,7 @@ public static void init() {} .pattern(definition -> MultiBlockFileReader.start(definition) .where('a', controller(definition)) .where('b', blocks(GTOBlocks.SPS_CASING.get())) - .where('c', blocks(GTBlocks.FUSION_CASING_MK2.get()) + .wherePart('c', blocks(GTBlocks.FUSION_CASING_MK2.get()) .setMinGlobalLimited(100) .or(autoAbilities(definition.getRecipeTypes())) .or(abilities(MAINTENANCE).setExactLimit(1))) @@ -264,7 +263,7 @@ public static void init() {} .block(GTOBlocks.SPS_CASING) .pattern(definition -> MultiBlockFileReader.start(definition) .where('~', controller(definition)) - .where('A', blocks(GTOBlocks.SPS_CASING.get()) + .wherePart('A', blocks(GTOBlocks.SPS_CASING.get()) .setMinGlobalLimited(800) .or(GTOPredicates.autoThreadLaserAbilities(definition.getRecipeTypes())) .or(abilities(PARALLEL_HATCH).setMaxGlobalLimited(1)) @@ -312,7 +311,7 @@ public static void init() {} .where('H', blocks(GCYMBlocks.ELECTROLYTIC_CELL.get())) .where('I', blocks(GTBlocks.SUPERCONDUCTING_COIL.get())) .where('J', blocks(GTOBlocks.AMPROSIUM_PIPE_CASING.get())) - .where('A', blocks(GTBlocks.HIGH_POWER_CASING.get()) + .wherePart('A', blocks(GTBlocks.HIGH_POWER_CASING.get()) .or(GTOPredicates.autoLaserAbilities(definition.getRecipeTypes())) .or(abilities(PARALLEL_HATCH).setMaxGlobalLimited(1)) .or(abilities(MAINTENANCE).setExactLimit(1))) @@ -370,7 +369,7 @@ public static void init() {} .where('G', blocks(GTBlocks.CASING_TUNGSTENSTEEL_PIPE.get())) .where('H', controller(definition)) .where('I', blocks(GTBlocks.CASING_TUNGSTENSTEEL_ROBUST.get())) - .where('A', blocks(GTBlocks.CASING_HSSE_STURDY.get()) + .wherePart('A', blocks(GTBlocks.CASING_HSSE_STURDY.get()) .or(abilities(INPUT_ENERGY).setMaxGlobalLimited(2).setMinGlobalLimited(1)) .or(abilities(GTOPartAbility.ITEMS_INPUT_BUS).setExactLimit(1)) .or(abilities(EXPORT_FLUIDS).setExactLimit(1)) @@ -394,7 +393,7 @@ public static void init() {} .where('E', blocks(GTBlocks.MACHINE_CASING_HV.get())) .where('F', blocks(GTBlocks.CASING_STAINLESS_STEEL_GEARBOX.get())) .where('G', controller(definition)) - .where('B', blocks(GTBlocks.CASING_TUNGSTENSTEEL_ROBUST.get()) + .wherePart('B', blocks(GTBlocks.CASING_TUNGSTENSTEEL_ROBUST.get()) .or(abilities(INPUT_ENERGY).setMaxGlobalLimited(2).setMinGlobalLimited(1)) .or(abilities(IMPORT_FLUIDS).setExactLimit(1)) .or(abilities(EXPORT_ITEMS).setExactLimit(1)) @@ -421,7 +420,7 @@ public static void init() {} .block(GTBlocks.CASING_TUNGSTENSTEEL_ROBUST) .pattern(definition -> MultiBlockFileReader.start(definition) .where('a', controller(definition)) - .where('b', blocks(GTBlocks.CASING_TUNGSTENSTEEL_ROBUST.get()) + .wherePart('b', blocks(GTBlocks.CASING_TUNGSTENSTEEL_ROBUST.get()) .setMinGlobalLimited(110) .or(autoAbilities(definition.getRecipeTypes())) .or(abilities(MAINTENANCE).setExactLimit(1))) @@ -443,7 +442,7 @@ public static void init() {} .block(GTBlocks.CASING_PTFE_INERT) .pattern(definition -> MultiBlockFileReader.start(definition) .where('a', controller(definition)) - .where('b', blocks(GTBlocks.CASING_PTFE_INERT.get()) + .wherePart('b', blocks(GTBlocks.CASING_PTFE_INERT.get()) .setMinGlobalLimited(60) .or(abilities(GTOPartAbility.CATALYST_HATCH).setMaxGlobalLimited(1) .or(blocks(CATALYSIS_DATA_HOLDER.get()).setMaxGlobalLimited(1, 0))) @@ -474,7 +473,7 @@ public static void init() {} .where('F', GTOPredicates.frame(GTMaterials.BlackSteel)) .where('G', blocks(GTBlocks.FUSION_CASING.get())) .where('H', blocks(GTBlocks.HERMETIC_CASING_UV.get())) - .where('B', blocks(GTOBlocks.HYPER_MECHANICAL_CASING.get()) + .wherePart('B', blocks(GTOBlocks.HYPER_MECHANICAL_CASING.get()) .or(abilities(PARALLEL_HATCH).setMaxGlobalLimited(1)) .or(autoAbilities(definition.getRecipeTypes())) .or(abilities(MAINTENANCE).setExactLimit(1))) @@ -500,7 +499,7 @@ public static void init() {} .where('E', blocks(GTBlocks.STEEL_HULL.get())) .where('F', blocks(GTBlocks.CASING_GRATE.get())) .where('G', controller(definition)) - .where('D', blocks(GTBlocks.STEEL_HULL.get()) + .wherePart('D', blocks(GTBlocks.STEEL_HULL.get()) .or(autoAbilities(definition.getRecipeTypes())) .or(abilities(MAINTENANCE).setExactLimit(1))) .where(' ', any()) @@ -523,7 +522,7 @@ public static void init() {} .block(GTBlocks.MACHINE_CASING_UHV) .pattern(definition -> MultiBlockFileReader.start(definition) .where('a', controller(definition)) - .where('b', blocks(GTBlocks.MACHINE_CASING_UHV.get()) + .wherePart('b', blocks(GTBlocks.MACHINE_CASING_UHV.get()) .or(abilities(IMPORT_ITEMS).setMaxGlobalLimited(1).setPreviewCount(1)) .or(abilities(IMPORT_FLUIDS).setMaxGlobalLimited(1).setPreviewCount(1)) .or(abilities(EXPORT_FLUIDS).setMaxGlobalLimited(1).setPreviewCount(1)) @@ -549,7 +548,7 @@ public static void init() {} .pattern(definition -> MultiBlockFileReader.start(definition) .where('A', blocks(GTBlocks.MACHINE_CASING_UXV.get())) .where('B', blocks(GTOBlocks.RHENIUM_REINFORCED_ENERGY_GLASS.get())) - .where('C', blocks(GTBlocks.MACHINE_CASING_UXV.get()) + .wherePart('C', blocks(GTBlocks.MACHINE_CASING_UXV.get()) .or(GTOPredicates.autoThreadLaserAbilities(definition.getRecipeTypes())) .or(abilities(PARALLEL_HATCH).setMaxGlobalLimited(1)) .or(abilities(MAINTENANCE).setExactLimit(1))) @@ -575,7 +574,7 @@ public static void init() {} .block(GTOBlocks.OXIDATION_RESISTANT_HASTELLOY_N_MECHANICAL_CASING) .pattern(definition -> MultiBlockFileReader.start(definition) .where('a', controller(definition)) - .where('b', blocks(GTOBlocks.OXIDATION_RESISTANT_HASTELLOY_N_MECHANICAL_CASING.get()) + .wherePart('b', blocks(GTOBlocks.OXIDATION_RESISTANT_HASTELLOY_N_MECHANICAL_CASING.get()) .setMinGlobalLimited(70) .or(GTOPredicates.autoLaserAbilities(definition.getRecipeTypes())) .or(abilities(MAINTENANCE).setExactLimit(1))) @@ -597,7 +596,7 @@ public static void init() {} .parallelizableOverclock() .block(GTOBlocks.ALUMINIUM_BRONZE_CASING) .pattern(definition -> MultiBlockFileReader.start(definition) - .where('A', blocks(GTOBlocks.ALUMINIUM_BRONZE_CASING.get()) + .wherePart('A', blocks(GTOBlocks.ALUMINIUM_BRONZE_CASING.get()) .or(autoAbilities(definition.getRecipeTypes())) .or(abilities(PARALLEL_HATCH).setMaxGlobalLimited(1)) .or(abilities(MAINTENANCE).setExactLimit(1))) @@ -620,7 +619,7 @@ public static void init() {} .block(GTBlocks.CASING_BRONZE_BRICKS) .pattern(definition -> MultiBlockFileReader.start(definition) .where('A', controller(definition)) - .where('D', blocks(GTBlocks.CASING_BRONZE_BRICKS.get()) + .wherePart('D', blocks(GTBlocks.CASING_BRONZE_BRICKS.get()) .or(autoAbilities(definition.getRecipeTypes()))) .where('M', abilities(MUFFLER)) .where('C', blocks(GTBlocks.FIREBOX_BRONZE.get())) @@ -638,7 +637,7 @@ public static void init() {} .block(GTBlocks.CASING_STEEL_SOLID) .pattern(definition -> MultiBlockFileReader.start(definition) .where('d', controller(definition)) - .where('a', blocks(GTBlocks.CASING_STEEL_SOLID.get()) + .wherePart('a', blocks(GTBlocks.CASING_STEEL_SOLID.get()) .setMinGlobalLimited(40) .or(autoAbilities(definition.getRecipeTypes())) .or(abilities(MAINTENANCE).setExactLimit(1))) @@ -694,7 +693,7 @@ public static void init() {} .where('K', blocks(GTOBlocks.ADVANCED_COMPRESSED_FUSION_COIL.get())) .where('L', blocks(GCYMBlocks.ELECTROLYTIC_CELL.get())) .where('M', blocks(GTOBlocks.MOLECULAR_CASING.get())) - .where('a', blocks(GTOBlocks.IRIDIUM_CASING.get()) + .wherePart('a', blocks(GTOBlocks.IRIDIUM_CASING.get()) .or(abilities(PARALLEL_HATCH).setMaxGlobalLimited(1)) .or(abilities(IMPORT_ITEMS).setPreviewCount(1)) .or(abilities(IMPORT_FLUIDS).setPreviewCount(1)) @@ -715,7 +714,7 @@ public static void init() {} .laserTooltips() .block(GTOBlocks.MOLECULAR_CASING) .pattern(definition -> MultiBlockFileReader.start(definition) - .where('A', blocks(GTOBlocks.MOLECULAR_CASING.get()) + .wherePart('A', blocks(GTOBlocks.MOLECULAR_CASING.get()) .or(GTOPredicates.autoThreadLaserAbilities(definition.getRecipeTypes())) .or(abilities(PARALLEL_HATCH).setMaxGlobalLimited(1)) .or(abilities(MAINTENANCE).setExactLimit(1))) @@ -761,7 +760,7 @@ public static void init() {} .where('J', blocks(GTOBlocks.LAW_FILTER_CASING.get())) .where('K', blocks(GTOBlocks.MANIPULATOR.get())) .where('L', blocks(GTOBlocks.AMPROSIUM_ACTIVE_CASING.get())) - .where('N', blocks(GTOBlocks.MANIPULATOR.get()) + .wherePart('N', blocks(GTOBlocks.MANIPULATOR.get()) .or(GTOPredicates.autoLaserAbilities(definition.getRecipeTypes())) .or(abilities(PARALLEL_HATCH).setMaxGlobalLimited(1))) .where(' ', any()) @@ -779,7 +778,7 @@ public static void init() {} .block(GTBlocks.CASING_PTFE_INERT) .pattern(definition -> MultiBlockFileReader.start(definition) .where('A', blocks(GTOBlocks.NAQUADAH_REINFORCED_PLANT_CASING.get())) - .where('B', blocks(GTBlocks.CASING_PTFE_INERT.get()) + .wherePart('B', blocks(GTBlocks.CASING_PTFE_INERT.get()) .or(abilities(GTOPartAbility.CATALYST_HATCH).setMaxGlobalLimited(2) .or(blocks(CATALYSIS_DATA_HOLDER.get()).setMaxGlobalLimited(1, 0))) .or(GTOPredicates.autoThreadLaserAbilities(definition.getRecipeTypes())) @@ -815,7 +814,7 @@ public static void init() {} .aisle("aaaaaa ", "abbbba ", "abbbba ", "abbbba ", "abbbba ", "aaaaaa ", " ", " ", " ", " ", " ", " ") .where('~', controller(definition)) .where('a', blocks(GTBlocks.CASING_HSSE_STURDY.get())) - .where('c', blocks(GTBlocks.CASING_STAINLESS_CLEAN.get()) + .wherePart('c', blocks(GTBlocks.CASING_STAINLESS_CLEAN.get()) .setMinGlobalLimited(60) .or(abilities(PARALLEL_HATCH).setMaxGlobalLimited(1)) .or(autoAbilities(definition.getRecipeTypes())) @@ -876,7 +875,7 @@ public static void init() {} .block(GTOBlocks.DRAGON_STRENGTH_TRITANIUM_CASING) .pattern(definition -> MultiBlockFileReader.start(definition) .where('a', controller(definition)) - .where('b', blocks(GTOBlocks.DRAGON_STRENGTH_TRITANIUM_CASING.get()) + .wherePart('b', blocks(GTOBlocks.DRAGON_STRENGTH_TRITANIUM_CASING.get()) .setMinGlobalLimited(10) .or(autoAbilities(definition.getRecipeTypes())) .or(abilities(PARALLEL_HATCH).setMaxGlobalLimited(1)) @@ -897,7 +896,7 @@ public static void init() {} .block(GTBlocks.CASING_STAINLESS_CLEAN) .pattern(definition -> MultiBlockFileReader.start(definition) .where('~', controller(definition)) - .where('a', blocks(GTBlocks.CASING_STAINLESS_CLEAN.get()) + .wherePart('a', blocks(GTBlocks.CASING_STAINLESS_CLEAN.get()) .setMinGlobalLimited(200) .or(autoAbilities(definition.getRecipeTypes())) .or(abilities(PARALLEL_HATCH).setMaxGlobalLimited(1)) @@ -917,7 +916,7 @@ public static void init() {} .block(GTBlocks.CASING_BRONZE_BRICKS) .pattern(definition -> MultiBlockFileReader.start(definition) .where('S', controller(definition)) - .where('A', blocks(GTBlocks.CASING_BRONZE_BRICKS.get()) + .wherePart('A', blocks(GTBlocks.CASING_BRONZE_BRICKS.get()) .or(abilities(STEAM_IMPORT_ITEMS).setMaxGlobalLimited(1).setPreviewCount(1)) .or(abilities(STEAM_EXPORT_ITEMS).setMaxGlobalLimited(1).setPreviewCount(1)) .or(blocks(GTOMachines.STEAM_VENT_HATCH.get()).setExactLimit(1))) @@ -938,7 +937,7 @@ public static void init() {} .steamOverclock() .block(GTBlocks.CASING_BRONZE_BRICKS) .pattern(definition -> MultiBlockFileReader.start(definition) - .where('A', blocks(GTBlocks.CASING_BRONZE_BRICKS.get()) + .wherePart('A', blocks(GTBlocks.CASING_BRONZE_BRICKS.get()) .or(abilities(STEAM).setExactLimit(1)) .or(blocks(GTOMachines.STEAM_VENT_HATCH.get()).setExactLimit(1)) .or(abilities(STEAM_IMPORT_ITEMS).setMaxGlobalLimited(1).setPreviewCount(1)) @@ -963,7 +962,7 @@ public static void init() {} .block(GTBlocks.CASING_BRONZE_BRICKS) .pattern(definition -> MultiBlockFileReader.start(definition) .where('S', controller(definition)) - .where('X', blocks(GTBlocks.CASING_BRONZE_BRICKS.get()) + .wherePart('X', blocks(GTBlocks.CASING_BRONZE_BRICKS.get()) .or(abilities(STEAM_IMPORT_ITEMS).setMaxGlobalLimited(1).setPreviewCount(1)) .or(abilities(STEAM_EXPORT_ITEMS).setMaxGlobalLimited(1).setPreviewCount(1)) .or(blocks(GTOMachines.STEAM_VENT_HATCH.get()).setExactLimit(1)) @@ -984,7 +983,7 @@ public static void init() {} .where('S', controller(definition)) .where('F', blocks(GTBlocks.FIREBOX_BRONZE.get()) .or(abilities(STEAM).setExactLimit(1))) - .where('X', blocks(GTBlocks.CASING_BRONZE_BRICKS.get()) + .wherePart('X', blocks(GTBlocks.CASING_BRONZE_BRICKS.get()) .or(abilities(STEAM_IMPORT_ITEMS).setMaxGlobalLimited(2).setPreviewCount(1)) .or(abilities(STEAM_EXPORT_ITEMS).setMaxGlobalLimited(1).setPreviewCount(1)) .or(blocks(GTOMachines.STEAM_VENT_HATCH.get()).setExactLimit(1))) @@ -1003,7 +1002,7 @@ public static void init() {} .pattern(definition -> MultiBlockFileReader.start(definition) .where('A', GTOPredicates.frame(GTMaterials.Bronze)) .where('B', blocks(GTBlocks.CASING_BRONZE_BRICKS.get())) - .where('a', blocks(GTBlocks.CASING_BRONZE_BRICKS.get()) + .wherePart('a', blocks(GTBlocks.CASING_BRONZE_BRICKS.get()) .or(abilities(STEAM).setExactLimit(1)) .or(abilities(STEAM_IMPORT_ITEMS).setMaxGlobalLimited(1).setPreviewCount(1)) .or(abilities(STEAM_EXPORT_ITEMS).setMaxGlobalLimited(1).setPreviewCount(1)) @@ -1035,7 +1034,7 @@ public static void init() {} .or(blocks(GTOMachines.STEAM_VENT_HATCH.get()).setExactLimit(1))) .where('B', blocks(GTBlocks.CASING_BRONZE_PIPE.get())) .where('C', blocks(GTOBlocks.STEAM_ASSEMBLY_BLOCK.get())) - .where('D', blocks(GTBlocks.CASING_BRONZE_BRICKS.get()) + .wherePart('D', blocks(GTBlocks.CASING_BRONZE_BRICKS.get()) .or(abilities(STEAM_IMPORT_ITEMS).setMaxGlobalLimited(1).setPreviewCount(1)) .or(abilities(STEAM_EXPORT_ITEMS).setMaxGlobalLimited(1).setPreviewCount(1)) .or(abilities(GTOPartAbility.STEAM_IMPORT_FLUIDS).setMaxGlobalLimited(1).setPreviewCount(1)) @@ -1059,7 +1058,7 @@ public static void init() {} .where('B', GTOPredicates.frame(GTMaterials.Bronze)) .where('C', blocks(GTBlocks.CASING_BRONZE_PIPE.get())) .where('D', blocks(GTBlocks.CASING_BRONZE_GEARBOX.get())) - .where('A', blocks(GTBlocks.CASING_BRONZE_BRICKS.get()) + .wherePart('A', blocks(GTBlocks.CASING_BRONZE_BRICKS.get()) .or(abilities(STEAM).setExactLimit(1)) .or(blocks(GTOMachines.STEAM_VENT_HATCH.get()).setExactLimit(1)) .or(abilities(STEAM_IMPORT_ITEMS).setMaxGlobalLimited(1).setPreviewCount(1)) @@ -1080,7 +1079,7 @@ public static void init() {} .block(GTBlocks.CASING_BRONZE_BRICKS) .pattern(definition -> MultiBlockFileReader.start(definition) .where('S', controller(definition)) - .where('A', blocks(GTBlocks.CASING_BRONZE_BRICKS.get()) + .wherePart('A', blocks(GTBlocks.CASING_BRONZE_BRICKS.get()) .or(abilities(STEAM).setExactLimit(1)) .or(blocks(GTOMachines.STEAM_VENT_HATCH.get()).setExactLimit(1)) .or(abilities(STEAM_IMPORT_ITEMS).setMaxGlobalLimited(1).setPreviewCount(1)) @@ -1105,7 +1104,7 @@ public static void init() {} .pattern(definition -> MultiBlockFileReader.start(definition) .where('~', controller(definition)) .where('A', blocks(GTBlocks.BRONZE_BRICKS_HULL.get())) - .where('B', blocks(GTBlocks.CASING_BRONZE_BRICKS.get()) + .wherePart('B', blocks(GTBlocks.CASING_BRONZE_BRICKS.get()) .or(abilities(STEAM).setExactLimit(1)) .or(blocks(GTOMachines.STEAM_VENT_HATCH.get()).setExactLimit(1)) .or(abilities(STEAM_IMPORT_ITEMS).setMaxGlobalLimited(1).setPreviewCount(1)) @@ -1131,7 +1130,7 @@ public static void init() {} .where('C', blocks(GTBlocks.CASING_BRONZE_PIPE.get())) .where('E', blocks(GTBlocks.CASING_BRONZE_GEARBOX.get())) .where('F', abilities(MUFFLER)) - .where('A', blocks(GTBlocks.CASING_BRONZE_BRICKS.get()) + .wherePart('A', blocks(GTBlocks.CASING_BRONZE_BRICKS.get()) .or(abilities(STEAM).setExactLimit(1)) .or(blocks(GTOMachines.STEAM_VENT_HATCH.get()).setExactLimit(1)) .or(abilities(STEAM_IMPORT_ITEMS).setMaxGlobalLimited(1).setPreviewCount(1)) @@ -1159,7 +1158,7 @@ public static void init() {} .where('D', blocks(GTBlocks.CASING_BRONZE_PIPE.get())) .where('A', blocks(GTBlocks.FIREBOX_BRONZE.get())) .where('E', abilities(MUFFLER)) - .where('B', blocks(GTBlocks.CASING_BRONZE_BRICKS.get()) + .wherePart('B', blocks(GTBlocks.CASING_BRONZE_BRICKS.get()) .or(abilities(STEAM).setExactLimit(1)) .or(blocks(GTOMachines.STEAM_VENT_HATCH.get()).setExactLimit(1)) .or(abilities(STEAM_IMPORT_ITEMS).setMaxGlobalLimited(1).setPreviewCount(1)) @@ -1182,7 +1181,7 @@ public static void init() {} .where('B', GTOPredicates.frame(GTMaterials.Bronze)) .where('C', blocks(Blocks.GLASS)) .where('D', blocks(ChemicalHelper.getBlock(TagPrefix.block, GTMaterials.Potin))) - .where('A', blocks(GTBlocks.CASING_BRONZE_BRICKS.get()) + .wherePart('A', blocks(GTBlocks.CASING_BRONZE_BRICKS.get()) .or(abilities(STEAM).setExactLimit(1)) .or(blocks(GTOMachines.STEAM_VENT_HATCH.get()).setExactLimit(1)) .or(abilities(STEAM_IMPORT_ITEMS).setMaxGlobalLimited(1).setPreviewCount(1)) @@ -1204,7 +1203,7 @@ public static void init() {} .block(GTBlocks.CASING_BRONZE_BRICKS) .pattern(definition -> MultiBlockFileReader.start(definition) .where('S', controller(definition)) - .where('A', blocks(GTBlocks.CASING_BRONZE_BRICKS.get()) + .wherePart('A', blocks(GTBlocks.CASING_BRONZE_BRICKS.get()) .or(abilities(STEAM).setExactLimit(1)) .or(blocks(GTOMachines.STEAM_VENT_HATCH.get()).setExactLimit(1)) .or(abilities(STEAM_IMPORT_ITEMS).setMaxGlobalLimited(1).setPreviewCount(1)) @@ -1230,7 +1229,7 @@ public static void init() {} .where('B', blocks(GTBlocks.CASING_BRONZE_PIPE.get())) .where('C', blocks(Blocks.GLASS)) .where('D', blocks(GTBlocks.CASING_BRONZE_GEARBOX.get())) - .where('A', blocks(GTBlocks.CASING_BRONZE_BRICKS.get()) + .wherePart('A', blocks(GTBlocks.CASING_BRONZE_BRICKS.get()) .or(abilities(STEAM).setExactLimit(1)) .or(blocks(GTOMachines.STEAM_VENT_HATCH.get()).setExactLimit(1)) .or(abilities(STEAM_IMPORT_ITEMS).setMaxGlobalLimited(1).setPreviewCount(1)) @@ -1252,7 +1251,7 @@ public static void init() {} .block(GTBlocks.CASING_BRONZE_BRICKS) .pattern(definition -> MultiBlockFileReader.start(definition) .where('S', controller(definition)) - .where('A', blocks(GTBlocks.CASING_BRONZE_BRICKS.get()) + .wherePart('A', blocks(GTBlocks.CASING_BRONZE_BRICKS.get()) .or(abilities(STEAM).setExactLimit(1)) .or(blocks(GTOMachines.STEAM_VENT_HATCH.get()).setExactLimit(1)) .or(abilities(STEAM_IMPORT_ITEMS).setMaxGlobalLimited(1).setPreviewCount(1)) @@ -1274,7 +1273,7 @@ public static void init() {} .block(GTBlocks.CASING_BRONZE_BRICKS) .pattern(definition -> MultiBlockFileReader.start(definition) .where('A', GTOPredicates.frame(GTMaterials.Bronze)) - .where('B', blocks(GTBlocks.CASING_BRONZE_BRICKS.get()) + .wherePart('B', blocks(GTBlocks.CASING_BRONZE_BRICKS.get()) .or(abilities(STEAM).setExactLimit(1)) .or(blocks(GTOMachines.STEAM_VENT_HATCH.get()).setExactLimit(1)) .or(abilities(STEAM_IMPORT_ITEMS).setMaxGlobalLimited(1).setPreviewCount(1)) @@ -1313,7 +1312,7 @@ public static void init() {} .aisle(" ", " ", " FFFFF ", " FDEDEDF ", " FDEEJEEDF ", " FDEEJJJEEDF ", " FEEJJEJJEEFFF", " FDJJEJEJJDFJF", " FEEJJEJJEEFFF", " FDEEJJJEEDF ", " FDEEJEEDF ", " FDEDEDF ", " FFFFF ", " ", " ") .aisle(" ", " ", " ", " EDE ", " EEEEE ", " EEEEEEE ", " EEEEEEEEE ", " DEEEJEEED ", " EEEEEEEEE ", " EEEEEEE ", " EEEEE ", " EDE ", " ", " ", " ") .aisle(" ", " ", " ", " EEE ", " E E ", " E E ", " E E ", " E E ", " E E ", " E E ", " E E ", " EEE ", " ", " ", " ") - .where('A', blocks(GTBlocks.CASING_PRIMITIVE_BRICKS.get()) + .wherePart('A', blocks(GTBlocks.CASING_PRIMITIVE_BRICKS.get()) .or(abilities(IMPORT_ITEMS).setMaxGlobalLimited(4, 1)) .or(abilities(EXPORT_ITEMS).setMaxGlobalLimited(2, 1))) .where('B', blocks(GTBlocks.STEEL_HULL.get())) @@ -1345,7 +1344,7 @@ public static void init() {} .where('E', blocks(GTOBlocks.OIL_GAS_TRANSPORTATION_PIPE_CASING.get())) .where('F', blocks(GTBlocks.CASING_TUNGSTENSTEEL_PIPE.get())) .where('G', blocks(GTOBlocks.PIKYONIUM_MACHINE_CASING.get())) - .where('H', blocks(GTBlocks.HIGH_POWER_CASING.get()) + .wherePart('H', blocks(GTBlocks.HIGH_POWER_CASING.get()) .setMinGlobalLimited(5) .or(GTOPredicates.autoLaserAbilities(definition.getRecipeTypes())) .or(abilities(ACCELERATE_HATCH).setMaxGlobalLimited(1))) @@ -1407,7 +1406,7 @@ public static void init() {} .pattern(definition -> MultiBlockFileReader.start(definition) .where('A', frames(GTMaterials.Ruridit)) .where('B', blocks(GTBlocks.CASING_STAINLESS_CLEAN.get())) - .where('C', blocks(GTBlocks.CASING_STAINLESS_CLEAN.get()) + .wherePart('C', blocks(GTBlocks.CASING_STAINLESS_CLEAN.get()) .or(autoAbilities(definition.getRecipeTypes())) .or(autoAbilities(true, false, true))) .where('D', heatingCoils()) @@ -1438,7 +1437,7 @@ public static void init() {} .where('~', controller(definition)) .where('A', blocks(GTOBlocks.HIGH_STRENGTH_SUPPORT_MECHANICAL_CASING.get())) .where('B', blocks(GTBlocks.CASING_INVAR_HEATPROOF.get())) - .where('C', blocks(GTBlocks.CASING_INVAR_HEATPROOF.get()) + .wherePart('C', blocks(GTBlocks.CASING_INVAR_HEATPROOF.get()) .or(GTOPredicates.autoThreadLaserAbilities(definition.getRecipeTypes())) .or(abilities(MAINTENANCE).setExactLimit(1))) .where('D', frames(GTMaterials.TungstenSteel)) @@ -1471,7 +1470,7 @@ public static void init() {} .where('E', GTOPredicates.frame(GTMaterials.Naquadria)) .where('F', blocks(GCYMBlocks.HEAT_VENT.get())) .where('G', blocks(GTOBlocks.NAQUADAH_REINFORCED_PLANT_CASING.get())) - .where('H', blocks(GTOBlocks.IRIDIUM_CASING.get()) + .wherePart('H', blocks(GTOBlocks.IRIDIUM_CASING.get()) .or(GTOPredicates.autoThreadLaserAbilities(definition.getRecipeTypes())) .or(abilities(MAINTENANCE).setExactLimit(1)) .or(abilities(PARALLEL_HATCH).setMaxGlobalLimited(1))) @@ -1519,7 +1518,7 @@ public static void init() {} .where('O', blocks(GCYMBlocks.HEAT_VENT.get())) .where('P', blocks(GTOBlocks.ANTIFREEZE_HEATPROOF_MACHINE_CASING.get())) .where('Q', blocks(GTBlocks.CASING_TUNGSTENSTEEL_PIPE.get())) - .where('a', blocks(GCYMBlocks.CASING_HIGH_TEMPERATURE_SMELTING.get()) + .wherePart('a', blocks(GCYMBlocks.CASING_HIGH_TEMPERATURE_SMELTING.get()) .or(GTOPredicates.autoThreadLaserAbilities(definition.getRecipeTypes())) .or(abilities(MAINTENANCE).setExactLimit(1))) .where(' ', any()) @@ -1543,7 +1542,7 @@ public static void init() {} .where('D', blocks(GTOBlocks.CONTAINMENT_FIELD_GENERATOR.get())) .where('E', heatingCoils()) .where('F', blocks(GTBlocks.FUSION_GLASS.get())) - .where('G', blocks(GTBlocks.HIGH_POWER_CASING.get()) + .wherePart('G', blocks(GTBlocks.HIGH_POWER_CASING.get()) .or(GTOPredicates.autoThreadLaserAbilities(definition.getRecipeTypes())) .or(abilities(MAINTENANCE).setExactLimit(1))) .where('H', blocks(GTOBlocks.AMPROSIUM_ACTIVE_CASING.get())) @@ -1562,7 +1561,7 @@ public static void init() {} .multipleRecipesTooltips() .block(GTOBlocks.LAFIUM_MECHANICAL_CASING) .pattern(definition -> MultiBlockFileReader.start(definition) - .where('A', blocks(GTOBlocks.LAFIUM_MECHANICAL_CASING.get()) + .wherePart('A', blocks(GTOBlocks.LAFIUM_MECHANICAL_CASING.get()) .or(GTOPredicates.autoThreadLaserAbilities(definition.getRecipeTypes())) .or(abilities(MAINTENANCE).setExactLimit(1))) .where('B', blocks(GCYMBlocks.CASING_STRESS_PROOF.get())) @@ -1600,7 +1599,7 @@ public static void init() {} .where('F', blocks(Blocks.IRON_BARS)) .where('G', blocks(GTBlocks.CASING_TEMPERED_GLASS.get())) .where('H', controller(definition)) - .where('B', blocks(GTOBlocks.PROCESS_MACHINE_CASING.get()) + .wherePart('B', blocks(GTOBlocks.PROCESS_MACHINE_CASING.get()) .or(abilities(IMPORT_ITEMS).setMaxGlobalLimited(1).setPreviewCount(1)) .or(abilities(EXPORT_ITEMS).setMaxGlobalLimited(1).setPreviewCount(1)) .or(abilities(EXPORT_FLUIDS).setMaxGlobalLimited(1).setPreviewCount(1)) @@ -1621,7 +1620,7 @@ public static void init() {} .block(GTOBlocks.MOLECULAR_CASING) .pattern(definition -> MultiBlockFileReader.start(definition) .where('~', controller(definition)) - .where('A', blocks(GTOBlocks.MOLECULAR_CASING.get()) + .wherePart('A', blocks(GTOBlocks.MOLECULAR_CASING.get()) .or(abilities(IMPORT_ITEMS).setMaxGlobalLimited(4).setPreviewCount(1)) .or(abilities(EXPORT_ITEMS).setMaxGlobalLimited(1).setPreviewCount(1)) .or(abilities(EXPORT_FLUIDS).setMaxGlobalLimited(1).setPreviewCount(1)) @@ -1649,7 +1648,7 @@ public static void init() {} .parallelizableOverclock() .block(GTOBlocks.DIMENSIONALLY_TRANSCENDENT_CASING) .pattern(definition -> MultiBlockFileReader.start(definition) - .where('A', blocks(GTOBlocks.DIMENSIONALLY_TRANSCENDENT_CASING.get()) + .wherePart('A', blocks(GTOBlocks.DIMENSIONALLY_TRANSCENDENT_CASING.get()) .or(abilities(INPUT_ENERGY).setMaxGlobalLimited(2).setPreviewCount(1)) .or(abilities(INPUT_LASER).setMaxGlobalLimited(1)) .or(abilities(IMPORT_FLUIDS).setMaxGlobalLimited(4).setPreviewCount(1)) @@ -1692,7 +1691,7 @@ public static void init() {} .where('~', controller(definition)) .where('D', blocks(GTOBlocks.HASTELLOY_N_75_GEARBOX.get())) .where('B', blocks(GTOBlocks.FLOTATION_CELL.get())) - .where('A', blocks(GTOBlocks.HASTELLOY_N_75_CASING.get()) + .wherePart('A', blocks(GTOBlocks.HASTELLOY_N_75_CASING.get()) .or(abilities(INPUT_ENERGY).setMaxGlobalLimited(2).setPreviewCount(1)) .or(abilities(IMPORT_FLUIDS).setMaxGlobalLimited(1).setPreviewCount(1)) .or(abilities(IMPORT_ITEMS).setMaxGlobalLimited(2).setPreviewCount(1)) @@ -1735,7 +1734,7 @@ public static void init() {} .pattern(definition -> MultiBlockFileReader.start(definition) .where('~', controller(definition)) .where('C', abilities(MUFFLER).setExactLimit(1)) - .where('A', blocks(GTOBlocks.RED_STEEL_CASING.get()) + .wherePart('A', blocks(GTOBlocks.RED_STEEL_CASING.get()) .or(abilities(INPUT_ENERGY).setMaxGlobalLimited(2).setPreviewCount(1)) .or(abilities(MAINTENANCE).setExactLimit(1)) .or(abilities(IMPORT_FLUIDS).setMaxGlobalLimited(2).setPreviewCount(1)) @@ -1788,7 +1787,7 @@ public static void init() {} .where('F', blocks(GTBlocks.FUSION_GLASS.get())) .where('G', blocks(GTOBlocks.MOLECULAR_CASING.get())) .where('H', blocks(GTOBlocks.AMPROSIUM_PIPE_CASING.get())) - .where('I', blocks(GTOBlocks.IRIDIUM_CASING.get()) + .wherePart('I', blocks(GTOBlocks.IRIDIUM_CASING.get()) .or(GTOPredicates.autoThreadLaserAbilities(definition.getRecipeTypes())) .or(abilities(MAINTENANCE).setExactLimit(1))) .where('J', heatingCoils()) @@ -1846,7 +1845,7 @@ public static void init() {} .aisle("XXXXX", "#PGP#", "#PGP#", "#PGP#", "#PGP#", "#PGP#", "#PGP#", "XXXXX") .aisle("XXSXX", "F###F", "F###F", "F###F", "F###F", "F###F", "F###F", "XXXXX") .where('S', controller(definition)) - .where('X', + .wherePart('X', blocks(GTBlocks.CASING_TUNGSTENSTEEL_ROBUST.get()).setMinGlobalLimited(40) .or(GTOPredicates.autoAccelerateAbilities(definition.getRecipeTypes())) .or(autoAbilities(true, false, true))) @@ -1890,7 +1889,7 @@ public static void init() {} .pattern(definition -> MultiBlockFileReader.start(definition) .where('A', blocks(GTBlocks.HIGH_POWER_CASING.get())) .where('B', blocks(GCYMBlocks.CASING_ATOMIC.get())) - .where('C', blocks(GCYMBlocks.CASING_ATOMIC.get()) + .wherePart('C', blocks(GCYMBlocks.CASING_ATOMIC.get()) .or(GTOPredicates.autoLaserAbilities(definition.getRecipeTypes())) .or(abilities(MAINTENANCE).setExactLimit(1))) .where('D', GTOPredicates.frame(GTMaterials.Trinium)) @@ -1947,7 +1946,7 @@ public static void init() {} .where('H', blocks(GTOBlocks.BORON_CARBIDE_CERAMIC_RADIATION_RESISTANT_MECHANICAL_CUBE.get())) .where('I', blocks(GTOBlocks.PRECISION_PROCESSING_MECHANICAL_CASING.get())) .where('J', GTOPredicates.frame(GTMaterials.HSLASteel)) - .where('K', blocks(GTOBlocks.IRIDIUM_CASING.get()) + .wherePart('K', blocks(GTOBlocks.IRIDIUM_CASING.get()) .or(abilities(PARALLEL_HATCH).setMaxGlobalLimited(1)) .or(abilities(MAINTENANCE).setExactLimit(1)) .or(GTOPredicates.autoThreadLaserAbilities(definition.getRecipeTypes()))) @@ -1984,7 +1983,7 @@ public static void init() {} .pattern(definition -> MultiBlockFileReader.start(definition) .where('A', blocks(GTOBlocks.NAQUADAH_REINFORCED_PLANT_CASING.get())) .where('B', blocks(GTBlocks.CASING_HSSE_STURDY.get())) - .where('C', blocks(GTOBlocks.DIMENSION_INJECTION_CASING.get()) + .wherePart('C', blocks(GTOBlocks.DIMENSION_INJECTION_CASING.get()) .or(GTOPredicates.autoThreadLaserAbilities(definition.getRecipeTypes()))) .where('D', controller(definition)) .where('E', blocks(GTOBlocks.DIMENSIONALLY_TRANSCENDENT_CASING.get())) @@ -2018,7 +2017,7 @@ public static void init() {} .pattern(definition -> MultiBlockFileReader.start(definition) .where('~', controller(definition)) .where('A', blocks(GTOBlocks.NAQUADAH_ALLOY_CASING.get())) - .where('B', blocks(GTOBlocks.IRIDIUM_CASING.get()) + .wherePart('B', blocks(GTOBlocks.IRIDIUM_CASING.get()) .or(GTOPredicates.autoThreadLaserAbilities(definition.getRecipeTypes())) .or(abilities(PARALLEL_HATCH).setMaxGlobalLimited(1)) .or(abilities(MAINTENANCE).setExactLimit(1))) diff --git a/src/main/java/com/gtocore/common/data/machines/MultiBlockB.java b/src/main/java/com/gtocore/common/data/machines/MultiBlockB.java index 6257bc986..6442afc66 100644 --- a/src/main/java/com/gtocore/common/data/machines/MultiBlockB.java +++ b/src/main/java/com/gtocore/common/data/machines/MultiBlockB.java @@ -64,7 +64,7 @@ public static void init() {} .where('K', blocks(GTBlocks.CASING_INVAR_HEATPROOF.get())) .where('Y', blocks(GTBlocks.CASING_TUNGSTENSTEEL_ROBUST.get())) .where('M', heatingCoils()) - .where('O', blocks(GTBlocks.CASING_TUNGSTENSTEEL_ROBUST.get()) + .wherePart('O', blocks(GTBlocks.CASING_TUNGSTENSTEEL_ROBUST.get()) .or(autoAbilities(definition.getRecipeTypes())) .or(abilities(PARALLEL_HATCH).setMaxGlobalLimited(1)) .or(abilities(MAINTENANCE).setExactLimit(1))) @@ -108,7 +108,7 @@ public static void init() {} .where('U', blocks(GTOBlocks.HIGH_PRESSURE_PIPE_CASING.get())) .where('V', blocks(GTOBlocks.OIL_GAS_TRANSPORTATION_PIPE_CASING.get())) .where('W', blocks(GTBlocks.CASING_POLYTETRAFLUOROETHYLENE_PIPE.get())) - .where('X', blocks(GTBlocks.HIGH_POWER_CASING.get()) + .wherePart('X', blocks(GTBlocks.HIGH_POWER_CASING.get()) .or(GTOPredicates.autoLaserAbilities(definition.getRecipeTypes())) .or(abilities(MAINTENANCE).setExactLimit(1))) .where('Y', controller(definition)) @@ -156,7 +156,7 @@ public static void init() {} .where('X', blocks(GTBlocks.CASING_STEEL_PIPE.get())) .where('P', blocks(GTBlocks.CASING_BRONZE_PIPE.get())) .where('G', blocks(GTBlocks.HERMETIC_CASING_MV.get())) - .where('D', blocks(GTBlocks.CASING_STAINLESS_CLEAN.get()) + .wherePart('D', blocks(GTBlocks.CASING_STAINLESS_CLEAN.get()) .setMinGlobalLimited(24) .or(autoAbilities(definition.getRecipeTypes())) .or(abilities(MAINTENANCE).setExactLimit(1))) @@ -218,7 +218,7 @@ public static void init() {} .where('B', heatingCoils()) .where('C', blocks(GTBlocks.CASING_STEEL_SOLID.get())) .where('E', blocks(GTBlocks.CASING_STEEL_PIPE.get())) - .where('A', blocks(GTBlocks.CASING_INVAR_HEATPROOF.get()) + .wherePart('A', blocks(GTBlocks.CASING_INVAR_HEATPROOF.get()) .setMinGlobalLimited(20) .or(autoAbilities(definition.getRecipeTypes())) .or(abilities(MAINTENANCE).setExactLimit(1))) @@ -267,7 +267,7 @@ public static void init() {} .where('A', GTOPredicates.frame(GTMaterials.Steel)) .where('C', heatingCoils()) .where('D', blocks(GTBlocks.CASING_STEEL_PIPE.get())) - .where('B', blocks(GTBlocks.CASING_STEEL_SOLID.get()) + .wherePart('B', blocks(GTBlocks.CASING_STEEL_SOLID.get()) .setMinGlobalLimited(20) .or(autoAbilities(definition.getRecipeTypes())) .or(blocks(GTOMachines.MACHINE_ACCESS_LINK.get()).setMaxGlobalLimited(1, 0)) @@ -307,7 +307,7 @@ public static void init() {} .block(GCYMBlocks.CASING_CORROSION_PROOF) .pattern(definition -> MultiBlockFileReader.start(definition) .where('A', blocks(GTBlocks.CASING_PTFE_INERT.get())) - .where('B', blocks(GCYMBlocks.CASING_CORROSION_PROOF.get()) + .wherePart('B', blocks(GCYMBlocks.CASING_CORROSION_PROOF.get()) .or(GTOPredicates.autoThreadLaserAbilities(definition.getRecipeTypes())) .or(abilities(MAINTENANCE).setExactLimit(1))) .where('C', blocks(GCYMBlocks.CASING_CORROSION_PROOF.get())) @@ -364,7 +364,7 @@ public static void init() {} .where('[', heatingCoils()) .where('\\', blocks(GTOBlocks.PRESSURE_CONTAINMENT_CASING.get())) .where(']', blocks(GTBlocks.FUSION_GLASS.get())) - .where('^', blocks(GTBlocks.HIGH_POWER_CASING.get()) + .wherePart('^', blocks(GTBlocks.HIGH_POWER_CASING.get()) .or(GTOPredicates.autoLaserAbilities(definition.getRecipeTypes())) .or(abilities(MAINTENANCE).setExactLimit(1))) .where('_', blocks(GTBlocks.CASING_TEMPERED_GLASS.get())) @@ -402,7 +402,7 @@ public static void init() {} .multipleRecipesTooltips() .block(GTBlocks.CASING_PTFE_INERT) .pattern(definition -> MultiBlockFileReader.start(definition) - .where('A', blocks(GTBlocks.CASING_PTFE_INERT.get()) + .wherePart('A', blocks(GTBlocks.CASING_PTFE_INERT.get()) .or(GTOPredicates.autoThreadLaserAbilities(definition.getRecipeTypes())) .or(abilities(PARALLEL_HATCH).setMaxGlobalLimited(1)) .or(abilities(MAINTENANCE).setExactLimit(1))) @@ -438,7 +438,7 @@ public static void init() {} .multipleRecipesTooltips() .block(GTBlocks.CASING_PALLADIUM_SUBSTATION) .pattern(definition -> MultiBlockFileReader.start(definition) - .where('A', blocks(GTBlocks.CASING_PALLADIUM_SUBSTATION.get()) + .wherePart('A', blocks(GTBlocks.CASING_PALLADIUM_SUBSTATION.get()) .or(GTOPredicates.autoThreadLaserAbilities(definition.getRecipeTypes())) .or(abilities(MAINTENANCE).setExactLimit(1))) .where('B', blocks(GTBlocks.CASING_PALLADIUM_SUBSTATION.get())) @@ -498,7 +498,7 @@ public static void init() {} .where('M', blocks(GCYMBlocks.CASING_NONCONDUCTING.get())) .where('N', blocks(GTOBlocks.RESTRAINT_DEVICE.get())) .where('O', blocks(GTBlocks.FUSION_GLASS.get())) - .where('a', blocks(GCYMBlocks.CASING_NONCONDUCTING.get()) + .wherePart('a', blocks(GCYMBlocks.CASING_NONCONDUCTING.get()) .or(GTOPredicates.autoThreadLaserAbilities(definition.getRecipeTypes())) .or(abilities(MAINTENANCE).setExactLimit(1))) .where(' ', any()) @@ -526,7 +526,7 @@ public static void init() {} .where('I', blocks(GTBlocks.FUSION_GLASS.get())) .where('J', blocks(GTOBlocks.LASER_CASING.get())) .where('K', blocks(GTOBlocks.ELECTRON_PERMEABLE_AMPROSIUM_COATED_GLASS.get())) - .where('L', blocks(GTOBlocks.MOLECULAR_CASING.get()) + .wherePart('L', blocks(GTOBlocks.MOLECULAR_CASING.get()) .or(GTOPredicates.autoThreadLaserAbilities(definition.getRecipeTypes())) .or(abilities(PARALLEL_HATCH).setMaxGlobalLimited(1)) .or(abilities(MAINTENANCE).setExactLimit(1))) @@ -566,7 +566,7 @@ public static void init() {} .where('O', blocks(GTOBlocks.CONTAINMENT_FIELD_GENERATOR.get())) .where('P', blocks(GTOBlocks.AMPROSIUM_PIPE_CASING.get())) .where('Q', blocks(GTBlocks.CASING_STAINLESS_TURBINE.get())) - .where('R', blocks(GTBlocks.HIGH_POWER_CASING.get()) + .wherePart('R', blocks(GTBlocks.HIGH_POWER_CASING.get()) .or(GTOPredicates.autoThreadLaserAbilities(definition.getRecipeTypes())) .or(abilities(PARALLEL_HATCH).setMaxGlobalLimited(1)) .or(abilities(MAINTENANCE).setExactLimit(1))) @@ -615,7 +615,7 @@ public static void init() {} .where('X', GTOPredicates.frame(GTMaterials.Ultimet)) .where('Y', blocks(GTOBlocks.OXIDATION_RESISTANT_HASTELLOY_N_MECHANICAL_CASING.get())) .where('Z', blocks(GCYMBlocks.HEAT_VENT.get())) - .where('a', blocks(GTOBlocks.NAQUADAH_REINFORCED_PLANT_CASING.get()) + .wherePart('a', blocks(GTOBlocks.NAQUADAH_REINFORCED_PLANT_CASING.get()) .or(GTOPredicates.autoThreadLaserAbilities(definition.getRecipeTypes())) .or(abilities(PARALLEL_HATCH).setMaxGlobalLimited(1)) .or(abilities(MAINTENANCE).setExactLimit(1))) @@ -746,7 +746,7 @@ public static void init() {} .where('r', blocks(GTOBlocks.PRESSURE_CONTAINMENT_CASING.get())) .where('s', blocks(GTOBlocks.HIGH_PRESSURE_PIPE_CASING.get())) .where('t', blocks(GTOBlocks.ENHANCE_HYPER_MECHANICAL_CASING.get())) - .where('u', blocks(GTOBlocks.SPACE_ELEVATOR_MECHANICAL_CASING.get()) + .wherePart('u', blocks(GTOBlocks.SPACE_ELEVATOR_MECHANICAL_CASING.get()) .or(abilities(GTOPartAbility.ITEMS_INPUT_BUS).setExactLimit(1)) .or(abilities(INPUT_ENERGY).setExactLimit(1)) .or(abilities(COMPUTATION_DATA_RECEPTION).setExactLimit(1))) @@ -771,7 +771,7 @@ public static void init() {} .where('A', blocks(GTOBlocks.REINFORCED_STERILE_WATER_PLANT_CASING.get())) .where('B', blocks(GCYMBlocks.CASING_WATERTIGHT.get())) .where('C', blocks(GTBlocks.CLEANROOM_GLASS.get())) - .where('D', blocks(GTOBlocks.REINFORCED_STERILE_WATER_PLANT_CASING.get()) + .wherePart('D', blocks(GTOBlocks.REINFORCED_STERILE_WATER_PLANT_CASING.get()) .or(GTOPredicates.autoThreadLaserAbilities(definition.getRecipeTypes())) .or(abilities(PARALLEL_HATCH).setMaxGlobalLimited(1)) .or(abilities(MAINTENANCE).setExactLimit(1))) @@ -816,7 +816,7 @@ public static void init() {} .where('O', blocks(GTBlocks.HERMETIC_CASING_LuV.get())) .where('P', blocks(GTBlocks.CASING_TUNGSTENSTEEL_GEARBOX.get())) .where('Q', blocks(GTBlocks.FILTER_CASING.get())) - .where('a', blocks(GTBlocks.HIGH_POWER_CASING.get()) + .wherePart('a', blocks(GTBlocks.HIGH_POWER_CASING.get()) .or(GTOPredicates.autoThreadLaserAbilities(definition.getRecipeTypes())) .or(abilities(MAINTENANCE).setExactLimit(1))) .where(' ', any()) @@ -838,7 +838,7 @@ public static void init() {} .where('A', blocks(GTOBlocks.MOLECULAR_CASING.get())) .where('B', blocks(GTOBlocks.CONTAINMENT_FIELD_GENERATOR.get())) .where('C', blocks(GTOBlocks.DEGENERATE_RHENIUM_CONSTRAINED_CASING.get())) - .where('a', blocks(GTOBlocks.IRIDIUM_CASING.get()) + .wherePart('a', blocks(GTOBlocks.IRIDIUM_CASING.get()) .or(GTOPredicates.autoThreadLaserAbilities(definition.getRecipeTypes())) .or(abilities(MAINTENANCE).setExactLimit(1))) .where('D', blocks(GTOBlocks.IRIDIUM_CASING.get())) @@ -879,7 +879,7 @@ public static void init() {} .where('N', blocks(GTBlocks.HERMETIC_CASING_UV.get())) .where('O', blocks(GTOBlocks.CHEMICAL_CORROSION_RESISTANT_PIPE_CASING.get())) .where('P', blocks(GTOBlocks.HIGH_STRENGTH_SUPPORT_SPINDLE.get())) - .where('Q', blocks(GTOBlocks.IRIDIUM_CASING.get()) + .wherePart('Q', blocks(GTOBlocks.IRIDIUM_CASING.get()) .or(GTOPredicates.autoThreadLaserAbilities(definition.getRecipeTypes())) .or(abilities(PARALLEL_HATCH).setMaxGlobalLimited(1)) .or(abilities(MAINTENANCE).setExactLimit(1))) @@ -901,7 +901,7 @@ public static void init() {} .where('~', controller(definition)) .where('B', GTOPredicates.frame(GTMaterials.Tungsten)) .where('C', blocks(GTOBlocks.STERILE_WATER_PLANT_CASING.get())) - .where('a', blocks(GTOBlocks.STERILE_WATER_PLANT_CASING.get()) + .wherePart('a', blocks(GTOBlocks.STERILE_WATER_PLANT_CASING.get()) .or(abilities(INPUT_LASER).setMaxGlobalLimited(1)) .or(abilities(INPUT_ENERGY).setMaxGlobalLimited(2))) .where('F', blocks(GTOBlocks.CHEMICAL_GRADE_GLASS.get())) @@ -921,7 +921,7 @@ public static void init() {} .block(GTOBlocks.REINFORCED_STERILE_WATER_PLANT_CASING) .pattern(definition -> MultiBlockFileReader.start(definition) .where('A', blocks(GTOBlocks.REINFORCED_STERILE_WATER_PLANT_CASING.get())) - .where('B', blocks(GTOBlocks.REINFORCED_STERILE_WATER_PLANT_CASING.get()) + .wherePart('B', blocks(GTOBlocks.REINFORCED_STERILE_WATER_PLANT_CASING.get()) .or(abilities(IMPORT_FLUIDS).setMaxGlobalLimited(3)) .or(abilities(EXPORT_FLUIDS).setMaxGlobalLimited(2)) .or(abilities(EXPORT_ITEMS).setMaxGlobalLimited(1)) @@ -949,7 +949,7 @@ public static void init() {} .pattern(definition -> MultiBlockFileReader.start(definition) .where('~', controller(definition)) .where('E', blocks(GTOBlocks.HIGH_PRESSURE_RESISTANT_CASING.get())) - .where('A', blocks(GTOBlocks.OZONE_CASING.get()) + .wherePart('A', blocks(GTOBlocks.OZONE_CASING.get()) .or(abilities(IMPORT_FLUIDS).setMaxGlobalLimited(2).setPreviewCount(1)) .or(abilities(EXPORT_FLUIDS).setMaxGlobalLimited(2).setPreviewCount(1))) .where('C', GTOPredicates.frame(GTMaterials.HSSE)) @@ -969,7 +969,7 @@ public static void init() {} .block(GTOBlocks.FLOCCULATION_CASING) .pattern(definition -> MultiBlockFileReader.start(definition) .where('~', controller(definition)) - .where('A', blocks(GTOBlocks.FLOCCULATION_CASING.get()) + .wherePart('A', blocks(GTOBlocks.FLOCCULATION_CASING.get()) .or(abilities(IMPORT_FLUIDS).setMaxGlobalLimited(2).setPreviewCount(1)) .or(abilities(EXPORT_FLUIDS).setMaxGlobalLimited(3).setPreviewCount(1))) .where('H', blocks(GTOBlocks.REINFORCED_STERILE_WATER_PLANT_CASING.get())) @@ -998,7 +998,7 @@ public static void init() {} .where('G', abilities(IMPORT_FLUIDS)) .where('B', blocks(GTOBlocks.INERT_NEUTRALIZATION_WATER_PLANT_CASING.get())) .where('C', blocks(GTOBlocks.CHEMICAL_GRADE_GLASS.get())) - .where('D', blocks(GTOBlocks.STABILIZED_NAQUADAH_WATER_PLANT_CASING.get()) + .wherePart('D', blocks(GTOBlocks.STABILIZED_NAQUADAH_WATER_PLANT_CASING.get()) .or(blocks(GTOMachines.PH_SENSOR.get()).setMaxGlobalLimited(2).setPreviewCount(1)) .or(abilities(IMPORT_FLUIDS).setMaxGlobalLimited(1).setPreviewCount(1)) .or(abilities(EXPORT_FLUIDS).setMaxGlobalLimited(2).setPreviewCount(1))) @@ -1019,7 +1019,7 @@ public static void init() {} .where('H', blocks(GTOBlocks.SPEEDING_PIPE.get())) .where('I', blocks(GTOMachines.HEAT_SENSOR.get())) .where('J', blocks(GTOBlocks.PLASMA_HEATER_CASING.get()).or(blocks(GTOMachines.HEAT_SENSOR.get()))) - .where('B', blocks(GTOBlocks.PLASMA_HEATER_CASING.get()).or(abilities(IMPORT_FLUIDS).setPreviewCount(2))) + .wherePart('B', blocks(GTOBlocks.PLASMA_HEATER_CASING.get()).or(abilities(IMPORT_FLUIDS).setPreviewCount(2))) .where('E', blocks(GTOBlocks.PLASMA_HEATER_CASING.get()).or(abilities(EXPORT_FLUIDS).setPreviewCount(2))) .where('F', blocks(GTOBlocks.IMPROVED_SUPERCONDUCTOR_COIL.get())) .where('G', blocks(GTOBlocks.CHEMICAL_GRADE_GLASS.get())) @@ -1044,7 +1044,7 @@ public static void init() {} .where('F', blocks(GTOMachines.LENS_HOUSING.get())) .where('D', blocks(GTOBlocks.ELECTRON_PERMEABLE_AMPROSIUM_COATED_GLASS.get())) .where('A', blocks(GTOBlocks.NAQUADAH_REINFORCED_PLANT_CASING.get())) - .where('B', blocks(GTOBlocks.NAQUADAH_REINFORCED_PLANT_CASING.get()) + .wherePart('B', blocks(GTOBlocks.NAQUADAH_REINFORCED_PLANT_CASING.get()) .or(blocks(GTOMachines.LENS_INDICATOR_HATCH.get()).setExactLimit(1)) .or(abilities(IMPORT_FLUIDS).setMaxGlobalLimited(1).setPreviewCount(1)) .or(abilities(EXPORT_FLUIDS).setMaxGlobalLimited(2).setPreviewCount(1))) @@ -1065,7 +1065,7 @@ public static void init() {} .where('~', controller(definition)) .where('D', blocks(GTOBlocks.OMNI_PURPOSE_INFINITY_FUSED_GLASS.get())) .where('A', blocks(GTOBlocks.PLASMA_HEATER_CASING.get())) - .where('C', blocks(GTOBlocks.PLASMA_HEATER_CASING.get()) + .wherePart('C', blocks(GTOBlocks.PLASMA_HEATER_CASING.get()) .or(blocks(GTOMachines.DEGASSING_CONTROL_HATCH.get()).setExactLimit(1)) .or(abilities(IMPORT_FLUIDS).setMaxGlobalLimited(2).setPreviewCount(1)) .or(abilities(EXPORT_FLUIDS).setMaxGlobalLimited(2).setPreviewCount(1))) @@ -1089,7 +1089,7 @@ public static void init() {} .where('E', blocks(GTOBlocks.NON_PHOTONIC_MATTER_EXCLUSION_GLASS.get())) .where('F', blocks(GTOBlocks.QUARK_PIPE.get())) .where('A', blocks(GTOBlocks.QUARK_EXCLUSION_CASING.get())) - .where('B', blocks(GTOBlocks.QUARK_EXCLUSION_CASING.get()) + .wherePart('B', blocks(GTOBlocks.QUARK_EXCLUSION_CASING.get()) .or(abilities(IMPORT_ITEMS).setMaxGlobalLimited(1).setPreviewCount(1)) .or(abilities(EXPORT_ITEMS).setMaxGlobalLimited(1).setPreviewCount(1)) .or(abilities(IMPORT_FLUIDS).setMaxGlobalLimited(2).setPreviewCount(1)) diff --git a/src/main/java/com/gtocore/common/data/machines/MultiBlockC.java b/src/main/java/com/gtocore/common/data/machines/MultiBlockC.java index ac5df0fad..f88234ba4 100644 --- a/src/main/java/com/gtocore/common/data/machines/MultiBlockC.java +++ b/src/main/java/com/gtocore/common/data/machines/MultiBlockC.java @@ -74,9 +74,9 @@ public static void init() {} .where('A', blocks(GTBlocks.CASING_STEEL_SOLID.get())) .where('B', blocks(GTBlocks.STEEL_HULL.get()).or(abilities(PartAbility.EXPORT_FLUIDS_1X).setPreviewCount(1).setMaxLayerLimited(1))) .where('C', GTOPredicates.recordPosition(GTOPredicates.DataKeys.A, blocks(GTOMachines.HEAT_HATCH.get()))) - .where('D', blocks(GTBlocks.CASING_STEEL_SOLID.get()) + .wherePart('D', blocks(GTBlocks.CASING_STEEL_SOLID.get()) .or(abilities(EXPORT_ITEMS).setMaxGlobalLimited(1)).or(abilities(IMPORT_FLUIDS).setExactLimit(1).setPreviewCount(1)) - .or(blocks(GTOMachines.HEAT_HATCH.get()).setExactLimit(1).setPreviewCount(1))) + .or(blocks(GTOMachines.HEAT_HATCH.get()).setExactLimit(1).setPreviewCount(1)), abilities(HEAT_CONDUCTION)) .where(' ', air()) .build()) .renderer(PrimitiveDistillationRenderer::new) @@ -89,7 +89,7 @@ public static void init() {} .block(GTBlocks.CASING_BRONZE_BRICKS) .pattern(definition -> MultiBlockFileReader.start(definition) .where('~', controller(definition)) - .where('A', blocks(GTBlocks.CASING_BRONZE_BRICKS.get()) + .wherePart('A', blocks(GTBlocks.CASING_BRONZE_BRICKS.get()) .or(abilities(STEAM).setExactLimit(1)) .or(blocks(GTMachines.ITEM_IMPORT_BUS[GTValues.ULV].get()).setMaxGlobalLimited(1).setPreviewCount(1)) .or(abilities(GTOPartAbility.STEAM_IMPORT_FLUIDS).setMaxGlobalLimited(2).setPreviewCount(1)) @@ -109,7 +109,7 @@ public static void init() {} .block(GTBlocks.CASING_BRONZE_BRICKS) .pattern(definition -> MultiBlockFileReader.start(definition) .where('A', blocks(GTBlocks.BRONZE_BRICKS_HULL.get())) - .where('B', blocks(GTBlocks.CASING_BRONZE_BRICKS.get()) + .wherePart('B', blocks(GTBlocks.CASING_BRONZE_BRICKS.get()) .or(abilities(STEAM).setExactLimit(1)) .or(blocks(GTOMachines.STEAM_VENT_HATCH.get()).setExactLimit(1)) .or(abilities(STEAM_IMPORT_ITEMS).setMaxGlobalLimited(1).setPreviewCount(1)) @@ -140,7 +140,7 @@ public static void init() {} .where('C', blocks(GTBlocks.CASING_BRONZE_GEARBOX.get())) .where('D', blocks(GTBlocks.CASING_BRONZE_PIPE.get())) .where('S', controller(definition)) - .where('b', blocks(GTBlocks.CASING_BRONZE_BRICKS.get()) + .wherePart('b', blocks(GTBlocks.CASING_BRONZE_BRICKS.get()) .or(abilities(STEAM).setExactLimit(1)) .or(blocks(GTOMachines.STEAM_VENT_HATCH.get()).setExactLimit(1)) .or(abilities(STEAM_IMPORT_ITEMS).setMaxGlobalLimited(1).setPreviewCount(1)) @@ -177,7 +177,7 @@ public static void init() {} .where('F', blocks(GTBlocks.STEEL_HULL.get())) .where('G', GTOPredicates.frame(GTMaterials.StainlessSteel)) .where('H', blocks(GTBlocks.CASING_TITANIUM_PIPE.get())) - .where('a', blocks(GTBlocks.CASING_PTFE_INERT.get()) + .wherePart('a', blocks(GTBlocks.CASING_PTFE_INERT.get()) .or(autoAbilities(definition.getRecipeTypes())) .or(autoAbilities(true, false, true))) .where(' ', any()) @@ -230,7 +230,7 @@ public static void init() {} .pattern(definition -> MultiBlockFileReader.start(definition) .where('~', controller(definition)) .where('A', blocks(GTOBlocks.NAQUADAH_REINFORCED_PLANT_CASING.get())) - .where('a', blocks(GTOBlocks.NAQUADAH_REINFORCED_PLANT_CASING.get()) + .wherePart('a', blocks(GTOBlocks.NAQUADAH_REINFORCED_PLANT_CASING.get()) .or(GTOPredicates.autoThreadLaserAbilities(definition.getRecipeTypes())) .or(abilities(MAINTENANCE))) .where('B', blocks(GTOBlocks.HIGH_PRESSURE_PIPE_CASING.get())) @@ -269,7 +269,7 @@ public static void init() {} .where('~', controller(definition)) .where('A', blocks(GTBlocks.STEEL_HULL.get())) .where('B', blocks(GCYMBlocks.CASING_HIGH_TEMPERATURE_SMELTING.get())) - .where('b', blocks(GCYMBlocks.CASING_HIGH_TEMPERATURE_SMELTING.get()) + .wherePart('b', blocks(GCYMBlocks.CASING_HIGH_TEMPERATURE_SMELTING.get()) .or(GTOPredicates.autoThreadLaserAbilities(definition.getRecipeTypes())) .or(abilities(PARALLEL_HATCH).setMaxGlobalLimited(1)) .or(abilities(MAINTENANCE))) @@ -311,7 +311,7 @@ public static void init() {} .aisle("aAEEEAa", "FG GF", "FG GF", "FG GF", "AACACAA") .aisle("AaaBaaA", "ACDDDCA", "ACDDDCA", "ACDDDCA", "AAAAAAA") .where('A', blocks(GTBlocks.CASING_STEEL_SOLID.get())) - .where('a', blocks(GTBlocks.CASING_STEEL_SOLID.get()) + .wherePart('a', blocks(GTBlocks.CASING_STEEL_SOLID.get()) .or(autoAbilities(definition.getRecipeTypes())) .or(abilities(MAINTENANCE).setExactLimit(1))) .where('B', controller(definition)) @@ -406,7 +406,7 @@ public static void init() {} .parallelizableOverclock() .block(GTBlocks.CASING_TITANIUM_STABLE) .pattern(definition -> MultiBlockFileReader.start(definition) - .where('A', blocks(GTBlocks.CASING_TITANIUM_STABLE.get()) + .wherePart('A', blocks(GTBlocks.CASING_TITANIUM_STABLE.get()) .or(autoAbilities(definition.getRecipeTypes())) .or(autoAbilities(true, false, true))) .where('B', blocks(GTBlocks.CASING_STAINLESS_CLEAN.get())) @@ -439,7 +439,7 @@ public static void init() {} .where('F', GTOPredicates.frame(GTMaterials.HastelloyC276)) .where('G', blocks(GTOBlocks.PRESSURE_CONTAINMENT_CASING.get())) .where('H', blocks(GTBlocks.FUSION_GLASS.get())) - .where('I', blocks(GTOBlocks.DIMENSION_INJECTION_CASING.get()) + .wherePart('I', blocks(GTOBlocks.DIMENSION_INJECTION_CASING.get()) .or(GTOPredicates.autoThreadLaserAbilities(definition.getRecipeTypes())) .or(abilities(PARALLEL_HATCH).setMaxGlobalLimited(1)) .or(abilities(MAINTENANCE).setExactLimit(1))) @@ -462,7 +462,7 @@ public static void init() {} .pattern(definition -> MultiBlockFileReader.start(definition) .where('A', GTOPredicates.frame(GTMaterials.Tungsten)) .where('B', blocks(GTOBlocks.PRESSURE_CONTAINMENT_CASING.get())) - .where('C', blocks(GTOBlocks.PRESSURE_CONTAINMENT_CASING.get()) + .wherePart('C', blocks(GTOBlocks.PRESSURE_CONTAINMENT_CASING.get()) .or(GTOPredicates.autoThreadLaserAbilities(definition.getRecipeTypes())) .or(abilities(PARALLEL_HATCH).setMaxGlobalLimited(1)) .or(abilities(MAINTENANCE).setExactLimit(1))) @@ -505,7 +505,7 @@ public static void init() {} .where('N', blocks(GTBlocks.CASING_STAINLESS_CLEAN.get())) .where('O', blocks(GTBlocks.CASING_TEMPERED_GLASS.get())) .where('P', heatingCoils()) - .where('Q', blocks(GTOBlocks.NAQUADAH_ALLOY_CASING.get()) + .wherePart('Q', blocks(GTOBlocks.NAQUADAH_ALLOY_CASING.get()) .or(GTOPredicates.autoThreadLaserAbilities(definition.getRecipeTypes())) .or(abilities(MAINTENANCE).setExactLimit(1))) .where('R', controller(definition)) @@ -524,7 +524,7 @@ public static void init() {} .block(GTBlocks.CASING_PTFE_INERT) .pattern(definition -> MultiBlockFileReader.start(definition) .where('A', blocks(GTBlocks.CASING_STAINLESS_CLEAN.get())) - .where('B', blocks(GTBlocks.CASING_PTFE_INERT.get()) + .wherePart('B', blocks(GTBlocks.CASING_PTFE_INERT.get()) .or(autoAbilities(definition.getRecipeTypes())) .or(abilities(MAINTENANCE).setExactLimit(1))) .where('C', heatingCoils()) @@ -548,7 +548,7 @@ public static void init() {} .block(GTBlocks.PLASTCRETE) .pattern(definition -> MultiBlockFileReader.start(definition) .where('A', blocks(GTBlocks.CASING_TUNGSTENSTEEL_ROBUST.get())) - .where('C', blocks(GTBlocks.PLASTCRETE.get()) + .wherePart('C', blocks(GTBlocks.PLASTCRETE.get()) .or(autoAbilities(definition.getRecipeTypes())) .or(abilities(MAINTENANCE).setExactLimit(1))) .where('D', controller(definition)) @@ -572,7 +572,7 @@ public static void init() {} .pattern(definition -> MultiBlockFileReader.start(definition) .where('~', controller(definition)) .where('A', blocks(GTOBlocks.MOLECULAR_CASING.get())) - .where('a', blocks(GTOBlocks.MOLECULAR_CASING.get()) + .wherePart('a', blocks(GTOBlocks.MOLECULAR_CASING.get()) .or(GTOPredicates.autoLaserAbilities(definition.getRecipeTypes())) .or(abilities(MAINTENANCE).setExactLimit(1))) .where('B', blocks(GTOBlocks.AMPROSIUM_ACTIVE_CASING.get())) @@ -614,7 +614,7 @@ public static void init() {} .where('K', blocks(GTOBlocks.QUARK_PIPE.get())) .where('L', blocks(GTOBlocks.MOLECULAR_CASING.get())) .where('M', blocks(GTOBlocks.AMPROSIUM_PIPE_CASING.get())) - .where('a', blocks(GTOBlocks.DIMENSION_INJECTION_CASING.get()) + .wherePart('a', blocks(GTOBlocks.DIMENSION_INJECTION_CASING.get()) .or(GTOPredicates.autoLaserAbilities(definition.getRecipeTypes())) .or(abilities(MAINTENANCE).setExactLimit(1))) .where(' ', any()) @@ -635,7 +635,7 @@ public static void init() {} .where('D', blocks(GTBlocks.FILTER_CASING.get())) .where('E', blocks(GTBlocks.HIGH_POWER_CASING.get())) .where('F', blocks(GTBlocks.CASING_POLYTETRAFLUOROETHYLENE_PIPE.get())) - .where('G', blocks(GTBlocks.CASING_STAINLESS_CLEAN.get()) + .wherePart('G', blocks(GTBlocks.CASING_STAINLESS_CLEAN.get()) .or(autoAbilities(definition.getRecipeTypes())) .or(abilities(PARALLEL_HATCH).setMaxGlobalLimited(1)) .or(abilities(MAINTENANCE).setExactLimit(1)) @@ -667,7 +667,7 @@ public static void init() {} .where('F', GTOPredicates.frame(GTOMaterials.HastelloyN)) .where('G', blocks(GTBlocks.CASING_GRATE.get())) .where('H', blocks(GTBlocks.CASING_POLYTETRAFLUOROETHYLENE_PIPE.get())) - .where('a', blocks(GTBlocks.CASING_STAINLESS_CLEAN.get()) + .wherePart('a', blocks(GTBlocks.CASING_STAINLESS_CLEAN.get()) .or(autoAbilities(definition.getRecipeTypes())) .or(abilities(GTOPartAbility.THREAD_HATCH).setMaxGlobalLimited(1)) .or(abilities(OVERCLOCK_HATCH).setMaxGlobalLimited(1)) @@ -703,7 +703,7 @@ public static void init() {} .where('M', blocks(GTOBlocks.IRIDIUM_CASING.get())) .where('N', blocks(GTOBlocks.NAQUADAH_BOROSILICATE_GLASS.get())) .where('O', blocks(GTBlocks.CASING_TUNGSTENSTEEL_GEARBOX.get())) - .where('a', blocks(GTBlocks.CASING_HSSE_STURDY.get()).or(abilities(PARALLEL_HATCH).setMaxGlobalLimited(1)).or(GTOPredicates.autoLaserAbilities(definition.getRecipeTypes()))) + .wherePart('a', blocks(GTBlocks.CASING_HSSE_STURDY.get()).or(abilities(PARALLEL_HATCH).setMaxGlobalLimited(1)).or(GTOPredicates.autoLaserAbilities(definition.getRecipeTypes()))) .where(' ', any()) .build()) .workableCasingRenderer(GTCEu.id("block/casings/solid/machine_casing_sturdy_hsse"), GTCEu.id("block/multiblock/fusion_reactor")) @@ -727,7 +727,7 @@ public static void init() {} .where('G', blocks(GTOBlocks.HYPER_MECHANICAL_CASING.get())) .where('H', blocks(GTOBlocks.CHEMICAL_GRADE_GLASS.get())) .where('I', blocks(GTBlocks.HERMETIC_CASING_ZPM.get())) - .where('a', blocks(GTBlocks.CASING_PTFE_INERT.get()) + .wherePart('a', blocks(GTBlocks.CASING_PTFE_INERT.get()) .or(GTOPredicates.autoLaserAbilities(definition.getRecipeTypes())) .or(abilities(PARALLEL_HATCH).setMaxGlobalLimited(1))) .where(' ', any()) @@ -756,7 +756,7 @@ public static void init() {} .where('J', blocks(GTBlocks.FILTER_CASING_STERILE.get())) .where('K', blocks(GTBlocks.CASING_POLYTETRAFLUOROETHYLENE_PIPE.get())) .where('L', frames(GTMaterials.Polytetrafluoroethylene)) - .where('a', blocks(GTOBlocks.IRIDIUM_CASING.get()) + .wherePart('a', blocks(GTOBlocks.IRIDIUM_CASING.get()) .or(GTOPredicates.autoLaserAbilities(definition.getRecipeTypes())) .or(abilities(PARALLEL_HATCH).setMaxGlobalLimited(1))) .where(' ', any()) @@ -782,7 +782,7 @@ public static void init() {} .where('F', blocks(GTOBlocks.PRESSURE_CONTAINMENT_CASING.get())) .where('G', blocks(GTBlocks.FUSION_GLASS.get())) .where('H', blocks(GTOBlocks.OXIDATION_RESISTANT_HASTELLOY_N_MECHANICAL_CASING.get())) - .where('I', blocks(GTOBlocks.NAQUADAH_ALLOY_CASING.get()) + .wherePart('I', blocks(GTOBlocks.NAQUADAH_ALLOY_CASING.get()) .or(GTOPredicates.autoThreadLaserAbilities(definition.getRecipeTypes())) .or(abilities(PARALLEL_HATCH).setMaxGlobalLimited(1)) .or(abilities(MAINTENANCE).setExactLimit(1))) @@ -829,7 +829,7 @@ public static void init() {} .where('P', blocks(GTBlocks.FUSION_GLASS.get())) .where('Q', blocks(GTOBlocks.LASER_CASING.get())) .where('S', blocks(GTOBlocks.AMPROSIUM_ACTIVE_CASING.get())) - .where('a', blocks(GTOBlocks.MOLECULAR_CASING.get()) + .wherePart('a', blocks(GTOBlocks.MOLECULAR_CASING.get()) .or(abilities(IMPORT_ITEMS).setExactLimit(1)) .or(abilities(EXPORT_ITEMS).setMaxGlobalLimited(4).setMinGlobalLimited(1)) .or(abilities(INPUT_LASER).setMaxGlobalLimited(2)) @@ -848,7 +848,7 @@ public static void init() {} .pattern(definition -> MultiBlockFileReader.start(definition) .where('A', blocks(GTOBlocks.IRIDIUM_CASING.get())) .where('B', blocks(GTOBlocks.HYPER_CORE.get())) - .where('C', blocks(GTOBlocks.HYPER_MECHANICAL_CASING.get()) + .wherePart('C', blocks(GTOBlocks.HYPER_MECHANICAL_CASING.get()) .or(abilities(IMPORT_FLUIDS).setMaxGlobalLimited(2)) .or(abilities(INPUT_ENERGY).setMaxGlobalLimited(2)) .or(abilities(INPUT_LASER).setMaxGlobalLimited(1))) @@ -877,13 +877,12 @@ public static void init() {} .laserTooltips() .block(GCYMBlocks.CASING_NONCONDUCTING) .pattern(definition -> MultiBlockFileReader.start(definition) - .where('A', blocks(GCYMBlocks.CASING_NONCONDUCTING.get()) + .wherePart('A', blocks(GCYMBlocks.CASING_NONCONDUCTING.get()) .or(abilities(IMPORT_ITEMS).setExactLimit(1)) .or(abilities(EXPORT_ITEMS).setExactLimit(1)) .or(abilities(INPUT_ENERGY).setPreviewCount(1)) .or(abilities(INPUT_LASER).setPreviewCount(1)) .or(blocks(GTOMachines.WIRELESS_ENERGY_INTERFACE_HATCH.get()).setMaxGlobalLimited(1)) - .or(blocks(GTMachines.CONTROL_HATCH.get()).setMaxGlobalLimited(1).setPreviewCount(0)) .or(abilities(MAINTENANCE).setExactLimit(1))) .where('B', blocks(GCYMBlocks.CASING_NONCONDUCTING.get())) .where('C', frames(GTMaterials.HSSG)) @@ -940,7 +939,7 @@ public static void init() {} .where('N', blocks(GTOBlocks.SPS_CASING.get())) .where('O', blocks(GTOBlocks.EXTREME_DENSITY_CASING.get())) .where('P', blocks(GTOBlocks.INFINITY_GLASS.get())) - .where('Q', blocks(GTOBlocks.DIMENSIONALLY_TRANSCENDENT_CASING.get()) + .wherePart('Q', blocks(GTOBlocks.DIMENSIONALLY_TRANSCENDENT_CASING.get()) .or(GTOPredicates.autoLaserAbilities(definition.getRecipeTypes())) .or(abilities(PARALLEL_HATCH).setMaxGlobalLimited(1)) .or(abilities(MAINTENANCE).setExactLimit(1))) @@ -963,7 +962,7 @@ public static void init() {} .where('B', blocks(GTOBlocks.PIKYONIUM_MACHINE_CASING.get())) .where('C', blocks(GTOBlocks.DIMENSION_INJECTION_CASING.get())) .where('D', blocks(GTBlocks.FUSION_GLASS.get())) - .where('E', blocks(GTOBlocks.NAQUADAH_ALLOY_CASING.get()) + .wherePart('E', blocks(GTOBlocks.NAQUADAH_ALLOY_CASING.get()) .or(GTOPredicates.autoThreadLaserAbilities(definition.getRecipeTypes())) .or(abilities(PARALLEL_HATCH).setMaxGlobalLimited(1)) .or(abilities(MAINTENANCE).setExactLimit(1))) @@ -988,7 +987,7 @@ public static void init() {} .recipeTypes(GTORecipeTypes.PRECISION_ASSEMBLER_RECIPES) .block(GTOBlocks.IRIDIUM_CASING) .pattern(definition -> MultiBlockFileReader.start(definition) - .where('A', blocks(GTOBlocks.IRIDIUM_CASING.get()) + .wherePart('A', blocks(GTOBlocks.IRIDIUM_CASING.get()) .or(GTOPredicates.autoThreadLaserAbilities(definition.getRecipeTypes())) .or(abilities(PARALLEL_HATCH).setMaxGlobalLimited(1)) .or(abilities(MAINTENANCE).setExactLimit(1))) @@ -1023,7 +1022,7 @@ public static void init() {} .recipeTypes(GTRecipeTypes.DUMMY_RECIPES) .block(GTOBlocks.BRASS_REINFORCED_WOODEN_CASING) .pattern(definition -> MultiBlockFileReader.start(definition) - .where('A', blocks(GTOBlocks.BRASS_REINFORCED_WOODEN_CASING.get()) + .wherePart('A', blocks(GTOBlocks.BRASS_REINFORCED_WOODEN_CASING.get()) .or(abilities(IMPORT_FLUIDS).setExactLimit(1)) .or(abilities(EXPORT_FLUIDS).setExactLimit(1)) .or(abilities(MAINTENANCE).setExactLimit(1))) diff --git a/src/main/java/com/gtocore/common/data/machines/MultiBlockD.java b/src/main/java/com/gtocore/common/data/machines/MultiBlockD.java index 5cc992d08..f3dd95d46 100644 --- a/src/main/java/com/gtocore/common/data/machines/MultiBlockD.java +++ b/src/main/java/com/gtocore/common/data/machines/MultiBlockD.java @@ -88,7 +88,7 @@ public static void init() {} .pattern(definition -> MultiBlockFileReader.start(definition) .where('E', controller(definition)) .where('G', blocks(GTBlocks.CASING_TEMPERED_GLASS.get())) - .where('B', blocks(GTBlocks.MACHINE_CASING_ULV.get()) + .wherePart('B', blocks(GTBlocks.MACHINE_CASING_ULV.get()) .setMinGlobalLimited(40) .or(autoAbilities(definition.getRecipeTypes())) .or(abilities(MAINTENANCE).setExactLimit(1))) @@ -108,7 +108,7 @@ public static void init() {} .pattern(definition -> MultiBlockFileReader.start(definition) .where('~', controller(definition)) .where('A', blocks(GTOBlocks.DIMENSIONALLY_TRANSCENDENT_CASING.get())) - .where('B', blocks(GTBlocks.HIGH_POWER_CASING.get()) + .wherePart('B', blocks(GTBlocks.HIGH_POWER_CASING.get()) .or(abilities(EXPORT_ITEMS).setPreviewCount(1)) .or(abilities(IMPORT_ITEMS).setPreviewCount(1)) .or(abilities(EXPORT_FLUIDS).setPreviewCount(1)) @@ -146,7 +146,7 @@ public static void init() {} .where('K', blocks(GTBlocks.HIGH_POWER_CASING.get())) .where('L', GTOPredicates.frame(GTOMaterials.BlackTitanium)) .where('M', blocks(GTOBlocks.AMPROSIUM_ACTIVE_CASING.get())) - .where('b', blocks(GCYMBlocks.CASING_ATOMIC.get()) + .wherePart('b', blocks(GCYMBlocks.CASING_ATOMIC.get()) .or(autoAbilities(definition.getRecipeTypes())) .or(abilities(MAINTENANCE).setExactLimit(1)) .or(abilities(COMPUTATION_DATA_RECEPTION).setExactLimit(1))) @@ -166,7 +166,7 @@ public static void init() {} .block(GTOBlocks.DIMENSIONALLY_TRANSCENDENT_CASING) .pattern(definition -> MultiBlockFileReader.start(definition) .where('A', blocks(GTOBlocks.STRENGTHEN_THE_BASE_BLOCK.get())) - .where('B', blocks(GTOBlocks.DIMENSIONALLY_TRANSCENDENT_CASING.get()) + .wherePart('B', blocks(GTOBlocks.DIMENSIONALLY_TRANSCENDENT_CASING.get()) .or(abilities(PARALLEL_HATCH).setMaxGlobalLimited(1)) .or(GTOPredicates.autoThreadLaserAbilities(definition.getRecipeTypes()))) .where('C', GTOPredicates.frame(GTOMaterials.Amprosium)) @@ -207,7 +207,7 @@ public static void init() {} .aisle("bbb", "cec", "bdb").setRepeatable(16) .aisle("bbb", "bab", "bgb") .where('a', controller(definition)) - .where('b', blocks(GTOBlocks.PIKYONIUM_MACHINE_CASING.get()) + .wherePart('b', blocks(GTOBlocks.PIKYONIUM_MACHINE_CASING.get()) .or(abilities(INPUT_ENERGY).setMaxGlobalLimited(2)) .or(abilities(MAINTENANCE).setExactLimit(1))) .where('c', blocks(GTBlocks.CASING_LAMINATED_GLASS.get())) @@ -227,7 +227,7 @@ public static void init() {} .block(GTOBlocks.SPACE_ELEVATOR_MECHANICAL_CASING) .pattern(definition -> MultiBlockFileReader.start(definition) .where('~', controller(definition)) - .where('b', blocks(GTOBlocks.SPACE_ELEVATOR_MECHANICAL_CASING.get()) + .wherePart('b', blocks(GTOBlocks.SPACE_ELEVATOR_MECHANICAL_CASING.get()) .or(autoAbilities(definition.getRecipeTypes()))) .where('a', blocks(GTOBlocks.SPACE_ELEVATOR_MODULE_BASE.get())) .where('c', blocks(GTOBlocks.MODULE_CONNECTOR.get())) @@ -244,7 +244,7 @@ public static void init() {} .block(GTOBlocks.SPACE_ELEVATOR_MECHANICAL_CASING) .pattern(definition -> MultiBlockFileReader.start(definition) .where('~', controller(definition)) - .where('b', blocks(GTOBlocks.SPACE_ELEVATOR_MECHANICAL_CASING.get()) + .wherePart('b', blocks(GTOBlocks.SPACE_ELEVATOR_MECHANICAL_CASING.get()) .or(autoAbilities(definition.getRecipeTypes()))) .where('a', blocks(GTOBlocks.SPACE_ELEVATOR_MODULE_BASE.get())) .where('c', blocks(GTOBlocks.MODULE_CONNECTOR.get())) @@ -274,7 +274,7 @@ public static void init() {} .block(GTOBlocks.ALUMINIUM_BRONZE_CASING) .pattern(definition -> MultiBlockFileReader.start(definition) .where('a', controller(definition)) - .where('b', blocks(GTOBlocks.ALUMINIUM_BRONZE_CASING.get()) + .wherePart('b', blocks(GTOBlocks.ALUMINIUM_BRONZE_CASING.get()) .or(abilities(INPUT_ENERGY).setMaxGlobalLimited(2)) .or(blocks(GTOMachines.BLOCK_BUS.get()).setMaxGlobalLimited(1))) .where('c', blocks(GTOBlocks.SHINING_OBSIDIAN.get())) @@ -293,7 +293,7 @@ public static void init() {} .block(GTOBlocks.ALUMINIUM_BRONZE_CASING) .pattern(definition -> MultiBlockFileReader.start(definition) .where('a', controller(definition)) - .where('b', blocks(GTOBlocks.ALUMINIUM_BRONZE_CASING.get()) + .wherePart('b', blocks(GTOBlocks.ALUMINIUM_BRONZE_CASING.get()) .or(abilities(INPUT_ENERGY).setMaxGlobalLimited(2)) .or(blocks(GTOMachines.BLOCK_BUS.get()).setMaxGlobalLimited(4))) .where('c', blocks(GTOBlocks.SHINING_OBSIDIAN.get())) @@ -338,7 +338,7 @@ public static void init() {} .where('B', blocks(GCYMBlocks.HEAT_VENT.get())) .where('C', blocks(GTBlocks.CASING_TUNGSTENSTEEL_PIPE.get())) .where('D', blocks(GTOBlocks.BLAZE_CASING.get())) - .where('E', blocks(GTOBlocks.BLAZE_CASING.get()) + .wherePart('E', blocks(GTOBlocks.BLAZE_CASING.get()) .or(autoAbilities(definition.getRecipeTypes())) .or(abilities(MAINTENANCE).setExactLimit(1))) .where('F', heatingCoils()) @@ -371,7 +371,7 @@ public static void init() {} .aisle("AAAAA", "BE EB", "BE EB", "BE EB", "AAAAA") .aisle("AAAAA", " BBB ", " BBB ", " BBB ", "AAAAA") .where('A', blocks(GTBlocks.CASING_ALUMINIUM_FROSTPROOF.get())) - .where('B', blocks(GTOBlocks.COLD_ICE_CASING.get()) + .wherePart('B', blocks(GTOBlocks.COLD_ICE_CASING.get()) .or(autoAbilities(definition.getRecipeTypes())) .or(abilities(MAINTENANCE).setExactLimit(1))) .where('C', blocks(GTOBlocks.COLD_ICE_CASING.get())) @@ -419,7 +419,7 @@ public static void init() {} .block(GTOBlocks.ECHO_CASING) .pattern(definition -> MultiBlockFileReader.start(definition) .where('~', controller(definition)) - .where('c', blocks(GTOBlocks.ECHO_CASING.get()) + .wherePart('c', blocks(GTOBlocks.ECHO_CASING.get()) .or(abilities(EXPORT_ITEMS).setMaxGlobalLimited(1).setPreviewCount(1)) .or(abilities(IMPORT_ITEMS).setMaxGlobalLimited(1).setPreviewCount(1)) .or(abilities(INPUT_ENERGY).setMaxGlobalLimited(2).setPreviewCount(1)) @@ -444,7 +444,7 @@ public static void init() {} .multipleRecipesTooltips() .block(GTOBlocks.MOLECULAR_CASING) .pattern(definition -> MultiBlockFileReader.start(definition) - .where('A', blocks(GTOBlocks.MOLECULAR_CASING.get()) + .wherePart('A', blocks(GTOBlocks.MOLECULAR_CASING.get()) .or(GTOPredicates.autoThreadLaserAbilities(definition.getRecipeTypes())) .or(abilities(OPTICAL_DATA_RECEPTION).setExactLimit(1))) .where('B', blocks(GTOBlocks.ADVANCED_FUSION_COIL.get())) @@ -507,9 +507,8 @@ public static void init() {} .aisle("bbb", "bcb", "bbb") .aisle("bbb", "bab", "bbb") .where('a', controller(definition)) - .where('b', blocks(GTOBlocks.MULTI_FUNCTIONAL_CASING.get()) + .wherePart('b', blocks(GTOBlocks.MULTI_FUNCTIONAL_CASING.get()) .setMinGlobalLimited(14) - .or(Predicates.blocks(GTMachines.CONTROL_HATCH.get()).setMaxGlobalLimited(1).setPreviewCount(0)) .or(abilities(GTOPartAbility.ACCELERATE_HATCH).setMaxGlobalLimited(1)) .or(abilities(IMPORT_ITEMS)) .or(abilities(EXPORT_ITEMS)) @@ -571,8 +570,7 @@ public static void init() {} .block(GTOBlocks.INCONEL_625_CASING) .pattern(definition -> MultiBlockFileReader.start(definition) .where('~', controller(definition)) - .where('B', blocks(GTOBlocks.INCONEL_625_CASING.get()) - .or(Predicates.blocks(GTMachines.CONTROL_HATCH.get()).setMaxGlobalLimited(1).setPreviewCount(0)) + .wherePart('B', blocks(GTOBlocks.INCONEL_625_CASING.get()) .or(abilities(INPUT_ENERGY).setMaxGlobalLimited(2).setPreviewCount(1)) .or(abilities(IMPORT_ITEMS).setMaxGlobalLimited(4).setPreviewCount(1)) .or(abilities(IMPORT_FLUIDS).setMaxGlobalLimited(1).setPreviewCount(1)) @@ -603,8 +601,7 @@ public static void init() {} .aisle("B B", " EEE ", " EFE ", " EEE ", "B B").setRepeatable(4, 100) .aisle("CCCCC", "CDDDC", "CDDDC", "CDDDC", "CCCCC") .where('G', controller(definition)) - .where('A', blocks(GTBlocks.CASING_STAINLESS_CLEAN.get()) - .or(Predicates.blocks(GTMachines.CONTROL_HATCH.get()).setMaxGlobalLimited(1).setPreviewCount(0)) + .wherePart('A', blocks(GTBlocks.CASING_STAINLESS_CLEAN.get()) .or(blocks(GTOMachines.NEUTRON_SENSOR.get()).setMaxGlobalLimited(1).setPreviewCount(1)) .or(abilities(EXPORT_FLUIDS).setMaxGlobalLimited(1).setPreviewCount(1)) .or(abilities(EXPORT_ITEMS).setMaxGlobalLimited(2).setPreviewCount(1)) @@ -632,7 +629,7 @@ public static void init() {} .block(GTBlocks.CASING_TUNGSTENSTEEL_ROBUST) .pattern(definition -> MultiBlockFileReader.start(definition) .where('S', controller(definition)) - .where('A', + .wherePart('A', blocks(GTBlocks.CASING_TUNGSTENSTEEL_ROBUST.get()).setMinGlobalLimited(98) .or(autoAbilities(definition.getRecipeTypes())) .or(abilities(MAINTENANCE).setExactLimit(1))) @@ -656,7 +653,7 @@ public static void init() {} .block(GTOBlocks.IRIDIUM_CASING) .pattern(definition -> MultiBlockFileReader.start(definition) .where('S', controller(definition)) - .where('X', blocks(GTOBlocks.IRIDIUM_CASING.get()).setMinGlobalLimited(3) + .wherePart('X', blocks(GTOBlocks.IRIDIUM_CASING.get()).setMinGlobalLimited(3) .or(abilities(INPUT_ENERGY).setMaxGlobalLimited(2).setPreviewCount(1)) .or(abilities(EXPORT_FLUIDS).setMaxGlobalLimited(1).setPreviewCount(1))) .where('C', blocks(GTOBlocks.IRIDIUM_CASING.get())) @@ -681,7 +678,7 @@ public static void init() {} .aisle("FIF", "RTR", "DAG", "#Y#").setRepeatable(3, 15) .aisle("FOF", "RTR", "DAG", "#Y#") .where('S', controller(definition)) - .where('F', blocks(GTBlocks.CASING_STEEL_SOLID.get()) + .wherePart('F', blocks(GTBlocks.CASING_STEEL_SOLID.get()) .or(blocks(IMPORT_FLUIDS.getAllBlocks().stream().filter(b -> !DUAL_INPUT.getAllBlocks().contains(b)) .toArray(Block[]::new)).setMaxGlobalLimited(4).setPreviewCount(1)) .or(abilities(PARALLEL_HATCH).setMaxGlobalLimited(1))) @@ -711,8 +708,7 @@ public static void init() {} .block(GTOBlocks.FISSION_REACTOR_CASING) .pattern(definition -> MultiBlockFileReader.start(definition) .where('~', controller(definition)) - .where('A', blocks(GTOBlocks.FISSION_REACTOR_CASING.get()) - .or(Predicates.blocks(GTMachines.CONTROL_HATCH.get()).setMaxGlobalLimited(1).setPreviewCount(0)) + .wherePart('A', blocks(GTOBlocks.FISSION_REACTOR_CASING.get()) .or(blocks(GTOMachines.HEAT_SENSOR.get()).setMaxGlobalLimited(1).setPreviewCount(1)) .or(abilities(INPUT_ENERGY).setMaxGlobalLimited(2).setPreviewCount(1)) .or(abilities(MAINTENANCE).setExactLimit(1)) @@ -746,7 +742,7 @@ public static void init() {} .where('I', air()) .where('J', blocks(GTOBlocks.SPACE_ELEVATOR_POWER_CORE.get())) .where('M', GTOPredicates.module(ASSEMBLER_MODULE, RESOURCE_COLLECTION_MODULE, MultiBlockD.ENGINEERED_DATA_MODULE)) - .where('X', blocks(GTOBlocks.SPACE_ELEVATOR_MECHANICAL_CASING.get()) + .wherePart('X', blocks(GTOBlocks.SPACE_ELEVATOR_MECHANICAL_CASING.get()) .or(abilities(GTOPartAbility.ITEMS_INPUT_BUS).setExactLimit(1)) .or(abilities(INPUT_ENERGY).setExactLimit(1)) .or(abilities(COMPUTATION_DATA_RECEPTION).setExactLimit(1))) @@ -764,8 +760,7 @@ public static void init() {} .block(GTBlocks.CASING_STEEL_SOLID) .pattern(definition -> MultiBlockFileReader.start(definition) .where('~', controller(definition)) - .where('A', blocks(GTBlocks.CASING_STEEL_SOLID.get()) - .or(Predicates.blocks(GTMachines.CONTROL_HATCH.get()).setMaxGlobalLimited(1).setPreviewCount(0)) + .wherePart('A', blocks(GTBlocks.CASING_STEEL_SOLID.get()) .or(abilities(INPUT_ENERGY).setMaxGlobalLimited(2).setPreviewCount(1)) .or(abilities(EXPORT_ITEMS).setMaxGlobalLimited(4).setPreviewCount(1)) .or(abilities(EXPORT_FLUIDS).setMaxGlobalLimited(1).setPreviewCount(1)) @@ -813,7 +808,7 @@ public static void init() {} .where('E', casing.or( blocks(INPUT_ENERGY.getBlockRange(tier, GTValues.UEV).toArray(Block[]::new)) .setMinGlobalLimited(1).setPreviewCount(16))) - .where('C', casing) + .wherePart('C', casing) .where('K', blocks(FusionCasings.getCoilState(tier))) .where('O', casing.or(abilities(EXPORT_FLUIDS))) .where('A', air()) @@ -886,8 +881,7 @@ public static void init() {} .where('A', blocks(GCYMBlocks.CASING_NONCONDUCTING.get())) .where('B', blocks(GTOBlocks.HIGH_STRENGTH_CONCRETE.get())) .where('C', frames(GTMaterials.Tungsten)) - .where('D', casing.or(abilities(IMPORT_FLUIDS).setPreviewCount(16)) - .or(blocks(GTMachines.CONTROL_HATCH.get()).setMaxGlobalLimited(1).setPreviewCount(0)) + .wherePart('D', casing.or(abilities(IMPORT_FLUIDS).setPreviewCount(16)) .or(abilities(EXPORT_FLUIDS).setPreviewCount(16)) .or(abilities(PARALLEL_HATCH).setMaxGlobalLimited(1)) .or(abilities(INPUT_LASER).setMaxGlobalLimited(16, 16)) @@ -917,7 +911,7 @@ public static void init() {} .block(GTBlocks.PLASTCRETE) .pattern(definition -> MultiBlockFileReader.start(definition) .where('a', controller(definition)) - .where('b', blocks(GTBlocks.PLASTCRETE.get()).setMinGlobalLimited(40) + .wherePart('b', blocks(GTBlocks.PLASTCRETE.get()).setMinGlobalLimited(40) .or(autoAbilities(definition.getRecipeTypes())) .or(abilities(GTOPartAbility.RADIATION_HATCH).setMaxGlobalLimited(2)) .or(abilities(MAINTENANCE).setExactLimit(1))) @@ -939,7 +933,7 @@ public static void init() {} .block(GTBlocks.PLASTCRETE) .pattern(definition -> MultiBlockFileReader.start(definition) .where('A', blocks(GTOBlocks.OXIDATION_RESISTANT_HASTELLOY_N_MECHANICAL_CASING.get())) - .where('B', blocks(GTBlocks.PLASTCRETE.get()) + .wherePart('B', blocks(GTBlocks.PLASTCRETE.get()) .or(autoAbilities(definition.getRecipeTypes())) .or(abilities(GTOPartAbility.RADIATION_HATCH).setMaxGlobalLimited(8)) .or(abilities(PARALLEL_HATCH).setMaxGlobalLimited(1)) @@ -972,7 +966,7 @@ public static void init() {} .where('S', controller(definition)) .where('X', blocks(GTBlocks.CASING_STAINLESS_CLEAN.get())) .where('K', blocks(GTBlocks.CASING_INVAR_HEATPROOF.get())) - .where('O', blocks(GTBlocks.CASING_STAINLESS_CLEAN.get()) + .wherePart('O', blocks(GTBlocks.CASING_STAINLESS_CLEAN.get()) .or(autoAbilities(definition.getRecipeTypes())) .or(autoAbilities(true, false, true))) .where('G', blocks(GTBlocks.CASING_TEMPERED_GLASS.get())) diff --git a/src/main/java/com/gtocore/common/data/machines/MultiBlockE.java b/src/main/java/com/gtocore/common/data/machines/MultiBlockE.java index a730c1557..ef59c84a0 100644 --- a/src/main/java/com/gtocore/common/data/machines/MultiBlockE.java +++ b/src/main/java/com/gtocore/common/data/machines/MultiBlockE.java @@ -41,7 +41,7 @@ public static void init() {} .where('E', blocks(GTOBlocks.CONTAINMENT_FIELD_GENERATOR.get())) .where('F', blocks(GTOBlocks.IMPROVED_SUPERCONDUCTOR_COIL.get())) .where('G', blocks(GCYMBlocks.CASING_LASER_SAFE_ENGRAVING.get())) - .where('a', blocks(GCYMBlocks.CASING_LASER_SAFE_ENGRAVING.get()) + .wherePart('a', blocks(GCYMBlocks.CASING_LASER_SAFE_ENGRAVING.get()) .or(GTOPredicates.autoThreadLaserAbilities(definition.getRecipeTypes())) .or(abilities(MAINTENANCE).setExactLimit(1)) .or(abilities(OPTICAL_DATA_RECEPTION).setExactLimit(1))) @@ -62,7 +62,7 @@ public static void init() {} .pattern(definition -> MultiBlockFileReader.start(definition) .where('~', controller(definition)) .where('A', blocks(GTOBlocks.MOLECULAR_CASING.get())) - .where('I', blocks(GTOBlocks.MOLECULAR_CASING.get()) + .wherePart('I', blocks(GTOBlocks.MOLECULAR_CASING.get()) .or(GTOPredicates.autoThreadLaserAbilities(definition.getRecipeTypes()))) .where('B', blocks(GTOBlocks.MOLECULAR_COIL.get())) .where('C', blocks(GTOBlocks.CONTAINMENT_FIELD_GENERATOR.get())) diff --git a/src/main/java/com/gtocore/common/data/machines/MultiBlockF.java b/src/main/java/com/gtocore/common/data/machines/MultiBlockF.java index 2a14bff02..c686a98d0 100644 --- a/src/main/java/com/gtocore/common/data/machines/MultiBlockF.java +++ b/src/main/java/com/gtocore/common/data/machines/MultiBlockF.java @@ -46,7 +46,7 @@ public static void init() {} .recipeTypes(GCYMRecipeTypes.ALLOY_BLAST_RECIPES) .block(GCYMBlocks.CASING_HIGH_TEMPERATURE_SMELTING) .pattern(definition -> MultiBlockFileReader.start(definition) - .where('A', blocks(GCYMBlocks.CASING_HIGH_TEMPERATURE_SMELTING.get()) + .wherePart('A', blocks(GCYMBlocks.CASING_HIGH_TEMPERATURE_SMELTING.get()) .or(GTOPredicates.autoThreadLaserAbilities(definition.getRecipeTypes())) .or(abilities(PARALLEL_HATCH).setMaxGlobalLimited(1)) .or(abilities(MAINTENANCE).setExactLimit(1))) @@ -84,7 +84,7 @@ public static void init() {} .block(GTOBlocks.LAFIUM_MECHANICAL_CASING) .pattern(definition -> MultiBlockFileReader.start(definition) .where('a', controller(definition)) - .where('b', blocks(GTOBlocks.LAFIUM_MECHANICAL_CASING.get()) + .wherePart('b', blocks(GTOBlocks.LAFIUM_MECHANICAL_CASING.get()) .or(GTOPredicates.autoLaserAbilities(definition.getRecipeTypes())) .or(abilities(PARALLEL_HATCH).setMaxGlobalLimited(1)) .or(abilities(MAINTENANCE).setExactLimit(1))) @@ -129,7 +129,7 @@ public static void init() {} .recipeTypes(GTORecipeTypes.EVAPORATION_RECIPES) .block(GTOBlocks.STRENGTHEN_THE_BASE_BLOCK) .pattern(definition -> MultiBlockFileReader.start(definition) - .where('A', blocks(GTOBlocks.STRENGTHEN_THE_BASE_BLOCK.get()) + .wherePart('A', blocks(GTOBlocks.STRENGTHEN_THE_BASE_BLOCK.get()) .or(GTOPredicates.autoThreadLaserAbilities(definition.getRecipeTypes())) .or(abilities(PARALLEL_HATCH).setMaxGlobalLimited(1)) .or(abilities(MAINTENANCE).setExactLimit(1))) @@ -164,7 +164,7 @@ public static void init() {} .where('A', blocks(GTOBlocks.LAFIUM_MECHANICAL_CASING.get())) .where('B', blocks(GTBlocks.CASING_TEMPERED_GLASS.get())) .where('C', blocks(GTOBlocks.IMPROVED_SUPERCONDUCTOR_COIL.get())) - .where('D', blocks(GTOBlocks.LAFIUM_MECHANICAL_CASING.get()) + .wherePart('D', blocks(GTOBlocks.LAFIUM_MECHANICAL_CASING.get()) .or(abilities(PARALLEL_HATCH).setMaxGlobalLimited(1)) .or(GTOPredicates.autoThreadLaserAbilities(definition.getRecipeTypes())) .or(abilities(MAINTENANCE).setExactLimit(1))) @@ -203,7 +203,7 @@ public static void init() {} .where('N', blocks(GCYMBlocks.CASING_NONCONDUCTING.get())) .where('O', heatingCoils()) .where('P', blocks(GTBlocks.CASING_GRATE.get())) - .where('Q', blocks(GTOBlocks.MOLECULAR_CASING.get()) + .wherePart('Q', blocks(GTOBlocks.MOLECULAR_CASING.get()) .or(GTOPredicates.autoThreadLaserAbilities(definition.getRecipeTypes())) .or(abilities(MAINTENANCE).setExactLimit(1))) .where('R', controller(definition)) @@ -223,7 +223,7 @@ public static void init() {} .pattern(definition -> MultiBlockFileReader.start(definition) .where('A', blocks(GTOBlocks.HIGH_STRENGTH_CONCRETE.get())) .where('B', blocks(GTOBlocks.STRENGTHEN_THE_BASE_BLOCK.get())) - .where('C', blocks(GTOBlocks.MOLECULAR_CASING.get()) + .wherePart('C', blocks(GTOBlocks.MOLECULAR_CASING.get()) .or(GTOPredicates.autoThreadLaserAbilities(definition.getRecipeTypes())) .or(abilities(PARALLEL_HATCH).setMaxGlobalLimited(1)) .or(abilities(MAINTENANCE).setExactLimit(1))) @@ -256,7 +256,7 @@ public static void init() {} .block(GTBlocks.HIGH_POWER_CASING) .pattern(definition -> MultiBlockFileReader.start(definition) .where('A', blocks(GTOBlocks.HIGH_PRESSURE_RESISTANT_CASING.get())) - .where('B', blocks(GTBlocks.HIGH_POWER_CASING.get()) + .wherePart('B', blocks(GTBlocks.HIGH_POWER_CASING.get()) .or(GTOPredicates.autoThreadLaserAbilities(definition.getRecipeTypes())) .or(abilities(PARALLEL_HATCH).setMaxGlobalLimited(1)) .or(abilities(MAINTENANCE).setExactLimit(1))) @@ -304,7 +304,7 @@ public static void init() {} .where('P', blocks(GTBlocks.FUSION_GLASS.get())) .where('Q', blocks(GTOBlocks.DIMENSIONAL_BRIDGE_CASING.get())) .where('R', blocks(GTOBlocks.NAQUADRIATICTARANIUM_COIL_BLOCK.get())) - .where('S', blocks(GTOBlocks.NAQUADAH_ALLOY_CASING.get()) + .wherePart('S', blocks(GTOBlocks.NAQUADAH_ALLOY_CASING.get()) .or(GTOPredicates.autoLaserAbilities(definition.getRecipeTypes())) .or(abilities(MAINTENANCE).setExactLimit(1))) .where('T', controller(definition)) diff --git a/src/main/java/com/gtocore/common/data/machines/MultiBlockG.java b/src/main/java/com/gtocore/common/data/machines/MultiBlockG.java index 60376258f..04ec3ed61 100644 --- a/src/main/java/com/gtocore/common/data/machines/MultiBlockG.java +++ b/src/main/java/com/gtocore/common/data/machines/MultiBlockG.java @@ -77,7 +77,7 @@ public final class MultiBlockG { .recipeTypes(GTRecipeTypes.COKE_OVEN_RECIPES) .block(GTBlocks.CASING_COKE_BRICKS) .pattern(definition -> MultiBlockFileReader.start(definition) - .where('A', blocks(CASING_COKE_BRICKS.get()).or(blocks(COKE_OVEN_HATCH.get()).setMaxGlobalLimited(5))) + .wherePart('A', blocks(CASING_COKE_BRICKS.get()).or(blocks(COKE_OVEN_HATCH.get()).setMaxGlobalLimited(5))) .where('B', controller(definition)) .where(' ', air()) .where('C', any()) @@ -99,7 +99,7 @@ public final class MultiBlockG { .aisle("aCCCa", "B B", "B B", "aCCCa", " aaa ") .aisle("aa~aa", "aBBBa", "aBBBa", "aaaaa", " ") .where('~', controller(definition)) - .where('a', blocks(GTBlocks.CASING_STEEL_SOLID.get()) + .wherePart('a', blocks(GTBlocks.CASING_STEEL_SOLID.get()) .or(autoAbilities(definition.getRecipeTypes())) .or(abilities(MAINTENANCE).setExactLimit(1))) .where('B', blocks(GTBlocks.CASING_TEMPERED_GLASS.get())) @@ -138,7 +138,7 @@ public final class MultiBlockG { .parallelizableOverclock() .block(GCYMBlocks.CASING_HIGH_TEMPERATURE_SMELTING) .pattern(definition -> MultiBlockFileReader.start(definition) - .where('A', blocks(GCYMBlocks.CASING_HIGH_TEMPERATURE_SMELTING.get()) + .wherePart('A', blocks(GCYMBlocks.CASING_HIGH_TEMPERATURE_SMELTING.get()) .or(GTOPredicates.autoGCYMAbilities(definition.getRecipeTypes())) .or(abilities(PARALLEL_HATCH).setMaxGlobalLimited(1)) .or(abilities(MAINTENANCE).setExactLimit(1))) @@ -177,7 +177,7 @@ public final class MultiBlockG { .where('D', GTOPredicates.frame(GTMaterials.Aluminium)) .where('E', blocks(GTBlocks.CASING_STAINLESS_CLEAN.get())) .where('F', blocks(Blocks.GLASS)) - .where('G', blocks(GTBlocks.PLASTCRETE.get()) + .wherePart('G', blocks(GTBlocks.PLASTCRETE.get()) .or(blocks(GTMachines.ITEM_IMPORT_BUS[ULV].get()).setMaxGlobalLimited(1)) .or(abilities(IMPORT_FLUIDS_1X, IMPORT_FLUIDS_4X, IMPORT_FLUIDS_9X) .or(blocks(FLUID_IMPORT_HATCH_ME.get(), STOCKING_IMPORT_HATCH_ME.get())).setMaxGlobalLimited(2)) @@ -201,7 +201,7 @@ public final class MultiBlockG { .where('~', controller(definition)) .where('A', GTOPredicates.frame(GTMaterials.StainlessSteel)) .where('B', blocks(GTBlocks.CASING_STAINLESS_CLEAN.get())) - .where('C', blocks(GTBlocks.CASING_STAINLESS_CLEAN.get()) + .wherePart('C', blocks(GTBlocks.CASING_STAINLESS_CLEAN.get()) .or(autoAbilities(definition.getRecipeTypes())) .or(blocks(GTOMachines.MACHINE_ACCESS_LINK.get()).setMaxGlobalLimited(1, 0)) .or(abilities(PARALLEL_HATCH).setMaxGlobalLimited(1)) @@ -226,7 +226,7 @@ public final class MultiBlockG { .where('E', GTOPredicates.frame(GTMaterials.Steel)) .where('F', blocks(GTBlocks.CASING_STEEL_SOLID.get())) .where('G', GTOPredicates.frame(GTMaterials.StainlessSteel)) - .where('H', blocks(GTBlocks.CASING_STAINLESS_CLEAN.get()) + .wherePart('H', blocks(GTBlocks.CASING_STAINLESS_CLEAN.get()) .or(abilities(IMPORT_ITEMS).setMaxGlobalLimited(1)) .or(abilities(IMPORT_FLUIDS).setMaxGlobalLimited(1)) .or(abilities(EXPORT_ITEMS).setMaxGlobalLimited(2)) @@ -249,7 +249,7 @@ public final class MultiBlockG { .block(GTBlocks.CASING_STAINLESS_CLEAN) .pattern(definition -> MultiBlockFileReader.start(definition) .where('A', GTOPredicates.frame(GTMaterials.StainlessSteel)) - .where('B', blocks(GTBlocks.CASING_STAINLESS_CLEAN.get()) + .wherePart('B', blocks(GTBlocks.CASING_STAINLESS_CLEAN.get()) .or(autoAbilities(definition.getRecipeTypes())) .or(abilities(MAINTENANCE).setExactLimit(1))) .where('C', blocks(GTBlocks.CASING_STAINLESS_CLEAN.get())) @@ -268,7 +268,7 @@ public final class MultiBlockG { .block(GTOBlocks.BRASS_REINFORCED_WOODEN_CASING) .pattern(definition -> MultiBlockFileReader.start(definition) .where('A', blocks(GCYMBlocks.CASING_INDUSTRIAL_STEAM.get())) - .where('B', blocks(GTOBlocks.BRASS_REINFORCED_WOODEN_CASING.get()) + .wherePart('B', blocks(GTOBlocks.BRASS_REINFORCED_WOODEN_CASING.get()) .or(abilities(IMPORT_ITEMS).setMaxGlobalLimited(1)) .or(abilities(IMPORT_FLUIDS).setMaxGlobalLimited(1)) .or(abilities(EXPORT_ITEMS).setMaxGlobalLimited(2)) @@ -300,7 +300,7 @@ public final class MultiBlockG { .where('d', blocks(RegistriesUtils.getBlock("farmersdelight:rich_soil"))) .where('e', blocks(GTBlocks.CASING_POLYTETRAFLUOROETHYLENE_PIPE.get())) .where('f', blocks(GTBlocks.CASING_GRATE.get())) - .where('a', blocks(GTBlocks.CASING_STAINLESS_CLEAN.get()) + .wherePart('a', blocks(GTBlocks.CASING_STAINLESS_CLEAN.get()) .setMinGlobalLimited(180) .or(autoAbilities(definition.getRecipeTypes())) .or(abilities(PARALLEL_HATCH).setMaxGlobalLimited(1)) @@ -377,7 +377,7 @@ public final class MultiBlockG { .recipeTypes(DUMMY_RECIPES) .block(GTBlocks.CASING_STEEL_SOLID) .pattern(definition -> MultiBlockFileReader.start(definition) - .where('A', blocks(GTBlocks.CASING_STEEL_SOLID.get()) + .wherePart('A', blocks(GTBlocks.CASING_STEEL_SOLID.get()) .or(abilities(INPUT_ENERGY).setMaxGlobalLimited(2)) .or(abilities(MAINTENANCE).setExactLimit(1))) .where('B', blocks(GTBlocks.CASING_TUNGSTENSTEEL_ROBUST.get())) @@ -399,7 +399,7 @@ public final class MultiBlockG { .block(GTBlocks.CASING_STAINLESS_CLEAN) .pattern(definition -> MultiBlockFileReader.start(definition) .where('A', blocks(GTBlocks.CASING_STAINLESS_CLEAN.get())) - .where('B', blocks(GTBlocks.CASING_STAINLESS_CLEAN.get()) + .wherePart('B', blocks(GTBlocks.CASING_STAINLESS_CLEAN.get()) .or(abilities(EXPORT_ITEMS).setMaxGlobalLimited(1)) .or(abilities(GTOPartAbility.DRONE_HATCH).setExactLimit(1))) .where('C', blocks(GTBlocks.CASING_STAINLESS_STEEL_GEARBOX.get())) @@ -418,7 +418,7 @@ public final class MultiBlockG { .aisle("AAAAAAA", "AAAAAAA", "AAAAAAA", "AAAAAAA", "AAAAAAA", "AAAAAAA", "AAABAAA") .aisle("ACCCCCA", "CDDDDDC", "CDDDDDC", "CDDDDDC", "CDDDDDC", "CDDDDDC", "ACCCCCA").setRepeatable(2, 30) .aisle("AAAAAAA", "AAAAAAA", "AAAAAAA", "AAAAAAA", "AAAAAAA", "AAAAAAA", "AAAAAAA") - .where('A', blocks(GTBlocks.CASING_STEEL_SOLID.get())) + .wherePart('A', blocks(GTBlocks.CASING_STEEL_SOLID.get())) .where('B', controller(definition)) .where('C', GTOPredicates.glass()) .where('D', air().or(GTOPredicates.wirelessEnergyUnit())) @@ -434,7 +434,7 @@ public final class MultiBlockG { .block(GTBlocks.CASING_PALLADIUM_SUBSTATION) .tooltips(GTOMachineTooltips.WirelessDimensionRepeaterTooltips) .pattern(definition -> MultiBlockFileReader.start(definition) - .where('A', blocks(GTBlocks.CASING_PALLADIUM_SUBSTATION.get())) + .wherePart('A', blocks(GTBlocks.CASING_PALLADIUM_SUBSTATION.get())) .where('B', GTOPredicates.integralFramework()) .where('C', blocks(GTBlocks.HIGH_POWER_CASING.get())) .where('D', blocks(Blocks.SEA_LANTERN)) @@ -466,7 +466,7 @@ public final class MultiBlockG { .shape(Shapes.box(0.001, 0.001, 0.001, 0.999, 0.999, 0.999)) .pattern(definition -> MultiBlockFileReader.start(definition) .where('S', controller(definition)) - .where('X', blocks(ProcessingArrayMachine.getCasingState(tier)) + .wherePart('X', blocks(ProcessingArrayMachine.getCasingState(tier)) .setMinGlobalLimited(6) .or(abilities(IMPORT_ITEMS)) .or(abilities(EXPORT_ITEMS)) @@ -491,7 +491,7 @@ public final class MultiBlockG { .parallelizableOverclock() .block(GTBlocks.CASING_STAINLESS_CLEAN) .pattern(definition -> MultiBlockFileReader.start(definition) - .where('A', blocks(GTBlocks.CASING_STAINLESS_CLEAN.get()) + .wherePart('A', blocks(GTBlocks.CASING_STAINLESS_CLEAN.get()) .or(autoAbilities(definition.getRecipeTypes())) .or(abilities(PARALLEL_HATCH).setMaxGlobalLimited(1)) .or(abilities(MAINTENANCE).setExactLimit(1))) @@ -515,7 +515,7 @@ public final class MultiBlockG { .parallelizableOverclock() .block(GTBlocks.CASING_TITANIUM_STABLE) .pattern(definition -> MultiBlockFileReader.start(definition) - .where('A', blocks(GTBlocks.CASING_TITANIUM_STABLE.get()) + .wherePart('A', blocks(GTBlocks.CASING_TITANIUM_STABLE.get()) .or(GTOPredicates.autoAccelerateAbilities(definition.getRecipeTypes())) .or(abilities(PARALLEL_HATCH).setMaxGlobalLimited(1)) .or(abilities(MAINTENANCE).setExactLimit(1))) @@ -553,7 +553,7 @@ public final class MultiBlockG { .aisle(" AAAAA", " AAAAA", " AAMAA", " AAAAA", " AAAAA") .where('A', blocks(GTBlocks.CASING_TUNGSTENSTEEL_ROBUST.get())) .where('M', abilities(IMPORT_ITEMS).setExactLimit(1)) - .where('N', blocks(GTBlocks.CASING_TUNGSTENSTEEL_ROBUST.get()) + .wherePart('N', blocks(GTBlocks.CASING_TUNGSTENSTEEL_ROBUST.get()) .or(abilities(EXPORT_ITEMS)) .or(abilities(INPUT_ENERGY).setMaxGlobalLimited(2)) .or(abilities(MAINTENANCE).setExactLimit(1))) @@ -586,7 +586,7 @@ public final class MultiBlockG { .where('G', blocks(GTBlocks.HERMETIC_CASING_HV.get())) .where('H', blocks(GTBlocks.CASING_STAINLESS_STEEL_GEARBOX.get())) .where('I', blocks(GTBlocks.CASING_STEEL_PIPE.get())) - .where('J', blocks(GTBlocks.CASING_STAINLESS_CLEAN.get()) + .wherePart('J', blocks(GTBlocks.CASING_STAINLESS_CLEAN.get()) .or(autoAbilities(definition.getRecipeTypes())) .or(abilities(MAINTENANCE).setExactLimit(1))) .where('K', controller(definition)) @@ -605,7 +605,7 @@ public final class MultiBlockG { .pattern(definition -> MultiBlockFileReader.start(definition) .where('A', GTOPredicates.frame(GTMaterials.Invar)) .where('B', blocks(GTBlocks.CASING_INVAR_HEATPROOF.get())) - .where('C', blocks(GTBlocks.CASING_STEEL_SOLID.get()) + .wherePart('C', blocks(GTBlocks.CASING_STEEL_SOLID.get()) .or(autoAbilities(definition.getRecipeTypes())) .or(abilities(PARALLEL_HATCH).setMaxGlobalLimited(1)) .or(abilities(MAINTENANCE).setExactLimit(1))) @@ -627,7 +627,7 @@ public final class MultiBlockG { .pattern(definition -> MultiBlockFileReader.start(definition) .where('A', GTOPredicates.frame(GTOMaterials.HastelloyN)) .where('B', blocks(GTOBlocks.OXIDATION_RESISTANT_HASTELLOY_N_MECHANICAL_CASING.get())) - .where('C', blocks(GTOBlocks.ZIRCONIA_CERAMIC_HIGH_STRENGTH_BENDING_RESISTANCE_MECHANICAL_BLOCK.get()).setMinGlobalLimited(20) + .wherePart('C', blocks(GTOBlocks.ZIRCONIA_CERAMIC_HIGH_STRENGTH_BENDING_RESISTANCE_MECHANICAL_BLOCK.get()).setMinGlobalLimited(20) .or(blocks(GTAEMachines.ME_CRAFT_PATTERN_PART_MACHINE.get())) .or(abilities(INPUT_ENERGY).setMaxGlobalLimited(2)) .or(abilities(EXPORT_ITEMS))) @@ -659,7 +659,7 @@ public final class MultiBlockG { .aisle(" AAA ", "BCCCB", " DDD ", " E A", " E A", " DDD ", "A E ", "A E ", " DDD ", "BCCCB", " AAA ") .aisle("A A", "ABFBA", "A A", " A ", " A ", " A ", " A ", " A ", "A A", "ABBBA", "A A") .where('A', blocks(GTOBlocks.ORIGINAL_BRONZE_CASING.get())) - .where('B', blocks(GTBlocks.MACHINE_CASING_LV.get()) + .wherePart('B', blocks(GTBlocks.MACHINE_CASING_LV.get()) .or(GTOPredicates.autoThreadLaserAbilities(definition.getRecipeTypes()))) .where('C', blocks(RegistriesUtils.getBlock("ars_nouveau:smooth_sourcestone"))) .where('D', blocks(GTBlocks.MACHINE_CASING_ULV.get())) @@ -709,7 +709,7 @@ public final class MultiBlockG { .aisle("ABCBA", "BEFEB", "CFHFC", "BEFEB", "ACCCA") .aisle("ABBBA", "BDEDB", "BDFDB", "BDEDB", "ACCCA") .aisle("AAGAA", "ABBBA", "ABCBA", "ABBBA", "AAAAA") - .where('A', blocks(GTBlocks.CASING_TUNGSTENSTEEL_ROBUST.get()) + .wherePart('A', blocks(GTBlocks.CASING_TUNGSTENSTEEL_ROBUST.get()) .or(blocks(GTAEMachines.ME_ENERGY_ACCESS_HATCH.get()).setExactLimit(1)) .or(abilities(INPUT_ENERGY).setMaxGlobalLimited(2))) .where('B', blocks(GTBlocks.HIGH_POWER_CASING.get())) @@ -759,7 +759,7 @@ public final class MultiBlockG { .recipeTypes(GTORecipeTypes.DUMMY_RECIPES) .block(GTBlocks.CASING_STEEL_SOLID) .pattern(definition -> MultiBlockFileReader.start(definition) - .where('a', blocks(GTBlocks.CASING_STEEL_SOLID.get()).or(abilities(INPUT_ENERGY))) + .wherePart('a', blocks(GTBlocks.CASING_STEEL_SOLID.get()).or(abilities(INPUT_ENERGY))) .where('i', controller(definition)) .where('c', air()) .build()) @@ -791,7 +791,7 @@ public final class MultiBlockG { .where('L', blocks(GTOBlocks.IRIDIUM_CASING.get())) .where('M', GTOPredicates.frame(GTOMaterials.Laurenium)) .where('N', blocks(GTOBlocks.AMPROSIUM_ACTIVE_CASING.get())) - .where('O', blocks(GTOBlocks.IRIDIUM_CASING.get()) + .wherePart('O', blocks(GTOBlocks.IRIDIUM_CASING.get()) .or(GTOPredicates.autoThreadLaserAbilities(definition.getRecipeTypes())) .or(abilities(MAINTENANCE).setExactLimit(1))) .where('P', controller(definition)) @@ -876,7 +876,7 @@ public final class MultiBlockG { .block(GCYMBlocks.CASING_NONCONDUCTING) .pattern(definition -> MultiBlockFileReader.start(definition) .where('A', blocks(GTOBlocks.HIGH_STRENGTH_CONCRETE.get())) - .where('B', blocks(GCYMBlocks.CASING_NONCONDUCTING.get()) + .wherePart('B', blocks(GCYMBlocks.CASING_NONCONDUCTING.get()) .or(abilities(PARALLEL_HATCH).setMaxGlobalLimited(1)) .or(blocks(GTAEMachines.CRAFTING_CPU_INTERFACE.get()).setExactLimit(1))) .where('C', blocks(GCYMBlocks.MOLYBDENUM_DISILICIDE_COIL_BLOCK.get())) diff --git a/src/main/java/com/gtocore/common/data/machines/MultiBlockH.java b/src/main/java/com/gtocore/common/data/machines/MultiBlockH.java index 826d54964..67aa5666e 100644 --- a/src/main/java/com/gtocore/common/data/machines/MultiBlockH.java +++ b/src/main/java/com/gtocore/common/data/machines/MultiBlockH.java @@ -52,7 +52,7 @@ public static void init() {} .recipeTypes(GTORecipeTypes.DUMMY_RECIPES) .block(GTOBlocks.IRIDIUM_CASING) .pattern(definition -> MultiBlockFileReader.start(definition) - .where('A', blocks(GTOBlocks.IRIDIUM_CASING.get())) + .wherePart('A', blocks(GTOBlocks.IRIDIUM_CASING.get())) .where('B', blocks(GTOBlocks.OXIDATION_RESISTANT_HASTELLOY_N_MECHANICAL_CASING.get())) .where('C', GTOPredicates.frame(GTMaterials.NaquadahAlloy)) .where('D', blocks(GTOBlocks.NAQUADAH_ALLOY_CASING.get())) @@ -92,7 +92,7 @@ public static void init() {} .block(GTOBlocks.NAQUADAH_REINFORCED_PLANT_CASING) .pattern(definition -> MultiBlockFileReader.start(definition) .where('A', blocks(GTOBlocks.STRENGTHEN_THE_BASE_BLOCK.get())) - .where('B', blocks(GTOBlocks.NAQUADAH_REINFORCED_PLANT_CASING.get()) + .wherePart('B', blocks(GTOBlocks.NAQUADAH_REINFORCED_PLANT_CASING.get()) .or(abilities(GTOPartAbility.ACCELERATE_HATCH).setMaxGlobalLimited(1)) .or(abilities(IMPORT_ITEMS)) .or(abilities(EXPORT_ITEMS)) @@ -129,7 +129,7 @@ public static void init() {} .where('Q', blocks(GTOBlocks.MANIPULATOR.get())) .where('R', blocks(GTOBlocks.ADVANCED_ASSEMBLY_LINE_UNIT.get())) .where('S', blocks(GTOBlocks.SPACETIME_ASSEMBLY_LINE_CASING.get())) - .where('T', blocks(GCYMBlocks.CASING_ATOMIC.get()) + .wherePart('T', blocks(GCYMBlocks.CASING_ATOMIC.get()) .or(blocks(GTOMachines.MACHINE_ACCESS_TERMINAL.get()).setMaxGlobalLimited(4).setMinGlobalLimited(1)) .or(abilities(PARALLEL_HATCH).setMaxGlobalLimited(1)) .or(abilities(INPUT_ENERGY).setMaxGlobalLimited(2).setPreviewCount(1)) @@ -153,7 +153,7 @@ public static void init() {} .recipeTypes(GTORecipeTypes.FLOTATING_BENEFICIATION_RECIPES) .block(GTOBlocks.HASTELLOY_N_75_CASING) .pattern(definition -> MultiBlockFileReader.start(definition) - .where('A', blocks(GTOBlocks.HASTELLOY_N_75_CASING.get()) + .wherePart('A', blocks(GTOBlocks.HASTELLOY_N_75_CASING.get()) .or(GTOPredicates.autoThreadLaserAbilities(definition.getRecipeTypes())) .or(abilities(PARALLEL_HATCH).setMaxGlobalLimited(1)) .or(abilities(MAINTENANCE).setExactLimit(1))) @@ -197,7 +197,7 @@ public static void init() {} .where('J', GTOPredicates.glass()) .where('K', blocks(GTOBlocks.URUIUM_COIL_BLOCK.get())) .where('L', blocks(GTOBlocks.IMPROVED_SUPERCONDUCTOR_COIL.get())) - .where('M', blocks(GTOBlocks.GRAVITON_FIELD_CONSTRAINT_CASING.get()) + .wherePart('M', blocks(GTOBlocks.GRAVITON_FIELD_CONSTRAINT_CASING.get()) .or(GTOPredicates.autoThreadLaserAbilities(definition.getRecipeTypes())) .or(abilities(MAINTENANCE).setExactLimit(1))) .where('N', controller(definition)) @@ -235,7 +235,7 @@ public static void init() {} .where('Q', blocks(GTOBlocks.BOROSILICATE_GLASS.get())) .where('R', blocks(GCYMBlocks.ELECTROLYTIC_CELL.get())) .where('S', blocks(GTOBlocks.FLOCCULATION_CASING.get())) - .where('T', blocks(GTOBlocks.BIOACTIVE_MECHANICAL_CASING.get()) + .wherePart('T', blocks(GTOBlocks.BIOACTIVE_MECHANICAL_CASING.get()) .or(GTOPredicates.autoThreadLaserAbilities(definition.getRecipeTypes())) .or(abilities(MAINTENANCE).setExactLimit(1))) .where('U', blocks(GTBlocks.HIGH_POWER_CASING.get())) @@ -269,7 +269,7 @@ public static void init() {} .where('K', blocks(GTOBlocks.GRAVITY_STABILIZATION_CASING.get())) .where('L', blocks(GTOBlocks.ENHANCE_HYPER_MECHANICAL_CASING.get())) .where('M', blocks(GTOBlocks.NAQUADAH_REINFORCED_PLANT_CASING.get())) - .where('N', blocks(GTOBlocks.HYPER_MECHANICAL_CASING.get()) + .wherePart('N', blocks(GTOBlocks.HYPER_MECHANICAL_CASING.get()) .or(GTOPredicates.autoThreadLaserAbilities(definition.getRecipeTypes())) .or(abilities(PARALLEL_HATCH).setMaxGlobalLimited(1)) .or(abilities(MAINTENANCE).setExactLimit(1))) @@ -309,7 +309,7 @@ public static void init() {} .where('K', blocks(GTOBlocks.NAQUADAH_REINFORCED_PLANT_CASING.get())) .where('L', GTOPredicates.frame(GTMaterials.Polytetrafluoroethylene)) .where('M', blocks(GTOBlocks.PLASMA_HEATER_CASING.get())) - .where('N', blocks(GTOBlocks.HYPER_MECHANICAL_CASING.get()) + .wherePart('N', blocks(GTOBlocks.HYPER_MECHANICAL_CASING.get()) .or(GTOPredicates.autoThreadLaserAbilities(definition.getRecipeTypes())) .or(abilities(MAINTENANCE).setExactLimit(1))) .where('O', blocks(GTOBlocks.PPS_CORROSION_RESISTANT_MECHANICAL_HOUSING.get())) @@ -343,7 +343,7 @@ public static void init() {} .where('H', blocks(GTOBlocks.OXIDATION_RESISTANT_HASTELLOY_N_MECHANICAL_CASING.get())) .where('I', blocks(GTOBlocks.PRESSURE_CONTAINMENT_CASING.get())) .where('J', GTOPredicates.frame(GTOMaterials.BabbittAlloy)) - .where('K', blocks(GTOBlocks.BORON_CARBIDE_CERAMIC_RADIATION_RESISTANT_MECHANICAL_CUBE.get()) + .wherePart('K', blocks(GTOBlocks.BORON_CARBIDE_CERAMIC_RADIATION_RESISTANT_MECHANICAL_CUBE.get()) .or(autoAbilities(definition.getRecipeTypes())) .or(blocks(GTOMachines.HEAT_SENSOR.get()).setMaxGlobalLimited(1).setMinGlobalLimited(0)) .or(blocks(GTOMachines.NEUTRON_SENSOR.get()).setMaxGlobalLimited(1).setMinGlobalLimited(0)) @@ -374,7 +374,7 @@ public static void init() {} .pattern(definition -> MultiBlockFileReader.start(definition) .where('A', blocks(GTOBlocks.HIGH_PRESSURE_PIPE_CASING.get())) .where('B', blocks(GTOBlocks.FISSION_REACTOR_CASING.get())) - .where('C', blocks(GTOBlocks.BORON_CARBIDE_CERAMIC_RADIATION_RESISTANT_MECHANICAL_CUBE.get()) + .wherePart('C', blocks(GTOBlocks.BORON_CARBIDE_CERAMIC_RADIATION_RESISTANT_MECHANICAL_CUBE.get()) .or(autoAbilities(definition.getRecipeTypes())) .or(blocks(GTOMachines.NEUTRON_IRRADIATION_HATCH.get())) .or(blocks(GTOMachines.NEUTRON_SENSOR.get()).setMaxGlobalLimited(1).setMinGlobalLimited(0)) @@ -403,7 +403,7 @@ public static void init() {} .recipeTypes(BIOCHEMICAL_EXTRACTION_RECIPES, BIOCHEMICAL_REACTION_RECIPES) .block(GTOBlocks.SPS_CASING) .pattern(definition -> MultiBlockFileReader.start(definition) // definition - .where('A', blocks(GTOBlocks.SPS_CASING.get()) + .wherePart('A', blocks(GTOBlocks.SPS_CASING.get()) .or(GTOPredicates.autoThreadLaserAbilities(definition.getRecipeTypes())) .or(abilities(MAINTENANCE).setExactLimit(1))) .where('B', blocks(GTOBlocks.HYPER_CORE.get())) @@ -456,7 +456,7 @@ public static void init() {} .where('R', blocks(GTOBlocks.AMPROSIUM_GEARBOX.get())) .where('S', blocks(GTOBlocks.INCONEL_625_GEARBOX.get())) .where('T', blocks(GTOBlocks.LASER_CASING.get())) - .where('U', blocks(GTOBlocks.IRIDIUM_CASING.get()) + .wherePart('U', blocks(GTOBlocks.IRIDIUM_CASING.get()) .or(GTOPredicates.autoThreadLaserAbilities(definition.getRecipeTypes())) .or(abilities(MAINTENANCE).setExactLimit(1))) .where('V', controller(definition)) @@ -484,7 +484,7 @@ public static void init() {} .where('H', blocks(GTOBlocks.AMPROSIUM_PIPE_CASING.get())) .where('I', blocks(GTOBlocks.OIL_GAS_TRANSPORTATION_PIPE_CASING.get())) .where('J', blocks(GTOBlocks.HIGH_PRESSURE_PIPE_CASING.get())) - .where('K', blocks(GTOBlocks.DIMENSION_INJECTION_CASING.get()) + .wherePart('K', blocks(GTOBlocks.DIMENSION_INJECTION_CASING.get()) .or(GTOPredicates.autoThreadLaserAbilities(definition.getRecipeTypes())) .or(abilities(PARALLEL_HATCH).setMaxGlobalLimited(1)) .or(abilities(MAINTENANCE).setExactLimit(1))) @@ -526,7 +526,7 @@ public static void init() {} .block(GTBlocks.STEEL_HULL) .pattern(definition -> FactoryBlockPattern.start(definition) .aisle("aaaaa").aisle("abbba").aisle("abbba").aisle("abbba").aisle("aa~aa") - .where('a', blocks(GTBlocks.STEEL_HULL.get()) + .wherePart('a', blocks(GTBlocks.STEEL_HULL.get()) .or(abilities(EXPORT_FLUIDS_1X)) .or(abilities(IMPORT_FLUIDS_1X))) .where('b', blocks(GTOBlocks.SOLAR_HEAT_COLLECTOR_PIPE_CASING.get())) @@ -547,7 +547,7 @@ public static void init() {} .pattern(definition -> MultiBlockFileReader.start(definition) .where('A', blocks(GTOBlocks.STRENGTHEN_THE_BASE_BLOCK.get())) .where('B', GTOPredicates.frame(GTMaterials.Naquadah)) - .where('C', blocks(GTOBlocks.NAQUADAH_ALLOY_CASING.get()) + .wherePart('C', blocks(GTOBlocks.NAQUADAH_ALLOY_CASING.get()) .or(GTOPredicates.autoThreadLaserAbilities(definition.getRecipeTypes())) .or(abilities(PARALLEL_HATCH).setMaxGlobalLimited(1)) .or(abilities(IMPORT_FLUIDS)) @@ -587,7 +587,7 @@ public static void init() {} .where('F', blocks(GCYMBlocks.CASING_HIGH_TEMPERATURE_SMELTING.get())) .where('G', GTOPredicates.glass()) .where('H', heatingCoils()) - .where('I', blocks(GTOBlocks.NAQUADAH_ALLOY_CASING.get()) + .wherePart('I', blocks(GTOBlocks.NAQUADAH_ALLOY_CASING.get()) .or(autoThreadLaserAbilities(definition.getRecipeTypes())) .or(abilities(MAINTENANCE).setExactLimit(1))) .where('J', blocks(GTOBlocks.PRESSURE_CONTAINMENT_CASING.get())) @@ -611,7 +611,7 @@ public static void init() {} .pattern(definition -> MultiBlockFileReader.start(definition) .where('A', blocks(GTOBlocks.MODULE_CONNECTOR.get())) .where('B', blocks(GTOBlocks.SPACE_ELEVATOR_MODULE_BASE.get())) - .where('C', blocks(GTOBlocks.SPACE_ELEVATOR_MECHANICAL_CASING.get()) + .wherePart('C', blocks(GTOBlocks.SPACE_ELEVATOR_MECHANICAL_CASING.get()) .or(GTOPredicates.autoLaserAbilities(definition.getRecipeTypes())) .or(abilities(MAINTENANCE).setExactLimit(1))) .where('D', blocks(GTOBlocks.MOLECULAR_CASING.get())) @@ -638,7 +638,7 @@ public static void init() {} .pattern(definition -> MultiBlockFileReader.start(definition) .where('A', blocks(GTOBlocks.MODULE_CONNECTOR.get())) .where('B', blocks(GTOBlocks.SPACE_ELEVATOR_MODULE_BASE.get())) - .where('C', blocks(GTOBlocks.SPACE_ELEVATOR_MECHANICAL_CASING.get()) + .wherePart('C', blocks(GTOBlocks.SPACE_ELEVATOR_MECHANICAL_CASING.get()) .or(GTOPredicates.autoLaserAbilities(definition.getRecipeTypes())) .or(abilities(MAINTENANCE).setExactLimit(1))) .where('D', blocks(GTOBlocks.MOLECULAR_CASING.get())) @@ -667,7 +667,7 @@ public static void init() {} .pattern(definition -> MultiBlockFileReader.start(definition) .where('A', blocks(GTOBlocks.MODULE_CONNECTOR.get())) .where('B', blocks(GTOBlocks.SPACE_ELEVATOR_MODULE_BASE.get())) - .where('C', blocks(GTOBlocks.SPACE_ELEVATOR_MECHANICAL_CASING.get()) + .wherePart('C', blocks(GTOBlocks.SPACE_ELEVATOR_MECHANICAL_CASING.get()) .or(GTOPredicates.autoLaserAbilities(definition.getRecipeTypes())) .or(abilities(MAINTENANCE).setExactLimit(1))) .where('D', blocks(GTMachines.ITEM_IMPORT_BUS[GTValues.ULV].get())) @@ -703,7 +703,7 @@ public static void init() {} .where('H', blocks(GTOBlocks.INCONEL_625_CASING.get())) .where('I', blocks(GTOBlocks.MOLECULAR_CASING.get())) .where('J', blocks(GCYMBlocks.ELECTROLYTIC_CELL.get())) - .where('K', blocks(GTOBlocks.NAQUADAH_ALLOY_CASING.get()) + .wherePart('K', blocks(GTOBlocks.NAQUADAH_ALLOY_CASING.get()) .or(GTOPredicates.autoThreadLaserAbilities(definition.getRecipeTypes())) .or(abilities(MAINTENANCE).setExactLimit(1))) .where('L', blocks(GTOBlocks.CONTAINMENT_FIELD_GENERATOR.get())) @@ -725,7 +725,7 @@ public static void init() {} .block(GTBlocks.CASING_PTFE_INERT) .recipeModifier(GTORecipeModifiers.UPGRADE_GCYM_OVERCLOCKING) .pattern(definition -> MultiBlockFileReader.start(definition) - .where('A', blocks(GTBlocks.CASING_PTFE_INERT.get()) + .wherePart('A', blocks(GTBlocks.CASING_PTFE_INERT.get()) .or(autoGCYMAbilities(definition.getRecipeTypes())) .or(autoAbilities(true, false, true))) .where('B', blocks(GCYMBlocks.CASING_NONCONDUCTING.get())) @@ -751,7 +751,7 @@ public static void init() {} .recipeModifier(GTORecipeModifiers.UPGRADE_GCYM_OVERCLOCKING) .pattern(definition -> MultiBlockFileReader.start(definition) .where('A', blocks(GTOBlocks.HYPER_MECHANICAL_CASING.get())) - .where('B', blocks(GTOBlocks.SPACE_ELEVATOR_MECHANICAL_CASING.get()) + .wherePart('B', blocks(GTOBlocks.SPACE_ELEVATOR_MECHANICAL_CASING.get()) .or(GTOPredicates.autoThreadLaserAbilities(definition.getRecipeTypes())) .or(abilities(MAINTENANCE).setExactLimit(1))) .where('C', blocks(GTOBlocks.CHEMICAL_CORROSION_RESISTANT_PIPE_CASING.get())) @@ -783,7 +783,7 @@ public static void init() {} .tooltips(NewDataAttributes.ALLOW_PARALLEL_NUMBER.create(h -> h.addLines("(密封机械方块等级)×4", "(Hermetic Mechanical Casing tier)×4"))) .pattern(definition -> MultiBlockFileReader.start(definition) .where('A', GTOPredicates.frame(GTMaterials.StainlessSteel)) - .where('B', blocks(GTBlocks.CASING_ALUMINIUM_FROSTPROOF.get()) + .wherePart('B', blocks(GTBlocks.CASING_ALUMINIUM_FROSTPROOF.get()) .or(autoAbilities(definition.getRecipeTypes())) .or(abilities(MAINTENANCE).setExactLimit(1))) .where('C', controller(definition)) @@ -815,7 +815,7 @@ public static void init() {} .where('C', blocks(GTBlocks.CASING_STAINLESS_STEEL_GEARBOX.get())) .where('D', hermeticCasing()) .where('E', blocks(GTOBlocks.COMPRESSOR_CONTROLLER_CASING.get())) - .where('F', blocks(GTOBlocks.COMPRESSOR_CONTROLLER_CASING.get()) + .wherePart('F', blocks(GTOBlocks.COMPRESSOR_CONTROLLER_CASING.get()) .or(autoAbilities(definition.getRecipeTypes())) .or(abilities(PARALLEL_HATCH).setMaxGlobalLimited(1)) .or(abilities(MAINTENANCE).setExactLimit(1))) @@ -834,7 +834,7 @@ public static void init() {} .parallelizableOverclock() .block(GTOBlocks.STAINLESS_STEEL_CORROSION_RESISTANT_CASING) .pattern(definition -> MultiBlockFileReader.start(definition) - .where('A', blocks(GTOBlocks.STAINLESS_STEEL_CORROSION_RESISTANT_CASING.get()) + .wherePart('A', blocks(GTOBlocks.STAINLESS_STEEL_CORROSION_RESISTANT_CASING.get()) .or(autoAbilities(definition.getRecipeTypes())) .or(abilities(MAINTENANCE).setExactLimit(1))) .where('B', GTOPredicates.frame(GTOMaterials.StainlessSteelGC4)) @@ -858,7 +858,7 @@ public static void init() {} .recipeTypes(GTORecipeTypes.BRICK_FURNACE_RECIPES) .block(GTBlocks.CASING_PRIMITIVE_BRICKS) .pattern(definition -> MultiBlockFileReader.start(definition) - .where('A', blocks(GTBlocks.CASING_PRIMITIVE_BRICKS.get()) + .wherePart('A', blocks(GTBlocks.CASING_PRIMITIVE_BRICKS.get()) .or(abilities(IMPORT_FLUIDS, IMPORT_ITEMS, EXPORT_ITEMS))) .where('B', blocks(Blocks.BRICKS)) .where('C', blocks(GTBlocks.CASING_PRIMITIVE_BRICKS.get())) diff --git a/src/main/java/com/gtocore/common/data/machines/MultiblockI.java b/src/main/java/com/gtocore/common/data/machines/MultiblockI.java index d57dc5076..eb28db1e3 100644 --- a/src/main/java/com/gtocore/common/data/machines/MultiblockI.java +++ b/src/main/java/com/gtocore/common/data/machines/MultiblockI.java @@ -56,7 +56,7 @@ public static void init() {} .where('J', blocks(GTOBlocks.STAINLESS_STEEL_CORROSION_RESISTANT_CASING.get())) .where('K', blocks(GTBlocks.CASING_POLYTETRAFLUOROETHYLENE_PIPE.get())) .where('L', GTOPredicates.frame(GTOMaterials.StructuralSteel45)) - .where('M', blocks(GTOBlocks.PRESSURE_RESISTANT_HOUSING_MECHANICAL_BLOCK.get()) + .wherePart('M', blocks(GTOBlocks.PRESSURE_RESISTANT_HOUSING_MECHANICAL_BLOCK.get()) .or(autoAbilities(definition.getRecipeTypes())) .or(autoAbilities(true, false, true)) .or(abilities(INPUT_ENERGY).setMaxGlobalLimited(2))) @@ -88,7 +88,7 @@ public static void init() {} .pattern(definition -> MultiBlockFileReader.start(definition) .where('A', blocks(GTOBlocks.IRIDIUM_CASING.get())) .where('a', fluids(GTOFluids.VAPOR_OF_LEVITY.getSource())) - .where('B', blocks(GTOBlocks.STAINLESS_STEEL_CORROSION_RESISTANT_CASING.get()) + .wherePart('B', blocks(GTOBlocks.STAINLESS_STEEL_CORROSION_RESISTANT_CASING.get()) .or(autoAbilities(definition.getRecipeTypes())) .or(blocks(GTAEMachines.ALGAE_ACCESS_HATCH.get()).setExactLimit(1)) .or(abilities(INPUT_ENERGY).setMaxGlobalLimited(2)) @@ -127,7 +127,7 @@ public static void init() {} .where('B', blocks(GTOBlocks.INSULATION_TILE_MECHANICAL_BLOCK.get())) .where('C', blocks(GTBlocks.ADVANCED_COMPUTER_CASING.get())) .where('D', blocks(GTOBlocks.COOLANT_PIPE_CASING.get())) - .where('E', blocks(GTBlocks.ADVANCED_COMPUTER_CASING.get()) + .wherePart('E', blocks(GTBlocks.ADVANCED_COMPUTER_CASING.get()) .or(autoAbilities(definition.getRecipeTypes())) .or(abilities(COMPUTATION_DATA_RECEPTION).setExactLimit(1)) .or(abilities(INPUT_ENERGY).setExactLimit(1)) diff --git a/src/main/java/com/gtocore/common/data/machines/OptionalMachine.java b/src/main/java/com/gtocore/common/data/machines/OptionalMachine.java index 812dd5e39..b37a9423c 100644 --- a/src/main/java/com/gtocore/common/data/machines/OptionalMachine.java +++ b/src/main/java/com/gtocore/common/data/machines/OptionalMachine.java @@ -51,7 +51,7 @@ public static void init() {} .recipeModifier(GTORecipeModifiers.PARALLEL) .block(GTBlocks.CASING_STEEL_SOLID) .pattern(definition -> MultiBlockFileReader.start(definition) - .where('A', blocks(GTBlocks.CASING_STEEL_SOLID.get()) + .wherePart('A', blocks(GTBlocks.CASING_STEEL_SOLID.get()) .or(abilities(IMPORT_ITEMS).setMaxGlobalLimited(4)) .or(abilities(EXPORT_ITEMS).setMaxGlobalLimited(1)) .or(abilities(INPUT_ENERGY).setMaxGlobalLimited(2)) diff --git a/src/main/java/com/gtocore/common/data/machines/SpaceMultiblock.java b/src/main/java/com/gtocore/common/data/machines/SpaceMultiblock.java index 98ffd705a..e732f1cef 100644 --- a/src/main/java/com/gtocore/common/data/machines/SpaceMultiblock.java +++ b/src/main/java/com/gtocore/common/data/machines/SpaceMultiblock.java @@ -118,7 +118,7 @@ public static void init() {} .where('f', blocks(GTOBlocks.SPACECRAFT_SEALING_MECHANICAL_BLOCK.get()).or(light())) .where('G', blocks(GTOBlocks.TITANIUM_ALLOY_PROTECTIVE_MECHANICAL_BLOCK.get())) .where('H', blocks(GTOBlocks.ALUMINUM_ALLOY_2090_SKIN_MECHANICAL_BLOCK.get())) - .where('I', blocks(GTBlocks.CASING_STAINLESS_CLEAN.get()) + .wherePart('I', blocks(GTBlocks.CASING_STAINLESS_CLEAN.get()) .or(autoAbilities(definition.getRecipeTypes()))) .where('i', blocks(GTBlocks.CASING_STAINLESS_CLEAN.get()) .or(light())) @@ -219,7 +219,7 @@ public static void init() {} .where('O', blocks(GTOBlocks.STAINLESS_STEEL_CORROSION_RESISTANT_CASING.get())) .where('P', blocks(GTOBlocks.INSULATION_TILE_MECHANICAL_BLOCK.get())) .where('Q', blocks(GTBlocks.CASING_TEMPERED_GLASS.get())) - .where('R', blocks(GTOBlocks.SPACE_STATION_CONTROL_CASING.get()) + .wherePart('R', blocks(GTOBlocks.SPACE_STATION_CONTROL_CASING.get()) .or(abilities(INPUT_ENERGY, IMPORT_FLUIDS, EXPORT_FLUIDS)) .or(abilities(MAINTENANCE).setExactLimit(1))) .where('S', controller(definition)) @@ -434,7 +434,7 @@ public static void init() {} .where('E', blocks(GTOBlocks.ALUMINUM_ALLOY_2090_SKIN_MECHANICAL_BLOCK.get())) .where('F', GTOPredicates.frame(GTOMaterials.StainlessSteel316)) .where('G', blocks(GTOBlocks.TITANIUM_ALLOY_PROTECTIVE_MECHANICAL_BLOCK.get())) - .where('H', blocks(GTOBlocks.SPACECRAFT_SEALING_MECHANICAL_BLOCK.get()) + .wherePart('H', blocks(GTOBlocks.SPACECRAFT_SEALING_MECHANICAL_BLOCK.get()) .or(abilities(EXPORT_ITEMS))) .where('I', blocks(GTOBlocks.STAINLESS_STEEL_CORROSION_RESISTANT_CASING.get())) .where('J', blocks(GTOBlocks.CHEMICAL_CORROSION_RESISTANT_PIPE_CASING.get())) @@ -493,7 +493,7 @@ public static void init() {} .where('E', blocks(GTOBlocks.ALUMINUM_ALLOY_2090_SKIN_MECHANICAL_BLOCK.get())) .where('F', GTOPredicates.frame(GTOMaterials.StainlessSteel316)) .where('G', blocks(GTOBlocks.PRESSURE_RESISTANT_HOUSING_MECHANICAL_BLOCK.get())) - .where('H', blocks(GTOBlocks.SMELTING_CONTROL_CASING.get()) + .wherePart('H', blocks(GTOBlocks.SMELTING_CONTROL_CASING.get()) .or(autoSpaceMachineAbilities(definition.getRecipeTypes())) .or(abilities(PARALLEL_HATCH).setMaxGlobalLimited(1))) .where('I', blocks(GTOBlocks.CREEP_RESISTANT_SMELTING_CASING.get())) @@ -545,7 +545,7 @@ public static void init() {} .where('D', blocks(GTOBlocks.SPACECRAFT_DOCKING_CASING.get())) .where('E', blocks(GTOBlocks.ALUMINUM_ALLOY_2090_SKIN_MECHANICAL_BLOCK.get())) .where('F', GTOPredicates.frame(GTOMaterials.StainlessSteel316)) - .where('G', blocks(GTOBlocks.SPACE_STATION_CONTROL_CASING.get()) + .wherePart('G', blocks(GTOBlocks.SPACE_STATION_CONTROL_CASING.get()) .or(autoSpaceMachineAbilities(definition.getRecipeTypes())) .or(abilities(PARALLEL_HATCH).setMaxGlobalLimited(1))) .where('H', blocks(GTOBlocks.LOAD_BEARING_STRUCTURAL_STEEL_MECHANICAL_BLOCK.get())) @@ -597,7 +597,7 @@ public static void init() {} .where('E', blocks(GTOBlocks.ALUMINUM_ALLOY_2090_SKIN_MECHANICAL_BLOCK.get())) .where('F', GTOPredicates.frame(GTOMaterials.StainlessSteel316)) .where('G', blocks(GTOBlocks.TITANIUM_ALLOY_PROTECTIVE_MECHANICAL_BLOCK.get())) - .where('H', blocks(GTOBlocks.PRECISION_MACHINING_CONTROL_CASING.get()) + .wherePart('H', blocks(GTOBlocks.PRECISION_MACHINING_CONTROL_CASING.get()) .or(autoSpaceMachineAbilities(definition.getRecipeTypes())) .or(abilities(PARALLEL_HATCH).setMaxGlobalLimited(1))) .where('I', blocks(GTOBlocks.TUNGSTEN_ALLOY_RADIATION_SHIELDING_MECHANICAL_BLOCK.get())) @@ -648,7 +648,7 @@ public static void init() {} .where('E', blocks(GTOBlocks.ALUMINUM_ALLOY_2090_SKIN_MECHANICAL_BLOCK.get())) .where('F', GTOPredicates.frame(GTOMaterials.StainlessSteel316)) .where('G', blocks(GTOBlocks.TITANIUM_ALLOY_PROTECTIVE_MECHANICAL_BLOCK.get())) - .where('H', blocks(GTOBlocks.SPACE_STATION_CONTROL_CASING.get()) + .wherePart('H', blocks(GTOBlocks.SPACE_STATION_CONTROL_CASING.get()) .or(autoAbilities(definition.getRecipeTypes())) .or(abilities(INPUT_LASER).setMaxGlobalLimited(2))) .where('I', blocks(GTOBlocks.PRESSURE_RESISTANT_HOUSING_MECHANICAL_BLOCK.get())) @@ -711,7 +711,7 @@ public static void init() {} .where('N', blocks(GTOBlocks.LOAD_BEARING_STRUCTURAL_STEEL_MECHANICAL_BLOCK.get())) .where('O', blocks(GTOBlocks.OPTICAL_DYNAMIC_COATING_INSTRUMENT_PROTECTIVE_SHIELD_GLASS.get())) .where('P', blocks(GTOBlocks.THREE_PROOF_COMPUTER_CASING.get())) - .where('Q', blocks(GTOBlocks.SPACE_STATION_CONTROL_CASING.get())) + .wherePart('Q', blocks(GTOBlocks.SPACE_STATION_CONTROL_CASING.get())) .where('R', GTOPredicates.frame(GTOMaterials.StainlessSteel316)) .where('S', blocks(GTOBlocks.ALUMINUM_ALLOY_2090_SKIN_MECHANICAL_BLOCK.get())) .where('T', blocks(GTOBlocks.ALUMINUM_ALLOY_7050_SUPPORT_MECHANICAL_BLOCK.get())) @@ -792,7 +792,7 @@ public static void init() {} .where('N', blocks(GTOBlocks.BIOLOGICAL_MECHANICAL_CASING.get())) .where('O', blocks(GTBlocks.CASING_STAINLESS_CLEAN.get())) .where('P', blocks(GTBlocks.CLEANROOM_GLASS.get())) - .where('Q', blocks(GTOBlocks.BIOLOGICAL_MECHANICAL_CASING.get()) + .wherePart('Q', blocks(GTOBlocks.BIOLOGICAL_MECHANICAL_CASING.get()) .or(autoSpaceMachineAbilities(definition.getRecipeTypes())) .or(abilities(PARALLEL_HATCH).setMaxGlobalLimited(1)) .or(abilities(GTOPartAbility.RADIATION_HATCH).setMaxGlobalLimited(2)) @@ -863,7 +863,7 @@ public static void init() {} .where('M', blocks(GTOBlocks.SPACE_STATION_CONTROL_CASING.get())) .where('N', blocks(GTOBlocks.TITANIUM_ALLOY_PROTECTIVE_MECHANICAL_BLOCK.get())) .where('O', GTOPredicates.frame(GTOMaterials.HighEntropyShapeMemoryAlloy)) - .where('P', blocks(GTOBlocks.PRESSURE_RESISTANT_HOUSING_MECHANICAL_BLOCK.get()) + .wherePart('P', blocks(GTOBlocks.PRESSURE_RESISTANT_HOUSING_MECHANICAL_BLOCK.get()) .or(autoSpaceMachineAbilities(definition.getRecipeTypes())) .or(abilities(PARALLEL_HATCH).setMaxGlobalLimited(1))) .where('Q', blocks(GTOBlocks.MOLECULAR_CASING.get())) @@ -916,7 +916,7 @@ public static void init() {} .where('U', blocks(GTOBlocks.SPACE_STATION_CONTROL_CASING.get())) .where('V', blocks(GTOBlocks.LOAD_BEARING_STRUCTURAL_STEEL_MECHANICAL_BLOCK.get())) .where('W', blocks(GTOBlocks.HIGH_PRESSURE_GAS_STORAGE_TANKS_CASING.get())) - .where('X', blocks(GTOBlocks.THREE_PROOF_COMPUTER_CASING.get()) + .wherePart('X', blocks(GTOBlocks.THREE_PROOF_COMPUTER_CASING.get()) .or(autoSpaceMachineAbilities(definition.getRecipeTypes())) .or(abilities(PARALLEL_HATCH).setMaxGlobalLimited(1))) .where('Y', controller(definition)) diff --git a/src/main/java/com/gtocore/common/machine/mana/multiblock/ManaCondenserMachine.java b/src/main/java/com/gtocore/common/machine/mana/multiblock/ManaCondenserMachine.java index 3200b1843..635ed4bf3 100644 --- a/src/main/java/com/gtocore/common/machine/mana/multiblock/ManaCondenserMachine.java +++ b/src/main/java/com/gtocore/common/machine/mana/multiblock/ManaCondenserMachine.java @@ -79,7 +79,7 @@ public static BlockPattern getBlockPattern(int tier, MultiblockMachineDefinition .where('K', blocks(RegistriesUtils.getBlock("botania:corporea_index"))) .where('L', blocks(RegistriesUtils.getBlock("botania:runic_altar"))) .where('M', blocks(RegistriesUtils.getBlock("botania:terra_plate"))) - .where('N', blocks(GTOBlocks.MANASTEEL_CASING.get()) + .wherePart('N', blocks(GTOBlocks.MANASTEEL_CASING.get()) .or(abilities(GTOPartAbility.INPUT_MANA).setMaxGlobalLimited(16, 1)) .or(abilities(PARALLEL_HATCH).setMaxGlobalLimited(1)) .or(abilities(IMPORT_FLUIDS).setMaxGlobalLimited(4, 1)) @@ -135,7 +135,7 @@ public static BlockPattern getBlockPattern(int tier, MultiblockMachineDefinition .where('R', blocks(RegistriesUtils.getBlock("botania:corporea_index"))) .where('S', blocks(RegistriesUtils.getBlock("botania:runic_altar"))) .where('T', blocks(RegistriesUtils.getBlock("botania:terra_plate"))) - .where('U', blocks(GTOBlocks.MANASTEEL_CASING.get()) + .wherePart('U', blocks(GTOBlocks.MANASTEEL_CASING.get()) .or(abilities(GTOPartAbility.INPUT_MANA).setMaxGlobalLimited(32, 1)) .or(abilities(PARALLEL_HATCH).setMaxGlobalLimited(1)) .or(abilities(IMPORT_FLUIDS).setMaxGlobalLimited(4, 1)) diff --git a/src/main/java/com/gtocore/common/machine/multiblock/electric/PCBFactoryMachine.java b/src/main/java/com/gtocore/common/machine/multiblock/electric/PCBFactoryMachine.java index 720b6b054..b88028b9a 100644 --- a/src/main/java/com/gtocore/common/machine/multiblock/electric/PCBFactoryMachine.java +++ b/src/main/java/com/gtocore/common/machine/multiblock/electric/PCBFactoryMachine.java @@ -123,7 +123,7 @@ public static BlockPattern getBlockPattern(int tier, MultiblockMachineDefinition .where('J', blocks(GTOBlocks.RADIATION_ABSORBENT_CASING.get())) .where('K', blocks(GTOBlocks.ADVANCED_ASSEMBLY_LINE_UNIT.get())) .where('L', blocks(GTOBlocks.PRESSURE_CONTAINMENT_CASING.get())) - .where('M', blocks(GTOBlocks.IRIDIUM_CASING.get()) + .wherePart('M', blocks(GTOBlocks.IRIDIUM_CASING.get()) .or(GTOPredicates.autoLaserAbilities(definition.getRecipeTypes())) .or(abilities(PARALLEL_HATCH).setMaxGlobalLimited(1)) .or(abilities(MAINTENANCE).setExactLimit(1))) @@ -201,7 +201,7 @@ public static BlockPattern getBlockPattern(int tier, MultiblockMachineDefinition .where('Q', GTOPredicates.frame(GTMaterials.MaragingSteel300)) .where('R', blocks(GTOBlocks.HIGH_ENERGY_ULTRAVIOLET_EMITTER_CASING.get())) .where('S', blocks(GTOBlocks.ADVANCED_ASSEMBLY_LINE_UNIT.get())) - .where('T', blocks(GTOBlocks.IRIDIUM_CASING.get()) + .wherePart('T', blocks(GTOBlocks.IRIDIUM_CASING.get()) .or(GTOPredicates.autoLaserAbilities(definition.getRecipeTypes())) .or(abilities(PARALLEL_HATCH).setMaxGlobalLimited(1)) .or(abilities(MAINTENANCE).setExactLimit(1))) @@ -230,7 +230,7 @@ public static BlockPattern getBlockPattern(int tier, MultiblockMachineDefinition .where('B', GTOPredicates.frame(GTMaterials.MaragingSteel300)) .where('C', blocks(GTBlocks.CASING_TEMPERED_GLASS.get())) .where('D', blocks(GTOBlocks.PRESSURE_CONTAINMENT_CASING.get())) - .where('E', blocks(GTOBlocks.IRIDIUM_CASING.get()) + .wherePart('E', blocks(GTOBlocks.IRIDIUM_CASING.get()) .or(GTOPredicates.autoLaserAbilities(definition.getRecipeTypes())) .or(abilities(PARALLEL_HATCH).setMaxGlobalLimited(1)) .or(abilities(MAINTENANCE).setExactLimit(1))) diff --git a/src/main/java/com/gtocore/common/machine/multiblock/electric/nano/NanoForgeMachine.java b/src/main/java/com/gtocore/common/machine/multiblock/electric/nano/NanoForgeMachine.java index 7dc9ae37e..d896522a3 100644 --- a/src/main/java/com/gtocore/common/machine/multiblock/electric/nano/NanoForgeMachine.java +++ b/src/main/java/com/gtocore/common/machine/multiblock/electric/nano/NanoForgeMachine.java @@ -98,7 +98,7 @@ public static BlockPattern getBlockPattern(int tier, MultiblockMachineDefinition .aisle(" AAAAAAAA", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ") .aisle(" AAAAAA ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ") .where('A', blocks(GTOBlocks.NAQUADAH_ALLOY_CASING.get())) - .where('C', blocks(GTOBlocks.NAQUADAH_ALLOY_CASING.get()) + .wherePart('C', blocks(GTOBlocks.NAQUADAH_ALLOY_CASING.get()) .or(abilities(IMPORT_ITEMS)) .or(abilities(EXPORT_ITEMS)) .or(abilities(IMPORT_FLUIDS)) @@ -120,7 +120,7 @@ public static BlockPattern getBlockPattern(int tier, MultiblockMachineDefinition .aisle("AAAAAAAA AAAAAAAA", " C ", " ", " ", " C ", " ", " ", " C ", " ", " ", " C ", " ", " ", " C ", " ", " ", " C ", " ", " ", " C ", " ", " ", " C ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ") .aisle(" AAAAAA AAAAAA ", " ", " CC ", " CC ", " ", " ", " ", " ", " CC ", " CC ", " ", " ", " ", " ", " CC ", " CC ", " ", " ", " ", " ", " CC ", " CC ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ") .where('A', blocks(GTOBlocks.NAQUADAH_ALLOY_CASING.get())) - .where('D', blocks(GTOBlocks.NAQUADAH_ALLOY_CASING.get()) + .wherePart('D', blocks(GTOBlocks.NAQUADAH_ALLOY_CASING.get()) .or(abilities(IMPORT_ITEMS)) .or(abilities(EXPORT_ITEMS)) .or(abilities(IMPORT_FLUIDS)) @@ -139,7 +139,7 @@ public static BlockPattern getBlockPattern(int tier, MultiblockMachineDefinition .aisle(" ABBBBBA ", " CBC ", " CBC ", " CBC ", " CBC ", " CBC ", " CBC ", " CBC ", " CB BC ", " CB BC ", " CB BC ", " CB BC ", " BB BB ", " BB BB ", " BB BB ", " BB BB ", " BB BB ", " BB BB ", " BB BB ", " BB BB ", " CB BC ", " CB BC ", " CB BC ", " CB BC ", " CBC ", " CBC ", " CBC ", " CBC ", " CBC ", " CBC ", " CBC ", " CBC ", " CBC ", " C ", " C ", " C ", " C ", " C ") .aisle(" AA~AA ", " ", " ", " ", " ", " ", " ", " ", " CBC ", " CBC ", " CBC ", " CBC ", " CBC ", " CBC ", " CBC ", " CBC ", " CBC ", " CBC ", " CBC ", " CBC ", " CBC ", " CBC ", " CBC ", " CBC ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ") .where('B', blocks(GTOBlocks.NAQUADAH_ALLOY_CASING.get())) - .where('A', blocks(GTOBlocks.NAQUADAH_ALLOY_CASING.get()) + .wherePart('A', blocks(GTOBlocks.NAQUADAH_ALLOY_CASING.get()) .or(abilities(IMPORT_ITEMS)) .or(abilities(EXPORT_ITEMS)) .or(abilities(IMPORT_FLUIDS)) diff --git a/src/main/java/com/gtocore/common/machine/multiblock/electric/processing/CompoundExtremeCoolingMachine.java b/src/main/java/com/gtocore/common/machine/multiblock/electric/processing/CompoundExtremeCoolingMachine.java index a3e45bcfe..46f1aac08 100644 --- a/src/main/java/com/gtocore/common/machine/multiblock/electric/processing/CompoundExtremeCoolingMachine.java +++ b/src/main/java/com/gtocore/common/machine/multiblock/electric/processing/CompoundExtremeCoolingMachine.java @@ -81,7 +81,7 @@ public static BlockPattern getBlockPattern(int tier, MultiblockMachineDefinition .where('N', blocks(GTOBlocks.HOLLOW_CASING.get())) .where('O', blocks(GTOBlocks.AMPROSIUM_PIPE_CASING.get())) .where('P', blocks(GTBlocks.FILTER_CASING.get())) - .where('Q', blocks(GTBlocks.CASING_ALUMINIUM_FROSTPROOF.get()) + .wherePart('Q', blocks(GTBlocks.CASING_ALUMINIUM_FROSTPROOF.get()) .or(GTOPredicates.autoThreadLaserAbilities(definition.getRecipeTypes())) .or(abilities(PARALLEL_HATCH).setMaxGlobalLimited(1)) .or(abilities(MAINTENANCE).setExactLimit(1))) @@ -112,7 +112,7 @@ public static BlockPattern getBlockPattern(int tier, MultiblockMachineDefinition .where('I', GTOPredicates.frame(GTMaterials.Neutronium)) .where('J', blocks(GTOBlocks.AMPROSIUM_PIPE_CASING.get())) .where('K', blocks(GTBlocks.FILTER_CASING.get())) - .where('L', blocks(GTBlocks.CASING_ALUMINIUM_FROSTPROOF.get()) + .wherePart('L', blocks(GTBlocks.CASING_ALUMINIUM_FROSTPROOF.get()) .or(GTOPredicates.autoThreadLaserAbilities(definition.getRecipeTypes())) .or(abilities(PARALLEL_HATCH).setMaxGlobalLimited(1)) .or(abilities(MAINTENANCE).setExactLimit(1))) diff --git a/src/main/java/com/gtocore/common/machine/multiblock/electric/space/spacestaion/WorkspaceExtension.java b/src/main/java/com/gtocore/common/machine/multiblock/electric/space/spacestaion/WorkspaceExtension.java index 4c17f17aa..4d6f10266 100644 --- a/src/main/java/com/gtocore/common/machine/multiblock/electric/space/spacestaion/WorkspaceExtension.java +++ b/src/main/java/com/gtocore/common/machine/multiblock/electric/space/spacestaion/WorkspaceExtension.java @@ -186,7 +186,7 @@ public static BlockPattern patternAtLength(MultiblockMachineDefinition definitio .where('G', blocks(GTOBlocks.PRESSURE_RESISTANT_HOUSING_MECHANICAL_BLOCK.get())) .where('H', blocks(GTOBlocks.SPACECRAFT_SEALING_MECHANICAL_BLOCK.get())) .where('I', GTOPredicates.light()) - .where('J', blocks(GTOBlocks.SPACE_STATION_CONTROL_CASING.get())) + .wherePart('J', blocks(GTOBlocks.SPACE_STATION_CONTROL_CASING.get())) .where('K', blocks(GTOBlocks.ALUMINUM_ALLOY_8090_SKIN_MECHANICAL_BLOCK.get())) .where('L', blocks(GTOBlocks.TITANIUM_ALLOY_PROTECTIVE_MECHANICAL_BLOCK.get())) .where('M', blocks(GTOBlocks.SPACE_ENGINE_NOZZLE.get())) diff --git a/src/main/java/com/gtocore/common/machine/multiblock/generator/PhotovoltaicPowerStationMachine.java b/src/main/java/com/gtocore/common/machine/multiblock/generator/PhotovoltaicPowerStationMachine.java index 79dcf5b43..53294493e 100644 --- a/src/main/java/com/gtocore/common/machine/multiblock/generator/PhotovoltaicPowerStationMachine.java +++ b/src/main/java/com/gtocore/common/machine/multiblock/generator/PhotovoltaicPowerStationMachine.java @@ -22,7 +22,6 @@ import com.gregtechceu.gtceu.api.pattern.BlockPattern; import com.gregtechceu.gtceu.api.pattern.FactoryBlockPattern; import com.gregtechceu.gtceu.api.pattern.MultiblockShapeInfo; -import com.gregtechceu.gtceu.api.pattern.Predicates; import com.gregtechceu.gtceu.api.pattern.util.RelativeDirection; import com.gregtechceu.gtceu.api.recipe.GTRecipeDefinition; import com.gregtechceu.gtceu.api.recipe.handler.ICustomRecipeLogicHolder; @@ -185,8 +184,7 @@ public static BlockPattern getPatternCommon(MultiblockMachineDefinition definiti .where('A', frames(GTMaterials.Aluminium)) .where('B', blocks(photovoltaicBlock.get())) .where('C', blocks(casing.get())) - .where('D', blocks(casing.get()) - .or(Predicates.blocks(CONTROL_HATCH.get()).setMaxGlobalLimited(1).setPreviewCount(0)) + .wherePart('D', blocks(casing.get()) .or(abilities(IMPORT_FLUIDS).setMaxGlobalLimited(1)) .or(abilities(OUTPUT_ENERGY).setMaxGlobalLimited(1)) .or(abilities(GTOPartAbility.OUTPUT_MANA).setMaxGlobalLimited(4)) @@ -243,8 +241,7 @@ public static BlockPattern getPatternInSpace(MultiblockMachineDefinition definit .aisle("AAAAA") .where('A', GTOPredicates.frame(GTMaterials.Aluminium)) .where('B', blocks(photovoltaicBlock.get())) - .where('C', blocks(casing.get()) - .or(Predicates.blocks(CONTROL_HATCH.get()).setMaxGlobalLimited(1).setPreviewCount(0)) + .wherePart('C', blocks(casing.get()) .or(abilities(IMPORT_FLUIDS).setMaxGlobalLimited(1)) .or(abilities(OUTPUT_ENERGY).setMaxGlobalLimited(1)) .or(abilities(GTOPartAbility.OUTPUT_MANA).setMaxGlobalLimited(4)) diff --git a/src/main/java/com/gtocore/common/machine/multiblock/noenergy/GodForgeMachine.java b/src/main/java/com/gtocore/common/machine/multiblock/noenergy/GodForgeMachine.java index ce5e7676a..1bd5f6d59 100644 --- a/src/main/java/com/gtocore/common/machine/multiblock/noenergy/GodForgeMachine.java +++ b/src/main/java/com/gtocore/common/machine/multiblock/noenergy/GodForgeMachine.java @@ -181,7 +181,7 @@ public static BlockPattern getBlockPattern(MultiblockMachineDefinition definitio return MultiBlockFileReader.start(definition) .where('~', Predicates.controller(definition)) .where(' ', Predicates.any()) - .where('A', Predicates.blocks(GTOBlocks.TRANSCENDENTALLY_AMPLIFIED_MAGNETIC_CONFINEMENT_CASING.get()).or(Predicates.abilities(PartAbility.IMPORT_FLUIDS).setMaxGlobalLimited(1))) + .wherePart('A', Predicates.blocks(GTOBlocks.TRANSCENDENTALLY_AMPLIFIED_MAGNETIC_CONFINEMENT_CASING.get()).or(Predicates.abilities(PartAbility.IMPORT_FLUIDS).setMaxGlobalLimited(1))) .where('B', Predicates.blocks(GTOBlocks.SINGULARITY_REINFORCED_STELLAR_SHIELDING_CASING.get())) .where('C', Predicates.blocks(GTOBlocks.CELESTIAL_MATTER_GUIDANCE_CASING.get())) .where('D', Predicates.blocks(GTOBlocks.BOUNDLESS_GRAVITATIONALLY_SEVERED_STRUCTURE_CASING.get())) diff --git a/src/main/java/com/gtocore/common/machine/multiblock/noenergy/NeutronVortexMachine.java b/src/main/java/com/gtocore/common/machine/multiblock/noenergy/NeutronVortexMachine.java index c70bc91d6..596871c8e 100644 --- a/src/main/java/com/gtocore/common/machine/multiblock/noenergy/NeutronVortexMachine.java +++ b/src/main/java/com/gtocore/common/machine/multiblock/noenergy/NeutronVortexMachine.java @@ -147,7 +147,7 @@ public static BlockPattern getBlockPattern(int tier, MultiblockMachineDefinition .where('M', blocks(GTOBlocks.STRONTIUM_CARBONATE_CERAMIC_RAY_ABSORBING_MECHANICAL_CUBE.get())) .where('N', blocks(GTBlocks.FUSION_GLASS.get())) .where('O', blocks(GTOBlocks.SPEEDING_PIPE.get())) - .where('P', blocks(GTOBlocks.NAQUADAH_REINFORCED_PLANT_CASING.get()) + .wherePart('P', blocks(GTOBlocks.NAQUADAH_REINFORCED_PLANT_CASING.get()) .or(autoAbilities(definition.getRecipeTypes())) .or(blocks(GTOMachines.NEUTRON_SENSOR.get()).setMaxGlobalLimited(1)) .or(abilities(GTOPartAbility.NEUTRON_ACCELERATOR).setMaxGlobalLimited(4)) @@ -187,7 +187,7 @@ public static BlockPattern getBlockPattern(int tier, MultiblockMachineDefinition .where('E', blocks(GTOBlocks.STRONTIUM_CARBONATE_CERAMIC_RAY_ABSORBING_MECHANICAL_CUBE.get())) .where('F', blocks(GTBlocks.FUSION_GLASS.get())) .where('G', blocks(GTOBlocks.SPEEDING_PIPE.get())) - .where('H', blocks(GTOBlocks.NAQUADAH_REINFORCED_PLANT_CASING.get()) + .wherePart('H', blocks(GTOBlocks.NAQUADAH_REINFORCED_PLANT_CASING.get()) .or(autoAbilities(definition.getRecipeTypes())) .or(blocks(GTOMachines.NEUTRON_SENSOR.get()).setMaxGlobalLimited(1)) .or(abilities(GTOPartAbility.NEUTRON_ACCELERATOR).setMaxGlobalLimited(4)) diff --git a/src/main/java/com/gtocore/common/machine/multiblock/steam/LargeSteamSolarBoilerMachine.java b/src/main/java/com/gtocore/common/machine/multiblock/steam/LargeSteamSolarBoilerMachine.java index ee9944d8d..29a7db503 100644 --- a/src/main/java/com/gtocore/common/machine/multiblock/steam/LargeSteamSolarBoilerMachine.java +++ b/src/main/java/com/gtocore/common/machine/multiblock/steam/LargeSteamSolarBoilerMachine.java @@ -142,7 +142,7 @@ public Supplier[] getPattern() { .aisle(boundaryRow) .aisle(middleRow).setRepeatable(safeBDist) .aisle(controllerRow) - .where('a', blocks(GTBlocks.STEEL_HULL.get()).or(abilities(EXPORT_FLUIDS)).or(abilities(IMPORT_FLUIDS))) + .wherePart('a', blocks(GTBlocks.STEEL_HULL.get()).or(abilities(EXPORT_FLUIDS)).or(abilities(IMPORT_FLUIDS))) .where('b', blocks(GTOBlocks.SOLAR_HEAT_COLLECTOR_PIPE_CASING.get())) .where('~', controller(this.getDefinition())) .build() }; diff --git a/src/main/java/com/gtocore/utils/register/MachineRegisterUtils.java b/src/main/java/com/gtocore/utils/register/MachineRegisterUtils.java index 669e6b992..369464f9a 100644 --- a/src/main/java/com/gtocore/utils/register/MachineRegisterUtils.java +++ b/src/main/java/com/gtocore/utils/register/MachineRegisterUtils.java @@ -32,7 +32,6 @@ import com.gregtechceu.gtceu.api.machine.multiblock.PartAbility; import com.gregtechceu.gtceu.api.pattern.BlockPattern; import com.gregtechceu.gtceu.api.pattern.FactoryBlockPattern; -import com.gregtechceu.gtceu.api.pattern.Predicates; import com.gregtechceu.gtceu.api.pattern.util.RelativeDirection; import com.gregtechceu.gtceu.api.recipe.GTRecipeType; import com.gregtechceu.gtceu.api.recipe.handler.IO; @@ -43,7 +42,6 @@ import com.gregtechceu.gtceu.client.renderer.machine.SimpleGeneratorMachineRenderer; import com.gregtechceu.gtceu.common.data.GCYMBlocks; import com.gregtechceu.gtceu.common.data.GTBlocks; -import com.gregtechceu.gtceu.common.data.GTMachines; import com.gregtechceu.gtceu.common.data.GTMaterials; import com.gregtechceu.gtceu.common.data.machines.GTMachineUtils; import com.gregtechceu.gtceu.common.machine.multiblock.part.LaserHatchPartMachine; @@ -314,7 +312,7 @@ public static MultiblockMachineDefinition registerLargeCombustionEngine(GTORegis .aisle("AAA", "AYA", "AAA") .where('X', blocks(casing.get())) .where('G', blocks(gear.get())) - .where('C', blocks(casing.get()).setMinGlobalLimited(3).or(autoAbilities(definition.getRecipeTypes(), false, false, true, true, true, true)).or(autoAbilities(true, true, false))) + .wherePart('C', blocks(casing.get()).setMinGlobalLimited(3).or(autoAbilities(definition.getRecipeTypes(), false, false, true, true, true, true)).or(autoAbilities(true, true, false))) .where('D', ability(PartAbility.OUTPUT_ENERGY, tier == EV ? Stream.of(HV, EV, IV, LuV, ZPM, UV, UHV).mapToInt(Integer::intValue).toArray() : Stream.of(EV, IV, LuV, ZPM, UV, UHV).filter(t -> t >= tier).mapToInt(Integer::intValue).toArray()) .addTooltips(Component.translatable("gtceu.machine.large_combustion_engine.tooltip.boost_regular", V[tier] * 6))) @@ -415,7 +413,7 @@ public static MultiblockMachineDefinition registerLargeTurbine(GTORegistration r .where('C', blocks(casing.get())) .where('R', GTOPredicates.RotorBlockFacingOutwards(tier).setExactLimit(1) .or(abilities(PartAbility.OUTPUT_ENERGY)).setExactLimit(1)) - .where('H', blocks(casing.get()).or(autoAbilities(definition.getRecipeTypes(), false, false, true, true, true, true).or(autoAbilities(true, true, false)))) + .wherePart('H', blocks(casing.get()).or(autoAbilities(definition.getRecipeTypes(), false, false, true, true, true, true).or(autoAbilities(true, true, false)))) .build()) .workableCasingRenderer(casingTexture, overlayModel); if (recipeType == GTORecipeTypes.STEAM_TURBINE_FUELS) { @@ -545,8 +543,7 @@ public static MultiblockMachineDefinition registerMegaTurbine(String name, Strin .aisle(" ", " ", " AAAAA ", " ABBBA ", " BCCCB ", " BCDCB ", " BCCCB ", " ABBBA ", " AAAAA ", " ", " ") .where('A', blocks(GTBlocks.CASING_STAINLESS_CLEAN.get())) .where('B', blocks(casing.get())) - .where('C', blocks(casing.get()) - .or(Predicates.blocks(GTMachines.CONTROL_HATCH.get()).setMaxGlobalLimited(1).setPreviewCount(0)) + .wherePart('C', blocks(casing.get()) .or(abilities(MAINTENANCE).setExactLimit(1)) .or(abilities(IMPORT_FLUIDS).setMaxGlobalLimited(8)) .or(abilities(EXPORT_FLUIDS).setMaxGlobalLimited(2))