From b17a1a9cd80c247b3a85a240e42f4a6c54268c13 Mon Sep 17 00:00:00 2001 From: Boblet Date: Wed, 26 Jan 2022 15:26:16 +0100 Subject: [PATCH] more oredict improvements, coke and tar variants, missing RBMK fuel rads --- .../com/hbm/crafting/ConsumableRecipes.java | 3 +- .../com/hbm/crafting/SmeltingRecipes.java | 10 +- .../java/com/hbm/hazard/HazardRegistry.java | 42 +++- .../com/hbm/inventory/OreDictManager.java | 223 +++++++++++------- .../gui/GUIScreenTemplateFolder.java | 7 + .../inventory/recipes/AssemblerRecipes.java | 5 +- .../inventory/recipes/ChemplantRecipes.java | 17 +- .../hbm/inventory/recipes/MachineRecipes.java | 78 +++--- .../hbm/inventory/recipes/PressRecipes.java | 2 +- .../inventory/recipes/RefineryRecipes.java | 8 + .../inventory/recipes/ShredderRecipes.java | 9 +- .../inventory/recipes/anvil/AnvilRecipes.java | 4 +- src/main/java/com/hbm/items/ItemEnums.java | 21 ++ src/main/java/com/hbm/items/ModItems.java | 4 +- .../java/com/hbm/main/CraftingManager.java | 10 +- .../hbm/tileentity/TileEntityProxyBase.java | 2 +- .../items/{coke.png => coke.coal.png} | Bin .../hbm/textures/items/coke.lignite.png | Bin 0 -> 485 bytes .../hbm/textures/items/coke.petroleum.png | Bin 0 -> 476 bytes .../hbm/textures/items/oil_tar.crack.png | Bin 0 -> 414 bytes .../items/{oil_tar.png => oil_tar.crude.png} | Bin 21 files changed, 291 insertions(+), 154 deletions(-) create mode 100644 src/main/java/com/hbm/items/ItemEnums.java rename src/main/resources/assets/hbm/textures/items/{coke.png => coke.coal.png} (100%) create mode 100644 src/main/resources/assets/hbm/textures/items/coke.lignite.png create mode 100644 src/main/resources/assets/hbm/textures/items/coke.petroleum.png create mode 100644 src/main/resources/assets/hbm/textures/items/oil_tar.crack.png rename src/main/resources/assets/hbm/textures/items/{oil_tar.png => oil_tar.crude.png} (100%) diff --git a/src/main/java/com/hbm/crafting/ConsumableRecipes.java b/src/main/java/com/hbm/crafting/ConsumableRecipes.java index f2805f3a5..c983c313e 100644 --- a/src/main/java/com/hbm/crafting/ConsumableRecipes.java +++ b/src/main/java/com/hbm/crafting/ConsumableRecipes.java @@ -2,6 +2,7 @@ package com.hbm.crafting; import com.hbm.blocks.ModBlocks; import com.hbm.items.ModItems; +import com.hbm.items.ItemEnums.EnumTarType; import com.hbm.main.CraftingManager; import static com.hbm.inventory.OreDictManager.*; @@ -120,7 +121,7 @@ public class ConsumableRecipes { CraftingManager.addShapelessAuto(new ItemStack(ModItems.fmn, 1), new Object[] { COAL.dust(), PO210.dust(), ST.dust() }); CraftingManager.addShapelessAuto(new ItemStack(ModItems.pirfenidone, 1), new Object[] {COAL.dust(), KNO.dust(), ModItems.nugget_bismuth }); CraftingManager.addShapelessAuto(new ItemStack(ModItems.five_htp, 1), new Object[] { COAL.dust(), EUPH.dust(), ModItems.canteen_fab }); - CraftingManager.addShapelessAuto(new ItemStack(ModItems.cigarette, 16), new Object[] { ASBESTOS.ingot(), ModItems.oil_tar, PO210.nugget() }); + CraftingManager.addShapelessAuto(new ItemStack(ModItems.cigarette, 16), new Object[] { ASBESTOS.ingot(), ANY_TAR.any(), PO210.nugget() }); //Med bags CraftingManager.addRecipeAuto(new ItemStack(ModItems.med_bag, 1), new Object[] { "LLL", "SIS", "LLL", 'L', Items.leather, 'S', ModItems.syringe_metal_stimpak, 'I', ModItems.syringe_antidote }); diff --git a/src/main/java/com/hbm/crafting/SmeltingRecipes.java b/src/main/java/com/hbm/crafting/SmeltingRecipes.java index 7d1cc87aa..5dd7e9dbc 100644 --- a/src/main/java/com/hbm/crafting/SmeltingRecipes.java +++ b/src/main/java/com/hbm/crafting/SmeltingRecipes.java @@ -1,7 +1,10 @@ package com.hbm.crafting; import com.hbm.blocks.ModBlocks; +import com.hbm.inventory.OreDictManager.DictFrame; import com.hbm.items.ModItems; +import com.hbm.items.ItemEnums.EnumCokeType; +import com.hbm.items.ItemEnums.EnumTarType; import com.hbm.items.machine.ItemBattery; import com.hbm.items.special.ItemHot; @@ -93,9 +96,10 @@ public class SmeltingRecipes { GameRegistry.addSmelting(ModItems.powder_tantalium, new ItemStack(ModItems.ingot_tantalium), 1.0F); GameRegistry.addSmelting(ModItems.powder_niobium, new ItemStack(ModItems.ingot_niobium), 1.0F); - GameRegistry.addSmelting(ModItems.powder_coal, new ItemStack(ModItems.coke), 1.0F); - GameRegistry.addSmelting(ModItems.briquette_lignite, new ItemStack(ModItems.coke), 1.0F); - GameRegistry.addSmelting(ModItems.oil_tar, new ItemStack(ModItems.powder_coal), 1.0F); + GameRegistry.addSmelting(ModItems.powder_coal, DictFrame.fromOne(ModItems.coke, EnumCokeType.COAL), 1.0F); + GameRegistry.addSmelting(ModItems.briquette_lignite, DictFrame.fromOne(ModItems.coke, EnumCokeType.LIGNITE), 1.0F); + GameRegistry.addSmelting(DictFrame.fromOne(ModItems.oil_tar, EnumTarType.CRUDE), new ItemStack(ModItems.powder_coal), 1.0F); + GameRegistry.addSmelting(DictFrame.fromOne(ModItems.oil_tar, EnumTarType.CRACK), new ItemStack(ModItems.powder_coal), 1.0F); GameRegistry.addSmelting(ModItems.combine_scrap, new ItemStack(ModItems.ingot_combine_steel), 1.0F); GameRegistry.addSmelting(ModItems.tank_waste, new ItemStack(ModItems.tank_waste), 0.0F); diff --git a/src/main/java/com/hbm/hazard/HazardRegistry.java b/src/main/java/com/hbm/hazard/HazardRegistry.java index 6c5515a21..d623f6a8f 100644 --- a/src/main/java/com/hbm/hazard/HazardRegistry.java +++ b/src/main/java/com/hbm/hazard/HazardRegistry.java @@ -346,6 +346,21 @@ public class HazardRegistry { registerRBMKRod(rbmk_fuel_mep, purg * rod_rbmk, purg * rod_rbmk * 100); registerRBMKRod(rbmk_fuel_hep239, pu239 * rod_rbmk, pu239 * rod_rbmk * 100); registerRBMKRod(rbmk_fuel_hep241, pu241 * rod_rbmk, pu241 * rod_rbmk * 100); + registerRBMKRod(rbmk_fuel_men, npf * rod_rbmk, npf * rod_rbmk * 100); + registerRBMKRod(rbmk_fuel_hen, np237 * rod_rbmk, np237 * rod_rbmk * 100); + registerRBMKRod(rbmk_fuel_mox, mox * rod_rbmk, mox * rod_rbmk * 100); + registerRBMKRod(rbmk_fuel_les, saf * rod_rbmk, saf * rod_rbmk * 100); + registerRBMKRod(rbmk_fuel_mes, saf * rod_rbmk, saf * rod_rbmk * 100); + registerRBMKRod(rbmk_fuel_hes, saf * rod_rbmk, saf * rod_rbmk * 100); + registerRBMKRod(rbmk_fuel_po210be, pobe * rod_rbmk, pobe * rod_rbmk * 0.1F); + registerRBMKRod(rbmk_fuel_ra226be, rabe * rod_rbmk, rabe * rod_rbmk * 0.1F); + registerRBMKRod(rbmk_fuel_pu238be, pube * rod_rbmk, pube * rod_rbmk * 0.1F); + registerRBMKRod(rbmk_fuel_balefire_gold, au198 * rod_rbmk, bf * rod_rbmk * 0.5F); + registerRBMKRod(rbmk_fuel_balefire, bf * rod_rbmk, bf * rod_rbmk * 100F); + registerRBMKRod(rbmk_fuel_zfb_bismuth, pu241 * rod_rbmk * 0.1F, pu241 * rod_rbmk * 10F); + registerRBMKRod(rbmk_fuel_zfb_pu241, pu239 * rod_rbmk * 0.1F, pu239 * rod_rbmk * 10F); + registerRBMKRod(rbmk_fuel_zfb_am_mix, pu241 * rod_rbmk * 0.1F, pu241 * rod_rbmk * 10F); + registerRBMK(rbmk_fuel_drx, bf * rod_rbmk, bf * rod_rbmk * 100F, true, 0, 1F/3F); registerRBMKPellet(rbmk_pellet_ueu, u * billet, u * billet * 100); registerRBMKPellet(rbmk_pellet_meu, uf * billet, uf * billet * 100); @@ -356,6 +371,21 @@ public class HazardRegistry { registerRBMKPellet(rbmk_pellet_mep, purg * billet, purg * billet * 100); registerRBMKPellet(rbmk_pellet_hep239, pu239 * billet, pu239 * billet * 100); registerRBMKPellet(rbmk_pellet_hep241, pu241 * billet, pu241 * billet * 100); + registerRBMKPellet(rbmk_pellet_men, npf * billet, npf * billet * 100); + registerRBMKPellet(rbmk_pellet_men, np237 * billet, np237 * billet * 100); + registerRBMKPellet(rbmk_pellet_mox, mox * billet, mox * billet * 100); + registerRBMKPellet(rbmk_pellet_les, saf * billet, saf * billet * 100); + registerRBMKPellet(rbmk_pellet_mes, saf * billet, saf * billet * 100); + registerRBMKPellet(rbmk_pellet_hes, saf * billet, saf * billet * 100); + registerRBMKPellet(rbmk_pellet_po210be, pobe * billet, pobe * billet * 0.1F); + registerRBMKPellet(rbmk_pellet_ra226be, rabe * billet, rabe * billet * 0.1F); + registerRBMKPellet(rbmk_pellet_pu238be, pube * billet, pube * billet * 0.1F); + registerRBMKPellet(rbmk_pellet_balefire_gold, au198 * billet, bf * billet * 0.5F); + registerRBMKPellet(rbmk_pellet_balefire, bf * billet, bf * billet * 100F); + registerRBMKPellet(rbmk_pellet_zfb_bismuth, pu241 * billet * 0.1F, pu241 * billet * 10F); + registerRBMKPellet(rbmk_pellet_zfb_pu241, pu239 * billet * 0.1F, pu239 * billet * 10F); + registerRBMKPellet(rbmk_pellet_zfb_am_mix, pu241 * billet * 0.1F, pu241 * billet * 10F); + registerRBMKPellet(rbmk_pellet_drx, bf * billet, bf * billet * 100F, 0F, 1F/24F); HazardSystem.register(powder_yellowcake, makeData(RADIATION, yc * powder)); HazardSystem.register(block_yellowcake, makeData(RADIATION, yc * block * powder_mult)); @@ -434,24 +464,26 @@ public class HazardRegistry { private static HazardData makeData(HazardTypeBase hazard, float level) { return new HazardData().addEntry(hazard, level); } private static HazardData makeData(HazardTypeBase hazard, float level, boolean override) { return new HazardData().addEntry(hazard, level, override); } - private static void registerRBMKPellet(Item pellet, float base, float dep) { registerRBMKPellet(pellet, base, dep, 0F); } - private static void registerRBMKPellet(Item pellet, float base, float dep, float blinding) { + private static void registerRBMKPellet(Item pellet, float base, float dep) { registerRBMKPellet(pellet, base, dep, 0F, 0F); } + private static void registerRBMKPellet(Item pellet, float base, float dep, float blinding, float digamma) { HazardData data = new HazardData(); data.addEntry(new HazardEntry(RADIATION, base).addMod(new HazardModifierRBMKRadiation(dep))); if(blinding > 0) data.addEntry(new HazardEntry(BLINDING, blinding)); + if(digamma > 0) data.addEntry(new HazardEntry(DIGAMMA, digamma)); HazardSystem.register(pellet, data); } - private static void registerRBMKRod(Item rod, float base, float dep) { registerRBMK(rod, base, dep, true, 0F); } - private static void registerRBMKRod(Item rod, float base, float dep, float blinding) { registerRBMK(rod, base, dep, true, blinding); } + private static void registerRBMKRod(Item rod, float base, float dep) { registerRBMK(rod, base, dep, true, 0F, 0F); } + private static void registerRBMKRod(Item rod, float base, float dep, float blinding) { registerRBMK(rod, base, dep, true, blinding, 0F); } - private static void registerRBMK(Item rod, float base, float dep, boolean hot, float blinding) { + private static void registerRBMK(Item rod, float base, float dep, boolean hot, float blinding, float digamma) { HazardData data = new HazardData(); data.addEntry(new HazardEntry(RADIATION, base).addMod(new HazardModifierRBMKRadiation(dep))); if(hot) data.addEntry(new HazardEntry(HOT, 0).addMod(new HazardModifierRBMKHot())); if(blinding > 0) data.addEntry(new HazardEntry(BLINDING, blinding)); + if(digamma > 0) data.addEntry(new HazardEntry(DIGAMMA, digamma)); HazardSystem.register(rod, data); } diff --git a/src/main/java/com/hbm/inventory/OreDictManager.java b/src/main/java/com/hbm/inventory/OreDictManager.java index d0a514b25..62e432744 100644 --- a/src/main/java/com/hbm/inventory/OreDictManager.java +++ b/src/main/java/com/hbm/inventory/OreDictManager.java @@ -6,6 +6,7 @@ import java.util.List; //i love you import static com.hbm.items.ModItems.*; import static com.hbm.blocks.ModBlocks.*; +import static com.hbm.inventory.OreDictManager.DictFrame.*; import com.hbm.blocks.ModBlocks; import com.hbm.config.GeneralConfig; @@ -13,6 +14,8 @@ import com.hbm.hazard.HazardData; import com.hbm.hazard.HazardEntry; import com.hbm.hazard.HazardRegistry; import com.hbm.hazard.HazardSystem; +import com.hbm.items.ItemEnums.EnumCokeType; +import com.hbm.items.ItemEnums.EnumTarType; import com.hbm.items.ModItems; import net.minecraft.block.Block; @@ -27,7 +30,7 @@ public class OreDictManager { /* * Standard keys */ - public static final String KEY_STICK = "stickWood"; + public static final String KEY_STICK = "stickWood"; //if there's no "any" or "Any" prefix required, simply use a String key instead of a DictFrame public static final String KEY_ANYGLASS = "blockGlass"; public static final String KEY_CLEARGLASS = "blockGlassColorless"; public static final String KEY_ANYPANE = "paneGlass"; @@ -42,25 +45,29 @@ public class OreDictManager { public static final String KEY_SAPLING = "treeSapling"; public static final String KEY_BLACK = "dyeBlack"; - public static final String KEY_RED = "dyeRed"; - public static final String KEY_GREEN = "dyeGreen"; - public static final String KEY_BROWN = "dyeBrown"; - public static final String KEY_BLUE = "dyeBlue"; - public static final String KEY_PURPLE = "dyePurple"; - public static final String KEY_CYAN = "dyeCyan"; - public static final String KEY_LIGHTGRAY = "dyeLightGray"; - public static final String KEY_GRAY = "dyeGray"; - public static final String KEY_PINK = "dyePink"; - public static final String KEY_LIME = "dyeLime"; - public static final String KEY_YELLOW = "dyeYellow"; - public static final String KEY_LIGHTBLUE = "dyeLightBlue"; - public static final String KEY_MAGENTA = "dyeMagenta"; - public static final String KEY_ORANGE = "dyeOrange"; - public static final String KEY_WHITE = "dyeWhite"; + public static final String KEY_RED = "dyeRed"; + public static final String KEY_GREEN = "dyeGreen"; + public static final String KEY_BROWN = "dyeBrown"; + public static final String KEY_BLUE = "dyeBlue"; + public static final String KEY_PURPLE = "dyePurple"; + public static final String KEY_CYAN = "dyeCyan"; + public static final String KEY_LIGHTGRAY = "dyeLightGray"; + public static final String KEY_GRAY = "dyeGray"; + public static final String KEY_PINK = "dyePink"; + public static final String KEY_LIME = "dyeLime"; + public static final String KEY_YELLOW = "dyeYellow"; + public static final String KEY_LIGHTBLUE = "dyeLightBlue"; + public static final String KEY_MAGENTA = "dyeMagenta"; + public static final String KEY_ORANGE = "dyeOrange"; + public static final String KEY_WHITE = "dyeWhite"; + + public static final String KEY_OIL_TAR = "oiltar"; + public static final String KEY_CRACK_TAR = "cracktar"; /* * PREFIXES */ + public static final String ANY = "any"; public static final String NUGGET = "nugget"; public static final String TINY = "tiny"; public static final String INGOT = "ingot"; @@ -157,6 +164,9 @@ public class OreDictManager { public static final DictFrame KNO = new DictFrame("Saltpeter"); public static final DictFrame F = new DictFrame("Fluorite"); public static final DictFrame LIGNITE = new DictFrame("Lignite"); + public static final DictFrame COALCOKE = new DictFrame("CoalCoke"); + public static final DictFrame PETCOKE = new DictFrame("PetCoke"); + public static final DictFrame LIGCOKE = new DictFrame("LigniteCoke"); public static final DictFrame CINNABAR = new DictFrame("Cinnabar"); public static final DictFrame BORAX = new DictFrame("Borax"); public static final DictFrame VOLCANIC = new DictFrame("Volcanic"); @@ -206,10 +216,12 @@ public class OreDictManager { /* * COLLECTIONS */ - public static final DictFrame ANY_PLASTIC = new DictFrame("AnyPlastic"); + public static final DictFrame ANY_PLASTIC = new DictFrame("AnyPlastic"); //using the Any prefix means that it's jsut the secondary prefix, and that shape prefixes are applicable public static final DictFrame ANY_GUNPOWDER = new DictFrame("AnyPropellant"); public static final DictFrame ANY_SMOKELESS = new DictFrame("AnySmokeless"); - public static final String KEY_ANYCONCRETE = "anyConcrete"; + public static final DictFrame ANY_COKE = new DictFrame("AnyCoke", "Coke"); + public static final DictFrame ANY_CONCRETE = new DictFrame("Concrete"); //no any prefix means that any has to be appended with the any() or anys() getters, registering works with the any (i.e. no shape) setter + public static final DictFrame ANY_TAR = new DictFrame("Tar"); public static void registerOres() { @@ -227,12 +239,12 @@ public class OreDictManager { /* * RADIOACTIVE */ - U .rad(HazardRegistry.u) .nugget(nugget_uranium) .billet(billet_uranium) .ingot(ingot_uranium) .dust(powder_uranium) .block(block_uranium) .ore(ore_uranium, ore_uranium_scorched, ore_gneiss_uranium, ore_gneiss_uranium_scorched, ore_nether_uranium, ore_nether_uranium_scorched, ore_meteor_uranium); + U .rad(HazardRegistry.u) .nugget(nugget_uranium) .billet(billet_uranium) .ingot(ingot_uranium) .dust(powder_uranium) .block(block_uranium) .ore(ore_uranium, ore_uranium_scorched, ore_gneiss_uranium, ore_gneiss_uranium_scorched, ore_nether_uranium, ore_nether_uranium_scorched, ore_meteor_uranium) .oreNether(ore_nether_uranium, ore_nether_uranium_scorched); U233 .rad(HazardRegistry.u233) .nugget(nugget_u233) .billet(billet_u233) .ingot(ingot_u233) .block(block_u233); U235 .rad(HazardRegistry.u235) .nugget(nugget_u235) .billet(billet_u235) .ingot(ingot_u235) .block(block_u235); U238 .rad(HazardRegistry.u238) .nugget(nugget_u238) .billet(billet_u238) .ingot(ingot_u238) .block(block_u238); TH232 .rad(HazardRegistry.th232) .nugget(nugget_th232) .billet(billet_th232) .ingot(ingot_th232) .dust(powder_thorium) .block(block_thorium) .ore(ore_thorium, ore_meteor_thorium); - PU .rad(HazardRegistry.pu) .nugget(nugget_plutonium) .billet(billet_plutonium) .ingot(ingot_plutonium) .dust(powder_plutonium) .block(block_plutonium) .ore(ore_nether_plutonium); + PU .rad(HazardRegistry.pu) .nugget(nugget_plutonium) .billet(billet_plutonium) .ingot(ingot_plutonium) .dust(powder_plutonium) .block(block_plutonium) .ore(ore_nether_plutonium) .oreNether(ore_nether_plutonium); PURG .rad(HazardRegistry.purg) .nugget(nugget_pu_mix) .billet(billet_pu_mix) .ingot(ingot_pu_mix) .block(block_pu_mix); PU238 .rad(HazardRegistry.pu238) .hot(3F) .nugget(nugget_pu238) .billet(billet_pu238) .ingot(ingot_pu238) .block(block_pu238); PU239 .rad(HazardRegistry.pu239) .nugget(nugget_pu239) .billet(billet_pu239) .ingot(ingot_pu239) .block(block_pu239); @@ -249,7 +261,7 @@ public class OreDictManager { CO60 .rad(HazardRegistry.co60) .hot(1) .nugget(nugget_co60) .billet(billet_co60) .ingot(ingot_co60) .dust(powder_co60); AU198 .rad(HazardRegistry.au198) .hot(5) .nugget(nugget_au198) .billet(billet_au198) .ingot(ingot_au198) .dust(powder_au198); PB209 .rad(HazardRegistry.pb209) .blinding(3F) .hot(7) .nugget(nugget_pb209) .billet(billet_pb209) .ingot(ingot_pb209); - SA326 .rad(HazardRegistry.sa326) .blinding(3F) .nugget(nugget_schrabidium) .billet(billet_schrabidium) .ingot(ingot_schrabidium) .dust(powder_schrabidium) .plate(plate_schrabidium) .block(block_schrabidium) .ore(ore_schrabidium, ore_gneiss_schrabidium, ore_nether_schrabidium); + SA326 .rad(HazardRegistry.sa326) .blinding(3F) .nugget(nugget_schrabidium) .billet(billet_schrabidium) .ingot(ingot_schrabidium) .dust(powder_schrabidium) .plate(plate_schrabidium) .block(block_schrabidium) .ore(ore_schrabidium, ore_gneiss_schrabidium, ore_nether_schrabidium) .oreNether(ore_nether_schrabidium); SA327 .rad(HazardRegistry.sa327) .blinding(3F) .nugget(nugget_solinium) .billet(billet_solinium) .ingot(ingot_solinium) .block(block_solinium); SBD .rad(HazardRegistry.sb) .blinding(1F) .ingot(ingot_schrabidate) .dust(powder_schrabidate) .block(block_schrabidate); SRN .rad(HazardRegistry.sr) .blinding(1F) .ingot(ingot_schraranium) .block(block_schraranium); @@ -261,7 +273,7 @@ public class OreDictManager { CU .ingot(ingot_copper) .dust(powder_copper) .plate(plate_copper) .block(block_copper) .ore(ore_copper, ore_gneiss_copper, ore_meteor_copper); MINGRADE .ingot(ingot_red_copper) .dust(powder_red_copper) .block(block_red_copper); ALLOY .ingot(ingot_advanced_alloy) .dust(powder_advanced_alloy) .plate(plate_advanced_alloy) .block(block_advanced_alloy); - W .ingot(ingot_tungsten) .dust(powder_tungsten) .block(block_tungsten) .ore(ore_tungsten, ore_nether_tungsten, ore_meteor_tungsten); + W .ingot(ingot_tungsten) .dust(powder_tungsten) .block(block_tungsten) .ore(ore_tungsten, ore_nether_tungsten, ore_meteor_tungsten) .oreNether(ore_nether_tungsten); AL .ingot(ingot_aluminium) .dust(powder_aluminium) .plate(plate_aluminium) .block(block_aluminium) .ore(ore_aluminium, ore_meteor_aluminium); STEEL .ingot(ingot_steel) .dustSmall(powder_steel_tiny) .dust(powder_steel) .plate(plate_steel) .block(block_steel); TCALLOY .ingot(ingot_tcalloy) .dust(powder_tcalloy); @@ -291,13 +303,16 @@ public class OreDictManager { /* * DUST AND GEM ORES */ - S .dust(sulfur) .block(block_sulfur) .ore(ore_sulfur, ore_nether_sulfur, basalt_sulfur, ore_meteor_sulfur); - KNO .dust(niter) .block(block_niter) .ore(ore_niter); - F .dust(fluorite) .block(block_fluorite) .ore(ore_fluorite, basalt_fluorite); - LIGNITE .gem(lignite) .dust(powder_lignite) .ore(ore_lignite); - CINNABAR .crystal(cinnebar) .gem(cinnebar) .ore(ore_cinnebar, ore_depth_cinnebar); - BORAX .dust(powder_borax) .ore(ore_depth_borax); - VOLCANIC .gem(gem_volcanic) .ore(basalt_gem); + S .dust(sulfur) .block(block_sulfur) .ore(ore_sulfur, ore_nether_sulfur, basalt_sulfur, ore_meteor_sulfur) .oreNether(ore_nether_sulfur); + KNO .dust(niter) .block(block_niter) .ore(ore_niter); + F .dust(fluorite) .block(block_fluorite) .ore(ore_fluorite, basalt_fluorite); + LIGNITE .gem(lignite) .dust(powder_lignite) .ore(ore_lignite); + COALCOKE .gem(fromOne(coke, EnumCokeType.COAL)); + PETCOKE .gem(fromOne(coke, EnumCokeType.PETROLEUM)); + LIGCOKE .gem(fromOne(coke, EnumCokeType.LIGNITE)); + CINNABAR .crystal(cinnebar) .gem(cinnebar) .ore(ore_cinnebar, ore_depth_cinnebar); + BORAX .dust(powder_borax) .ore(ore_depth_borax); + VOLCANIC .gem(gem_volcanic) .ore(basalt_gem); /* * HAZARDS, MISC @@ -325,7 +340,7 @@ public class OreDictManager { */ LA .nugget(fragment_lanthanium) .ingot(ingot_lanthanium) .dustSmall(powder_lanthanium_tiny) .dust(powder_lanthanium) .block(block_lanthanium); ZR .nugget(nugget_zirconium) .ingot(ingot_zirconium) .billet(billet_zirconium) .dust(powder_zirconium) .block(block_zirconium) .ore(ore_depth_zirconium); - ND .nugget(fragment_neodymium) .dustSmall(powder_neodymium_tiny) .dust(powder_neodymium) .ore(ore_depth_nether_neodymium); + ND .nugget(fragment_neodymium) .dustSmall(powder_neodymium_tiny) .dust(powder_neodymium) .ore(ore_depth_nether_neodymium) .oreNether(ore_depth_nether_neodymium); CE .nugget(fragment_cerium) .dustSmall(powder_cerium_tiny) .dust(powder_cerium); /* @@ -350,13 +365,15 @@ public class OreDictManager { /* * COLLECTIONS */ - ANY_PLASTIC .ingot(ModItems.ingot_polymer, ModItems.ingot_bakelite).dust(ModItems.powder_polymer); - ANY_GUNPOWDER .dust(Items.gunpowder, ModItems.ballistite, ModItems.cordite); - ANY_SMOKELESS .dust(ModItems.ballistite, ModItems.cordite); + ANY_PLASTIC .ingot(ingot_polymer, ingot_bakelite).dust(powder_polymer); + ANY_GUNPOWDER .dust(Items.gunpowder, ballistite, cordite); + ANY_SMOKELESS .dust(ballistite, cordite); + ANY_COKE .gem(fromAll(coke, EnumCokeType.class)); + ANY_CONCRETE .any(concrete, concrete_smooth, concrete_colored, concrete_asbestos, ducrete, ducrete_smooth); + ANY_TAR .any(fromAll(oil_tar, EnumTarType.class)); - OreDictionary.registerOre(KEY_ANYCONCRETE, ModBlocks.concrete); - OreDictionary.registerOre(KEY_ANYCONCRETE, ModBlocks.concrete_smooth); - OreDictionary.registerOre(KEY_ANYCONCRETE, ModBlocks.concrete_asbestos); + OreDictionary.registerOre(KEY_OIL_TAR, fromOne(oil_tar, EnumTarType.CRUDE)); + OreDictionary.registerOre(KEY_CRACK_TAR, fromOne(oil_tar, EnumTarType.CRACK)); OreDictionary.registerOre(getReflector(), neutron_reflector); OreDictionary.registerOre("oreRareEarth", ore_rare); @@ -385,7 +402,8 @@ public class OreDictManager { //OreDictionary.registerOre("dye", fluorite); OreDictionary.registerOre("dyeBlue", powder_lapis); //OreDictionary.registerOre("dye", powder_lapis); - OreDictionary.registerOre("dyeBlack", oil_tar); + OreDictionary.registerOre("dyeBlack", fromOne(oil_tar, EnumTarType.CRUDE)); + OreDictionary.registerOre("dyeBlack", fromOne(oil_tar, EnumTarType.CRACK)); //OreDictionary.registerOre("dye", oil_tar); OreDictionary.registerOre("blockGlass", glass_boron); @@ -416,20 +434,22 @@ public class OreDictManager { /* * Quick access methods to grab ore names for recipes. */ - public String nugget() { return NUGGET + mats[0]; } - public String tiny() { return TINY + mats[0]; } - public String ingot() { return INGOT + mats[0]; } - public String dustTiny() { return DUSTTINY + mats[0]; } - public String dust() { return DUST + mats[0]; } - public String gem() { return GEM + mats[0]; } - public String crystal() { return CRYSTAL + mats[0]; } - public String plate() { return PLATE + mats[0]; } - public String billet() { return BILLET + mats[0]; } - public String block() { return BLOCK + mats[0]; } - public String ore() { return ORE + mats[0]; } + public String any() { return ANY + mats[0]; } + public String nugget() { return NUGGET + mats[0]; } + public String tiny() { return TINY + mats[0]; } + public String ingot() { return INGOT + mats[0]; } + public String dustTiny() { return DUSTTINY + mats[0]; } + public String dust() { return DUST + mats[0]; } + public String gem() { return GEM + mats[0]; } + public String crystal() { return CRYSTAL + mats[0]; } + public String plate() { return PLATE + mats[0]; } + public String billet() { return BILLET + mats[0]; } + public String block() { return BLOCK + mats[0]; } + public String ore() { return ORE + mats[0]; } + public String[] anys() { return appendToAll(ANY); } public String[] nuggets() { return appendToAll(NUGGET); } public String[] tinys() { return appendToAll(TINY); } - public String[] allNuggets() { return appendToAll(NUGGET, TINY); } + public String[] allNuggets() { return appendToAll(NUGGET, TINY); } public String[] ingots() { return appendToAll(INGOT); } public String[] dustTinys() { return appendToAll(DUSTTINY); } public String[] dusts() { return appendToAll(DUST); } @@ -463,56 +483,89 @@ public class OreDictManager { return this; } - public DictFrame nugget(Item... nugget) { - hazMult = HazardRegistry.nugget; - return makeItem(NUGGET, nugget).makeItem(TINY, nugget); + /** Returns an ItemStack composed of the supplied item with the meta being the enum's ordinal. Purely syntactic candy */ + public static ItemStack fromOne(Item item, Enum en) { + return new ItemStack(item, 1, en.ordinal()); } - public DictFrame ingot(Item... ingot) { - hazMult = HazardRegistry.ingot; - return makeItem(INGOT, ingot); - } - public DictFrame dustSmall(Item... dustSmall) { - hazMult = HazardRegistry.powder_tiny; - return makeItem(DUSTTINY, dustSmall); - } - public DictFrame dust(Item... dust) { - hazMult = HazardRegistry.powder; - return makeItem(DUST, dust); - } - public DictFrame gem(Item... gem) { - hazMult = HazardRegistry.gem; - return makeItem(GEM, gem); - } - public DictFrame crystal(Item... crystal) { - hazMult = HazardRegistry.gem; - return makeItem(CRYSTAL, crystal); - } - public DictFrame plate(Item... plate) { - hazMult = HazardRegistry.plate; - return makeItem(PLATE, plate); - } - public DictFrame billet(Item... billet) { - hazMult = HazardRegistry.billet; - return makeItem(BILLET, billet); + /** Same as fromOne but with an array of ItemStacks. The array type is Object[] so that the ODM methods work with it. Generates ItemStacks for the entire enum class. */ + public static Object[] fromAll(Item item, Class en) { + Enum[] vals = en.getEnumConstants(); + Object[] stacks = new Object[vals.length]; + + for(int i = 0; i < vals.length; i++) { + stacks[i] = new ItemStack(item, 1, vals[i].ordinal()); + } + return stacks; } - public DictFrame block(Block... block) { + public DictFrame any(Object... thing) { + return makeObject(ANY, thing); + } + public DictFrame nugget(Object... nugget) { + hazMult = HazardRegistry.nugget; + return makeObject(NUGGET, nugget).makeObject(TINY, nugget); + } + public DictFrame ingot(Object... ingot) { + hazMult = HazardRegistry.ingot; + return makeObject(INGOT, ingot); + } + public DictFrame dustSmall(Object... dustSmall) { + hazMult = HazardRegistry.powder_tiny; + return makeObject(DUSTTINY, dustSmall); + } + public DictFrame dust(Object... dust) { + hazMult = HazardRegistry.powder; + return makeObject(DUST, dust); + } + public DictFrame gem(Object... gem) { + hazMult = HazardRegistry.gem; + return makeObject(GEM, gem); + } + public DictFrame crystal(Object... crystal) { + hazMult = HazardRegistry.gem; + return makeObject(CRYSTAL, crystal); + } + public DictFrame plate(Object... plate) { + hazMult = HazardRegistry.plate; + return makeObject(PLATE, plate); + } + public DictFrame billet(Object... billet) { + hazMult = HazardRegistry.billet; + return makeObject(BILLET, billet); + } + + public DictFrame block(Object... block) { hazMult = HazardRegistry.block; - return makeBlocks(BLOCK, block); + return makeObject(BLOCK, block); } - public DictFrame ore(Block... ore) { + public DictFrame ore(Object... ore) { hazMult = HazardRegistry.ore; - return makeBlocks(ORE, ore); + return makeObject(ORE, ore); } - public DictFrame oreNether(Block... oreNether) { + public DictFrame oreNether(Object... oreNether) { hazMult = HazardRegistry.ore; - return makeBlocks(ORENETHER, oreNether); + return makeObject(ORENETHER, oreNether); } + public DictFrame makeObject(String tag, Object... objects) { + + for(Object o : objects) { + if(o instanceof Item) registerStack(tag, new ItemStack((Item) o)); + if(o instanceof Block) registerStack(tag, new ItemStack((Block) o)); + if(o instanceof ItemStack) registerStack(tag, (ItemStack) o); + } + + return this; + } + public DictFrame makeItem(String tag, Item... items) { for(Item i : items) registerStack(tag, new ItemStack(i)); return this; } + public DictFrame makeStack(String tag, ItemStack... stacks) { + for(ItemStack s : stacks) registerStack(tag, s); + return this; + } public DictFrame makeBlocks(String tag, Block... blocks) { for(Block b : blocks) registerStack(tag, new ItemStack(b)); return this; diff --git a/src/main/java/com/hbm/inventory/gui/GUIScreenTemplateFolder.java b/src/main/java/com/hbm/inventory/gui/GUIScreenTemplateFolder.java index 2af357ead..570d46e5a 100644 --- a/src/main/java/com/hbm/inventory/gui/GUIScreenTemplateFolder.java +++ b/src/main/java/com/hbm/inventory/gui/GUIScreenTemplateFolder.java @@ -18,6 +18,7 @@ import com.hbm.items.machine.ItemStamp.StampType; import com.hbm.lib.RefStrings; import com.hbm.packet.ItemFolderPacket; import com.hbm.packet.PacketDispatcher; +import com.hbm.util.I18nUtil; import net.minecraft.client.Minecraft; import net.minecraft.client.audio.PositionedSoundRecord; @@ -114,6 +115,12 @@ public class GUIScreenTemplateFolder extends GuiScreen { if(stack.getDisplayName().toLowerCase().contains(sub)) { stacks.add(stack); + } else if(stack.getItem() == ModItems.fluid_identifier) { + FluidType fluid = Fluids.fromID(stack.getItemDamage()); + + if(I18nUtil.resolveKey(fluid.getUnlocalizedName()).toLowerCase().contains(sub)) { + stacks.add(stack); + } } } diff --git a/src/main/java/com/hbm/inventory/recipes/AssemblerRecipes.java b/src/main/java/com/hbm/inventory/recipes/AssemblerRecipes.java index 6e38c2e03..b746d6158 100644 --- a/src/main/java/com/hbm/inventory/recipes/AssemblerRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/AssemblerRecipes.java @@ -27,6 +27,7 @@ import com.hbm.inventory.RecipesCommon.AStack; import com.hbm.inventory.RecipesCommon.ComparableStack; import com.hbm.inventory.RecipesCommon.OreDictStack; import com.hbm.inventory.fluid.Fluids; +import com.hbm.items.ItemEnums.EnumTarType; import com.hbm.items.ModItems; import com.hbm.items.machine.ItemAssemblyTemplate; import com.hbm.main.MainRegistry; @@ -278,8 +279,8 @@ public class AssemblerRecipes { makeRecipe(new ComparableStack(ModBlocks.machine_epress, 1), new AStack[] {new OreDictStack(STEEL.plate(), 8), new ComparableStack(ModItems.plate_polymer, 4), new ComparableStack(ModItems.pipes_steel, 1), new ComparableStack(ModItems.bolt_tungsten, 4), new ComparableStack(ModItems.coil_copper, 2), new ComparableStack(ModItems.motor, 1), new ComparableStack(ModItems.circuit_copper, 1), new ComparableStack(ModItems.canister_canola, 1), },160); makeRecipe(new ComparableStack(ModBlocks.machine_chemplant, 1), new AStack[] {new OreDictStack(STEEL.ingot(), 8), new OreDictStack(CU.plate(), 6), new ComparableStack(ModItems.tank_steel, 4), new ComparableStack(ModItems.hull_big_steel, 1), new ComparableStack(ModItems.coil_tungsten, 3), new ComparableStack(ModItems.circuit_copper, 2), new ComparableStack(ModItems.circuit_red_copper, 1), new ComparableStack(ModItems.plate_polymer, 8), },200); makeRecipe(new ComparableStack(ModBlocks.machine_crystallizer, 1), new AStack[] {new ComparableStack(ModItems.hull_big_steel, 4), new ComparableStack(ModItems.pipes_steel, 1), new OreDictStack(DESH.ingot(), 4), new ComparableStack(ModItems.motor, 2), new ComparableStack(ModItems.blades_advanced_alloy, 2), new OreDictStack(STEEL.ingot(), 16), new OreDictStack(TI.plate(), 16), new ComparableStack(Blocks.glass, 4), new ComparableStack(ModItems.circuit_gold, 1), },400); - makeRecipe(new ComparableStack(ModBlocks.machine_fluidtank, 1), new AStack[] {new OreDictStack(STEEL.ingot(), 2), new OreDictStack(STEEL.plate(), 6), new ComparableStack(ModItems.hull_big_steel, 4), new ComparableStack(ModItems.oil_tar, 4), },150); - makeRecipe(new ComparableStack(ModBlocks.machine_bat9000, 1), new AStack[] {new OreDictStack(STEEL.plate(), 16), new OreDictStack(TCALLOY.ingot(), 16), new ComparableStack(ModBlocks.steel_scaffold, 16), new ComparableStack(ModItems.oil_tar, 16), },150); + makeRecipe(new ComparableStack(ModBlocks.machine_fluidtank, 1), new AStack[] {new OreDictStack(STEEL.ingot(), 2), new OreDictStack(STEEL.plate(), 6), new ComparableStack(ModItems.hull_big_steel, 4), new OreDictStack(ANY_TAR.any(), 4), },150); + makeRecipe(new ComparableStack(ModBlocks.machine_bat9000, 1), new AStack[] {new OreDictStack(STEEL.plate(), 16), new OreDictStack(TCALLOY.ingot(), 16), new ComparableStack(ModBlocks.steel_scaffold, 16), new OreDictStack(ANY_TAR.any(), 16), },150); makeRecipe(new ComparableStack(ModBlocks.machine_orbus, 1), new AStack[] {new OreDictStack(STEEL.ingot(), 12), new OreDictStack(TCALLOY.ingot(), 12), new OreDictStack(BIGMT.plate(), 12), new ComparableStack(ModItems.coil_advanced_alloy, 12), new ComparableStack(ModItems.battery_sc_polonium, 1) }, 200); makeRecipe(new ComparableStack(ModBlocks.machine_drill, 1), new AStack[] {new ComparableStack(ModBlocks.steel_scaffold, 6), new OreDictStack(STEEL.ingot(), 4), new ComparableStack(ModItems.wire_red_copper, 4), new ComparableStack(ModItems.circuit_copper, 1), new ComparableStack(ModItems.motor, 1), new OreDictStack(DURA.ingot(), 2), new ComparableStack(ModItems.bolt_dura_steel, 2), new ComparableStack(ModItems.drill_titanium, 1), },200); makeRecipe(new ComparableStack(ModBlocks.machine_mining_laser, 1), new AStack[] {new ComparableStack(ModItems.tank_steel, 3), new OreDictStack(STEEL.plate(), 16), new ComparableStack(ModItems.crystal_redstone, 3), new ComparableStack(Items.diamond, 3), new OreDictStack(POLYMER.ingot(), 4), new ComparableStack(ModItems.motor, 3), new OreDictStack(DURA.ingot(), 4), new ComparableStack(ModItems.bolt_dura_steel, 6), new ComparableStack(ModBlocks.machine_battery, 3), },400); diff --git a/src/main/java/com/hbm/inventory/recipes/ChemplantRecipes.java b/src/main/java/com/hbm/inventory/recipes/ChemplantRecipes.java index fb10944f4..c5a076661 100644 --- a/src/main/java/com/hbm/inventory/recipes/ChemplantRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/ChemplantRecipes.java @@ -11,6 +11,7 @@ import com.hbm.inventory.RecipesCommon.ComparableStack; import com.hbm.inventory.RecipesCommon.OreDictStack; import com.hbm.inventory.fluid.Fluids; import com.hbm.items.ModItems; +import com.hbm.items.ItemEnums.EnumTarType; import net.minecraft.init.Blocks; import net.minecraft.item.ItemStack; @@ -134,23 +135,23 @@ public class ChemplantRecipes { public static void registerCoalCracking() { recipes.add(new ChemRecipe("CC_OIL", 150) - .inputItems(new OreDictStack(COAL.dust(), 8), new ComparableStack(ModItems.oil_tar, 4)) + .inputItems(new OreDictStack(COAL.dust(), 8), new OreDictStack(ANY_TAR.any(), 4)) .inputFluids(new FluidStack(1400, Fluids.STEAM)) .outputFluids(new FluidStack(2000, Fluids.OIL))); recipes.add(new ChemRecipe("CC_I", 200) - .inputItems(new OreDictStack(COAL.dust(), 6), new ComparableStack(ModItems.oil_tar, 4)) + .inputItems(new OreDictStack(COAL.dust(), 6), new OreDictStack(ANY_TAR.any(), 4)) .inputFluids(new FluidStack(1800, Fluids.WATER)) .outputFluids(new FluidStack(1600, Fluids.SMEAR))); recipes.add(new ChemRecipe("CC_HEATING", 250) - .inputItems(new OreDictStack(COAL.dust(), 6), new ComparableStack(ModItems.oil_tar, 4)) + .inputItems(new OreDictStack(COAL.dust(), 6), new OreDictStack(ANY_TAR.any(), 4)) .inputFluids(new FluidStack(2000, Fluids.STEAM)) .outputFluids(new FluidStack(1800, Fluids.HEATINGOIL))); recipes.add(new ChemRecipe("CC_HEAVY", 200) - .inputItems(new OreDictStack(COAL.dust(), 8), new ComparableStack(ModItems.oil_tar, 4)) + .inputItems(new OreDictStack(COAL.dust(), 8), new OreDictStack(ANY_TAR.any(), 4)) .inputFluids(new FluidStack(1400, Fluids.WATER)) .outputFluids(new FluidStack(1800, Fluids.HEAVYOIL))); recipes.add(new ChemRecipe("CC_NAPHTHA", 300) - .inputItems(new OreDictStack(COAL.dust(), 8), new ComparableStack(ModItems.oil_tar, 4)) + .inputItems(new OreDictStack(COAL.dust(), 8), new OreDictStack(ANY_TAR.any(), 4)) .inputFluids(new FluidStack(2400, Fluids.STEAM)) .outputFluids(new FluidStack(2000, Fluids.NAPHTHA))); } @@ -158,10 +159,10 @@ public class ChemplantRecipes { public static void registerSolidFuel() { recipes.add(new ChemRecipe("SF_OIL", 20) .inputFluids(new FluidStack(350, Fluids.OIL)) - .outputItems(new ItemStack(ModItems.oil_tar, 1), new ItemStack(ModItems.oil_tar, 1))); + .outputItems(DictFrame.fromOne(ModItems.oil_tar, EnumTarType.CRUDE), DictFrame.fromOne(ModItems.oil_tar, EnumTarType.CRUDE))); recipes.add(new ChemRecipe("SF_HEAVYOIL", 20) .inputFluids(new FluidStack(250, Fluids.HEAVYOIL)) - .outputItems(new ItemStack(ModItems.oil_tar, 1), new ItemStack(ModItems.oil_tar, 1))); + .outputItems(DictFrame.fromOne(ModItems.oil_tar, EnumTarType.CRUDE), DictFrame.fromOne(ModItems.oil_tar, EnumTarType.CRUDE))); recipes.add(new ChemRecipe("SF_SMEAR", 20) .inputFluids(new FluidStack(200, Fluids.SMEAR)) .outputItems(new ItemStack(ModItems.solid_fuel, 1), new ItemStack(ModItems.solid_fuel, 1))); @@ -214,7 +215,7 @@ public class ChemplantRecipes { .inputFluids(new FluidStack(2000, Fluids.PETROLEUM)) .outputFluids(new FluidStack(1000, Fluids.LPG))); recipes.add(new ChemRecipe("OIL_SAND", 200) - .inputItems(new ComparableStack(ModBlocks.ore_oil_sand, 16), new ComparableStack(ModItems.oil_tar, 1)) + .inputItems(new ComparableStack(ModBlocks.ore_oil_sand, 16), new OreDictStack(ANY_TAR.any(), 1)) .outputItems(new ItemStack(Blocks.sand, 4), new ItemStack(Blocks.sand, 4), new ItemStack(Blocks.sand, 4), new ItemStack(Blocks.sand, 4)) .outputFluids(new FluidStack(1000, Fluids.BITUMEN))); recipes.add(new ChemRecipe("ASPHALT", 100) diff --git a/src/main/java/com/hbm/inventory/recipes/MachineRecipes.java b/src/main/java/com/hbm/inventory/recipes/MachineRecipes.java index 41ba799d6..3742a1a5a 100644 --- a/src/main/java/com/hbm/inventory/recipes/MachineRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/MachineRecipes.java @@ -11,8 +11,10 @@ import com.hbm.interfaces.Spaghetti; import com.hbm.inventory.FluidContainer; import com.hbm.inventory.FluidContainerRegistry; import com.hbm.inventory.FluidStack; +import com.hbm.inventory.OreDictManager.DictFrame; import com.hbm.inventory.fluid.FluidType; import com.hbm.inventory.fluid.Fluids; +import com.hbm.items.ItemEnums.EnumTarType; import com.hbm.items.ModItems; import com.hbm.items.machine.ItemChemistryTemplate; import com.hbm.items.machine.ItemFluidIcon; @@ -1162,7 +1164,7 @@ public class MachineRecipes { Map recipes = new HashMap(); for(int i = 0; i < Fluids.getAll().length; i++) { - Object[] outs = getBoilerOutput(FluidType.getEnum(i)); + Object[] outs = getBoilerOutput(Fluids.fromID(i)); if(outs != null) { @@ -1664,43 +1666,43 @@ public class MachineRecipes { case CIRCUIT_5: output[0] = new ItemStack(ModItems.circuit_schrabidium, 1); break; - case SF_OIL: - output[0] = new ItemStack(ModItems.oil_tar, 1); - output[1] = new ItemStack(ModItems.oil_tar, 1); + case SF_OIL: + output[0] = DictFrame.fromOne(ModItems.oil_tar, EnumTarType.CRUDE); + output[1] = DictFrame.fromOne(ModItems.oil_tar, EnumTarType.CRUDE); break; - case SF_HEAVYOIL: - output[0] = new ItemStack(ModItems.oil_tar, 1); - output[1] = new ItemStack(ModItems.oil_tar, 1); + case SF_HEAVYOIL: + output[0] = DictFrame.fromOne(ModItems.oil_tar, EnumTarType.CRUDE); + output[1] = DictFrame.fromOne(ModItems.oil_tar, EnumTarType.CRUDE); break; - case SF_SMEAR: + case SF_SMEAR: output[0] = new ItemStack(ModItems.solid_fuel, 1); output[1] = new ItemStack(ModItems.solid_fuel, 1); break; - case SF_HEATINGOIL: + case SF_HEATINGOIL: output[0] = new ItemStack(ModItems.solid_fuel, 1); output[1] = new ItemStack(ModItems.solid_fuel, 1); break; - case SF_RECLAIMED: + case SF_RECLAIMED: output[0] = new ItemStack(ModItems.solid_fuel, 1); output[1] = new ItemStack(ModItems.solid_fuel, 1); break; - case SF_PETROIL: + case SF_PETROIL: output[0] = new ItemStack(ModItems.solid_fuel, 1); output[1] = new ItemStack(ModItems.solid_fuel, 1); break; - case SF_LUBRICANT: + case SF_LUBRICANT: output[0] = new ItemStack(ModItems.solid_fuel, 1); output[1] = new ItemStack(ModItems.solid_fuel, 1); break; - case SF_NAPHTHA: + case SF_NAPHTHA: output[0] = new ItemStack(ModItems.solid_fuel, 1); output[1] = new ItemStack(ModItems.solid_fuel, 1); break; - case SF_DIESEL: + case SF_DIESEL: output[0] = new ItemStack(ModItems.solid_fuel, 1); output[1] = new ItemStack(ModItems.solid_fuel, 1); break; - case SF_LIGHTOIL: + case SF_LIGHTOIL: output[0] = new ItemStack(ModItems.solid_fuel, 1); output[1] = new ItemStack(ModItems.solid_fuel, 1); break; @@ -1720,50 +1722,50 @@ public class MachineRecipes { output[0] = new ItemStack(ModItems.solid_fuel, 1); output[1] = new ItemStack(ModItems.solid_fuel, 1); break; - case SF_BIOFUEL: + case SF_BIOFUEL: output[0] = new ItemStack(ModItems.solid_fuel, 1); output[1] = new ItemStack(ModItems.solid_fuel, 1); break; - case POLYMER: + case POLYMER: output[0] = new ItemStack(ModItems.ingot_polymer, 1); - break; - case YELLOWCAKE: + break; + case YELLOWCAKE: output[0] = new ItemStack(ModItems.powder_yellowcake, 1); - break; - case UF6: + break; + case UF6: output[0] = new ItemStack(ModItems.sulfur, 2); break; - case DYN_SCHRAB: + case DYN_SCHRAB: output[0] = new ItemStack(ModItems.ingot_schrabidium, 1); output[1] = new ItemStack(ModItems.powder_desh, 12); output[2] = new ItemStack(ModItems.powder_desh_mix, 12); - break; - case DYN_EUPH: + break; + case DYN_EUPH: output[0] = new ItemStack(ModItems.nugget_euphemium, 12); output[1] = new ItemStack(ModItems.powder_schrabidium, 4); output[2] = new ItemStack(ModItems.powder_power, 4); - break; - case DYN_DNT: + break; + case DYN_DNT: output[0] = new ItemStack(ModItems.ingot_dineutronium, 1); output[1] = new ItemStack(ModItems.powder_euphemium, 8); output[2] = new ItemStack(ModItems.powder_nitan_mix, 8); - break; - case CORDITE: + break; + case CORDITE: output[0] = new ItemStack(ModItems.cordite, 4); - break; - case KEVLAR: + break; + case KEVLAR: output[0] = new ItemStack(ModItems.plate_kevlar, 4); - break; - case SOLID_FUEL: + break; + case SOLID_FUEL: output[0] = new ItemStack(ModItems.rocket_fuel, 4); - break; - case SATURN: + break; + case SATURN: output[0] = new ItemStack(ModItems.ingot_saturnite, 2); - break; - case BALEFIRE: + break; + case BALEFIRE: output[0] = new ItemStack(ModItems.powder_balefire, 1); - break; - case SCHRABIDATE: + break; + case SCHRABIDATE: output[0] = new ItemStack(ModItems.powder_schrabidate, 1); break; case COLTAN_CLEANING: diff --git a/src/main/java/com/hbm/inventory/recipes/PressRecipes.java b/src/main/java/com/hbm/inventory/recipes/PressRecipes.java index 5b0eb6820..9076afe63 100644 --- a/src/main/java/com/hbm/inventory/recipes/PressRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/PressRecipes.java @@ -49,7 +49,7 @@ public class PressRecipes { makeRecipe(StampType.FLAT, new ComparableStack(ModItems.pellet_coal), Items.diamond); makeRecipe(StampType.FLAT, new ComparableStack(ModItems.biomass), ModItems.biomass_compressed); makeRecipe(StampType.FLAT, new ComparableStack(ModItems.powder_lignite), ModItems.briquette_lignite); - makeRecipe(StampType.FLAT, new ComparableStack(ModItems.coke), ModItems.ingot_graphite); + makeRecipe(StampType.FLAT, new OreDictStack(ANY_COKE.gem()), ModItems.ingot_graphite); makeRecipe(StampType.FLAT, new ComparableStack(ModItems.meteorite_sword_reforged), ModItems.meteorite_sword_hardened); makeRecipe(StampType.PLATE, new OreDictStack(IRON.ingot()), ModItems.plate_iron); diff --git a/src/main/java/com/hbm/inventory/recipes/RefineryRecipes.java b/src/main/java/com/hbm/inventory/recipes/RefineryRecipes.java index 5c242f7a6..0e9f33531 100644 --- a/src/main/java/com/hbm/inventory/recipes/RefineryRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/RefineryRecipes.java @@ -54,6 +54,14 @@ public class RefineryRecipes { ItemFluidIcon.make(Fluids.PETROLEUM, oil_frac_petro * 10), new ItemStack(ModItems.sulfur, 1) }); + /*recipes.put(ItemFluidIcon.make(Fluids.HOTCRACKOIL, 1000), + new ItemStack[] { + ItemFluidIcon.make(Fluids.NAPHTHA_CRACK, oil_frac_heavy * 10), //fractionates into crack diesel and heating oil + ItemFluidIcon.make(Fluids.LIGHTOIL_CRACK, oil_frac_naph * 10), //fractionates into kerosene and petroleum + ItemFluidIcon.make(Fluids.AROMATICS, oil_frac_light * 10), //used for making bakelite and TNT + ItemFluidIcon.make(Fluids.UNSATURATEDS, oil_frac_petro * 10), //used for all sorts of things, can be processed into petroleum + DictFrame.fromOne(ModItems.coke, EnumCokeType.PETROLEUM) });*/ + return recipes; } diff --git a/src/main/java/com/hbm/inventory/recipes/ShredderRecipes.java b/src/main/java/com/hbm/inventory/recipes/ShredderRecipes.java index e435993b0..a584ef210 100644 --- a/src/main/java/com/hbm/inventory/recipes/ShredderRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/ShredderRecipes.java @@ -78,7 +78,14 @@ public class ShredderRecipes { int len = prefix.length(); if(name.length() > len && name.substring(0, len).equals(prefix)) { - ItemStack dust = getDustByName(name.substring(len)); + + String matName = name.substring(len); + + //skip over genericized names so we don't accidentally convert item groups + if(matName.startsWith("Any")) + return; + + ItemStack dust = getDustByName(matName); if(dust != null && dust.getItem() != ModItems.scrap) { diff --git a/src/main/java/com/hbm/inventory/recipes/anvil/AnvilRecipes.java b/src/main/java/com/hbm/inventory/recipes/anvil/AnvilRecipes.java index c127daa1e..9027d913b 100644 --- a/src/main/java/com/hbm/inventory/recipes/anvil/AnvilRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/anvil/AnvilRecipes.java @@ -213,7 +213,7 @@ public class AnvilRecipes { constructionRecipes.add(new AnvilConstructionRecipe( new AStack[] { - new OreDictStack(KEY_ANYCONCRETE, 2), + new OreDictStack(ANY_CONCRETE.any(), 2), new ComparableStack(ModBlocks.steel_scaffold, 8), new ComparableStack(ModItems.plate_polymer, 8), new ComparableStack(ModItems.coil_copper, 4) @@ -222,7 +222,7 @@ public class AnvilRecipes { constructionRecipes.add(new AnvilConstructionRecipe( new AStack[] { - new OreDictStack(KEY_ANYCONCRETE, 6), + new OreDictStack(ANY_CONCRETE.any(), 6), new OreDictStack(STEEL.ingot(), 4), new ComparableStack(ModBlocks.steel_scaffold, 2), new ComparableStack(ModItems.plate_polymer, 8), diff --git a/src/main/java/com/hbm/items/ItemEnums.java b/src/main/java/com/hbm/items/ItemEnums.java new file mode 100644 index 000000000..128d0e906 --- /dev/null +++ b/src/main/java/com/hbm/items/ItemEnums.java @@ -0,0 +1,21 @@ +package com.hbm.items; + +/** + * I'm not at all sure if bunching together all these enums in one long class is a good idea + * but I don't want to make a new class for every multi item to hold the enum + * since that's entirely against the point of ItemEnumMulti to begin with. + * @author hbm + */ +public class ItemEnums { + + public static enum EnumCokeType { + COAL, + LIGNITE, + PETROLEUM + } + + public static enum EnumTarType { + CRUDE, + CRACK + } +} diff --git a/src/main/java/com/hbm/items/ModItems.java b/src/main/java/com/hbm/items/ModItems.java index 64d9d02fd..ed0ce8337 100644 --- a/src/main/java/com/hbm/items/ModItems.java +++ b/src/main/java/com/hbm/items/ModItems.java @@ -2679,12 +2679,12 @@ public class ModItems { plate_armor_fau = new Item().setUnlocalizedName("plate_armor_fau").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":plate_armor_fau"); plate_armor_dnt = new Item().setUnlocalizedName("plate_armor_dnt").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":plate_armor_dnt"); - oil_tar = new Item().setUnlocalizedName("oil_tar").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":oil_tar"); + oil_tar = new ItemEnumMulti(ItemEnums.EnumTarType.class, true, true).setUnlocalizedName("oil_tar").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":oil_tar"); solid_fuel = new Item().setUnlocalizedName("solid_fuel").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":solid_fuel"); solid_fuel_presto = new Item().setUnlocalizedName("solid_fuel_presto").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":solid_fuel_presto"); solid_fuel_presto_triplet = new Item().setUnlocalizedName("solid_fuel_presto_triplet").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":solid_fuel_presto_triplet"); rocket_fuel = new Item().setUnlocalizedName("rocket_fuel").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":rocket_fuel"); - coke = new Item().setUnlocalizedName("coke").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":coke"); + coke = new ItemEnumMulti(ItemEnums.EnumCokeType.class, true, true).setUnlocalizedName("coke").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":coke"); lignite = new Item().setUnlocalizedName("lignite").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":lignite"); briquette_lignite = new Item().setUnlocalizedName("briquette_lignite").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":briquette_lignite"); powder_lignite = new Item().setUnlocalizedName("powder_lignite").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_lignite"); diff --git a/src/main/java/com/hbm/main/CraftingManager.java b/src/main/java/com/hbm/main/CraftingManager.java index e100f946e..55973cd64 100644 --- a/src/main/java/com/hbm/main/CraftingManager.java +++ b/src/main/java/com/hbm/main/CraftingManager.java @@ -391,7 +391,7 @@ public class CraftingManager { addRecipeAuto(new ItemStack(Item.getItemFromBlock(ModBlocks.reinforced_brick), 4), new Object[] { "FBF", "BFB", "FBF", 'F', Blocks.iron_bars, 'B', ModBlocks.brick_concrete }); - addRecipeAuto(new ItemStack(Item.getItemFromBlock(ModBlocks.brick_compound), 4), new Object[] { "FBF", "BTB", "FBF", 'F', ModItems.bolt_tungsten, 'B', ModBlocks.reinforced_brick, 'T', ModItems.oil_tar }); + addRecipeAuto(new ItemStack(Item.getItemFromBlock(ModBlocks.brick_compound), 4), new Object[] { "FBF", "BTB", "FBF", 'F', ModItems.bolt_tungsten, 'B', ModBlocks.reinforced_brick, 'T', ANY_TAR.any() }); addRecipeAuto(new ItemStack(Item.getItemFromBlock(ModBlocks.reinforced_glass), 4), new Object[] { "FBF", "BFB", "FBF", 'F', Blocks.iron_bars, 'B', Blocks.glass }); addRecipeAuto(new ItemStack(Item.getItemFromBlock(ModBlocks.reinforced_light), 1), new Object[] { "FFF", "FBF", "FFF", 'F', Blocks.iron_bars, 'B', Blocks.glowstone }); addRecipeAuto(new ItemStack(Item.getItemFromBlock(ModBlocks.reinforced_lamp_off), 1), new Object[] { "FFF", "FBF", "FFF", 'F', Blocks.iron_bars, 'B', Blocks.redstone_lamp }); @@ -665,7 +665,7 @@ public class CraftingManager { addRecipeAuto(new ItemStack(Blocks.torch, 3), new Object[] { "L", "S", 'L', LIGNITE.gem(), 'S', KEY_STICK }); addRecipeAuto(new ItemStack(Blocks.torch, 6), new Object[] { "L", "S", 'L', ModItems.briquette_lignite, 'S', KEY_STICK }); - addRecipeAuto(new ItemStack(Blocks.torch, 8), new Object[] { "L", "S", 'L', ModItems.coke, 'S', KEY_STICK }); + addRecipeAuto(new ItemStack(Blocks.torch, 8), new Object[] { "L", "S", 'L', ANY_COKE.gem(), 'S', KEY_STICK }); addRecipeAuto(new ItemStack(ModBlocks.machine_missile_assembly, 1), new Object[] { "PWP", "SSS", "CCC", 'P', ModItems.pedestal_steel, 'W', ModItems.wrench, 'S', STEEL.plate(), 'C', ModBlocks.steel_scaffold }); addRecipeAuto(new ItemStack(ModBlocks.struct_launcher, 4), new Object[] { "PPP", "SDS", "CCC", 'P', STEEL.plate(), 'S', ModBlocks.steel_scaffold, 'D', ModBlocks.deco_pipe_quad, 'C', ModBlocks.concrete_smooth }); @@ -720,8 +720,8 @@ public class CraftingManager { addRecipeAuto(new ItemStack(ModBlocks.dfc_stabilizer, 1), new Object[] { "SDS", "TXL", "SDS", 'S', OSMIRIDIUM.ingot(), 'D', ModItems.plate_desh, 'T', ModItems.singularity_spark, 'X', ModItems.magnet_circular, 'L', ModItems.crystal_xen }); addRecipeAuto(new ItemStack(ModBlocks.barrel_plastic, 1), new Object[] { "IPI", "I I", "IPI", 'I', ModItems.plate_polymer, 'P', AL.plate() }); addRecipeAuto(new ItemStack(ModBlocks.barrel_iron, 1), new Object[] { "IPI", "I I", "IPI", 'I', IRON.plate(), 'P', IRON.ingot() }); - addShapelessAuto(new ItemStack(ModBlocks.barrel_iron, 1), new Object[] { ModBlocks.barrel_corroded, ModItems.oil_tar }); - addRecipeAuto(new ItemStack(ModBlocks.barrel_steel, 1), new Object[] { "IPI", "ITI", "IPI", 'I', STEEL.plate(), 'P', STEEL.ingot(), 'T', ModItems.oil_tar }); + addShapelessAuto(new ItemStack(ModBlocks.barrel_iron, 1), new Object[] { ModBlocks.barrel_corroded, ANY_TAR.any() }); + addRecipeAuto(new ItemStack(ModBlocks.barrel_steel, 1), new Object[] { "IPI", "ITI", "IPI", 'I', STEEL.plate(), 'P', STEEL.ingot(), 'T', ANY_TAR.any() }); addRecipeAuto(new ItemStack(ModBlocks.barrel_tcalloy, 1), new Object[] { "IPI", "I I", "IPI", 'I', "ingotTcAlloy", 'P', TI.plate() }); addRecipeAuto(new ItemStack(ModBlocks.barrel_antimatter, 1), new Object[] { "IPI", "IBI", "IPI", 'I', BIGMT.plate(), 'P', ModItems.coil_advanced_torus, 'B', ModItems.battery_sc_technetium }); addRecipeAuto(new ItemStack(ModBlocks.tesla, 1), new Object[] { "CCC", "PIP", "WTW", 'C', ModItems.coil_copper, 'I', IRON.ingot(), 'P', POLYMER.ingot(), 'T', ModBlocks.machine_transformer, 'W', KEY_PLANKS }); @@ -840,7 +840,7 @@ public class CraftingManager { addRecipeAuto(new ItemStack(ModBlocks.deco_pipe_framed_marked, 8), new Object[] { "PPP", "PCP", "PPP", 'P', ModBlocks.deco_pipe_framed_green, 'C', KEY_GREEN }); addRecipeAuto(new ItemStack(Items.name_tag), new Object[] { "SB ", "BPB", " BP", 'S', Items.string, 'B', KEY_SLIME, 'P', Items.paper }); - addRecipeAuto(new ItemStack(Items.name_tag), new Object[] { "SB ", "BPB", " BP", 'S', Items.string, 'B', ModItems.oil_tar, 'P', Items.paper }); + addRecipeAuto(new ItemStack(Items.name_tag), new Object[] { "SB ", "BPB", " BP", 'S', Items.string, 'B', ANY_TAR.any(), 'P', Items.paper }); addRecipeAuto(new ItemStack(ModItems.rag, 4), new Object[] { "SW", "WS", 'S', Items.string, 'W', Blocks.wool }); addRecipeAuto(new ItemStack(ModBlocks.machine_condenser), new Object[] { "SIS", "ICI", "SIS", 'S', STEEL.ingot(), 'I', IRON.plate(), 'C', ModItems.board_copper }); diff --git a/src/main/java/com/hbm/tileentity/TileEntityProxyBase.java b/src/main/java/com/hbm/tileentity/TileEntityProxyBase.java index 232f38ea3..c1f3c07f7 100644 --- a/src/main/java/com/hbm/tileentity/TileEntityProxyBase.java +++ b/src/main/java/com/hbm/tileentity/TileEntityProxyBase.java @@ -26,7 +26,7 @@ public class TileEntityProxyBase extends TileEntity { TileEntity te = worldObj.getTileEntity(pos[0], pos[1], pos[2]); - if(te != null) + if(te != null && te != this) return te; } } diff --git a/src/main/resources/assets/hbm/textures/items/coke.png b/src/main/resources/assets/hbm/textures/items/coke.coal.png similarity index 100% rename from src/main/resources/assets/hbm/textures/items/coke.png rename to src/main/resources/assets/hbm/textures/items/coke.coal.png diff --git a/src/main/resources/assets/hbm/textures/items/coke.lignite.png b/src/main/resources/assets/hbm/textures/items/coke.lignite.png new file mode 100644 index 0000000000000000000000000000000000000000..a0968330a148552e994543ba24f13954d8fbc682 GIT binary patch literal 485 zcmVO0Te~KzFOebT$+tK24%C=#C0rN?G`}}Bn7X=W zGMkP$eD{{wbc{jyHi$4N^|jSIkQ87g+bKkVW~{T zmRJJud`|I}MFub$jfmqIYk%n{DwM3l=zPeEbyy-85eobPq%9ouh7v^)*4mqy!1a#> zMwG{mI>nn-Cf_f3|9Oz^#GU2X4IAotUYeg@j7U^iA|wij$7h*4x!biHHd4of-tgYP b@XzrR=Glx89a&z=00000NkvXXu0mjfz46tk literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/items/coke.petroleum.png b/src/main/resources/assets/hbm/textures/items/coke.petroleum.png new file mode 100644 index 0000000000000000000000000000000000000000..051523985898aa0327d634e1b93bb69d3113740f GIT binary patch literal 476 zcmV<20VDp2P)A$KW@fX)W(k^|4o2U;l4Vmor4}y4($b1A=?G&?-4K44(BB(0hQk9qr53e{<;VO8 z=Y(#z3xMzYq-n~_Pg%7S=ayr8bFB>9LDjG{O;5cqi)#S@TS=!p>GoN{KaZa$jK!ZO SUnQvk0000_ literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/items/oil_tar.crack.png b/src/main/resources/assets/hbm/textures/items/oil_tar.crack.png new file mode 100644 index 0000000000000000000000000000000000000000..c9a7b481960fabe0a19327217f5eacd5bded4660 GIT binary patch literal 414 zcmV;P0b%}$P)Lc2mpX-E zDpVE(Wvg4dN=1hVo1G3TinevG2gC4YzVDm&zBlk^LlnlcFo5|D7YRFDUcwZMWweIc zd4s!q2j36JT0gvwC>RV}M8RUznyF~K1F$epUQc3-u_k1%-$ew{=`~`pIFC<#J~g!4 zjsYSw0-GD-(tS8MI7Dj@fkYxjuQ$N9VKo(}TCGjmp9pMaF}uYwZpTGy*xxImeQ=y0 zw`~FuD-eDEnDanXAQx3|by25MIYbm>){|s1Nunya6B%RYO%#FKRs+Tcmi9^vJr@x; zIX*%Z