diff --git a/changelog b/changelog index 8a5d15149..f47033276 100644 --- a/changelog +++ b/changelog @@ -17,8 +17,18 @@ * Drills no longer clip through depth rock, depth rock now has to be cleared before bedrock ore becomes accessible * When an area modifier is selected on a tool, an icon will now render next to the crosshair to make it obvious that the modifier is active * Crucibles will now produce a smoke effect when producing pollution, making it more obvious where the pollution is coming from +* Halved the amount of schrabidic acid needed in the schrabidium recipes in the PUREX, increasing the defacto yield per used fuel rod +* Changed thorium salt enrichment recipe from 5s to 1s +* There are now two new alternate recipes for making solid fuel in the chemical plant out of biomass +* The helium-3 recipe no longer requires batches of 8, the input, duration and output have been divided equally +* Helium-4 can now be filled into gas tanks +* Reinforced concrete can now also be created by filling rebar with liquid concrete in the acidizer +* Graphite electrodes can now be made in the chemical plant from either heating oil or lubricant +* Lubricant can now be made in the chemical plant from either coal tar or heavy oil +* The cracking tower and coker are now cheaper in expensive mode, using more bolted steel plates and fewer heavy frameworks ## Fixed * Fixed wood burner only being able to create one ash pile per item burned, even when that item yields more, creating a backlog in the internal ash value * Fixed some QMAW link icons not having the correct block lighting applied -* Fixed a rare crash caused by RBMK neutron calculations happening in unloaded chunks \ No newline at end of file +* Fixed a rare crash caused by RBMK neutron calculations happening in unloaded chunks +* Fixed moonstone recipe being broken \ No newline at end of file diff --git a/src/main/java/com/hbm/inventory/fluid/Fluids.java b/src/main/java/com/hbm/inventory/fluid/Fluids.java index 3eb3f8886..d3e411d1b 100644 --- a/src/main/java/com/hbm/inventory/fluid/Fluids.java +++ b/src/main/java/com/hbm/inventory/fluid/Fluids.java @@ -377,7 +377,7 @@ public class Fluids { SMOKE = new FluidType("SMOKE", 0x808080, 0, 0, 0, EnumSymbol.NONE).addTraits(GASEOUS, NOID, NOCON); SMOKE_LEADED = new FluidType("SMOKE_LEADED", 0x808080, 0, 0, 0, EnumSymbol.NONE).addTraits(GASEOUS, NOID, NOCON); SMOKE_POISON = new FluidType("SMOKE_POISON", 0x808080, 0, 0, 0, EnumSymbol.NONE).addTraits(GASEOUS, NOID, NOCON); - HELIUM4 = new FluidType("HELIUM4", 0xE54B0A, 0, 0, 0, EnumSymbol.ASPHYXIANT).addTraits(GASEOUS); + HELIUM4 = new FluidType("HELIUM4", 0xE54B0A, 0, 0, 0, EnumSymbol.ASPHYXIANT).addTraits(GASEOUS).addContainers(new CD_Gastank(0xFD631F, 0xffff00)); HEAVYWATER_HOT = new FluidType("HEAVYWATER_HOT", 0x4D007B, 1, 0, 0, EnumSymbol.NONE).setTemp(600).addTraits(LIQUID, VISCOUS); SODIUM = new FluidType("SODIUM", 0xCCD4D5, 1, 2, 3, EnumSymbol.NONE).setTemp(400).addTraits(LIQUID, VISCOUS); SODIUM_HOT = new FluidType("SODIUM_HOT", 0xE2ADC1, 1, 2, 3, EnumSymbol.NONE).setTemp(1200).addTraits(LIQUID, VISCOUS); diff --git a/src/main/java/com/hbm/inventory/recipes/AssemblyMachineRecipes.java b/src/main/java/com/hbm/inventory/recipes/AssemblyMachineRecipes.java index de2711f8c..ec94fd50e 100644 --- a/src/main/java/com/hbm/inventory/recipes/AssemblyMachineRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/AssemblyMachineRecipes.java @@ -258,13 +258,13 @@ public class AssemblyMachineRecipes extends GenericRecipes { .inputItemsEx(new ComparableStack(ModItems.item_expensive, 8, EnumExpensiveType.STEEL_PLATING), new OreDictStack(STEEL.pipe(), 12), new ComparableStack(ModItems.plate_polymer, 8), new ComparableStack(ModItems.circuit, 5, EnumCircuitType.ANALOG))); this.register(new GenericRecipe("ass.crackingtower").setup(200, 100).outputItems(new ItemStack(ModBlocks.machine_catalytic_cracker, 1)) .inputItems(new ComparableStack(ModBlocks.steel_scaffold, 16), new OreDictStack(STEEL.shell(), 6), new OreDictStack(ANY_PLASTIC.ingot(), 4), new OreDictStack(NB.ingot(), 2), new ComparableStack(ModItems.catalyst_clay, 12)) - .inputItemsEx(new ComparableStack(ModItems.item_expensive, 6, EnumExpensiveType.HEAVY_FRAME), new OreDictStack(ANY_PLASTIC.ingot(), 16), new OreDictStack(NB.ingot(), 4))); + .inputItemsEx(new ComparableStack(ModItems.item_expensive, 2, EnumExpensiveType.HEAVY_FRAME), new ComparableStack(ModItems.item_expensive, 12, EnumExpensiveType.STEEL_PLATING), new OreDictStack(ANY_PLASTIC.ingot(), 16), new OreDictStack(NB.ingot(), 4))); this.register(new GenericRecipe("ass.radiolysis").setup(200, 100).outputItems(new ItemStack(ModBlocks.machine_radiolysis, 1)) .inputItems(new OreDictStack(STEEL.shell(), 4), new OreDictStack(ANY_RESISTANTALLOY.ingot(), 4), new OreDictStack(PB.plate528(), 12), new OreDictStack(CU.plateCast(), 4), new OreDictStack(RUBBER.ingot(), 8), new ComparableStack(ModItems.thermo_element, 8)) .inputItemsEx(new ComparableStack(ModItems.item_expensive, 2, EnumExpensiveType.HEAVY_FRAME), new ComparableStack(ModItems.item_expensive, 4, EnumExpensiveType.LEAD_PLATING), new OreDictStack(CU.plateCast(), 4), new OreDictStack(RUBBER.ingot(), 16), new ComparableStack(ModItems.thermo_element, 8))); this.register(new GenericRecipe("ass.coker").setup(200, 100).outputItems(new ItemStack(ModBlocks.machine_coker, 1)) .inputItems(new OreDictStack(STEEL.plateWelded(), 8), new OreDictStack(STEEL.shell(), 4), new OreDictStack(CU.plate528(), 8), new OreDictStack(RUBBER.ingot(), 4), new OreDictStack(NB.ingot(), 4)) - .inputItemsEx(new ComparableStack(ModItems.item_expensive, 8, EnumExpensiveType.HEAVY_FRAME), new OreDictStack(RUBBER.ingot(), 16), new OreDictStack(NB.ingot(), 4))); + .inputItemsEx(new ComparableStack(ModItems.item_expensive, 4, EnumExpensiveType.HEAVY_FRAME), new ComparableStack(ModItems.item_expensive, 12, EnumExpensiveType.STEEL_PLATING), new OreDictStack(RUBBER.ingot(), 16), new OreDictStack(NB.ingot(), 4))); this.register(new GenericRecipe("ass.vaccumrefinery").setup(200, 100).outputItems(new ItemStack(ModBlocks.machine_vacuum_distill, 1)) .inputItems(new OreDictStack(STEEL.plateCast(), 16), new OreDictStack(CU.plate528(), 16), new OreDictStack(ANY_RESISTANTALLOY.ingot(), 4), new ComparableStack(ModItems.sphere_steel, 1), new OreDictStack(STEEL.pipe(), 12), new ComparableStack(ModItems.motor_desh, 3), new ComparableStack(ModItems.circuit, 4, EnumCircuitType.CHIP_BISMOID)) .inputItemsEx(new ComparableStack(ModItems.item_expensive, 2, EnumExpensiveType.BRONZE_TUBES), new ComparableStack(ModItems.item_expensive, 2, EnumExpensiveType.FERRO_PLATING), new OreDictStack(DURA.pipe(), 16), new ComparableStack(ModItems.motor_desh, 3), new ComparableStack(ModItems.circuit, 16, EnumCircuitType.CHIP_BISMOID), new ComparableStack(ModItems.item_expensive, 1, EnumExpensiveType.COMPUTER))); diff --git a/src/main/java/com/hbm/inventory/recipes/ChemicalPlantRecipes.java b/src/main/java/com/hbm/inventory/recipes/ChemicalPlantRecipes.java index a5f5736b0..752f53e35 100644 --- a/src/main/java/com/hbm/inventory/recipes/ChemicalPlantRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/ChemicalPlantRecipes.java @@ -62,9 +62,9 @@ public class ChemicalPlantRecipes extends GenericRecipes { .inputFluids(new FluidStack(Fluids.AIR, 8_000), new FluidStack(Fluids.OXYGEN, 250)) .outputFluids(new FluidStack(Fluids.XENON, 50)).setPools(GenericRecipes.POOL_PREFIX_ALT + ".xenonoxy")); - this.register(new GenericRecipe("chem.helium3").setupNamed(200, 2_000).setIcon(ModItems.gas_full, Fluids.HELIUM3.getID()) - .inputItems(new ComparableStack(ModBlocks.moon_turf, 8)) - .outputFluids(new FluidStack(Fluids.HELIUM3, 1_000))); + this.register(new GenericRecipe("chem.helium3").setupNamed(25, 2_000).setIcon(ModItems.gas_full, Fluids.HELIUM3.getID()) + .inputItems(new ComparableStack(ModBlocks.moon_turf, 1)) + .outputFluids(new FluidStack(Fluids.HELIUM3, 125))); this.register(new GenericRecipe("chem.co2").setup(60, 100) .inputFluids(new FluidStack(Fluids.GAS, 1_000)) @@ -101,6 +101,14 @@ public class ChemicalPlantRecipes extends GenericRecipes { .inputFluids(new FluidStack(Fluids.NAPHTHA, 1000)) .outputFluids(new FluidStack(Fluids.GASOLINE, 800))); + this.register(new GenericRecipe("chem.coallube").setupNamed(40, 100).setIcon(ModItems.canister_full, Fluids.LUBRICANT.getID()) + .inputFluids(new FluidStack(Fluids.COALCREOSOTE, 1_000)) + .outputFluids(new FluidStack(Fluids.LUBRICANT, 1_000)).setPools(GenericRecipes.POOL_PREFIX_ALT + ".lube")); + + this.register(new GenericRecipe("chem.heavylube").setupNamed(40, 100).setIcon(ModItems.canister_full, Fluids.LUBRICANT.getID()) + .inputFluids(new FluidStack(Fluids.HEAVYOIL, 2_000)) + .outputFluids(new FluidStack(Fluids.LUBRICANT, 1_000)).setPools(GenericRecipes.POOL_PREFIX_ALT + ".lube")); + this.register(new GenericRecipe("chem.tarsand").setupNamed(200, 100).setIcon(ModBlocks.ore_oil_sand) .inputItems(new ComparableStack(ModBlocks.ore_oil_sand, 16), new OreDictStack(ANY_TAR.any(), 1)) .outputItems(new ItemStack(Blocks.sand, 16)) @@ -202,6 +210,23 @@ public class ChemicalPlantRecipes extends GenericRecipes { .inputItems(new ComparableStack(ModBlocks.deco_steel, 8)) .inputFluids(new FluidStack(Fluids.WATER, 1000)) .outputItems(new ItemStack(ModBlocks.deco_rusty_steel, 8))); + + this.register(new GenericRecipe("chem.biosolidfuel").setupNamed(40, 100) + .inputItems(new ComparableStack(ModItems.biomass_compressed, 4)) + .outputItems(new ItemStack(ModItems.solid_fuel, 1)).setPools(GenericRecipes.POOL_PREFIX_ALT + ".biosolidfuel")); + + this.register(new GenericRecipe("chem.biooilsolidfuel").setupNamed(40, 100) + .inputItems(new ComparableStack(ModItems.biomass_compressed, 2)) + .inputFluids(new FluidStack(Fluids.HEATINGOIL, 100)) + .outputItems(new ItemStack(ModItems.solid_fuel, 1)).setPools(GenericRecipes.POOL_PREFIX_ALT + ".biosolidfuel")); + + this.register(new GenericRecipe("chem.oilelectrodes").setupNamed(600, 100) + .inputFluids(new FluidStack(Fluids.HEATINGOIL, 4_000)) + .outputItems(new ItemStack(ModItems.arc_electrode, 1)).setPools(GenericRecipes.POOL_PREFIX_ALT + ".electrodes")); + + this.register(new GenericRecipe("chem.lubeelectrodes").setupNamed(600, 100) + .inputFluids(new FluidStack(Fluids.LUBRICANT, 8_000)) + .outputItems(new ItemStack(ModItems.arc_electrode, 1)).setPools(GenericRecipes.POOL_PREFIX_ALT + ".electrodes")); /// ACIDS /// this.register(new GenericRecipe("chem.peroxide").setup(50, 100) diff --git a/src/main/java/com/hbm/inventory/recipes/CrystallizerRecipes.java b/src/main/java/com/hbm/inventory/recipes/CrystallizerRecipes.java index 4902d2f06..0d7ad1594 100644 --- a/src/main/java/com/hbm/inventory/recipes/CrystallizerRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/CrystallizerRecipes.java @@ -122,6 +122,7 @@ public class CrystallizerRecipes extends SerializableRecipe { registerRecipe(CD.dust(), new CrystallizerRecipe(ModItems.ingot_rubber, utilityTime), new FluidStack(Fluids.FISHOIL, 250)); registerRecipe(LATEX.ingot(), new CrystallizerRecipe(ModItems.ingot_rubber, mixingTime).prod(0.15F), new FluidStack(Fluids.SOURGAS, 25)); registerRecipe(new ComparableStack(ModItems.powder_sawdust), new CrystallizerRecipe(ModItems.cordite, mixingTime).prod(0.25F), new FluidStack(Fluids.NITROGLYCERIN, 250)); + registerRecipe(new ComparableStack(ModBlocks.rebar), new CrystallizerRecipe(ModBlocks.concrete_rebar, 10), new FluidStack(Fluids.CONCRETE, 1_000)); registerRecipe(new ComparableStack(ModItems.meteorite_sword_treated), new CrystallizerRecipe(ModItems.meteorite_sword_etched, baseTime)); registerRecipe(new ComparableStack(ModItems.powder_impure_osmiridium), new CrystallizerRecipe(ModItems.crystal_osmiridium, baseTime), new FluidStack(Fluids.SCHRABIDIC, 1_000)); @@ -242,7 +243,7 @@ public class CrystallizerRecipes extends SerializableRecipe { registerRecipe(CINNABAR.dust(), new CrystallizerRecipe(new ItemStack(ModItems.cinnebar), utilityTime), new FluidStack(Fluids.PEROXIDE, 50)); } - registerRecipe(new ComparableStack(ModBlocks.moon_turf, 16), new CrystallizerRecipe(new ItemStack(ModItems.chunk_ore, 1, EnumChunkType.MOONSTONE.ordinal()), 1200)); + registerRecipe(new ComparableStack(ModBlocks.moon_turf), new CrystallizerRecipe(new ItemStack(ModItems.chunk_ore, 1, EnumChunkType.MOONSTONE.ordinal()), 1200).setReq(16)); if(!IMCCrystallizer.buffer.isEmpty()) { recipes.putAll(IMCCrystallizer.buffer); diff --git a/src/main/java/com/hbm/inventory/recipes/PUREXRecipes.java b/src/main/java/com/hbm/inventory/recipes/PUREXRecipes.java index c6ab8e83b..e5fecfa23 100644 --- a/src/main/java/com/hbm/inventory/recipes/PUREXRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/PUREXRecipes.java @@ -324,7 +324,7 @@ public class PUREXRecipes extends GenericRecipes { .setIconToFirstIngredient()); // Molten Salt - this.register(new GenericRecipe("purex.thoriumsalt").setup(100, 10_000).setIcon(ModItems.fluid_icon, Fluids.THORIUM_SALT.getID()) + this.register(new GenericRecipe("purex.thoriumsalt").setup(20, 10_000).setIcon(ModItems.fluid_icon, Fluids.THORIUM_SALT.getID()) .inputFluids(new FluidStack(Fluids.THORIUM_SALT_DEPLETED, 16_000)) .inputItems(new OreDictStack(TH232.nugget(), 2)) .outputFluids(new FluidStack(Fluids.THORIUM_SALT, 16_000)) @@ -485,21 +485,21 @@ public class PUREXRecipes extends GenericRecipes { String autoSchrab = "autoswitch.schrab"; this.register(new GenericRecipe("purex.schrabzirnox").setup(200, 50_000).setNameWrapper("purex.schrab").setGroup(autoSchrab, this) .inputItems(new ComparableStack(ModItems.waste_plutonium)) - .inputFluids(new FluidStack(Fluids.SOLVENT, 4_000), new FluidStack(Fluids.SCHRABIDIC, 500)) + .inputFluids(new FluidStack(Fluids.SOLVENT, 4_000), new FluidStack(Fluids.SCHRABIDIC, 250)) .outputItems(new ItemStack(ModItems.powder_schrabidium, 1), new ItemStack(ModItems.nugget_technetium, 3), new ItemStack(ModItems.nuclear_waste_tiny, 4)) .setIconToFirstIngredient()); this.register(new GenericRecipe("purex.schrabpwr").setup(200, 50_000).setNameWrapper("purex.schrab").setGroup(autoSchrab, this) .inputItems(new ComparableStack(ModItems.pwr_fuel_depleted, 1, EnumPWRFuel.MEP)) - .inputFluids(new FluidStack(Fluids.SOLVENT, 4_000), new FluidStack(Fluids.SCHRABIDIC, 500)) + .inputFluids(new FluidStack(Fluids.SOLVENT, 4_000), new FluidStack(Fluids.SCHRABIDIC, 250)) .outputItems(new ItemStack(ModItems.powder_schrabidium, 1), new ItemStack(ModItems.nugget_technetium, 3), new ItemStack(ModItems.nuclear_waste_tiny, 4)) .setIconToFirstIngredient()); this.register(new GenericRecipe("purex.schrabmen").setup(200, 50_000).setNameWrapper("purex.schrab").setGroup(autoSchrab, this) .inputItems(new ComparableStack(ModItems.pwr_fuel_depleted, 1, EnumPWRFuel.MEN)) - .inputFluids(new FluidStack(Fluids.SOLVENT, 4_000), new FluidStack(Fluids.SCHRABIDIC, 500)) + .inputFluids(new FluidStack(Fluids.SOLVENT, 4_000), new FluidStack(Fluids.SCHRABIDIC, 250)) .outputItems(new ItemStack(ModItems.powder_schrabidium, 1), new ItemStack(ModItems.nugget_technetium, 3), new ItemStack(ModItems.nuclear_waste_tiny, 4)) diff --git a/src/main/resources/assets/hbm/lang/de_DE.lang b/src/main/resources/assets/hbm/lang/de_DE.lang index 1de98c6bb..dcbac8200 100644 --- a/src/main/resources/assets/hbm/lang/de_DE.lang +++ b/src/main/resources/assets/hbm/lang/de_DE.lang @@ -199,6 +199,12 @@ chem.gasoline=Benzin chem.tarsand=Bitumen aus Teersand chem.meatprocessing=Glyphidflesch-Verarbeitung chem.birkeland=Salpetersäure aus Luft +chem.biooilsolidfuel=Festbrennstoff aus Biomasse +chem.biosolidfuel=Festbrennstoff aus Öl und Biomasse +chem.coallube=Schmiermittel aus Kohleteer +chem.heavylube=Schmiermittel aus Schweröl +chem.oilelectrodes=Instant-Elektroden (Heizöl) +chem.lubeelectrodes=Instant-Elektroden (Schmiermittel) chem.ARSENIC=Arsenextraktion chem.ASPHALT=Asphaltherstellung diff --git a/src/main/resources/assets/hbm/lang/en_US.lang b/src/main/resources/assets/hbm/lang/en_US.lang index 2ddc6c297..425acf0fd 100644 --- a/src/main/resources/assets/hbm/lang/en_US.lang +++ b/src/main/resources/assets/hbm/lang/en_US.lang @@ -588,6 +588,12 @@ chem.gasoline=Gasoline chem.tarsand=Bitumen from Tar Sand chem.meatprocessing=Glyphid Meat Processing chem.birkeland=Nitric Acid from Air +chem.biooilsolidfuel=Solid Fuel from Oil and Biomass +chem.biosolidfuel=Solid Fuel from Biomass +chem.coallube=Lubricant from Coal Tar Creosote +chem.heavylube=Lubricant from Heavy Oil +chem.oilelectrodes=Instant Electrodes (Heating Oil) +chem.lubeelectrodes=Instant Electrodes (Lubricant) chem.ARSENIC=Arsenic Extraction chem.ASPHALT=Asphalt Production diff --git a/src/main/resources/assets/hbm/textures/items/fluid_tank.png b/src/main/resources/assets/hbm/textures/items/fluid_tank.png index 4d6a2d108..354f78761 100644 Binary files a/src/main/resources/assets/hbm/textures/items/fluid_tank.png and b/src/main/resources/assets/hbm/textures/items/fluid_tank.png differ diff --git a/src/main/resources/assets/hbm/textures/items/fluid_tank_overlay.png b/src/main/resources/assets/hbm/textures/items/fluid_tank_overlay.png index 2c258a92e..9a1e108cd 100644 Binary files a/src/main/resources/assets/hbm/textures/items/fluid_tank_overlay.png and b/src/main/resources/assets/hbm/textures/items/fluid_tank_overlay.png differ