From 31923311736232a429722667c1e1c7c5b423c96e Mon Sep 17 00:00:00 2001 From: Boblet Date: Tue, 7 Feb 2023 15:37:48 +0100 Subject: [PATCH] blood floats on blood, nitric acid ore processing chain --- .../hbm/inventory/FluidContainerRegistry.java | 1 + .../java/com/hbm/inventory/fluid/Fluids.java | 11 ++++- .../inventory/recipes/CentrifugeRecipes.java | 19 ++++++++ .../recipes/CrystallizerRecipes.java | 1 + src/main/java/com/hbm/items/ModItems.java | 13 +++++- .../com/hbm/items/special/ItemBedrockOre.java | 24 ++++++---- .../com/hbm/items/special/ItemByproduct.java | 42 ++++++++++++++++++ .../com/hbm/items/weapon/ItemGunBase.java | 4 +- src/main/java/com/hbm/util/ItemStackUtil.java | 6 +-- src/main/resources/assets/hbm/lang/de_DE.lang | 4 ++ src/main/resources/assets/hbm/lang/en_US.lang | 4 ++ .../assets/hbm/textures/gui/fluids/blood.png | Bin 0 -> 451 bytes .../hbm/textures/gui/fluids/hotblood.png | Bin 0 -> 451 bytes .../{byproduct_base.png => byproduct.png} | Bin .../hbm/textures/items/byproduct_base_alt.png | Bin 0 -> 268 bytes .../items/byproduct_base_clean_alt.png | Bin 0 -> 224 bytes .../hbm/textures/items/inf_antimatter.png | Bin 275 -> 0 bytes .../textures/items/inf_antischrabidium.png | Bin 275 -> 0 bytes .../assets/hbm/textures/items/inf_coolant.png | Bin 276 -> 0 bytes .../hbm/textures/items/inf_deuterium.png | Bin 287 -> 0 bytes .../assets/hbm/textures/items/inf_diesel.png | Bin 276 -> 0 bytes .../assets/hbm/textures/items/inf_sulfur.png | Bin 276 -> 0 bytes .../assets/hbm/textures/items/inf_tritium.png | Bin 288 -> 0 bytes .../hbm/textures/items/ore_deepcleaned.png | Bin 0 -> 430 bytes .../hbm/textures/items/ore_nitrated.png | Bin 0 -> 446 bytes .../textures/items/ore_nitrocrystalline.png | Bin 0 -> 448 bytes .../hbm/textures/models/tank/tank_BLOOD.png | Bin 0 -> 1189 bytes .../textures/models/tank/tank_HOTBLOOD.png | Bin 0 -> 1140 bytes 28 files changed, 113 insertions(+), 16 deletions(-) create mode 100644 src/main/java/com/hbm/items/special/ItemByproduct.java create mode 100644 src/main/resources/assets/hbm/textures/gui/fluids/blood.png create mode 100644 src/main/resources/assets/hbm/textures/gui/fluids/hotblood.png rename src/main/resources/assets/hbm/textures/items/{byproduct_base.png => byproduct.png} (100%) create mode 100644 src/main/resources/assets/hbm/textures/items/byproduct_base_alt.png create mode 100644 src/main/resources/assets/hbm/textures/items/byproduct_base_clean_alt.png delete mode 100644 src/main/resources/assets/hbm/textures/items/inf_antimatter.png delete mode 100644 src/main/resources/assets/hbm/textures/items/inf_antischrabidium.png delete mode 100644 src/main/resources/assets/hbm/textures/items/inf_coolant.png delete mode 100644 src/main/resources/assets/hbm/textures/items/inf_deuterium.png delete mode 100644 src/main/resources/assets/hbm/textures/items/inf_diesel.png delete mode 100644 src/main/resources/assets/hbm/textures/items/inf_sulfur.png delete mode 100644 src/main/resources/assets/hbm/textures/items/inf_tritium.png create mode 100644 src/main/resources/assets/hbm/textures/items/ore_deepcleaned.png create mode 100644 src/main/resources/assets/hbm/textures/items/ore_nitrated.png create mode 100644 src/main/resources/assets/hbm/textures/items/ore_nitrocrystalline.png create mode 100644 src/main/resources/assets/hbm/textures/models/tank/tank_BLOOD.png create mode 100644 src/main/resources/assets/hbm/textures/models/tank/tank_HOTBLOOD.png diff --git a/src/main/java/com/hbm/inventory/FluidContainerRegistry.java b/src/main/java/com/hbm/inventory/FluidContainerRegistry.java index 7b19e95d1..e97d74c01 100644 --- a/src/main/java/com/hbm/inventory/FluidContainerRegistry.java +++ b/src/main/java/com/hbm/inventory/FluidContainerRegistry.java @@ -62,6 +62,7 @@ public class FluidContainerRegistry { FluidContainerRegistry.registerContainer(new FluidContainer(new ItemStack(ModItems.particle_amat), new ItemStack(ModItems.particle_empty), Fluids.AMAT, 1000)); FluidContainerRegistry.registerContainer(new FluidContainer(new ItemStack(ModItems.particle_aschrab), new ItemStack(ModItems.particle_empty), Fluids.ASCHRAB, 1000)); + FluidContainerRegistry.registerContainer(new FluidContainer(new ItemStack(ModItems.iv_blood), new ItemStack(ModItems.iv_empty), Fluids.BLOOD, 100)); FluidContainerRegistry.registerContainer(new FluidContainer(new ItemStack(ModItems.iv_xp), new ItemStack(ModItems.iv_xp_empty), Fluids.XPJUICE, 100)); FluidContainerRegistry.registerContainer(new FluidContainer(new ItemStack(Items.experience_bottle), new ItemStack(Items.glass_bottle), Fluids.XPJUICE, 100)); diff --git a/src/main/java/com/hbm/inventory/fluid/Fluids.java b/src/main/java/com/hbm/inventory/fluid/Fluids.java index 925abbfe8..28236f736 100644 --- a/src/main/java/com/hbm/inventory/fluid/Fluids.java +++ b/src/main/java/com/hbm/inventory/fluid/Fluids.java @@ -98,6 +98,8 @@ public class Fluids { public static FluidType SEEDSLURRY; public static FluidType NITRIC_ACID; public static FluidType SOLVENT; //oranic solvent in fact + public static FluidType BLOOD; //BLOOD ORB! BLOOD ORB! BLOOD ORB! + public static FluidType BLOOD_HOT; private static final HashMap idMapping = new HashMap(); private static final HashMap nameMapping = new HashMap(); @@ -211,7 +213,9 @@ public class Fluids { COALCREOSOTE = new FluidType("COALCREOSOTE", 0x51694F, 3, 2, 0, EnumSymbol.NONE).addContainers(0x285A3F, ExtContainer.CANISTER).addTraits(LIQUID); SEEDSLURRY = new FluidType("SEEDSLURRY", 0x7CC35E, 0, 0, 0, EnumSymbol.NONE).addContainers(0x7CC35E, ExtContainer.CANISTER).addTraits(LIQUID); NITRIC_ACID = new FluidType("NITRIC_ACID", 0xBB7A1E, 3, 0, 2, EnumSymbol.OXIDIZER).addTraits(LIQUID, new FT_Corrosive(60)); - SOLVENT = new FluidType(83, "SOLVENT", 0xE4E3EF, 2, 3, 0, EnumSymbol.NONE).addContainers(0xE4E3EF, ExtContainer.CANISTER).addTraits(LIQUID); + SOLVENT = new FluidType("SOLVENT", 0xE4E3EF, 2, 3, 0, EnumSymbol.NONE).addContainers(0xE4E3EF, ExtContainer.CANISTER).addTraits(LIQUID); + BLOOD = new FluidType("BLOOD", 0xB22424, 0, 0, 0, EnumSymbol.NONE).addTraits(LIQUID); + BLOOD_HOT = new FluidType(85, "BLOOD_HOT", 0xE4E3EF, 3, 0, 0, EnumSymbol.NONE).addTraits(LIQUID).setTemp(666); //it's funny because it's the satan number // ^ ^ ^ ^ ^ ^ ^ ^ @@ -238,6 +242,8 @@ public class Fluids { metaOrder.add(CRYOGEL); metaOrder.add(MUG); metaOrder.add(MUG_HOT); + metaOrder.add(BLOOD); + metaOrder.add(BLOOD_HOT); //pure elements, cyogenic gasses metaOrder.add(HYDROGEN); metaOrder.add(DEUTERIUM); @@ -348,6 +354,9 @@ public class Fluids { MUG.addTraits(new FT_Heatable().setEff(HeatingType.HEATEXCHANGER, 1.0D).addStep(400, 1, MUG_HOT, 1)); MUG_HOT.addTraits(new FT_Coolable(MUG, 1, 1, 400).setEff(CoolingType.HEATEXCHANGER, 1.0D)); + BLOOD.addTraits(new FT_Heatable().setEff(HeatingType.HEATEXCHANGER, 1.0D).addStep(500, 1, BLOOD_HOT, 1)); + BLOOD_HOT.addTraits(new FT_Coolable(BLOOD, 1, 1, 500).setEff(CoolingType.HEATEXCHANGER, 1.0D)); + if(idMapping.size() != metaOrder.size()) { throw new IllegalStateException("A severe error has occoured during NTM's fluid registering process! The MetaOrder and Mappings are inconsistent! Mapping size: " + idMapping.size()+ " / MetaOrder size: " + metaOrder.size()); } diff --git a/src/main/java/com/hbm/inventory/recipes/CentrifugeRecipes.java b/src/main/java/com/hbm/inventory/recipes/CentrifugeRecipes.java index 67a0a2113..531b960aa 100644 --- a/src/main/java/com/hbm/inventory/recipes/CentrifugeRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/CentrifugeRecipes.java @@ -12,6 +12,7 @@ import com.google.gson.stream.JsonWriter; import com.hbm.blocks.ModBlocks; import com.hbm.config.GeneralConfig; import com.hbm.handler.imc.IMCCentrifuge; +import com.hbm.inventory.OreDictManager.DictFrame; import com.hbm.inventory.RecipesCommon; import com.hbm.inventory.RecipesCommon.AStack; import com.hbm.inventory.RecipesCommon.ComparableStack; @@ -19,7 +20,9 @@ import com.hbm.inventory.RecipesCommon.OreDictStack; import com.hbm.inventory.recipes.loader.SerializableRecipe; import com.hbm.items.ModItems; import com.hbm.items.special.ItemBedrockOre.EnumBedrockOre; +import com.hbm.items.special.ItemByproduct.EnumByproduct; import com.hbm.main.MainRegistry; +import com.hbm.util.ItemStackUtil; import net.minecraft.init.Blocks; import net.minecraft.init.Items; @@ -319,6 +322,22 @@ public class CentrifugeRecipes extends SerializableRecipe { new ItemStack(ModItems.ore_enriched, 1, i), new ItemStack(ModItems.ore_enriched, 1, i), new ItemStack(ModItems.ore_enriched, 1, i) }); + + EnumByproduct tier1 = ore.byproducts[0]; + ItemStack by1 = tier1 == null ? new ItemStack(ModItems.dust) : DictFrame.fromOne(ModItems.ore_byproduct, tier1, 2); + recipes.put(new ComparableStack(ModItems.ore_nitrated, 1, i), new ItemStack[] { + new ItemStack(ModItems.ore_nitrocrystalline, 2, i), + new ItemStack(ModItems.ore_nitrocrystalline, 2, i), + ItemStackUtil.carefulCopy(by1), + ItemStackUtil.carefulCopy(by1) }); + + EnumByproduct tier2 = ore.byproducts[1]; + ItemStack by2 = tier2 == null ? new ItemStack(ModItems.dust) : DictFrame.fromOne(ModItems.ore_byproduct, tier2, 2); + recipes.put(new ComparableStack(ModItems.ore_deepcleaned, 1, i), new ItemStack[] { + new ItemStack(ModItems.ore_enriched, 2, i), + new ItemStack(ModItems.ore_enriched, 2, i), + ItemStackUtil.carefulCopy(by2), + ItemStackUtil.carefulCopy(by2) }); } List quartz = OreDictionary.getOres("crystalCertusQuartz"); diff --git a/src/main/java/com/hbm/inventory/recipes/CrystallizerRecipes.java b/src/main/java/com/hbm/inventory/recipes/CrystallizerRecipes.java index 08ff7960d..6e24257a6 100644 --- a/src/main/java/com/hbm/inventory/recipes/CrystallizerRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/CrystallizerRecipes.java @@ -96,6 +96,7 @@ public class CrystallizerRecipes { FluidStack nitric = new FluidStack(Fluids.NITRIC_ACID, 500); FluidStack organic = new FluidStack(Fluids.SOLVENT, 500); + int oreTime = 200; for(EnumBedrockOre ore : EnumBedrockOre.values()) { diff --git a/src/main/java/com/hbm/items/ModItems.java b/src/main/java/com/hbm/items/ModItems.java index 35759f309..5f00cc054 100644 --- a/src/main/java/com/hbm/items/ModItems.java +++ b/src/main/java/com/hbm/items/ModItems.java @@ -187,15 +187,17 @@ public class ModItems { public static Item ingot_mercury; //It's to prevent any ambiguity, as it was treated as a full ingot in the past anyway public static Item bottle_mercury; + public static Item ore_byproduct; //byproduct of variable purity and quantity, can be treated as a nugget, might require shredding or acidizing, depends on the type + public static Item ore_bedrock; public static Item ore_centrifuged; public static Item ore_cleaned; public static Item ore_separated; public static Item ore_purified; - public static Item ore_enriched; public static Item ore_nitrated; public static Item ore_nitrocrystalline; public static Item ore_deepcleaned; + public static Item ore_enriched; //final stage public static Item billet_uranium; public static Item billet_u233; @@ -2836,11 +2838,16 @@ public class ModItems { ingot_mercury = new ItemCustomLore().setUnlocalizedName("nugget_mercury").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nugget_mercury"); bottle_mercury = new ItemCustomLore().setUnlocalizedName("bottle_mercury").setContainerItem(Items.glass_bottle).setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":bottle_mercury"); + ore_byproduct = new ItemByproduct().setUnlocalizedName("ore_byproduct").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":byproduct"); + ore_bedrock = new ItemBedrockOre().setUnlocalizedName("ore_bedrock").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ore_bedrock"); ore_centrifuged = new ItemBedrockOre().setUnlocalizedName("ore_centrifuged").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ore_centrifuged"); ore_cleaned = new ItemBedrockOre().setUnlocalizedName("ore_cleaned").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ore_cleaned"); ore_separated = new ItemBedrockOre().setUnlocalizedName("ore_separated").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ore_separated"); ore_purified = new ItemBedrockOre().setUnlocalizedName("ore_purified").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ore_purified"); + ore_nitrated = new ItemBedrockOre().setUnlocalizedName("ore_nitrated").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ore_nitrated"); + ore_nitrocrystalline = new ItemBedrockOre().setUnlocalizedName("ore_nitrocrystalline").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ore_nitrocrystalline"); + ore_deepcleaned = new ItemBedrockOre().setUnlocalizedName("ore_deepcleaned").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ore_deepcleaned"); ore_enriched = new ItemBedrockOre().setUnlocalizedName("ore_enriched").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ore_enriched"); ingot_lanthanium = new ItemCustomLore().setUnlocalizedName("ingot_lanthanium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_lanthanium"); @@ -6139,7 +6146,11 @@ public class ModItems { GameRegistry.registerItem(ore_cleaned, ore_cleaned.getUnlocalizedName()); GameRegistry.registerItem(ore_separated, ore_separated.getUnlocalizedName()); GameRegistry.registerItem(ore_purified, ore_purified.getUnlocalizedName()); + GameRegistry.registerItem(ore_nitrated, ore_nitrated.getUnlocalizedName()); + GameRegistry.registerItem(ore_nitrocrystalline, ore_nitrocrystalline.getUnlocalizedName()); + GameRegistry.registerItem(ore_deepcleaned, ore_deepcleaned.getUnlocalizedName()); GameRegistry.registerItem(ore_enriched, ore_enriched.getUnlocalizedName()); + GameRegistry.registerItem(ore_byproduct, ore_byproduct.getUnlocalizedName()); //Crystals GameRegistry.registerItem(crystal_coal, crystal_coal.getUnlocalizedName()); diff --git a/src/main/java/com/hbm/items/special/ItemBedrockOre.java b/src/main/java/com/hbm/items/special/ItemBedrockOre.java index 2a8ec676c..567118a53 100644 --- a/src/main/java/com/hbm/items/special/ItemBedrockOre.java +++ b/src/main/java/com/hbm/items/special/ItemBedrockOre.java @@ -1,6 +1,8 @@ package com.hbm.items.special; import com.hbm.items.ItemEnumMulti; +import com.hbm.items.special.ItemByproduct.EnumByproduct; +import static com.hbm.items.special.ItemByproduct.EnumByproduct.*; import com.hbm.lib.RefStrings; import com.hbm.util.EnumUtil; @@ -75,21 +77,25 @@ public class ItemBedrockOre extends ItemEnumMulti { */ public static enum EnumBedrockOre { - IRON("Iron", 0xE2C0AA), //titanium, sulfur from pyrite - COPPER("Copper", 0xEC9A63), //sulfur sulfur sulfur sulfur - BORAX("Borax", 0xE4BE74), //calcium from ulexite, uhhh lithium? - ASBESTOS("Asbestos", 0xBFBFB9), //quartz i guess? - NIOBIUM("Niobium", 0xAF58D8), //iron in columbite, often found along tantalite - TITANIUM("Titanium", 0xF2EFE2), //titanite is titanium + calcium + silicon with traces of iron and aluminium - TUNGSTEN("Tungsten", 0x2C293C), //ferberite has iron, raspite has lead, russelite is bismuth tungsten - GOLD("Gold", 0xF9D738); //occours with copper, lead and rare bismuthide + //Ore Byproduct 1, 2, 3 + IRON("Iron", 0xE2C0AA, B_SULFUR, B_TITANIUM, B_TITANIUM), //titanium, sulfur from pyrite + COPPER("Copper", 0xEC9A63, B_SULFUR, B_SULFUR, B_SULFUR), //sulfur sulfur sulfur sulfur + BORAX("Borax", 0xE4BE74, B_LITHIUM, B_CALCIUM, B_CALCIUM), //calcium from ulexite, uhhh lithium? + ASBESTOS("Asbestos", 0xBFBFB9, B_SILICON, B_SILICON, B_SILICON), //quartz i guess? + NIOBIUM("Niobium", 0xAF58D8, B_IRON, B_IRON, B_IRON), //iron in columbite, often found along tantalite + TITANIUM("Titanium", 0xF2EFE2, B_SILICON, B_CALCIUM, B_ALUMINIUM), //titanite is titanium + calcium + silicon with traces of iron and aluminium + TUNGSTEN("Tungsten", 0x2C293C, B_LEAD, B_IRON, B_BISMUTH), //ferberite has iron, raspite has lead, russelite is bismuth tungsten + GOLD("Gold", 0xF9D738, B_LEAD, B_COPPER, B_BISMUTH); //occurs with copper, lead and rare bismuthide public String oreName; public int color; + public EnumByproduct[] byproducts; - private EnumBedrockOre(String name, int color) { + /** Byproduct count must be consistent with current tier count, use NULL if no byproduct should be generated! */ + private EnumBedrockOre(String name, int color, EnumByproduct... by) { this.oreName = name; this.color = color; + this.byproducts = by; } } } diff --git a/src/main/java/com/hbm/items/special/ItemByproduct.java b/src/main/java/com/hbm/items/special/ItemByproduct.java new file mode 100644 index 000000000..049c8f20e --- /dev/null +++ b/src/main/java/com/hbm/items/special/ItemByproduct.java @@ -0,0 +1,42 @@ +package com.hbm.items.special; + +import com.hbm.items.ItemEnumMulti; +import com.hbm.util.EnumUtil; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.item.ItemStack; + +public class ItemByproduct extends ItemEnumMulti { + + public ItemByproduct() { + super(EnumByproduct.class, true, false); + } + + @Override + @SideOnly(Side.CLIENT) + public int getColorFromItemStack(ItemStack stack, int pass) { + + EnumByproduct ore = EnumUtil.grabEnumSafely(EnumByproduct.class, stack.getItemDamage()); + return ore.color; + } + + public static enum EnumByproduct { + B_IRON(0xE2C0AA), + B_COPPER(0xEC9A63), + B_LITHIUM(0xEDEDED), + B_SILICON(0xFFFBD1), + B_LEAD(0x646470), + B_TITANIUM(0xF2EFE2), + B_ALUMINIUM(0xE8F2F9), + B_SULFUR(0xEAD377), + B_CALCIUM(0xCFCFA6), + B_BISMUTH(0x8D8577); + + public int color; + + private EnumByproduct(int color) { + this.color = color; + } + } +} diff --git a/src/main/java/com/hbm/items/weapon/ItemGunBase.java b/src/main/java/com/hbm/items/weapon/ItemGunBase.java index b60ec1d14..56bf55021 100644 --- a/src/main/java/com/hbm/items/weapon/ItemGunBase.java +++ b/src/main/java/com/hbm/items/weapon/ItemGunBase.java @@ -459,7 +459,9 @@ public class ItemGunBase extends Item implements IHoldableWeapon, IItemHUD, IEqu list.add(I18nUtil.resolveKey(HbmCollection.durability, dura + " / " + mainConfig.durability)); list.add(""); - list.add(I18nUtil.resolveKey(HbmCollection.gunName, I18nUtil.resolveKey("gun.name." + mainConfig.name))); + String unloc = "gun.name." + mainConfig.name; + String loc = I18nUtil.resolveKey(unloc); + list.add(I18nUtil.resolveKey(HbmCollection.gunName, unloc.equals(loc) ? mainConfig.name : loc)); list.add(I18nUtil.resolveKey(HbmCollection.gunMaker, I18nUtil.resolveKey(mainConfig.manufacturer.getKey()))); if(!mainConfig.comment.isEmpty()) { diff --git a/src/main/java/com/hbm/util/ItemStackUtil.java b/src/main/java/com/hbm/util/ItemStackUtil.java index a9f39c7f1..036df5e37 100644 --- a/src/main/java/com/hbm/util/ItemStackUtil.java +++ b/src/main/java/com/hbm/util/ItemStackUtil.java @@ -13,10 +13,8 @@ import net.minecraftforge.oredict.OreDictionary; public class ItemStackUtil { public static ItemStack carefulCopy(ItemStack stack) { - if(stack == null) - return null; - else - return stack.copy(); + if(stack == null) return null; + return stack.copy(); } public static ItemStack carefulCopyWithSize(ItemStack stack, int size) { diff --git a/src/main/resources/assets/hbm/lang/de_DE.lang b/src/main/resources/assets/hbm/lang/de_DE.lang index 659be366e..b7075b360 100644 --- a/src/main/resources/assets/hbm/lang/de_DE.lang +++ b/src/main/resources/assets/hbm/lang/de_DE.lang @@ -583,6 +583,8 @@ hbmfluid.balefire=BF-Raketentreibstoff hbmfluid.biofuel=Biodiesel hbmfluid.biogas=Biogas hbmfluid.bitumen=Bitumen +hbmfluid.blood=Blut +hbmfluid.blood_hot=Heißes Blut hbmfluid.carbondioxide=Kohlenstoffdioxid hbmfluid.coalcreosote=Kohleteer-Kreosot hbmfluid.coalgas=Kohlebenzin @@ -622,6 +624,7 @@ hbmfluid.mug_hot=Heißes Mug Root Beer hbmfluid.naphtha=Mitteldestillat hbmfluid.naphtha_crack=Crack-Mitteldestillat hbmfluid.nitan=NITAN© 100 Oktan Supertreibstoff +hbmfluid.nitric_acid=Salpetersäure hbmfluid.none=Nichts hbmfluid.oil=Rohöl hbmfluid.oxygen=Flüssiger Sauerstoff @@ -642,6 +645,7 @@ hbmfluid.sas3=Schrabidiumtrisulfat hbmfluid.schrabidic=Schrabidische Säure hbmfluid.seedslurry=Saatgemisch hbmfluid.smear=Industrieöl +hbmfluid.solvent=Lösungsmittel hbmfluid.spentsteam=Niedrigdruckdampf hbmfluid.steam=Dampf hbmfluid.sulfuric_acid=Schwefelsäure diff --git a/src/main/resources/assets/hbm/lang/en_US.lang b/src/main/resources/assets/hbm/lang/en_US.lang index 6ad1e9846..6a0599715 100644 --- a/src/main/resources/assets/hbm/lang/en_US.lang +++ b/src/main/resources/assets/hbm/lang/en_US.lang @@ -1177,6 +1177,8 @@ hbmfluid.balefire=BF Rocket Fuel hbmfluid.biofuel=Biofuel hbmfluid.biogas=Biogas hbmfluid.bitumen=Bitumen +hbmfluid.blood=Blood +hbmfluid.blood_hot=Hot Blood hbmfluid.carbondioxide=Carbon Dioxide hbmfluid.coalcreosote=Coal Tar Creosote hbmfluid.coalgas=Coal Gasoline @@ -1216,6 +1218,7 @@ hbmfluid.mug_hot=Hot Mug Root Beer hbmfluid.naphtha=Naphtha hbmfluid.naphtha_crack=Cracked Naphtha hbmfluid.nitan=NITAN© 100 Octane Super Fuel +hbmfluid.nitric_acid=Nitric Acid hbmfluid.none=None hbmfluid.oil=Crude Oil hbmfluid.oxygen=Liquid Oxygen @@ -1236,6 +1239,7 @@ hbmfluid.sas3=Schrabidium Trisulfide hbmfluid.schrabidic=Schrabidic Acid hbmfluid.seedslurry=Seeding Slurry hbmfluid.smear=Industrial Oil +hbmfluid.solvent=Solvent hbmfluid.spentsteam=Low-Pressure Steam hbmfluid.steam=Steam hbmfluid.sulfuric_acid=Sulfuric Acid diff --git a/src/main/resources/assets/hbm/textures/gui/fluids/blood.png b/src/main/resources/assets/hbm/textures/gui/fluids/blood.png new file mode 100644 index 0000000000000000000000000000000000000000..d0ec84ad93e538735a90d380876adab2ff469242 GIT binary patch literal 451 zcmV;!0X+VRP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D0a!^yK~y+TWz*S8 z1TheW;qG?d@InQ_TS4$my!F~g_Dw{@abHF~U#4ql^}s)!R4P@KRHnb`y6fj|p?UaR z44a0q7T9SenD2(eupRn~1mO4;e8KU1w3Upf^W~n^{JD+y5N_NAIrdk59eqHI&U?B0SgRf}5}DjS)*U0*nw`Ac{h zZTz*9ezlP*V==9wojFV|wH={kvCgbSYqhbSa{1K0e-Ejs7pDT7_1!=4Jhc9Y7VI)z t*vz2Lr_XBObSZ|Lj*a`pu002ovPDHLkV1oRO!=C^E literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/gui/fluids/hotblood.png b/src/main/resources/assets/hbm/textures/gui/fluids/hotblood.png new file mode 100644 index 0000000000000000000000000000000000000000..d0ec84ad93e538735a90d380876adab2ff469242 GIT binary patch literal 451 zcmV;!0X+VRP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D0a!^yK~y+TWz*S8 z1TheW;qG?d@InQ_TS4$my!F~g_Dw{@abHF~U#4ql^}s)!R4P@KRHnb`y6fj|p?UaR z44a0q7T9SenD2(eupRn~1mO4;e8KU1w3Upf^W~n^{JD+y5N_NAIrdk59eqHI&U?B0SgRf}5}DjS)*U0*nw`Ac{h zZTz*9ezlP*V==9wojFV|wH={kvCgbSYqhbSa{1K0e-Ejs7pDT7_1!=4Jhc9Y7VI)z t*vz2Lr_XBObSZ|Lj*a`pu002ovPDHLkV1oRO!=C^E literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/items/byproduct_base.png b/src/main/resources/assets/hbm/textures/items/byproduct.png similarity index 100% rename from src/main/resources/assets/hbm/textures/items/byproduct_base.png rename to src/main/resources/assets/hbm/textures/items/byproduct.png diff --git a/src/main/resources/assets/hbm/textures/items/byproduct_base_alt.png b/src/main/resources/assets/hbm/textures/items/byproduct_base_alt.png new file mode 100644 index 0000000000000000000000000000000000000000..dfad5f115c5b4b0d8f26fede21d7992fcbd21eb3 GIT binary patch literal 268 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf%(E$tr#n&!4HjnL5PNU+sx5_+`jpo(kV*2ACf zpS#aruP=CU{h3v(C4uL_=!{@H*hYTD9gmG4+$Y8MpBtb8riVB%|d?2W>9<>JdG zw<~8YJM3O2-O-U2x$SK2{om6{+&5fHT6_0dY9t@yZVsg)MiWn=UF(<=<~=W#W@t&| za1e2g>)6g(QIjCRvL)9$P-Ob`>U8ex9*aK46{}8V)@djA?ArBz<-4ydve#6S@9N literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/items/byproduct_base_clean_alt.png b/src/main/resources/assets/hbm/textures/items/byproduct_base_clean_alt.png new file mode 100644 index 0000000000000000000000000000000000000000..18830c57d628dfa28ff56ef2a354fc10d6b73ff9 GIT binary patch literal 224 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#VfaSXBO zJv(uu;9&(GSNokg2UUC=j|*gQ>K+uzVXzJ`W;ib6^;E=+@wVs0>z;S&zgsfa^BbQI zPZXROJxO;@q30(4!lvI6;>1s;*b z3=DjSK$uZf!>a)(C|TkfQ4*Y=R#Ki=l*&+$n3-3imzP?iV4`QBXK1jNi|YVT(F9Ky z#}EturTrUu4=C`kyu7)8VH(4<1V*uXlh2>r zvLGUR>b0nJQ7N_)0-VV`3F*qg4KF72!lvI6;>1s;*b z3=DjSK$uZf!>a)(C|TkfQ4*Y=R#Ki=l*&+$n3-3imzP?iV4`QBXK1jNi|YVT(F9Ky z#}EturTrH<4=C`k%ATzJTgEWGfbqMg=K2p_JsY+DT4W@>zo4MBzhJt;QWeYR;?;g_ ztVg3(Z@CtiwlJ@OXQII|jxsYNmJYs`H;fjr>b_i_kuJ3$A(G8Yv*_p#2ha1T8S0+s z?zs@guzdsLId}gJ<_EurH5fQ-u;!|$VPjB=<5)D+(L6(fX`aWOr*=Yl%1i%!x9qmq Q3UnKTr>mdKI;Vst0Hc6iW&i*H diff --git a/src/main/resources/assets/hbm/textures/items/inf_coolant.png b/src/main/resources/assets/hbm/textures/items/inf_coolant.png deleted file mode 100644 index f4f6982477b737498d7658e97c2a7670991929ad..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 276 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6;>1s;*b z3=DjSK$uZf!>a)(C{f}XQ4*Y=R#Ki=l*&+$n3-3imzP?iV4`QBXPIMM=Lb|X$skJ@uzy&tyrY48>7GN{hR0TYdAy)=uXA(9pF^=t5{sYAiGO1$ zDJGJ=_EJ>!%+_6uMlOdWlyBTTA)sKjB>8lM*p?;p7tPIVXiAmTSnA<*omtgZpZUkc z?H`0#LT=By}Z;C1rt33 zJD*woK>r zmzJ9HWe@KI_j`x9WmyZjr61IMWvLdfk!R$>E;dnZO!lPD&C`q2?HpK^>M`GtG aKV&^)^SgYjzJ4;$Z492SelF{r5}E*ybzN=% diff --git a/src/main/resources/assets/hbm/textures/items/inf_diesel.png b/src/main/resources/assets/hbm/textures/items/inf_diesel.png deleted file mode 100644 index 26fe4bb88630865ab9e62dcd76a624dc2a58b843..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 276 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6;>1s;*b z3=DjSK$uZf!>a)(C{f}XQ4*Y=R#Ki=l*&+$n3-3imzP?iV4`QBXPIMM=Lb|X$It|!5q~FiL_&4xm!$Ka z+ZRN5O^kYdTH^}O1Vy1^5(m$@?P9p7C_9^N%L3KEB5!$^MRYDZoQpj7x?;hS=a~%l zpTy!aG#jFCFg#zYeq;87YE1_Tg&Vo7Hg?Pmg8D2MPc4u%;bHVwc~>OMX44$rjF6*2UngAjZTc7{{ diff --git a/src/main/resources/assets/hbm/textures/items/inf_sulfur.png b/src/main/resources/assets/hbm/textures/items/inf_sulfur.png deleted file mode 100644 index dd1d156a2a31a0a4fb25eae6b5a5bda3d527ed07..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 276 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6;>1s;*b z3=DjSK$uZf!>a)(C{f}XQ4*Y=R#Ki=l*&+$n3-3imzP?iV4`QBXPIMM=Lb|X$4D&4`x4BShWcpr7@v%BPeYzBi@VNgzyI)~CH?sCqgo=HJf8=o(U z4$xWZvG!}KNEX`(0nX%}gmmTDh8Gk1e3_#zOseZDYh&b^mZ|Vu=X#}0z@^V74f2)T z`ddT}=;kzhz9#&}_rqQh1s;Jn+nD6$Gd6UHH)W(=;E`%;P!}rS+1DcNP|7?_0#LT=By}Z;C1rt33 zJ<87_4iXACWLa(Om>C51SuUPhAZ^0K=&$mw bNS>3wD&>s2f-7eGV^iA<5c)ea+uU9GwUCeL#YheOHp^^pKJn~nUrMVh7``Tslm Y4bw-XLgy}V-~a#s07*qoM6N<$g5Nr~wEzGB literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/items/ore_nitrated.png b/src/main/resources/assets/hbm/textures/items/ore_nitrated.png new file mode 100644 index 0000000000000000000000000000000000000000..896451c0285e6c062e0699b43233f8a30c32a5e3 GIT binary patch literal 446 zcmV;v0YUzWP)f?Cb%x1-94Op`7Zau>(sNc`2i&nVXv}0a#!E zMwkrymwez5XUhh!otD_wzk?MiV=Z`kR)A}mp_f_EE_UE{}yX4 z!(kr~yf1OiPZDTdqh7BQMG;{bl4V26vP48k(}W-hfEt5ApQ@^+U!l`El}6(oK@hUE z^bw^L-R?ccXnMUKS(cHe3D?)Z)zkq1CnrC}d(Yxx6Qv-}bBr72>5OAVE_OC07*qoM6N<$f_=KkDF6Tf literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/items/ore_nitrocrystalline.png b/src/main/resources/assets/hbm/textures/items/ore_nitrocrystalline.png new file mode 100644 index 0000000000000000000000000000000000000000..d0648bc4404d348a3152151c448a12d2906ea4d5 GIT binary patch literal 448 zcmV;x0YCnUP)K_AhNsm;KG*H- zcUWt2&S7nV_a&Q~Z^-jUdc7AM9erw?6gF@Kq9~%ZJcmGStFIF0}z&mXC(dT|QJ$Deg|^*Lb} z)9=4RM7Y1dB@9ER(+PQA@bK`P>+7GgZ~?%{$yfE>v%dZk5y6;(Ac#oQ8?1F)UHxcy q7CsWdX!Jz^>bl05axVY>r~U$v2%gAW^@7v@0000=4idIL}m3atc% zRw8#)D8i__s6|KJF43Yra=x=SwS2alNHN>FGeD6|s9D~E_zFd|+B zig*PlvJMq=-8Ep-#Z%}Su<7C{bPeo}u5;HRUO7~Cyy6%gh@$bzW)!Ei=?!$PkMK%O(rHi%5QJ07 zH-%P$Lf3%Rxo)3sV5^&|_ASTgz!Z&FHpghsEtfv=ZcK zOmOwep{nB5_*^$vuL4mtUfCR@iB}F)6|byv^dcJqw~Ai9vO(8f1LSBW$k9sh?A3~u z8Lw>KD+_}$k7P~EZu5o6`Z5r&9OC9c7;$qTGI3Eu339X&JbSfbJbMKrrnU$aQ(M3Z zy6&1|)U5<3OqAg2)rxU*AdI*E%^*<7HD@=)6{2 zw_>X-bY6FD8hwXeY^JvOtG(SQJzjmSlb-Udt ztH`s6R}Q3GuqjHFG4du}c|=RRQeSA1`2#IqiYyXfj&81PNUOD8^~Yw)i&u3}>i?$G zOD2EPuT6bmt10a--{t81_oU!a6v>Cnp>%qQMA73H_xR#YjxX-yuzNds&82xKOzNWa zc$GfRnReJ=_ve4>oLt3|*G{ftdAHM)W@}vzo^OaW8glUUhaA0nV!H{2m0e(;qHF12 z-EoU9y3^9FH;x}9ez=$Q&CRkl&uc-&tGpI{|LazoYa1dW5)TI=B9bKW4Vh*wGk7q74y z6j}*x4s?i{17Q?Yyuv>|#Vek@@(9mfVQCav2@0(Q@ya3M6^w{ifg)bPhrQ~Ci>J^D&~)(>IstpxS?M;!D?@F^E6&l8s2i^|+Yzq}wH2>4+Yzr4Le~un zodR;S6RLBx=7Tto*F(HQ5O=R4)mFSZ+1f6B7;ml0j=)yFSXG{)#VggkZVH_ay6(g=XUqw5v=cmgwPa1kE6ryWVJcCF6up>T^Mxq-G7zr} zF*y)HOb$dLZfZC|j&_1)ua=BwuMotmEh5FMEntGKJ8_Jot2IUD6|t4+6nGn8M2C3 zvyba&{w`W{hiKzfotMoKuMAnmt12V%G45U^g034P!UdD)X&;cMMLR*fGGr02W}_7? zIzpOwRrfvK#4AG<@v2U=5+PniPuq1f>W;*sub<)^?F5B(f_P=9OK%ROMRy4Qt#G9H zf3Hv(T{l!Hv=bEC3F1}GaW)hYk^RkPzW>Cl4jLDEcDYT&D`TO;9%sXaTQ>2kL-Iu) z7dEtR+330#Ft4EbzLs6=UkvH+GL%hT*_k|XjKhWw* zkwwVSjVOy(DQNUxlRxL>*M)vR+loT#LoMy#{8A3T|DIa+?#Ip4wnrCNa&&PeZ_j_J z_kG?4lT?_-tNb8mygVKR6}6&yKM#Fge%~h<>6t7Gl$*Fp^sp!&UzT3}l^XAC|InIVM9Nu-?B6ltO=;BIluK!Hd#h~t+12u?O zksw|{g+e>Qml_BC4f{0g