From 9eb47c32192d3e8ef98fd6d8eb67b9c9e0c7a938 Mon Sep 17 00:00:00 2001 From: Bob Date: Thu, 27 Oct 2022 23:17:11 +0200 Subject: [PATCH] better smelting with flux --- src/main/java/com/hbm/crafting/PowderRecipes.java | 7 +++++++ .../java/com/hbm/inventory/OreDictManager.java | 1 + .../hbm/inventory/material/MatDistribution.java | 5 +++++ src/main/java/com/hbm/inventory/material/Mats.java | 4 ++++ .../com/hbm/inventory/recipes/CrucibleRecipes.java | 14 ++++++++++++++ src/main/java/com/hbm/items/ModItems.java | 3 +++ .../machine/TileEntityFoundryOutlet.java | 1 + src/main/resources/assets/hbm/lang/de_DE.lang | 7 +++++++ src/main/resources/assets/hbm/lang/en_US.lang | 7 +++++++ 9 files changed, 49 insertions(+) diff --git a/src/main/java/com/hbm/crafting/PowderRecipes.java b/src/main/java/com/hbm/crafting/PowderRecipes.java index c1c872e9f..e4aa87223 100644 --- a/src/main/java/com/hbm/crafting/PowderRecipes.java +++ b/src/main/java/com/hbm/crafting/PowderRecipes.java @@ -61,5 +61,12 @@ public class PowderRecipes { //CraftingManager.addShapelessAuto(new ItemStack(ModItems.powder_dura_steel, 2), new Object[] { STEEL.dust(), CO.dust() }); //CraftingManager.addShapelessAuto(new ItemStack(ModItems.powder_dura_steel, 4), new Object[] { IRON.dust(), COAL.dust(), W.dust(), W.dust() }); //CraftingManager.addShapelessAuto(new ItemStack(ModItems.powder_dura_steel, 4), new Object[] { IRON.dust(), COAL.dust(), CO.dust(), CO.dust() }); + + CraftingManager.addShapelessAuto(new ItemStack(ModItems.powder_flux, 1), new Object[] { new ItemStack(Items.coal, 1, 1), KEY_SAND }); + CraftingManager.addShapelessAuto(new ItemStack(ModItems.powder_flux, 2), new Object[] { COAL.dust(), KEY_SAND }); + CraftingManager.addShapelessAuto(new ItemStack(ModItems.powder_flux, 4), new Object[] { F.dust(), KEY_SAND }); + CraftingManager.addShapelessAuto(new ItemStack(ModItems.powder_flux, 8), new Object[] { PB.dust(), S.dust(), KEY_SAND }); + CraftingManager.addShapelessAuto(new ItemStack(ModItems.powder_flux, 16), new Object[] { BORAX.dust(), KEY_SAND }); + } } diff --git a/src/main/java/com/hbm/inventory/OreDictManager.java b/src/main/java/com/hbm/inventory/OreDictManager.java index 3a8811b87..04777ef6a 100644 --- a/src/main/java/com/hbm/inventory/OreDictManager.java +++ b/src/main/java/com/hbm/inventory/OreDictManager.java @@ -53,6 +53,7 @@ public class OreDictManager { public static final String KEY_SLAB = "slabWood"; public static final String KEY_LEAVES = "treeLeaves"; public static final String KEY_SAPLING = "treeSapling"; + public static final String KEY_SAND = "sand"; public static final String KEY_BLACK = "dyeBlack"; public static final String KEY_RED = "dyeRed"; diff --git a/src/main/java/com/hbm/inventory/material/MatDistribution.java b/src/main/java/com/hbm/inventory/material/MatDistribution.java index 86249fa44..0544c6ea0 100644 --- a/src/main/java/com/hbm/inventory/material/MatDistribution.java +++ b/src/main/java/com/hbm/inventory/material/MatDistribution.java @@ -81,6 +81,11 @@ public class MatDistribution extends SerializableRecipe { registerOre(OreDictManager.BE.ore(), MAT_BERYLLIUM, INGOT.q(2), MAT_STONE, QUART.q(1)); registerOre(OreDictManager.CO.ore(), MAT_COBALT, INGOT.q(1), MAT_STONE, QUART.q(1)); registerOre(OreDictManager.REDSTONE.ore(), MAT_REDSTONE, INGOT.q(4), MAT_STONE, QUART.q(1)); + + registerOre(OreDictManager.HEMATITE.ore(), MAT_HEMATITE, INGOT.q(3)); + registerOre(OreDictManager.MALACHITE.ore(), MAT_MALACHITE, INGOT.q(3)); + + registerEntry(ModItems.powder_flux, MAT_FLUX, DUST.q(1)); } public static void registerEntry(Object key, Object... matDef) { diff --git a/src/main/java/com/hbm/inventory/material/Mats.java b/src/main/java/com/hbm/inventory/material/Mats.java index 4ede40047..e6966d34c 100644 --- a/src/main/java/com/hbm/inventory/material/Mats.java +++ b/src/main/java/com/hbm/inventory/material/Mats.java @@ -57,6 +57,8 @@ public class Mats { public static final NTMMaterial MAT_GOLD = makeSmeltable(7900, GOLD, 0xE8D754).omitAutoGen(); public static final NTMMaterial MAT_REDSTONE = makeSmeltable(_VS + 01, REDSTONE, 0xFF1000).omitAutoGen(); public static final NTMMaterial MAT_OBSIDIAN = makeSmeltable(_VS + 02, df("Obsidian"), 0x3D234D).omitAutoGen(); + public static final NTMMaterial MAT_HEMATITE = makeAdditive( 2601, HEMATITE, 0x6E463D); + public static final NTMMaterial MAT_MALACHITE = makeAdditive( 2901, MALACHITE, 0x61AF87); //Radioactive public static final NTMMaterial MAT_URANIUM = makeSmeltable(9200, U, 0x9AA196).setShapes(NUGGET, BILLET, INGOT, DUST, BLOCK); @@ -112,6 +114,8 @@ public class Mats { public static final NTMMaterial MAT_FERRO = makeSmeltable(_AS + 7, FERRO, 0x6B6B8B).setShapes(INGOT); public static final NTMMaterial MAT_MAGTUNG = makeSmeltable(_AS + 8, MAGTUNG, 0x22A2A2).setShapes(INGOT, DUST, BLOCK); public static final NTMMaterial MAT_CMB = makeSmeltable(_AS + 9, CMB, 0x6F6FB4).setShapes(INGOT, DUST, PLATE, BLOCK); + public static final NTMMaterial MAT_FLUX = makeAdditive(_AS + 10, df("Flux"), 0xDECCAD).setShapes(DUST); + public static final NTMMaterial MAT_SLAG = makeAdditive(_AS + 11, df("Slag"), 0x6C6562).setShapes(BLOCK); public static NTMMaterial make(int id, DictFrame dict) { return new NTMMaterial(id, dict); diff --git a/src/main/java/com/hbm/inventory/recipes/CrucibleRecipes.java b/src/main/java/com/hbm/inventory/recipes/CrucibleRecipes.java index b534b912e..88e5d83bf 100644 --- a/src/main/java/com/hbm/inventory/recipes/CrucibleRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/CrucibleRecipes.java @@ -10,7 +10,9 @@ import com.google.gson.JsonArray; import com.google.gson.JsonElement; import com.google.gson.JsonObject; import com.google.gson.stream.JsonWriter; +import com.hbm.blocks.BlockEnums.EnumStoneType; import com.hbm.blocks.ModBlocks; +import com.hbm.inventory.OreDictManager.DictFrame; import com.hbm.inventory.RecipesCommon.AStack; import com.hbm.inventory.RecipesCommon.ComparableStack; import com.hbm.inventory.RecipesCommon.OreDictStack; @@ -49,6 +51,18 @@ public class CrucibleRecipes extends SerializableRecipe { .inputs(new MaterialStack(Mats.MAT_IRON, n), new MaterialStack(Mats.MAT_COAL, n)) .outputs(new MaterialStack(Mats.MAT_STEEL, n))); + recipes.add(new CrucibleRecipe(6, "crucible.steel_flux", 9, new ItemStack(ModItems.ingot_steel)) + .inputs(new MaterialStack(Mats.MAT_IRON, i), new MaterialStack(Mats.MAT_COAL, n * 4), new MaterialStack(Mats.MAT_FLUX, n)) + .outputs(new MaterialStack(Mats.MAT_STEEL, i))); + + recipes.add(new CrucibleRecipe(7, "crucible.hematite", 9, DictFrame.fromOne(ModBlocks.stone_resource, EnumStoneType.HEMATITE)) + .inputs(new MaterialStack(Mats.MAT_HEMATITE, i), new MaterialStack(Mats.MAT_FLUX, n)) + .outputs(new MaterialStack(Mats.MAT_IRON, i))); + + recipes.add(new CrucibleRecipe(8, "crucible.malachite", 9, DictFrame.fromOne(ModBlocks.stone_resource, EnumStoneType.MALACHITE)) + .inputs(new MaterialStack(Mats.MAT_MALACHITE, i), new MaterialStack(Mats.MAT_FLUX, n)) + .outputs(new MaterialStack(Mats.MAT_COPPER, i))); + recipes.add(new CrucibleRecipe(1, "crucible.redcopper", 2, new ItemStack(ModItems.ingot_red_copper)) .inputs(new MaterialStack(Mats.MAT_COPPER, n), new MaterialStack(Mats.MAT_REDSTONE, n)) .outputs(new MaterialStack(Mats.MAT_MINGRADE, n * 2))); diff --git a/src/main/java/com/hbm/items/ModItems.java b/src/main/java/com/hbm/items/ModItems.java index 60ab4e35a..b0b5c08ac 100644 --- a/src/main/java/com/hbm/items/ModItems.java +++ b/src/main/java/com/hbm/items/ModItems.java @@ -497,6 +497,7 @@ public class ModItems { public static Item powder_cloud; public static Item powder_balefire; public static Item powder_sawdust; + public static Item powder_flux; public static Item fragment_neodymium; public static Item fragment_cobalt; @@ -3018,6 +3019,7 @@ public class ModItems { powder_cloud = new Item().setUnlocalizedName("powder_cloud").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_cloud"); powder_balefire = new Item().setUnlocalizedName("powder_balefire").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_balefire"); powder_sawdust = new Item().setUnlocalizedName("powder_sawdust").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_sawdust"); + powder_flux = new Item().setUnlocalizedName("powder_flux").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_flux"); powder_coltan_ore = new Item().setUnlocalizedName("powder_coltan_ore").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_coltan_ore"); powder_coltan = new Item().setUnlocalizedName("powder_coltan").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_coltan"); powder_tektite = new Item().setUnlocalizedName("powder_tektite").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_tektite"); @@ -6019,6 +6021,7 @@ public class ModItems { GameRegistry.registerItem(powder_magic, powder_magic.getUnlocalizedName()); GameRegistry.registerItem(powder_cloud, powder_cloud.getUnlocalizedName()); GameRegistry.registerItem(powder_sawdust, powder_sawdust.getUnlocalizedName()); + GameRegistry.registerItem(powder_flux, powder_flux.getUnlocalizedName()); GameRegistry.registerItem(powder_balefire, powder_balefire.getUnlocalizedName()); GameRegistry.registerItem(powder_semtex_mix, powder_semtex_mix.getUnlocalizedName()); GameRegistry.registerItem(powder_desh_mix, powder_desh_mix.getUnlocalizedName()); diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityFoundryOutlet.java b/src/main/java/com/hbm/tileentity/machine/TileEntityFoundryOutlet.java index 484375a16..d1acabcd5 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityFoundryOutlet.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityFoundryOutlet.java @@ -45,6 +45,7 @@ public class TileEntityFoundryOutlet extends TileEntityFoundryBase { if(filter != null && filter != stack.material) return false; if(isClosed()) return false; + if(side != ForgeDirection.getOrientation(this.getBlockMetadata()).getOpposite()) return false; Vec3 start = Vec3.createVectorHelper(x + 0.5, y - 0.125, z + 0.5); Vec3 end = Vec3.createVectorHelper(x + 0.5, y + 0.125 - 4, z + 0.5); diff --git a/src/main/resources/assets/hbm/lang/de_DE.lang b/src/main/resources/assets/hbm/lang/de_DE.lang index 030295584..964cb6045 100644 --- a/src/main/resources/assets/hbm/lang/de_DE.lang +++ b/src/main/resources/assets/hbm/lang/de_DE.lang @@ -662,11 +662,13 @@ hbmmat.euphemium=Euphemium hbmmat.ferrouranium=Ferrouran hbmmat.fiberglass=Fiberglas hbmmat.fluorite=Fluorit +hbmmat.flux=Flussmittel hbmmat.ghiorsium336=Ghiorsium-336 hbmmat.gold=Gold hbmmat.gold198=Gold-198 hbmmat.graphene=Graphen hbmmat.graphite=Graphit +hbmmat.hematite=Hämatit hbmmat.iron=Eisen hbmmat.lapis=Lapis Lazuli hbmmat.lead=Blei @@ -675,6 +677,7 @@ hbmmat.lignitecoke=Braunkohlekoks hbmmat.lignite=Braunkohle hbmmat.lithium=Lithium hbmmat.magnetizedtungsten=Magnetisierter Wolfram +hbmmat.malachite=Malachit hbmmat.mingrade=Minecraft-Kupfer hbmmat.neptunium237=Neptunium-237 hbmmat.niobium=Niob @@ -698,6 +701,7 @@ hbmmat.saturnite=Saturnit hbmmat.schrabidate=Eisenschrabidat hbmmat.schrabidium=Schrabidium hbmmat.schraranium=Schraranium +hbmmat.slag=Schlacke hbmmat.solinium=Solinium hbmmat.starmetal=Sternenmetall hbmmat.steel=Stahl @@ -2429,6 +2433,7 @@ item.powder_dura_steel.name=Schnellarbeitsstahlstaub item.powder_emerald.name=Smaragdstaub item.powder_euphemium.name=Euphemiumstaub item.powder_fire.name=Roter Phosphor +item.powder_flux.name=Flussmittel item.powder_gold.name=Goldstaub item.powder_i131.name=Iod-131-Staub item.powder_i131_tiny.name=Kleiner Haufen Iod-131-Staub @@ -3924,6 +3929,8 @@ tile.stone_depth_nether.name=Nether-Tiefenfels tile.stone_gneiss.name=Graphitschiefer tile.stone_porous.name=Poröser Stein tile.stone_resource.asbestos.name=Chrysotil +tile.stone_resource.hematite.name=Hämatit +tile.stone_resource.malachite.name=Malachit tile.stone_resource.sulfur.name=Schwefelhaltiger Stein tile.struct_iter_core.name=Fusionsreaktor-Kernkomponente tile.struct_launcher.name=Startrampe-Komponentenblock diff --git a/src/main/resources/assets/hbm/lang/en_US.lang b/src/main/resources/assets/hbm/lang/en_US.lang index 84d969081..14cc5391c 100644 --- a/src/main/resources/assets/hbm/lang/en_US.lang +++ b/src/main/resources/assets/hbm/lang/en_US.lang @@ -890,11 +890,13 @@ hbmmat.euphemium=Euphemium hbmmat.ferrouranium=Ferrouranium hbmmat.fiberglass=Fiberglass hbmmat.fluorite=Fluorite +hbmmat.flux=Flux hbmmat.ghiorsium336=Ghiorsium-336 hbmmat.gold=Gold hbmmat.gold198=Gold-198 hbmmat.graphene=Graphene hbmmat.graphite=Graphite +hbmmat.hematite=Hematite hbmmat.iron=Iron hbmmat.lapis=Lapis Lazuli hbmmat.lead=Lead @@ -903,6 +905,7 @@ hbmmat.lignitecoke=Lignite Coke hbmmat.lignite=Lignite hbmmat.lithium=Lithium hbmmat.magnetizedtungsten=Magnetized Tungsten +hbmmat.malachite=Malachite hbmmat.mingrade=Minecraft Grade Copper hbmmat.neptunium237=Neptunium-237 hbmmat.niobium=Niobium @@ -926,6 +929,7 @@ hbmmat.saturnite=Saturnite hbmmat.schrabidate=Ferric Schrabidate hbmmat.schrabidium=Schrabidium hbmmat.schraranium=Schraranium +hbmmat.slag=Slag hbmmat.solinium=Solinium hbmmat.starmetal=Starmetal hbmmat.steel=Steel @@ -2780,6 +2784,7 @@ item.powder_euphemium.name=Euphemium Powder item.powder_euphemium.desc=Pulverized pink.$Tastes like strawberries. item.powder_fire.name=Red Phosphorus item.powder_fire.desc=Used in multi purpose bombs:$Incendiary bombs are fun! +item.powder_flux.name=Flux item.powder_gold.name=Gold Powder item.powder_i131.name=Iodine-131 Powder item.powder_i131_tiny.name=Tiny Pile of Iodine-131 Powder @@ -4365,6 +4370,8 @@ tile.stone_depth_nether.name=Nether Depth Rock tile.stone_gneiss.name=Graphitic Schist tile.stone_porous.name=Porous Stone tile.stone_resource.asbestos.name=Chrysotile +tile.stone_resource.hematite.name=Hematite +tile.stone_resource.malachite.name=Malachite tile.stone_resource.sulfur.name=Sulfurous Stone tile.struct_iter_core.name=Fusion Reactor Core Component tile.struct_launcher.name=Launch Pad Component Block