From 4c1b5780d2aa82ad6b4b45cdd1b0db25adb8f628 Mon Sep 17 00:00:00 2001 From: Bob Date: Tue, 19 Oct 2021 22:36:47 +0200 Subject: [PATCH] the great oredictioning, part 2 --- .../recipes/CrystallizerRecipes.java | 62 ++++++++++--------- .../java/com/hbm/main/CraftingManager.java | 35 ++++++----- 2 files changed, 52 insertions(+), 45 deletions(-) diff --git a/src/main/java/com/hbm/inventory/recipes/CrystallizerRecipes.java b/src/main/java/com/hbm/inventory/recipes/CrystallizerRecipes.java index 84d1833a0..769cb85d0 100644 --- a/src/main/java/com/hbm/inventory/recipes/CrystallizerRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/CrystallizerRecipes.java @@ -5,9 +5,9 @@ import java.util.List; import java.util.Map; import java.util.Map.Entry; +import static com.hbm.inventory.OreDictManager.*; import com.hbm.blocks.ModBlocks; import com.hbm.handler.imc.IMCCrystallizer; -import com.hbm.inventory.RecipesCommon; import com.hbm.inventory.RecipesCommon.ComparableStack; import com.hbm.items.ModItems; import com.hbm.main.MainRegistry; @@ -26,49 +26,51 @@ public class CrystallizerRecipes { public static void register() { - recipes.put("oreCoal", new ItemStack(ModItems.crystal_coal)); - recipes.put("oreIron", new ItemStack(ModItems.crystal_iron)); - recipes.put("oreGold", new ItemStack(ModItems.crystal_gold)); - recipes.put("oreRedstone", new ItemStack(ModItems.crystal_redstone)); - recipes.put("oreLapis", new ItemStack(ModItems.crystal_lapis)); - recipes.put("oreDiamond", new ItemStack(ModItems.crystal_diamond)); - recipes.put("oreUranium", new ItemStack(ModItems.crystal_uranium)); - recipes.put("oreThorium", new ItemStack(ModItems.crystal_thorium)); - recipes.put("orePlutonium", new ItemStack(ModItems.crystal_plutonium)); - recipes.put("oreTitanium", new ItemStack(ModItems.crystal_titanium)); - recipes.put("oreSulfur", new ItemStack(ModItems.crystal_sulfur)); - recipes.put("oreSaltpeter", new ItemStack(ModItems.crystal_niter)); - recipes.put("oreCopper", new ItemStack(ModItems.crystal_copper)); - recipes.put("oreTungsten", new ItemStack(ModItems.crystal_tungsten)); - recipes.put("oreAluminum", new ItemStack(ModItems.crystal_aluminium)); - recipes.put("oreFluorite", new ItemStack(ModItems.crystal_fluorite)); - recipes.put("oreBeryllium", new ItemStack(ModItems.crystal_beryllium)); - recipes.put("oreLead", new ItemStack(ModItems.crystal_lead)); - recipes.put("oreSchrabidium", new ItemStack(ModItems.crystal_schrabidium)); - recipes.put("oreLithium", new ItemStack(ModItems.crystal_lithium)); - recipes.put("oreStarmetal", new ItemStack(ModItems.crystal_starmetal)); + recipes.put(COAL.ore(), new ItemStack(ModItems.crystal_coal)); + recipes.put(IRON.ore(), new ItemStack(ModItems.crystal_iron)); + recipes.put(GOLD.ore(), new ItemStack(ModItems.crystal_gold)); + recipes.put(REDSTONE.ore(), new ItemStack(ModItems.crystal_redstone)); + recipes.put(LAPIS.ore(), new ItemStack(ModItems.crystal_lapis)); + recipes.put(DIAMOND.ore(), new ItemStack(ModItems.crystal_diamond)); + recipes.put(U.ore(), new ItemStack(ModItems.crystal_uranium)); + recipes.put(TH232.ore(), new ItemStack(ModItems.crystal_thorium)); + recipes.put(PU.ore(), new ItemStack(ModItems.crystal_plutonium)); + recipes.put(TI.ore(), new ItemStack(ModItems.crystal_titanium)); + recipes.put(S.ore(), new ItemStack(ModItems.crystal_sulfur)); + recipes.put(KNO.ore(), new ItemStack(ModItems.crystal_niter)); + recipes.put(CU.ore(), new ItemStack(ModItems.crystal_copper)); + recipes.put(W.ore(), new ItemStack(ModItems.crystal_tungsten)); + recipes.put(AL.ore(), new ItemStack(ModItems.crystal_aluminium)); + recipes.put(F.ore(), new ItemStack(ModItems.crystal_fluorite)); + recipes.put(BE.ore(), new ItemStack(ModItems.crystal_beryllium)); + recipes.put(PB.ore(), new ItemStack(ModItems.crystal_lead)); + recipes.put(SA326.ore(), new ItemStack(ModItems.crystal_schrabidium)); + recipes.put(LI.ore(), new ItemStack(ModItems.crystal_lithium)); + recipes.put(STAR.ore(), new ItemStack(ModItems.crystal_starmetal)); + recipes.put(CO.ore(), new ItemStack(ModItems.crystal_cobalt)); + recipes.put("oreRareEarth", new ItemStack(ModItems.crystal_rare)); - recipes.put("oreCobalt", new ItemStack(ModItems.crystal_cobalt)); recipes.put("oreCinnabar", new ItemStack(ModItems.crystal_cinnebar)); recipes.put(new ComparableStack(ModBlocks.ore_nether_fire), new ItemStack(ModItems.crystal_phosphorus)); recipes.put(new ComparableStack(ModBlocks.ore_tikite), new ItemStack(ModItems.crystal_trixite)); recipes.put(new ComparableStack(ModBlocks.gravel_diamond), new ItemStack(ModItems.crystal_diamond)); - recipes.put(new ComparableStack(ModItems.ingot_schraranium), new ItemStack(ModItems.crystal_schraranium)); + recipes.put(SRN.ingot(), new ItemStack(ModItems.crystal_schraranium)); recipes.put("sand", new ItemStack(ModItems.ingot_fiberglass)); + recipes.put(REDSTONE.block(), new ItemStack(ModItems.nugget_mercury)); + recipes.put(CINNABAR.crystal(), new ItemStack(ModItems.nugget_mercury, 3)); + recipes.put(COAL.block(), new ItemStack(ModBlocks.block_graphite)); + recipes.put(new ComparableStack(Blocks.cobblestone), new ItemStack(ModBlocks.reinforced_stone)); recipes.put(new ComparableStack(ModBlocks.gravel_obsidian), new ItemStack(ModBlocks.brick_obsidian)); - recipes.put("blockRedstone", new ItemStack(ModItems.nugget_mercury)); recipes.put(new ComparableStack(Items.rotten_flesh), new ItemStack(Items.leather)); recipes.put(new ComparableStack(ModItems.coal_infernal), new ItemStack(ModItems.solid_fuel)); - recipes.put(new ComparableStack(ModItems.cinnebar), new ItemStack(ModItems.nugget_mercury, 3)); - recipes.put("blockCoal", new ItemStack(ModBlocks.block_graphite)); recipes.put(new ComparableStack(ModBlocks.stone_gneiss), new ItemStack(ModItems.powder_lithium)); - recipes.put(new ComparableStack(ModItems.powder_diamond), new ItemStack(Items.diamond)); - recipes.put(new ComparableStack(ModItems.powder_emerald), new ItemStack(Items.emerald)); - recipes.put(new ComparableStack(ModItems.powder_lapis), new ItemStack(Items.dye, 1, 4)); + recipes.put(DIAMOND.dust(), new ItemStack(Items.diamond)); + recipes.put(EMERALD.dust(), new ItemStack(Items.emerald)); + recipes.put(LAPIS.dust(), new ItemStack(Items.dye, 1, 4)); recipes.put(new ComparableStack(ModItems.powder_semtex_mix), new ItemStack(ModItems.ingot_semtex)); recipes.put(new ComparableStack(ModItems.powder_desh_ready), new ItemStack(ModItems.ingot_desh)); recipes.put(new ComparableStack(ModItems.powder_meteorite), new ItemStack(ModItems.fragment_meteorite, 1)); diff --git a/src/main/java/com/hbm/main/CraftingManager.java b/src/main/java/com/hbm/main/CraftingManager.java index c621f656d..c206de0ca 100644 --- a/src/main/java/com/hbm/main/CraftingManager.java +++ b/src/main/java/com/hbm/main/CraftingManager.java @@ -13,7 +13,6 @@ import com.hbm.inventory.OreDictManager; import static com.hbm.inventory.OreDictManager.*; import com.hbm.items.ModItems; import com.hbm.items.machine.ItemBattery; -import com.hbm.items.special.ItemHot; import com.hbm.util.EnchantmentUtil; import net.minecraft.block.Block; @@ -77,7 +76,7 @@ public class CraftingManager { addRecipeAuto(new ItemStack(ModItems.circuit_raw, 1), new Object[] { "A", "R", "S", 'S', STEEL.plate(), 'R', REDSTONE.dust(), 'A', ModItems.wire_aluminium }); addRecipeAuto(new ItemStack(ModItems.circuit_bismuth_raw, 1), new Object[] { "RPR", "ABA", "RPR", 'R', REDSTONE.dust(), 'P', POLY.ingot(), 'A', (GeneralConfig.enable528 ? ModItems.circuit_tantalium : ASBEST.ingot()), 'B', ModItems.ingot_bismuth }); - addRecipeAuto(new ItemStack(ModItems.circuit_tantalium_raw, 1), new Object[] { "RWR", "PTP", "RWR", 'R', REDSTONE.dust(), 'W', ModItems.wire_gold, 'P', CU.plate(), 'T', "nuggetTantalum" }); + addRecipeAuto(new ItemStack(ModItems.circuit_tantalium_raw, 1), new Object[] { "RWR", "PTP", "RWR", 'R', REDSTONE.dust(), 'W', ModItems.wire_gold, 'P', CU.plate(), 'T', TA.nugget() }); addRecipeAuto(new ItemStack(ModItems.circuit_targeting_tier1, 1), new Object[] { "CPC", 'C', ModItems.circuit_aluminium, 'P', REDSTONE.dust() }); addRecipeAuto(new ItemStack(ModItems.circuit_targeting_tier2, 1), new Object[] { "CPC", 'C', ModItems.circuit_copper, 'P', NETHERQUARTZ.dust() }); addRecipeAuto(new ItemStack(ModItems.circuit_targeting_tier3, 1), new Object[] { "CPC", 'C', ModItems.circuit_red_copper, 'P', GOLD.dust() }); @@ -192,8 +191,8 @@ public class CraftingManager { addRecipeAuto(new ItemStack(ModItems.turbine_titanium, 1), new Object[] { "BBB", "BSB", "BBB", 'B', ModItems.blade_titanium, 'S', STEEL.ingot() }); addRecipeAuto(new ItemStack(ModItems.rotor_steel, 3), new Object[] { "CCC", "SSS", "CCC", 'C', ModItems.coil_gold, 'S', STEEL.ingot() }); addRecipeAuto(new ItemStack(ModItems.generator_steel, 1), new Object[] { "RRR", "CCC", "SSS", 'C', ModItems.coil_gold_torus, 'S', STEEL.ingot(), 'R', ModItems.rotor_steel }); - addRecipeAuto(new ItemStack(ModItems.shimmer_head, 1), new Object[] { "SSS", "DTD", "SSS", 'S', STEEL.ingot(), 'D', "blockDesh", 'T', W.block() }); - addRecipeAuto(new ItemStack(ModItems.shimmer_axe_head, 1), new Object[] { "PII", "PBB", "PII", 'P', STEEL.plate(), 'B', "blockDesh", 'I', W.ingot() }); + addRecipeAuto(new ItemStack(ModItems.shimmer_head, 1), new Object[] { "SSS", "DTD", "SSS", 'S', STEEL.ingot(), 'D', DESH.block(), 'T', W.block() }); + addRecipeAuto(new ItemStack(ModItems.shimmer_axe_head, 1), new Object[] { "PII", "PBB", "PII", 'P', STEEL.plate(), 'B', DESH.block(), 'I', W.ingot() }); addRecipeAuto(new ItemStack(ModItems.shimmer_handle, 1), new Object[] { "GP", "GP", "GP", 'G', GOLD.plate(), 'P', POLY.ingot() }); addRecipeAuto(new ItemStack(ModItems.shimmer_sledge, 1), new Object[] { "H", "G", "G", 'G', ModItems.shimmer_handle, 'H', ModItems.shimmer_head }); addRecipeAuto(new ItemStack(ModItems.shimmer_axe, 1), new Object[] { "H", "G", "G", 'G', ModItems.shimmer_handle, 'H', ModItems.shimmer_axe_head }); @@ -201,7 +200,7 @@ public class CraftingManager { addRecipeAuto(new ItemStack(ModItems.blade_tungsten, 2), new Object[] { "IP", "TP", "TI", 'P', TI.plate(), 'T', TI.ingot(), 'I', W.ingot() }); addRecipeAuto(new ItemStack(ModItems.turbine_tungsten, 1), new Object[] { "BBB", "BSB", "BBB", 'B', ModItems.blade_tungsten, 'S', DURA.ingot() }); addRecipeAuto(new ItemStack(ModItems.ring_starmetal, 1), new Object[] { " S ", "S S", " S ", 'S', STAR.ingot() }); - addRecipeAuto(new ItemStack(ModItems.flywheel_beryllium, 1), new Object[] { "BBB", "BTB", "BBB", 'B', "blockBeryllium", 'T', ModItems.bolt_compound }); + addRecipeAuto(new ItemStack(ModItems.flywheel_beryllium, 1), new Object[] { "BBB", "BTB", "BBB", 'B', BE.block(), 'T', ModItems.bolt_compound }); ItemStack infinity = new ItemStack(Items.enchanted_book); EnchantmentUtil.addEnchantment(infinity, Enchantment.infinity, 1); @@ -248,13 +247,13 @@ public class CraftingManager { addRecipeAuto(new ItemStack(ModBlocks.crate_tungsten, 1), new Object[] { "BPB", "PCP", "BPB", 'B', W.block(), 'P', ModItems.board_copper, 'C', ModBlocks.crate_steel }); addRecipeAuto(new ItemStack(ModBlocks.safe, 1), new Object[] { "LAL", "ACA", "LAL", 'L', PB.plate(), 'A', ALLOY.plate(), 'C', ModBlocks.crate_steel }); addRecipeAuto(new ItemStack(ModBlocks.machine_waste_drum, 1), new Object[] { "LRL", "BRB", "LRL", 'L', PB.ingot(), 'B', Blocks.iron_bars, 'R', ModItems.rod_quad_empty }); - addRecipeAuto(new ItemStack(ModBlocks.machine_press, 1), new Object[] { "IRI", "IPI", "IBI", 'I', IRON.ingot(), 'R', Blocks.furnace, 'B', "blockIron", 'P', Blocks.piston }); + addRecipeAuto(new ItemStack(ModBlocks.machine_press, 1), new Object[] { "IRI", "IPI", "IBI", 'I', IRON.ingot(), 'R', Blocks.furnace, 'B', IRON.block(), 'P', Blocks.piston }); addRecipeAuto(new ItemStack(ModBlocks.machine_siren, 1), new Object[] { "SIS", "ICI", "SRS", 'S', STEEL.plate(), 'I', ModItems.plate_polymer, 'C', ModItems.circuit_copper, 'R', REDSTONE.dust() }); addRecipeAuto(new ItemStack(ModBlocks.machine_microwave, 1), new Object[] { "III", "SGM", "IDI", 'I', ModItems.plate_polymer, 'S', STEEL.plate(), 'G', "paneGlass", 'M', ModItems.magnetron, 'D', ModItems.motor }); addRecipeAuto(new ItemStack(ModBlocks.machine_solar_boiler), new Object[] { "SHS", "DHD", "SHS", 'S', STEEL.ingot(), 'H', ModItems.hull_big_steel, 'D', "dyeBlack" }); addRecipeAuto(new ItemStack(ModBlocks.solar_mirror, 3), new Object[] { "AAA", " B ", "SSS", 'A', AL.plate(), 'B', ModBlocks.steel_beam, 'S', STEEL.ingot() }); - addRecipeAuto(new ItemStack(ModBlocks.anvil_iron, 1), new Object[] { "III", " B ", "III", 'I', IRON.ingot(), 'B', "blockIron" }); - addRecipeAuto(new ItemStack(ModBlocks.anvil_lead, 1), new Object[] { "III", " B ", "III", 'I', PB.ingot(), 'B', "blockLead" }); + addRecipeAuto(new ItemStack(ModBlocks.anvil_iron, 1), new Object[] { "III", " B ", "III", 'I', IRON.ingot(), 'B', IRON.block() }); + addRecipeAuto(new ItemStack(ModBlocks.anvil_lead, 1), new Object[] { "III", " B ", "III", 'I', PB.ingot(), 'B', PB.block() }); addRecipeAuto(new ItemStack(ModBlocks.anvil_murky, 1), new Object[] { "UUU", "UAU", "UUU", 'U', ModItems.undefined, 'A', ModBlocks.anvil_steel }); addRecipeAuto(new ItemStack(ModBlocks.machine_fraction_tower), new Object[] { "SHS", "SGS", "SHS", 'S', STEEL.plate(), 'H', ModItems.hull_big_steel, 'G', ModBlocks.steel_grate }); addRecipeAuto(new ItemStack(ModBlocks.fraction_spacer), new Object[] { "BHB", 'H', ModItems.hull_big_steel, 'B', Blocks.iron_bars }); @@ -266,15 +265,15 @@ public class CraftingManager { addRecipeAuto(new ItemStack(Item.getItemFromBlock(ModBlocks.factory_titanium_conductor), 1), new Object[] { "SWS", "FFF", "SWS", 'S', TI.ingot(), 'W', Item.getItemFromBlock(ModBlocks.red_wire_coated), 'F', ModItems.fuse }); addRecipeAuto(new ItemStack(Item.getItemFromBlock(ModBlocks.factory_titanium_core), 1), new Object[] { "HPH", "PCP", "HPH", 'H', Item.getItemFromBlock(ModBlocks.factory_titanium_hull), 'C', ModItems.circuit_aluminium, 'P', Item.getItemFromBlock(Blocks.piston) }); addRecipeAuto(ItemBattery.getEmptyBattery(ModItems.factory_core_titanium), new Object[] { "BRB", "RHR", "BRB", 'B', ItemBattery.getEmptyBattery(ModItems.battery_generic), 'R', REDSTONE.block(), 'H', Item.getItemFromBlock(ModBlocks.factory_titanium_hull) }); - addRecipeAuto(ItemBattery.getEmptyBattery(ModItems.factory_core_advanced), new Object[] { "BLB", "SHS", "BLB", 'B', ItemBattery.getEmptyBattery(ModItems.battery_advanced), 'S', "blockSulfur", 'L', "blockLead", 'H', Item.getItemFromBlock(ModBlocks.factory_advanced_hull) }); - addRecipeAuto(ItemBattery.getEmptyBattery(ModItems.factory_core_advanced), new Object[] { "BSB", "LHL", "BSB", 'B', ItemBattery.getEmptyBattery(ModItems.battery_advanced), 'S', "blockSulfur", 'L', "blockLead", 'H', Item.getItemFromBlock(ModBlocks.factory_advanced_hull) }); + addRecipeAuto(ItemBattery.getEmptyBattery(ModItems.factory_core_advanced), new Object[] { "BLB", "SHS", "BLB", 'B', ItemBattery.getEmptyBattery(ModItems.battery_advanced), 'S', S.block(), 'L', PB.block(), 'H', Item.getItemFromBlock(ModBlocks.factory_advanced_hull) }); + addRecipeAuto(ItemBattery.getEmptyBattery(ModItems.factory_core_advanced), new Object[] { "BSB", "LHL", "BSB", 'B', ItemBattery.getEmptyBattery(ModItems.battery_advanced), 'S', S.block(), 'L', PB.block(), 'H', Item.getItemFromBlock(ModBlocks.factory_advanced_hull) }); addRecipeAuto(new ItemStack(ModItems.arc_electrode, 1), new Object[] { "C", "T", "C", 'C', GRAPHITE.ingot(), 'T', ModItems.bolt_tungsten }); addRecipeAuto(new ItemStack(ModItems.arc_electrode_desh, 1), new Object[] { "C", "T", "C", 'C', DESH.dust(), 'T', ModItems.arc_electrode }); addRecipeAuto(new ItemStack(ModItems.detonator, 1), new Object[] { " W", "SC", "CE", 'S', STEEL.plate(), 'W', ModItems.wire_red_copper, 'C', ModItems.circuit_red_copper, 'E', STEEL.ingot() }); addShapelessAuto(new ItemStack(ModItems.detonator_multi, 1), new Object[] { ModItems.detonator, ModItems.circuit_targeting_tier3 }); addRecipeAuto(new ItemStack(ModItems.detonator_laser, 1), new Object[] { "RRD", "PIC", " P", 'P', STEEL.plate(), 'R', REDSTONE.dust(), 'C', ModItems.circuit_targeting_tier3, 'D', DIAMOND.gem(), 'I', STEEL.ingot() }); - addRecipeAuto(new ItemStack(ModItems.detonator_laser, 1), new Object[] { "RRD", "PIC", " P", 'P', STEEL.plate(), 'R', REDSTONE.dust(), 'C', ModItems.circuit_targeting_tier3, 'D', "gemEmerald", 'I', STEEL.ingot() }); + addRecipeAuto(new ItemStack(ModItems.detonator_laser, 1), new Object[] { "RRD", "PIC", " P", 'P', STEEL.plate(), 'R', REDSTONE.dust(), 'C', ModItems.circuit_targeting_tier3, 'D', EMERALD.gem(), 'I', STEEL.ingot() }); addShapelessAuto(new ItemStack(ModItems.detonator_deadman, 1), new Object[] { ModItems.detonator, ModItems.defuser, ModItems.ducttape }); addRecipeAuto(new ItemStack(ModItems.detonator_de, 1), new Object[] { "T", "D", "T", 'T', Blocks.tnt, 'D', ModItems.detonator_deadman }); @@ -285,7 +284,7 @@ public class CraftingManager { addRecipeAuto(new ItemStack(ModItems.crystal_xen, 1), new Object[] { "EEE", "EIE", "EEE", 'E', ModItems.powder_power, 'I', EUPH.ingot() }); addRecipeAuto(new ItemStack(ModItems.screwdriver, 1), new Object[] { " I", " I ", "S ", 'S', STEEL.ingot(), 'I', IRON.ingot() }); - addShapelessAuto(new ItemStack(ModItems.overfuse, 1), new Object[] { ModItems.screwdriver, "dustNeptunium", I.dust(), TH232.dust(), AT.dust(), ND.dust(), ModItems.board_copper, ModItems.black_hole, CS.dust() }); + addShapelessAuto(new ItemStack(ModItems.overfuse, 1), new Object[] { ModItems.screwdriver, NP237.dust(), I.dust(), TH232.dust(), AT.dust(), ND.dust(), ModItems.board_copper, ModItems.black_hole, CS.dust() }); addShapelessAuto(new ItemStack(ModItems.overfuse, 1), new Object[] { ModItems.screwdriver, ST.dust(), BR.dust(), CO.dust(), TS.dust(), NB.dust(), ModItems.board_copper, ModItems.black_hole, CE.dust() }); addRecipeAuto(new ItemStack(ModItems.blades_aluminium, 1), new Object[] { " P ", "PIP", " P ", 'P', AL.plate(), 'I', AL.ingot() }); @@ -904,13 +903,19 @@ public class CraftingManager { public static void addRecipeAuto(ItemStack result, Object... ins) { boolean shouldUseOD = false; + boolean engage = false; - for(int i = 4; i < ins.length; i += 2) { + for(int i = 0; i < ins.length; i++) { Object ingredient = ins[i]; if(ingredient instanceof String) { - shouldUseOD = true; - break; + + if(engage) { + shouldUseOD = true; + break; + } + } else { + engage = true; } }