From e7f0dc610b5747969234e73de7688ea53410f49d Mon Sep 17 00:00:00 2001 From: Bob Date: Thu, 9 Mar 2023 21:52:33 +0100 Subject: [PATCH] recipes and textures for vacuum oil products --- .../hbm/blocks/machine/MachineRefinery.java | 20 +++++++++++++- .../com/hbm/handler/nei/ReformingHandler.java | 16 +++++++++++ .../java/com/hbm/inventory/fluid/Fluids.java | 15 +++++++---- .../inventory/recipes/FractionRecipes.java | 25 +++++++++++------- .../hbm/inventory/recipes/MixerRecipes.java | 4 +++ .../inventory/recipes/ReformingRecipes.java | 18 +++++++++++++ .../com/hbm/items/weapon/ItemGunBase.java | 2 +- src/main/java/com/hbm/main/NEIConfig.java | 7 +++-- src/main/resources/assets/hbm/lang/de_DE.lang | 9 +++++++ src/main/resources/assets/hbm/lang/en_US.lang | 9 +++++++ .../gui/fluids/diesel_crack_reform.png | Bin 0 -> 489 bytes .../hbm/textures/gui/fluids/diesel_reform.png | Bin 0 -> 489 bytes .../textures/gui/fluids/heatingoil_vacuum.png | Bin 0 -> 584 bytes .../textures/gui/fluids/kerosene_reform.png | Bin 0 -> 480 bytes .../hbm/textures/gui/fluids/reformgas.png | Bin 0 -> 554 bytes .../models/tank/tank_DIESEL_CRACK_REFORM.png | Bin 0 -> 1282 bytes .../models/tank/tank_DIESEL_REFORM.png | Bin 0 -> 1265 bytes .../models/tank/tank_HEATINGOIL_VACUUM.png | Bin 0 -> 1270 bytes .../models/tank/tank_KEROSENE_REFORM.png | Bin 0 -> 1214 bytes .../textures/models/tank/tank_REFORMGAS.png | Bin 0 -> 1177 bytes 20 files changed, 107 insertions(+), 18 deletions(-) create mode 100644 src/main/java/com/hbm/handler/nei/ReformingHandler.java create mode 100644 src/main/resources/assets/hbm/textures/gui/fluids/diesel_crack_reform.png create mode 100644 src/main/resources/assets/hbm/textures/gui/fluids/diesel_reform.png create mode 100644 src/main/resources/assets/hbm/textures/gui/fluids/heatingoil_vacuum.png create mode 100644 src/main/resources/assets/hbm/textures/gui/fluids/kerosene_reform.png create mode 100644 src/main/resources/assets/hbm/textures/gui/fluids/reformgas.png create mode 100644 src/main/resources/assets/hbm/textures/models/tank/tank_DIESEL_CRACK_REFORM.png create mode 100644 src/main/resources/assets/hbm/textures/models/tank/tank_DIESEL_REFORM.png create mode 100644 src/main/resources/assets/hbm/textures/models/tank/tank_HEATINGOIL_VACUUM.png create mode 100644 src/main/resources/assets/hbm/textures/models/tank/tank_KEROSENE_REFORM.png create mode 100644 src/main/resources/assets/hbm/textures/models/tank/tank_REFORMGAS.png diff --git a/src/main/java/com/hbm/blocks/machine/MachineRefinery.java b/src/main/java/com/hbm/blocks/machine/MachineRefinery.java index d103d3711..10fab37d0 100644 --- a/src/main/java/com/hbm/blocks/machine/MachineRefinery.java +++ b/src/main/java/com/hbm/blocks/machine/MachineRefinery.java @@ -17,6 +17,7 @@ import com.hbm.tileentity.machine.oil.TileEntityMachineRefinery; import com.hbm.util.I18nUtil; import api.hbm.block.IToolable; +import cpw.mods.fml.common.network.internal.FMLNetworkHandler; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.material.Material; @@ -48,7 +49,24 @@ public class MachineRefinery extends BlockDummyable implements IPersistentInfoPr @Override public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { - return standardOpenBehavior(world, x, y, z, player, side); + + if(world.isRemote) { + return true; + } else if(!player.isSneaking()) { + int[] pos = this.findCore(world, x, y, z); + + if(pos == null) + return false; + + TileEntityMachineRefinery refinery = (TileEntityMachineRefinery) world.getTileEntity(pos[0], pos[1], pos[2]); + + if(refinery.hasExploded) return false; + + FMLNetworkHandler.openGui(player, MainRegistry.instance, 0, world, pos[0], pos[1], pos[2]); + return true; + } else { + return true; + } } @Override diff --git a/src/main/java/com/hbm/handler/nei/ReformingHandler.java b/src/main/java/com/hbm/handler/nei/ReformingHandler.java new file mode 100644 index 000000000..711fd355d --- /dev/null +++ b/src/main/java/com/hbm/handler/nei/ReformingHandler.java @@ -0,0 +1,16 @@ +package com.hbm.handler.nei; + +import com.hbm.blocks.ModBlocks; +import com.hbm.inventory.recipes.ReformingRecipes; + +public class ReformingHandler extends NEIUniversalHandler { + + public ReformingHandler() { + super("Reforming", ModBlocks.machine_catalytic_reformer, ReformingRecipes.getRecipes()); + } + + @Override + public String getKey() { + return "ntmReforming"; + } +} diff --git a/src/main/java/com/hbm/inventory/fluid/Fluids.java b/src/main/java/com/hbm/inventory/fluid/Fluids.java index 4f10fd083..98f41b41b 100644 --- a/src/main/java/com/hbm/inventory/fluid/Fluids.java +++ b/src/main/java/com/hbm/inventory/fluid/Fluids.java @@ -239,11 +239,11 @@ public class Fluids { LIGHTOIL_VACUUM = new FluidType("LIGHTOIL_VACUUM", 0x8C8851, 1, 2, 0, EnumSymbol.NONE).addTraits(LIQUID); SOURGAS = new FluidType("SOURGAS", 0xC9BE0D, 4, 4, 0, EnumSymbol.ACID).addTraits(GASEOUS, new FT_Corrosive(10)); XYLENE = new FluidType("XYLENE", 0x5C4E76, 2, 3, 0, EnumSymbol.NONE).addTraits(LIQUID); - HEATINGOIL_VACUUM = new FluidType("HEATINGOIL_VACUUM", 0x211806, 2, 2, 0, EnumSymbol.NONE); - DIESEL_REFORM = new FluidType("DIESEL_REFORM", 0xf2eed5, 1, 2, 0, EnumSymbol.NONE); - DIESEL_CRACK_REFORM = new FluidType("DIESEL_CRACK_REFORM",0xf2eed5, 1, 2, 0, EnumSymbol.NONE); - KEROSENE_REFORM = new FluidType("KEROSENE_REFORM", 0xffa5d2, 1, 2, 0, EnumSymbol.NONE); - REFORMGAS = new FluidType(98, "REFORMGAS", 0x628FAE, 1, 4, 1, EnumSymbol.NONE); + HEATINGOIL_VACUUM = new FluidType("HEATINGOIL_VACUUM", 0x211D06, 2, 2, 0, EnumSymbol.NONE).addTraits(LIQUID); + DIESEL_REFORM = new FluidType("DIESEL_REFORM", 0xCDC3C6, 1, 2, 0, EnumSymbol.NONE).addTraits(LIQUID); + DIESEL_CRACK_REFORM = new FluidType("DIESEL_CRACK_REFORM",0xCDC3CC, 1, 2, 0, EnumSymbol.NONE).addTraits(LIQUID); + KEROSENE_REFORM = new FluidType("KEROSENE_REFORM", 0xFFA5F3, 1, 2, 0, EnumSymbol.NONE).addTraits(LIQUID); + REFORMGAS = new FluidType(99, "REFORMGAS", 0x6362AE, 1, 4, 1, EnumSymbol.NONE).addTraits(GASEOUS); // ^ ^ ^ ^ ^ ^ ^ ^ @@ -447,6 +447,11 @@ public class Fluids { registerCalculatedFuel(NITAN, KEROSENE.getTrait(FT_Flammable.class).getHeatEnergy() * 25L, 2.5, FuelGrade.HIGH); registerCalculatedFuel(BALEFIRE, KEROSENE.getTrait(FT_Flammable.class).getHeatEnergy() * 100L, 2.5, FuelGrade.HIGH); + //TODO: consult the spreadsheet for the values of the vacuum oils + //all hail the spreadsheet + //the spreadsheet must not be questioned + //none may enter the orb- i mean the spreadsheet + int coalHeat = 400_000; // 200TU/t for 2000 ticks registerCalculatedFuel(COALOIL, (coalHeat * (1000 /* bucket */ / 100 /* mB per coal */) * flammabilityLow * demandLow * complexityChemplant), 0, null); long coaloil = COALOIL.getTrait(FT_Flammable.class).getHeatEnergy(); diff --git a/src/main/java/com/hbm/inventory/recipes/FractionRecipes.java b/src/main/java/com/hbm/inventory/recipes/FractionRecipes.java index 310914410..95e8a5f86 100644 --- a/src/main/java/com/hbm/inventory/recipes/FractionRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/FractionRecipes.java @@ -38,20 +38,27 @@ public class FractionRecipes extends SerializableRecipe { public static final int creo_frac_bitu = 90; public static final int reform_frac_arom = 40; public static final int reform_frac_xyle = 60; + public static final int hvac_frac_smear = 40; + public static final int hvac_frac_heat = 60; + public static final int lvac_frac_kero = 70; + public static final int lvac_frac_gas = 30; private static Map> fractions = new HashMap(); @Override public void registerDefaults() { - fractions.put(Fluids.HEAVYOIL, new Pair(new FluidStack(Fluids.BITUMEN, heavy_frac_bitu), new FluidStack(Fluids.SMEAR, heavy_frac_smear))); - fractions.put(Fluids.SMEAR, new Pair(new FluidStack(Fluids.HEATINGOIL, smear_frac_heat), new FluidStack(Fluids.LUBRICANT, smear_frac_lube))); - fractions.put(Fluids.NAPHTHA, new Pair(new FluidStack(Fluids.HEATINGOIL, napht_frac_heat), new FluidStack(Fluids.DIESEL, napht_frac_diesel))); - fractions.put(Fluids.NAPHTHA_CRACK, new Pair(new FluidStack(Fluids.HEATINGOIL, ncrack_frac_heat), new FluidStack(Fluids.DIESEL_CRACK, ncrack_frac_diesel))); - fractions.put(Fluids.LIGHTOIL, new Pair(new FluidStack(Fluids.DIESEL, light_frac_diesel), new FluidStack(Fluids.KEROSENE, light_frac_kero))); - fractions.put(Fluids.LIGHTOIL_CRACK, new Pair(new FluidStack(Fluids.KEROSENE, lcrack_frac_kero), new FluidStack(Fluids.PETROLEUM, lcrack_frac_petro))); - fractions.put(Fluids.COALOIL, new Pair(new FluidStack(Fluids.COALGAS, coal_frac_coalgas), new FluidStack(Fluids.OIL, coal_frac_oil))); - fractions.put(Fluids.COALCREOSOTE, new Pair(new FluidStack(Fluids.COALOIL, creo_frac_coaloil), new FluidStack(Fluids.BITUMEN, creo_frac_bitu))); - fractions.put(Fluids.REFORMATE, new Pair(new FluidStack(Fluids.AROMATICS, reform_frac_arom), new FluidStack(Fluids.XYLENE, reform_frac_xyle))); + fractions.put(Fluids.HEAVYOIL, new Pair(new FluidStack(Fluids.BITUMEN, heavy_frac_bitu), new FluidStack(Fluids.SMEAR, heavy_frac_smear))); + fractions.put(Fluids.SMEAR, new Pair(new FluidStack(Fluids.HEATINGOIL, smear_frac_heat), new FluidStack(Fluids.LUBRICANT, smear_frac_lube))); + fractions.put(Fluids.NAPHTHA, new Pair(new FluidStack(Fluids.HEATINGOIL, napht_frac_heat), new FluidStack(Fluids.DIESEL, napht_frac_diesel))); + fractions.put(Fluids.NAPHTHA_CRACK, new Pair(new FluidStack(Fluids.HEATINGOIL, ncrack_frac_heat), new FluidStack(Fluids.DIESEL_CRACK, ncrack_frac_diesel))); + fractions.put(Fluids.LIGHTOIL, new Pair(new FluidStack(Fluids.DIESEL, light_frac_diesel), new FluidStack(Fluids.KEROSENE, light_frac_kero))); + fractions.put(Fluids.LIGHTOIL_CRACK, new Pair(new FluidStack(Fluids.KEROSENE, lcrack_frac_kero), new FluidStack(Fluids.PETROLEUM, lcrack_frac_petro))); + fractions.put(Fluids.COALOIL, new Pair(new FluidStack(Fluids.COALGAS, coal_frac_coalgas), new FluidStack(Fluids.OIL, coal_frac_oil))); + fractions.put(Fluids.COALCREOSOTE, new Pair(new FluidStack(Fluids.COALOIL, creo_frac_coaloil), new FluidStack(Fluids.BITUMEN, creo_frac_bitu))); + fractions.put(Fluids.HEAVYOIL_VACUUM, new Pair(new FluidStack(Fluids.SMEAR, hvac_frac_smear), new FluidStack(Fluids.HEATINGOIL_VACUUM, hvac_frac_heat))); + fractions.put(Fluids.REFORMATE, new Pair(new FluidStack(Fluids.AROMATICS, reform_frac_arom), new FluidStack(Fluids.XYLENE, reform_frac_xyle))); + fractions.put(Fluids.LIGHTOIL_VACUUM, new Pair(new FluidStack(Fluids.KEROSENE, lvac_frac_kero), new FluidStack(Fluids.REFORMGAS, lvac_frac_gas))); + fractions.put(Fluids.SOURGAS, new Pair(new FluidStack(Fluids.GAS, 30), new FluidStack(Fluids.PETROLEUM, 20))); } public static Pair getFractions(FluidType oil) { diff --git a/src/main/java/com/hbm/inventory/recipes/MixerRecipes.java b/src/main/java/com/hbm/inventory/recipes/MixerRecipes.java index fe6bb932c..9a9f3cbcd 100644 --- a/src/main/java/com/hbm/inventory/recipes/MixerRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/MixerRecipes.java @@ -48,6 +48,10 @@ public class MixerRecipes extends SerializableRecipe { recipes.put(Fluids.PETROIL_LEADED, new MixerRecipe(1_000, 40).setStack1(new FluidStack(Fluids.PETROIL, 800)).setSolid(new ComparableStack(ModItems.antiknock))); recipes.put(Fluids.GASOLINE_LEADED, new MixerRecipe(1_000, 40).setStack1(new FluidStack(Fluids.GASOLINE, 800)).setSolid(new ComparableStack(ModItems.antiknock))); recipes.put(Fluids.COALGAS_LEADED, new MixerRecipe(1_000, 40).setStack1(new FluidStack(Fluids.COALGAS, 800)).setSolid(new ComparableStack(ModItems.antiknock))); + + recipes.put(Fluids.DIESEL_REFORM, new MixerRecipe(1_000, 50).setStack1(new FluidStack(Fluids.DIESEL, 900)).setStack2(new FluidStack(Fluids.REFORMATE, 100))); + recipes.put(Fluids.DIESEL_CRACK_REFORM, new MixerRecipe(1_000, 50).setStack1(new FluidStack(Fluids.DIESEL_CRACK, 900)).setStack2(new FluidStack(Fluids.REFORMATE, 100))); + recipes.put(Fluids.KEROSENE_REFORM, new MixerRecipe(1_000, 50).setStack1(new FluidStack(Fluids.KEROSENE, 900)).setStack2(new FluidStack(Fluids.REFORMATE, 100))); } public static MixerRecipe getOutput(FluidType type) { diff --git a/src/main/java/com/hbm/inventory/recipes/ReformingRecipes.java b/src/main/java/com/hbm/inventory/recipes/ReformingRecipes.java index e76473965..7dad1d4a1 100644 --- a/src/main/java/com/hbm/inventory/recipes/ReformingRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/ReformingRecipes.java @@ -11,8 +11,11 @@ import com.hbm.inventory.FluidStack; import com.hbm.inventory.fluid.FluidType; import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.recipes.loader.SerializableRecipe; +import com.hbm.items.machine.ItemFluidIcon; import com.hbm.util.Tuple.Triplet; +import net.minecraft.item.ItemStack; + public class ReformingRecipes extends SerializableRecipe { private static HashMap> recipes = new HashMap(); @@ -34,6 +37,21 @@ public class ReformingRecipes extends SerializableRecipe { public static Triplet getOutput(FluidType type) { return recipes.get(type); } + + public static HashMap getRecipes() { + + HashMap map = new HashMap(); + + for(Entry> recipe : recipes.entrySet()) { + map.put(ItemFluidIcon.make(recipe.getKey(), 1000), + new ItemStack[] { + ItemFluidIcon.make(recipe.getValue().getX().type, recipe.getValue().getX().fill * 10), + ItemFluidIcon.make(recipe.getValue().getY().type, recipe.getValue().getY().fill * 10), + ItemFluidIcon.make(recipe.getValue().getZ().type, recipe.getValue().getZ().fill * 10) }); + } + + return map; + } @Override public String getFileName() { diff --git a/src/main/java/com/hbm/items/weapon/ItemGunBase.java b/src/main/java/com/hbm/items/weapon/ItemGunBase.java index 58627c04e..507b1a603 100644 --- a/src/main/java/com/hbm/items/weapon/ItemGunBase.java +++ b/src/main/java/com/hbm/items/weapon/ItemGunBase.java @@ -766,7 +766,7 @@ public class ItemGunBase extends Item implements IHoldableWeapon, IItemHUD, IEqu NBTTagCompound data = new NBTTagCompound(); data.setString("type", "casing"); - data.setFloat("pitch", -(float) Math.toRadians(entity.rotationPitch)); + data.setFloat("pitch", (float) Math.toRadians(entity.rotationPitch)); data.setFloat("yaw", (float) Math.toRadians(entity.rotationYaw)); data.setBoolean("crouched", entity.isSneaking()); data.setString("name", bullet.spentCasing.getName()); diff --git a/src/main/java/com/hbm/main/NEIConfig.java b/src/main/java/com/hbm/main/NEIConfig.java index 987c769ec..ae26d9693 100644 --- a/src/main/java/com/hbm/main/NEIConfig.java +++ b/src/main/java/com/hbm/main/NEIConfig.java @@ -37,9 +37,10 @@ public class NEIConfig implements IConfigureNEI { registerHandler(new AssemblerRecipeHandler()); registerHandler(new RefineryRecipeHandler()); registerHandler(new VacuumRecipeHandler()); + registerHandler(new CrackingHandler()); + registerHandler(new ReformingHandler()); registerHandler(new BoilerRecipeHandler()); registerHandler(new ChemplantRecipeHandler()); - registerHandler(new FluidRecipeHandler()); registerHandler(new CrystallizerRecipeHandler()); registerHandler(new BookRecipeHandler()); registerHandler(new FusionRecipeHandler()); @@ -60,7 +61,6 @@ public class NEIConfig implements IConfigureNEI { } registerHandler(new LiquefactionHandler()); registerHandler(new SolidificationHandler()); - registerHandler(new CrackingHandler()); registerHandler(new FractioningHandler()); registerHandler(new BoilingHandler()); registerHandler(new CombinationHandler()); @@ -68,6 +68,9 @@ public class NEIConfig implements IConfigureNEI { registerHandler(new MixerHandler()); registerHandler(new OutgasserHandler()); + //fluids + registerHandler(new FluidRecipeHandler()); + //registerHandler(new ChunkyHandler()); //Some things are even beyond my control...or are they? diff --git a/src/main/resources/assets/hbm/lang/de_DE.lang b/src/main/resources/assets/hbm/lang/de_DE.lang index 60bfbb02d..79b046e75 100644 --- a/src/main/resources/assets/hbm/lang/de_DE.lang +++ b/src/main/resources/assets/hbm/lang/de_DE.lang @@ -222,6 +222,7 @@ chem.NITRIC_ACID=Salpetersäureherstellung chem.OIL_SAND=Teersand-Extraktion chem.OSMIRIDIUM_DEATH=Osmiridiumlösung-Herstellung chem.PEROXIDE=Wasserstoffperoxidherstellung +chem.PET=PET-Synthese chem.PETROIL_LEADED=Bleigemisch mischen chem.POLYMER=Polymersynthese chem.PUF6=Plutoniumhexafluoridproduktion @@ -249,6 +250,7 @@ chem.SOLID_FUEL=Festbrennstoffherstellung chem.SOLVENT=Organisches Lösungsmittel mischen chem.STEAM=Wasser kochen chem.SULFURIC_ACID=Schwefelsäureherstellung +chem.TATB=TATB-Synthese chem.TEL=TEL mischen chem.TEST=Test chem.TNT=TNT-Synthese @@ -271,6 +273,7 @@ container.barrel=Fass container.bat9000=Big-Ass Tank 9000 container.battery=Energiespeicher container.bombMulti=Mehrzweckbombe +container.catalyticReformer=Katalytischer Reformer container.centrifuge=Zentrifuge container.chemplant=Chemiewerk container.compactLauncher=Kompakt-Startrampe @@ -604,6 +607,8 @@ hbmfluid.death=Osmiridiumlösung hbmfluid.deuterium=Deuterium hbmfluid.diesel=Diesel hbmfluid.diesel_crack=Crackdiesel +hbmfluid.diesel_crack_reform=Hochoktan-Diesel +hbmfluid.diesel_reform=Hochoktan-Crackdiesel hbmfluid.ethanol=Ethanol hbmfluid.enderjuice=Endersaft hbmfluid.fracksol=Frackinglösung @@ -611,6 +616,7 @@ hbmfluid.gas=Erdgas hbmfluid.gasoline=Benzin hbmfluid.gasoline_leaded=Bleibenzin hbmfluid.heatingoil=Heizöl +hbmfluid.heatingoil_vacuum=Schweres Heizöl hbmfluid.heavyoil=Schweröl hbmfluid.heavyoil_vacuum=Vakuum-Schweröl hbmfluid.heavywater=Schweres Wasser @@ -620,6 +626,7 @@ hbmfluid.hotoil=Heißes Rohöl hbmfluid.hotsteam=Dichter Dampf hbmfluid.hydrogen=Flüssiger Wasserstoff hbmfluid.kerosene=Kerosin +hbmfluid.kerosene_reform=Düsentreibstoff hbmfluid.lava=Lava hbmfluid.lightoil=Leichtöl hbmfluid.lightoil_crack=Crack-Leichtöl @@ -651,6 +658,7 @@ hbmfluid.puf6=Plutoniumhexafluorid hbmfluid.radiosolvent=Hochleistungs-Lösungsmittel hbmfluid.reclaimed=Wiederaufbetreitetes Industrieöl hbmfluid.reformate=Reformat +hbmfluid.reformgas=Reformatgas hbmfluid.salient=Saftiges Grün hbmfluid.sas3=Schrabidiumtrisulfat hbmfluid.schrabidic=Schrabidische Säure @@ -3786,6 +3794,7 @@ tile.machine_boiler_electric_on.name=Elektrischer Ölwärmer tile.machine_boiler_off.name=Ölwärmer tile.machine_boiler_on.name=Ölwärmer tile.machine_catalytic_cracker.name=Katalytischer Cracking-Turm +tile.machine_catalytic_reformer.name=Katalytischer Reformer tile.machine_centrifuge.name=Zentrifuge tile.machine_chemfac.name=Chemiefabrik tile.machine_chemplant.name=Chemiewerk diff --git a/src/main/resources/assets/hbm/lang/en_US.lang b/src/main/resources/assets/hbm/lang/en_US.lang index 46e9ad2a6..c71c8167a 100644 --- a/src/main/resources/assets/hbm/lang/en_US.lang +++ b/src/main/resources/assets/hbm/lang/en_US.lang @@ -501,6 +501,7 @@ chem.NITRIC_ACID=Nitric Acid Production chem.OIL_SAND=Tar Sand Extraction chem.OSMIRIDIUM_DEATH=Osmiridic Solution Production chem.PEROXIDE=Hydrogen Peroxide Production +chem.PET=PET Synthesis chem.PETROIL_LEADED=Leaded Petroil Mixing chem.POLYMER=Polymer Synthesis chem.PUF6=Plutonium Hexafluoride Production @@ -528,6 +529,7 @@ chem.SOLID_FUEL=Solid Rocket Fuel Production chem.SOLVENT=Organic Solvent Mixing chem.STEAM=Water Boiling chem.SULFURIC_ACID=Sulfuric Acid Production +chem.TATB=TATB Synthesis chem.TEL=TEL Mixing chem.TEST=Test chem.TNT=TNT Synthesis @@ -550,6 +552,7 @@ container.barrel=Barrel container.bat9000=Big-Ass Tank 9000 container.battery=Energy Storage container.bombMulti=Multi Purpose Bomb +container.catalyticReformer=Catalytic Reformer container.centrifuge=Centrifuge container.chemplant=Chemical Plant container.compactLauncher=Compact Launch Pad @@ -1161,6 +1164,8 @@ hbmfluid.death=Osmiridic Solution hbmfluid.deuterium=Deuterium hbmfluid.diesel=Diesel hbmfluid.diesel_crack=Cracked Diesel +hbmfluid.diesel_crack_reform=High-Octane Cracked Diesel +hbmfluid.diesel_reform=High-Octane Diesel hbmfluid.ethanol=Ethanol hbmfluid.enderjuice=Ender Juice hbmfluid.fracksol=Fracking Solution @@ -1168,6 +1173,7 @@ hbmfluid.gas=Natural Gas hbmfluid.gasoline=Gasoline hbmfluid.gasoline_leaded=Leaded Gasoline hbmfluid.heatingoil=Heating Oil +hbmfluid.heatingoil_vacuum=Heavy Heating Oil hbmfluid.heavyoil=Heavy Oil hbmfluid.heavyoil_vacuum=Vacuum Heavy Oil hbmfluid.heavywater=Heavy Water @@ -1177,6 +1183,7 @@ hbmfluid.hotoil=Hot Crude Oil hbmfluid.hotsteam=Dense Steam hbmfluid.hydrogen=Liquid Hydrogen hbmfluid.kerosene=Kerosene +hbmfluid.kerosene_reform=Jet Fuel hbmfluid.lava=Lava hbmfluid.lightoil=Light Oil hbmfluid.lightoil_crack=Cracked Light Oil @@ -1208,6 +1215,7 @@ hbmfluid.puf6=Plutonium Hexafluoride hbmfluid.radiosolvent=High-Performance Solvent hbmfluid.reclaimed=Reclaimed Industrial Oil hbmfluid.reformate=Reformate +hbmfluid.reformgas=Reformate Gas hbmfluid.salient=Salient Green hbmfluid.sas3=Schrabidium Trisulfide hbmfluid.schrabidic=Schrabidic Acid @@ -4587,6 +4595,7 @@ tile.machine_boiler_electric_on.name=Electric Oil Heater tile.machine_boiler_off.name=Oil Heater tile.machine_boiler_on.name=Oil Heater tile.machine_catalytic_cracker.name=Catalytic Cracking Tower +tile.machine_catalytic_reformer.name=Catalytic Reformer tile.machine_centrifuge.name=Centrifuge tile.machine_chemfac.name=Chemical Factory tile.machine_chemplant.name=Chemical Plant diff --git a/src/main/resources/assets/hbm/textures/gui/fluids/diesel_crack_reform.png b/src/main/resources/assets/hbm/textures/gui/fluids/diesel_crack_reform.png new file mode 100644 index 0000000000000000000000000000000000000000..6be215517d17e7bf1cd709db9bdd85410227dea8 GIT binary patch literal 489 zcmV@o%48uU%w%BnTQA&|gLMesT8m%=cB~nVI zp@^{WJKlTddFJ(cky64MV^B&VBIQ8-R!U*5MJYwwwq-K!{r~>}F~(9b#^9VI##nC8 zb*(k)x|Tepgw6PjF=d_SnUqpFtdzogf8a(bMT`-fZw3kktu<}ivhRCo(lia*wjm;j zNP%IUbL{($h#VSi+g3&e$Vv^vP>BBd`N8&m&-Hrc{eCk|Q^DQ$Jt2ewC9mT+VvM2d zy05H#-?JZmoYNvyfjS|cKa5WYUh zrm0!Z>eP-j#uPQ0runK+Z>*K5^SYKN3L$(ss7K2i>ZtSD;whysZ}nrzo3nhirJJU~ z7{jtG2bc#4H4k}2tuqUmt_G!M2InxLu-vO1`#Q_wU(~y==&b;J$4udlv1RWP)eb-Mr%z?!%8W(Z98zIlp@B6%{K!Dg4P=EJ^Q|wCeAt5bwxxF zkpjbZUB|xfh{&PQx~^qZfUH#C_l4-s=YwtAmdoYB>-AzB$AY_UTS5p0N?wOyz!*c* zG+$ZUwq>4YLBKmW2S}M8tu-M8)^(-pI_&LsqmEkRn#7tbtu-P-2;u94 zY?_+otWNDnV@y%QIrmke-dHP9=XEVl6hioNP>+^3)KTZP#ZyXO-s;DaH)r{3OFQQ< z#xT$G0pEAsC-OJu(00000NkvXXu0mjfg6HI@ literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/gui/fluids/heatingoil_vacuum.png b/src/main/resources/assets/hbm/textures/gui/fluids/heatingoil_vacuum.png new file mode 100644 index 0000000000000000000000000000000000000000..5d5fff9c4203b722dad33be5a014f6c153090762 GIT binary patch literal 584 zcmV-O0=NB%P)~$5Jpctnc5A3QVDUf5-aik&xQCAT_~i+>D10%m^e3y zBHJ@_zT@ukVY2|_oca05Y`21lkaK2zE|>b<_d+QJvjy*^{!>+Q&ct{IAcVm2c*1)@ zRr&f#sKRy|xW2w7#z@W?5y3e}pHga-wp(GEP7K2a?>(gyR3T^h`KjwfYUPv?Aq2YH zk!8QH8|Hb&%qV4H9Iu$B6V7!w=Kz@Jj7U9j90MXk?;ON5Q2% z&u4ze#>@av)%NZyywE_ZD&sgZ422kDi*Jo`?bLgZnbEIw*Vw%m=6NQigsS3P$K{fn z1H&-1P5|7^%{6^548w-q?y5;N3>6IF9twG_`h|bEqmQ zrC*3$19>?7SjGb5$MJkPZQ=NzRJE|*LQp($);?DzYYKfwF@C(q9(LI`;8D<2VQ zb5-gy_xJZaJ-y;wq?E!qhNgK+iJWs&+)Y!JsFbCR@bdE7XxA9)1zWXORc>wqeJ^x> z|H!h6v%(V*K0ZEwXY4RrQ0)hfAN9)RQV$oDsRziDQA@9}=q80DOC&ha0a WBs@%B4*I|V0000*42C~al5J&~yU@%y zj)Q&QVOfytdB!{E5E0C*9jM&rl+psEbRz;PVyk`Myhwqa(NS)<`&j2y>- znLS*zZCis1P@Q_dTtF36N#Ec2FinK_C-_`gZ@0#KnkG_8jY?f_^Ne$jaU4%unI^br zFvEM#^zs5v5pK%^rK*prl2T&ZHl`Ty^T!7dwJdPuKM{MaR24HLrF7A)GGs8+#}EzMoY@DWy|`9$MYdSKs#$FQs5+CxwclZm#zAkq#l?oa27KKhS)j z(Cbhks_JRk`x{u{`Ntdi_h-wA4y`k&vw{`?D2Yvni&rfI@CN3E5t?c^_K#Y-f zT?rwes%+basxnOzPft(m`%bMD=Nuw}FQp8nX`0A6lTsptKx>UIa2y8!&N%=|Da06& zZQF3pal75dtLJ&rS|jI-h!8@+dr!`JY*l?&5RuW=aU7#~T~|~U5qT(y42z$ipM((D zwhg~5%K#Qa7=h^Yb&_ds0d) z%Q8ZgQW{h6-m@$VX2$(~=YGEr7Cz@Z+7S^{l~M}MxxuAhe0h1n%qXRBp68EJ$ND@^M1*x++4r5}IB?EkX0+BGqFtr` sJOJyu^8Nk&BbgxtLI{IVtrZdBFIUVwXB;fSc>n+a07*qoM6N<$f)u;_%>V!Z literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/models/tank/tank_DIESEL_CRACK_REFORM.png b/src/main/resources/assets/hbm/textures/models/tank/tank_DIESEL_CRACK_REFORM.png new file mode 100644 index 0000000000000000000000000000000000000000..6da1c4de606077e815c2429d7ff3da8f879016a0 GIT binary patch literal 1282 zcmV+d1^xPoP)-b8 zmr0Y33(z^EG>oa>4o(x9^|F%I(yqL#_y5ggESt6L_|0nflVo`$9uCH`6cKs28v8U? z?`ZlgA|ijDWz^L6ytB8nKaB3T`e8y~Q<+ZPy zcok1dCkN7_6Jp1!>+?si=Xs6Mt>4vu#H;ONj8=jijTMewMbuZk^4Zr-k4{M2c;&UP zn|KvZU-7D!bH)%3m$pDH&KXmJ9IXW3z1p&n@v3TFb#*h*qZ3jWuU_uPOZ(r!SXQ@9 zosoDI5hn-2Ddx$6Y`O=4gBnVZqm|&hS6jw+ui(U`Ei%QWE#MUM(iUvG2Y^|(66`Qh zf}>Yk#>s(j;^e?grF3#2Jvt#Vzk5ZY2Y^|(5^TDa=;hKDsK%u&;KZdZGR4V(aN^`Z zIF(!B>+{FjA2$=B&}vX*PQm^yq}}v%;B5>36S~bti%Y7nVMdm8(?#ZHa&n8|a#4K`I*z&Ou#oh$*DiT+b?d5H4#zX7e zqjTM?&lhi7)x*h1=8L5qPK>$JbhK)-d$L&nn<1Cq&sN!^?IM@A=Huqy?C0c&cx7<* z><%t|d=wFp*=$y~LgG~{bv@PW*{+_yiP>y6YAEuWq~ldCW0dXnezKZq%@@melQFZ% zulJKy|Id`-mC7Dns+wI_&BkMEd*whMstYahzS!F;a%^hj)tYJjjJr-QLszgKJzp%> zCNcI0=eloCdg|Jk_wCnlwW(@f#Vl;7S$9f;#4A@MF{4V=tq-%k>$&y}+Vwts-+Sl+ zt2laPf9Op+9NOkr*B-8_zgImsm7O6;$EzxK?{gKQuKgyj)AYKbU(;7g@hZsCE3=3` zAKE7E%|e(x(0;6Ho%Un){glSzEWUf?8aJzMo7%hD#JI0X=R)TaFSJv?!$b>?UPYuL zUSV@t#w!dkULg!l4n$`ZS_ulR1o0{&;uV~TSD7MS!HIZ<&M34J6j}-5RYb%qI1#Th sMZAI&@d}+$XeB7L62z;BQi@mq0L~UjubNCW=>Px#07*qoM6N<$f(__`VE_OC literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/models/tank/tank_DIESEL_REFORM.png b/src/main/resources/assets/hbm/textures/models/tank/tank_DIESEL_REFORM.png new file mode 100644 index 0000000000000000000000000000000000000000..a1ff204ed3b24f4213d4e0bb4d7628f60ac038fc GIT binary patch literal 1265 zcmeAS@N?(olHy`uVBq!ia0vp^RY2Us!3HEZPulwcNU;<(97rhh^9lpR6t4B)j5-lG67>vRsCXFSrF{C|~$hatIx!-Eu&AR`OT{k2PuNM(q|G;IBQ?|%04z665 zk6wZwx%`f-b^(fph_8>~{g|>t5$N2w@B1xFzaRMfc5mzNfERKnHsw6D6WPUHW>&9v zr@dlnM+NKhWgky1?^lb{e5Dna8mVSI`|EFk^-7n%yqg*>fA`DmQ(Nce&)F67Y}aM? z?+li=IOfav?g_dQy64l&#hDicAHEA+w5u!p`}Xfo?$3X}6|B=Fu5{Ak;7;*cH~C&p zuDi@}*LU4MroFBwv^+NUsP=rjSz@vifp)%*GXLnsKbiUA6|jcR@YU|}xh$4a!gux} z%+HiszvrF1@cJ($qU)_@8n+ch++x}~!#IuQe4OON%kKIz|GGECecv=|-Sybx>Z`6M z8i-BY)p|3wUf{G1hyR|SBTpPGGX3~c46ZTXxnj^HlMB?hR^oiz!Oo?+LPsx&60{FWCTKaQNjh0l6C}!`_(57Ad^4jw+bKqzqd)aeEkKfR*0n5ja&Q01SihU z?{AXnuMl0h=fu;udV=ex?Bv?Lwf^p|RN?hXK{`coH~wrDI2y670sZjP1gS^xA!Liw)41?8L0U#ojr%)0W=bA`#eyJDXFN&fit(eqRB zla(HYI>xW?eph#b)3jBS=AE>^k=E=)*G8*b?YS;U(8s$?nG+f@zo)}R%`;g zNsW2!!5>9=24)iH`L6i!Pp|Kv@o4HvvAL_IV#9lnZJqk~>dn{P3CGQ1Gba8_TEFVV ztux0~OCDY&`2Ep*-Kp!eUraT;{vg$E{VwI6^L2{uM^cY|zf#p7$|bkHtJT`-Myc3} zKizAz7QENDxgziIf@${tYEy}LtLTEAqPydYWmo?&1UW_RRaE}Q(qCH)-Ue4m8y;Q# zpnUzQzcCw+{`_)0RNQ#gzHNU@HNBtR)Sh2=ZM%Nn<@DsZ*G|iY^w${IA3VbKE>6=( ze*J@MyDL&%*FP4Wm0Y9{1NISs$f-rBuYp$sVn?HW4yXjZFcY5oxn1T N!PC{xWt~$(698&BZ~*`S literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/models/tank/tank_HEATINGOIL_VACUUM.png b/src/main/resources/assets/hbm/textures/models/tank/tank_HEATINGOIL_VACUUM.png new file mode 100644 index 0000000000000000000000000000000000000000..c12457f89171afffbb9dc3155d6e3bcfa1945030 GIT binary patch literal 1270 zcmah}c~Dbl5XTmkL%>Qn9V#qa2Y8w80=~ z;i2&$CQ&=e5fKTR1JU6=42lpi1Ti436A8RRO9Mpu%0K1h&gSO%QT-4qn1 z3PSMlemD_00twuDQg2k)JT@b%w-%|Hu0$vT@Zx!)H~Jk zsJti`SgR_haSk;{n(+n+Cqq}#*%!T

U!(YbMN;=Z44Ecjm%#>MvWzPxrVNr z%J9nT$k9{qPxPSLHI9$9ik6~5KcIh_G_|xsn+?7)5^6fBPJLx!(FB6_{l?N?*O3ia1#OUp(j$%_xzq%@M{3z{ovBP>+Ef0HJTD zLg?OLhO0v??Uu`LrKo4=(#knE$w>Ce=ht#8KL4Jw&{H^4EeqPa3Q@uw zZcM0M>nw|txoj}uKAUx%y)$kwE1+ypY^&cY#XDc$0eDrSf#TYqT5A;^{>;LRN5A)& z3L>hV>ntI(2mzsYrj!hb`FckwUITfz%kxKMI+ToKS8}$@#*>fNjSl^tbrxePG*|u81 zCGle%jG9KL(Xki0i{%(Ou{kZFu8gFv(k|yJj&anV#*H~bey`u?TW#7CRh1`+#Si3< z0h$6qvmiXtQ4fl=+;Wn7IAzZJ%g_Q863K5rG!yI%9GS|z2UqC*O3Q3<=C}7HAHE`< zq+l48z1=ryy(PoYhtW45-|QjJ@}18UELCDB<6LKl*!pH%MM&<*-t*D%w!4Kjl`?O1|9aHNfBSatEm!SQ%Eakt zG3V{wjefTsWR8Ed50z^XJUEGwQ_SeA?k}b_y+_Vm5OlHr#5DDjfX}&09y~f{pDc`y zZ`dd#J7I12P7Cqh|IW?*f4@KEVcX%QKVR2;-+cbuM3x=9c2x-rR@&_6&dj^_^>c4W zhtBlVi(_-^>;HZY%e9wX|K#)h?yB87-aF^j+`N$V*H>3BFx>T8KXl{0+r^Qu&q>%aJ;_jRI+pQh>b!-ILQhEe_WN;!uQxIc z*)z*;`KM2xF5POYm^xwI$E*o5bG`RS7$3{HqVa`;W$x>D((BjwU%Az`Zs8-*>x+#q zo5r!ueXSPvGO|(}oxwpfk@5cBX6T0**q3k|S-F)eXo#9;(G93D6 zk2d-ob8G09a+|QY_rbl@%#ZJBSA5Lq_W78>U6E;btI7F0hrw&JCSf(Vg0HU*fV7CQ zr*$1|{BUW{_b!Aa&!-IToa2ji9~@n*YjpIHL&Zi5fw-%IKmI-0R_eQ*qt&e0N!oEw z&=S%0v$nr(S>Ud&ViI@N_>--`dXdbdtM&Yy72;G|fbKT0DtXqVR^!xf)?BgFLpiRr zGfe5rizO{bR_k5#YN=T21r(awYb@#Ak+x^ig_#_4WAhJ7{W=f^pn4*?)3U+miuXgBdb|LUGwtzJ1dr+3BPfQF5eP8vnt^M1F3D=#z@$SFZdQLSiBK==Wr)bRH zpcK70MIW<|T(jMz*I(f8X1*v5&WFIb1?MoWU~tB|KtOa#(4JrXs?on}%TFFN0v1RN Mp00i_>zopr02o14C;$Ke literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/models/tank/tank_REFORMGAS.png b/src/main/resources/assets/hbm/textures/models/tank/tank_REFORMGAS.png new file mode 100644 index 0000000000000000000000000000000000000000..f90f04e82ec3d9ea160de8ca63702b1dc0a56fec GIT binary patch literal 1177 zcmV;K1ZMk*P)n5`3OE842S^$k zcboy*q+skAAnPPT1k-HK4JFd4gUBM90Ef;NJBl@av{LDVZFs8kfweAjqq|wD;rvN))nlvST#6ZX*bK1?bU6NP0B&DkJI@f^uHHqF!Y*SG{Uq z_3FZiR^)rVl3k+YT(=SQXfz0V1w`k%H7#IUo4MXw$)t@Dt;pDVB{@b@uQHmeUP&;b z6&YKvIM;0iJ=zF*G#XsJ%4n{7RiEqT>Qy1e)+^EVXhy3ZQ$KqZ8__HdRAlVpKnZr; zD?pDnf*x%IpS@aG%6cW)Rt%FdMPfH*m;8r_&bk?``LH+;K`ahL6c;s&php|QXRj8< zXRi>%tt|@0tt}A5tt}A6tlJ1qm>9v;tA(*R5J4;sG$QBXKt{A8eD(@a%({)>gozQ{ z+G1hc+5$n`+M-Y_4nz=(0}*v{eBV1CAZQ~9+6b;*Wt6L4`5)Jj{9BA@MWpqro{oc9$|y&@@~agixJ?qD>VPlLwn?`4u)B87Id^yalw^C_46p^(wPaun)WI$s=1+y()G@ z*QOqy+acfGK79#y?vXwAvsV(u2kqSWu>FujkC)nwr&eUpp0uXpYm0WcDSC80`ARVftG$2xa?Uxo-|su$tpjZ zRA{8u&vlLBG2!p``%NrlU(R|}?BYN_;4ytV7Ua~B$A~QsoO;5f*q~Dh1-eAYeF!>% zu8EeGkexGp3N)p@dbI{ggMQdue>-Q~e$M}U?0fv}w*TyVZP#Q=ek4a+auIrmvF+PsH;~) zMznMrlGpm%?|N>|-Lj^uSJ@W_#xCZ!LmC=@^m{c{r7k%a2U4#JLA`J|PoRj(k&XRk0BK^sBPMo_OZqFy10dQ~Xu6@sW&n2ex}AZR0~R~b>S5JbHy r6!i*0)GJIz&_)on5!9=UG}Wtr$eE+__8_2500000NkvXXu0mjfrcN(; literal 0 HcmV?d00001