From 93b763bd8043fd852b96ef43284bc8b917fcea7b Mon Sep 17 00:00:00 2001 From: MCTian-mi <35869948+MCTian-mi@users.noreply.github.com> Date: Mon, 23 Dec 2024 20:12:24 +0800 Subject: [PATCH 01/11] feat: bio diesel chain & hydrotreated lipid chain --- groovy/material/SecondDegreeMaterials.groovy | 7 + groovy/material/SuSyMaterials.groovy | 23 ++ .../UnknownCompositionMaterials.groovy | 107 ++++++ .../chemistry/ChemistryOverhaul.groovy | 83 ----- .../organic_chemistry/BiofuelChain.groovy | 332 ++++++++++++++++++ groovy/postInit/mod/GregTechFoodOption.groovy | 4 +- resources/langfiles/lang/en_us.lang | 24 ++ 7 files changed, 495 insertions(+), 85 deletions(-) create mode 100644 groovy/postInit/chemistry/organic_chemistry/BiofuelChain.groovy diff --git a/groovy/material/SecondDegreeMaterials.groovy b/groovy/material/SecondDegreeMaterials.groovy index a1d87159a..841ac97dc 100644 --- a/groovy/material/SecondDegreeMaterials.groovy +++ b/groovy/material/SecondDegreeMaterials.groovy @@ -741,5 +741,12 @@ public class SecondDegreeMaterials { .colorAverage() .build() .setFormula("(Ar)(NH3)(H)", true) + + AcidicHydrogenVapor = new Material.Builder(13119, SuSyUtility.susyId("acidic_hydrogen_vapor")) + .gas() + .components(Hydrogen * 6, CarbonDioxide * 1) + .color(0x003c74) + .build() + .setFormula("(H)8(CO2)", true); } } diff --git a/groovy/material/SuSyMaterials.groovy b/groovy/material/SuSyMaterials.groovy index d486ed319..62157efa6 100644 --- a/groovy/material/SuSyMaterials.groovy +++ b/groovy/material/SuSyMaterials.groovy @@ -526,6 +526,28 @@ class SuSyMaterials { public static Material OrthoCresylicAcidMixture; public static Material CresolNovolacsOligomer; public static Material EpoxyCresolNovolacs; + public static Material DeacidifiedLipid; + public static Material GlycerolMethanolSolution; + public static Material GlycerolEthanolSolution; + public static Material CrudeGlycerol; + public static Material CrudeFattyAcidMethylEster; + public static Material CrudeFattyAcidEthylEster; + public static Material NeutralizedFattyAcidMethylEster; + public static Material NeutralizedFattyAcidEthylEster; + public static Material UnscrubbedBioDiesel; + public static Material MoistBioDiesel; + public static Material LipidBleachingMix; + public static Material BleachedLipid; + public static Material HeatedLipid; + public static Material HydrodeoxygenationReactionOutlet; + public static Material AcidicHydrogenVapor; + public static Material CrudeNParaffin; + public static Material NeutralizedNParaffin; + public static Material GreenNaphtha; + public static Material DistilledNParaffin; + public static Material IsomerizedParaffin; + public static Material GreenKerosene; + public static Material GreenDiesel; // Petrochem Materials @@ -1897,6 +1919,7 @@ class SuSyMaterials { public static Material OxalicAcidSolution; public static Material GalliumSulfateSolution; public static Material FormicAcidWaterAzeotrope; + // Thermodynamics Materials public static Material EarthlikeAir; diff --git a/groovy/material/UnknownCompositionMaterials.groovy b/groovy/material/UnknownCompositionMaterials.groovy index 24f4580a8..771b9717c 100644 --- a/groovy/material/UnknownCompositionMaterials.groovy +++ b/groovy/material/UnknownCompositionMaterials.groovy @@ -1985,5 +1985,112 @@ public class UnknownCompositionMaterials { .liquid() .color(0xc8cca1) .build(); + + // Skipped IDs : 4426-4499 for gtl & plat chain + + DeacidifiedLipid = new Material.Builder(4500, SuSyUtility.susyId('deacidified_lipid')) + .liquid() + .color(0xe3ae64) + .build(); + + GlycerolMethanolSolution = new Material.Builder(4501, SuSyUtility.susyId('glycerol_methanol_solution')) + .liquid() + .color(0xb3de87) + .build(); + + GlycerolEthanolSolution = new Material.Builder(4502, SuSyUtility.susyId('glycerol_ethanol_solution')) + .liquid() + .color(0xc0de87) + .build(); + + CrudeGlycerol = new Material.Builder(4503, SuSyUtility.susyId('crude_glycerol')) + .liquid() + .color(0x96de87) + .build(); + + CrudeFattyAcidMethylEster = new Material.Builder(4504, SuSyUtility.susyId('crude_fatty_acid_methyl_ester')) + .liquid() + .color(0xffb100) + .build(); + + CrudeFattyAcidEthylEster = new Material.Builder(4505, SuSyUtility.susyId('crude_fatty_acid_ethyl_ester')) + .liquid() + .color(0xffa000) + .build(); + + NeutralizedFattyAcidMethylEster = new Material.Builder(4506, SuSyUtility.susyId('neutralized_fatty_acid_methyl_ester')) + .liquid() + .color(0xff8f00) + .build(); + + NeutralizedFattyAcidEthylEster = new Material.Builder(4507, SuSyUtility.susyId('neutralized_fatty_acid_ethyl_ester')) + .liquid() + .color(0xff6500) + .build(); + + UnscrubbedBioDiesel = new Material.Builder(4508, SuSyUtility.susyId('unscrubbed_bio_diesel')) + .liquid() + .color(0xc36100) + .build(); + + MoistBioDiesel = new Material.Builder(4509, SuSyUtility.susyId('moist_bio_diesel')) + .liquid() + .color(0xf77b00) + .build(); + + LipidBleachingMix = new Material.Builder(4510, SuSyUtility.susyId('bleaching_lipid_mix')) + .liquid() + .color(0xc29850) + .build(); + + BleachedLipid = new Material.Builder(4511, SuSyUtility.susyId('bleached_lipid')) + .liquid() + .color(0xd6c2a2) + .build(); + + HeatedLipid = new Material.Builder(4512, SuSyUtility.susyId('heated_lipid')) + .liquid() + .color(0xffd0a2) + .build(); + + HydrodeoxygenationReactionOutlet = new Material.Builder(4513, SuSyUtility.susyId('hydrodeoxygenation_reaction_outlet')) + .liquid() + .color(0xfff7ef) + .build(); + + CrudeNParaffin = new Material.Builder(4514, SuSyUtility.susyId('crude_n_paraffin')) + .liquid() + .color(0xededde) + .build(); + + NeutralizedNParaffin = new Material.Builder(4515, SuSyUtility.susyId('neutralized_n_paraffin')) + .liquid() + .color(0xf6f6ef) + .build(); + DistilledNParaffin = new Material.Builder(4516, SuSyUtility.susyId('distilled_n_paraffin')) + .liquid() + .color(0xeff6f6) + .build(); + + IsomerizedParaffin = new Material.Builder(4517, SuSyUtility.susyId('isomerized_paraffin')) + .liquid() + .color(0xffebbb) + .build(); + + GreenNaphtha = new Material.Builder(4518, SuSyUtility.susyId('green_naphtha')) + .liquid() + .color(0xfffba1) + .build(); + + + GreenKerosene = new Material.Builder(4519, SuSyUtility.susyId('green_kerosene')) + .liquid() + .color(0xf8f8f8) + .build(); + + GreenDiesel = new Material.Builder(4520, SuSyUtility.susyId('green_diesel')) + .liquid() + .color(0xffe6cd) + .build(); } } diff --git a/groovy/postInit/chemistry/ChemistryOverhaul.groovy b/groovy/postInit/chemistry/ChemistryOverhaul.groovy index 4f3b45824..054b909dd 100644 --- a/groovy/postInit/chemistry/ChemistryOverhaul.groovy +++ b/groovy/postInit/chemistry/ChemistryOverhaul.groovy @@ -54,89 +54,6 @@ ASSEMBLER.recipeBuilder() .duration(160) .buildAndRegister() -// Soap - -CENTRIFUGE.recipeBuilder() -.fluidInputs(fluid('methanol') * 250) -.fluidInputs(fluid('fish_oil') * 6000) -.fluidOutputs(fluid('bio_diesel') * 6000) -.fluidOutputs(fluid('glycerol') * 1000) -.duration(200) -.EUt(30) -.buildAndRegister() - -CENTRIFUGE.recipeBuilder() -.fluidInputs(fluid('ethanol') * 250) -.fluidInputs(fluid('fish_oil') * 6000) -.fluidOutputs(fluid('bio_diesel') * 6000) -.fluidOutputs(fluid('glycerol') * 1000) -.duration(200) -.EUt(30) -.buildAndRegister() - -CENTRIFUGE.recipeBuilder() - .fluidInputs(fluid('ethanol_water_azeotrope') * 280) - .fluidInputs(fluid('fish_oil') * 6000) - .fluidOutputs(fluid('bio_diesel') * 6000) - .fluidOutputs(fluid('glycerol') * 1000) - .duration(200) - .EUt(30) - .buildAndRegister() - -CENTRIFUGE.recipeBuilder() - .fluidInputs(fluid('methanol') * 250) - .fluidInputs(fluid('seed_oil') * 6000) - .fluidOutputs(fluid('bio_diesel') * 6000) - .fluidOutputs(fluid('glycerol') * 1000) - .duration(200) - .EUt(30) - .buildAndRegister() - -CENTRIFUGE.recipeBuilder() - .fluidInputs(fluid('ethanol') * 250) - .fluidInputs(fluid('seed_oil') * 6000) - .fluidOutputs(fluid('bio_diesel') * 6000) - .fluidOutputs(fluid('glycerol') * 1000) - .duration(200) - .EUt(30) - .buildAndRegister() - -CENTRIFUGE.recipeBuilder() - .fluidInputs(fluid('ethanol_water_azeotrope') * 280) - .fluidInputs(fluid('seed_oil') * 6000) - .fluidOutputs(fluid('bio_diesel') * 6000) - .fluidOutputs(fluid('glycerol') * 1000) - .duration(200) - .EUt(30) - .buildAndRegister() - -CENTRIFUGE.recipeBuilder() - .fluidInputs(fluid('methanol') * 250) - .fluidInputs(fluid('gtfo_stearin') * 6000) - .fluidOutputs(fluid('bio_diesel') * 6000) - .fluidOutputs(fluid('glycerol') * 1000) - .duration(200) - .EUt(30) - .buildAndRegister() - -CENTRIFUGE.recipeBuilder() - .fluidInputs(fluid('ethanol') * 250) - .fluidInputs(fluid('gtfo_stearin') * 6000) - .fluidOutputs(fluid('bio_diesel') * 6000) - .fluidOutputs(fluid('glycerol') * 1000) - .duration(200) - .EUt(30) - .buildAndRegister() - -CENTRIFUGE.recipeBuilder() - .fluidInputs(fluid('ethanol_water_azeotrope') * 280) - .fluidInputs(fluid('gtfo_stearin') * 6000) - .fluidOutputs(fluid('bio_diesel') * 6000) - .fluidOutputs(fluid('glycerol') * 1000) - .duration(200) - .EUt(30) - .buildAndRegister() - // Ammonium Chloride BCR.recipeBuilder() diff --git a/groovy/postInit/chemistry/organic_chemistry/BiofuelChain.groovy b/groovy/postInit/chemistry/organic_chemistry/BiofuelChain.groovy new file mode 100644 index 000000000..02527a7da --- /dev/null +++ b/groovy/postInit/chemistry/organic_chemistry/BiofuelChain.groovy @@ -0,0 +1,332 @@ +PHASE_SEPARATOR = recipemap('phase_separator') +MIXER = recipemap('mixer') +FLUID_HEATER = recipemap('fluid_heater') +CENTRIFUGE = recipemap('centrifuge') +SIFTER = recipemap('sifter') +DRYER = recipemap('dryer') +VACUUM_CHAMBER = recipemap('vacuum_chamber') +PSA = recipemap('pressure_swing_adsorption') +BR = recipemap('batch_reactor') +BCR = recipemap('bubble_column_reactor') +TBR = recipemap('trickle_bed_reactor') +DT = recipemap('distillation_tower') +SIEVE_DT = recipemap('sieve_distillation') + +class Lipid { + + String name + int eqMultiplier + + Lipid(String name, int eqMultiplier = 1) { + this.name = name + this.eqMultiplier = eqMultiplier + } + + def get(int amount = 1000) { + return fluid(this.name) * (amount * this.eqMultiplier) + } + +} + +class Alcohol { + + String name + String group_name + + Alcohol(String name) { + this.name = name + this.group_name = this.name.replace('anol', 'yl') + } + + def get(int amount = 1000) { + return fluid(this.name) * amount + } + + def getGlycerolSolution(int amount = 1000) { + return fluid("glycerol_${this.name}_solution") * amount + } + + def getCrudeEster(int amount = 1000) { + return fluid("crude_fatty_acid_${this.group_name}_ester") * amount + } + + def getNeutralizedEster(int amount = 1000) { + return fluid("neutralized_fatty_acid_${this.group_name}_ester") * amount + } + +} + +grade1Lipids = [ + new Lipid('gtfo_olive_oil'), + // new Lipid('palm_oil'), + new Lipid('gtfo_soybean_oil'), + new Lipid('coconut_oil'), + new Lipid('seed_oil'), + new Lipid('deacidified_lipid') +] + +grade2Lipids = [ + new Lipid('fish_oil'), + new Lipid('gtfo_stearin') +] + +alcohols = [ + new Alcohol('methanol'), + new Alcohol('ethanol') +] + +// tick per bucket of biodiesel +int tpbb = 12 + +// -------- Grade 2 Lipids -> Grade 1 Lipids -------- +// Via Distillation, Neutralization, or Esterification. +// First 2 methods are lossy but fast, while esterification is slower. +// Let's assume they have 10% fatty acid content. +grade2Lipids.forEach { lipid -> + // Distillation + DT.recipeBuilder() + .fluidInputs(lipid.get()) + .fluidOutputs(fluid('deacidified_lipid') * 900) + .fluidOutputs(fluid('stearic_acid') * 100) + .duration(50) + .EUt(30) + .buildAndRegister() + + // Neutralization + MIXER.recipeBuilder() + .fluidInputs(lipid.get()) + .fluidInputs(fluid('diluted_sodium_hydroxide_solution') * 100) + .fluidOutputs(fluid('deacidified_lipid') * 900) + .fluidOutputs(fluid('gtfo_sodium_stearate') * 100) + .duration(15) + .EUt(7) + .buildAndRegister() + + // Esterification + BR.recipeBuilder() + .fluidInputs(lipid.get()) + .fluidInputs(fluid('glycerol') * 100) + .notConsumable(fluid('sulfuric_acid') * 1000) + .fluidOutputs(fluid('deacidified_lipid') * 1000) + .duration(120) + .EUt(120) + .buildAndRegister() +} + +// -------- Bio Diesel Chain -------- +alcohols.forEach { alcohol -> + // Catalytic transesterification + grade1Lipids.forEach { lipid -> + BR.recipeBuilder() + .inputs(ore('dustSodiumHydroxide')) + .fluidInputs(lipid.get()) + .fluidInputs(alcohol.get(6000)) // Optimal condition of 6 eq. alcohol + .fluidOutputs(alcohol.getGlycerolSolution(3500)) + .fluidOutputs(alcohol.getCrudeEster(3500)) + .duration(tpbb * 3) + .EUt(30) + .buildAndRegister() + } + + // Vacuum Flash Distillation of Glycerol Solutions + VACUUM_CHAMBER.recipeBuilder() + .fluidInputs(fluid('diluted_hydrochloric_acid') * 1000) + .fluidInputs(alcohol.getGlycerolSolution(7000)) + .fluidOutputs(fluid('crude_glycerol') * 3000) + .fluidOutputs(alcohol.get(5000)) + .duration(60) + .EUt(30) + .buildAndRegister() + + // Distillation of Crude Glycerol + DT.recipeBuilder() + .fluidInputs(fluid('crude_glycerol') * 3000) + .outputs(metaitem('dustSalt')) + .fluidOutputs(fluid('glycerol') * 2000) + .fluidOutputs(fluid('water') * 1000) + .duration(20) + .EUt(30) + .buildAndRegister() + + // Neutralization of Crude FAXEs + MIXER.recipeBuilder() + .fluidInputs(fluid('diluted_hydrochloric_acid') * 100) + .fluidInputs(alcohol.getCrudeEster(2100)) + .fluidOutputs(alcohol.getNeutralizedEster(2100)) + .fluidOutputs(fluid('diluted_saltwater') * 100) + .duration(15) + .EUt(7) + .buildAndRegister() + + // Distillation of Neutralized FAXEs + DT.recipeBuilder() + .fluidInputs(alcohol.getNeutralizedEster(3500)) + .fluidOutputs(fluid('unscrubbed_bio_diesel') * 3000) + .fluidOutputs(alcohol.get(500)) + .duration(tpbb * 3) + .EUt(30) + .buildAndRegister() + + // Washing of Bio Diesel with heated water + MIXER.recipeBuilder() + .fluidInputs(fluid('gtfo_heated_water') * 1000) + .fluidInputs(fluid('unscrubbed_bio_diesel') * 3000) + .fluidOutputs(fluid('wastewater') * 1000) + .fluidOutputs(fluid('moist_bio_diesel') * 3000) + .duration(tpbb * 3) + .EUt(7) + .buildAndRegister() + + // Drying + DRYER.recipeBuilder() + .fluidInputs(fluid('moist_bio_diesel') * 1000) + .fluidOutputs(fluid('bio_diesel') * 1000) + .duration(tpbb) + .EUt(30) + .buildAndRegister() +} + +// tick per 1/4 bucket of n-paraffin +int tpbnp = 20 + +// -------- Green Diesel Chain -------- +// Pretreatment to remove undesired pigments +// such as carotenoids and chlorophyll via decolorization +grade1Lipids.forEach { lipid -> + MIXER.recipeBuilder() + .inputs(ore('dustAluminiumSilicate')) + .notConsumable(fluid('phosphoric_acid') * 500) + .fluidInputs(lipid.get()) + .fluidOutputs(fluid('bleaching_lipid_mix') * 1000) + .duration(120) + .EUt(30) + .buildAndRegister() + + // Separation of Al2SiO5 + SIFTER.recipeBuilder() + .fluidInputs(fluid('bleaching_lipid_mix') * 1000) + .outputs(metaitem('dustAluminiumSilicate')) + .fluidOutputs(fluid('bleached_lipid') * 1000) + .duration(20) + .EUt(30) + .buildAndRegister() +} + +// Preheat the bleached lipid for the hydrotreating process +FLUID_HEATER.recipeBuilder() + .fluidInputs(fluid('bleached_lipid') * 1000) + .fluidOutputs(fluid('heated_lipid') * 1000) + .duration(30) + .EUt(30) + .buildAndRegister() + +// Hydrotreating heated lipid +TBR.recipeBuilder() + .fluidInputs(fluid('heated_lipid') * 250) + .fluidInputs(fluid('hydrogen') * 8000) + .notConsumable(ore('dustHydrotreatingCatalyst')) // Since molybdenum is EV + .fluidOutputs(fluid('hydrodeoxygenation_reaction_outlet') * 8000) + .duration(tpbnp) + .EUt(120) + .buildAndRegister() + +// Separating out water & gases +PHASE_SEPARATOR.recipeBuilder() + .fluidInputs(fluid('hydrodeoxygenation_reaction_outlet') * 8000) + .fluidOutputs(fluid('water') * 1500) + .fluidOutputs(fluid('crude_n_paraffin') * 1000) + .fluidOutputs(fluid('acidic_hydrogen_vapor') * 4500) + .duration(50) + .buildAndRegister() + +// Hydrogen recycling +// The carbon dioxide in the gaseous phase is formed via decarboxylation +// You can use either PSA or NaOH solution +PSA.recipeBuilder() + .notConsumable(ore('dustMolecularSieve') * 5) + .fluidInputs(fluid('acidic_hydrogen_vapor') * 9000) + .fluidOutputs(fluid('hydrogen') * 8000) + .fluidOutputs(fluid('carbon_dioxide') * 1000) + .duration(20) + .EUt(120) + .buildAndRegister() + +// Using the same number as the one uses pure CO2 +BCR.recipeBuilder() + .fluidInputs(fluid('acidic_hydrogen_vapor') * 450) + .fluidInputs(fluid('sodium_hydroxide_solution') * 100) + .fluidOutputs(fluid('diluted_sodium_carbonate_solution') * 150) + .fluidOutputs(fluid('hydrogen') * 400) + .duration(4) + .EUt(30) + .buildAndRegister() + +// Neutralize unreacted fatty acids in the crude n-paraffin +// Let's assume there are 5% of them +// This won't, however, reduce overall conversion rate, for number-balancing reasons +MIXER.recipeBuilder() + .fluidInputs(fluid('sodium_hydroxide_solution') * 50) + .fluidInputs(fluid('crude_n_paraffin') * 1000) + .fluidOutputs(fluid('gtfo_sodium_stearate') * 50) + .fluidOutputs(fluid('neutralized_n_paraffin') * 1000) + .duration(20) + .EUt(30) + .buildAndRegister() + +// Separation & hydroisomerization of hydrocarbons in the paraffin +// IRL the ratio of fractions is highly related to the catalyst, temperature, +// and the composition of the feedstock. I just choose a random ratio here: +// 25% propane, 6.25% naphtha, 18.75% bio-jet fuel (which is basically green kerosene), and 50% green diesel. + +// First fraction distillation, removing light ends +SIEVE_DT.recipeBuilder() + .fluidInputs(fluid('neutralized_n_paraffin') * 2000) + .fluidOutputs(fluid('distilled_n_paraffin') * 1375) + .fluidOutputs(fluid('green_naphtha') * 125) + .fluidOutputs(fluid('propane') * 500) + .duration(tpbnp * 8) + .EUt(30) + .buildAndRegister() + +// Hydroisomerization of the remaining n-paraffin, to improve the cold flow properties +// 20% Hydrogen is lost in this step ↑ copilot actually knows the reason wtf +TBR.recipeBuilder() + .notConsumable(ore('dustSulfatedMetalOxide')) // Since molybdenum is EV + .fluidInputs(fluid('hydrogen') * 500) + .fluidInputs(fluid('distilled_n_paraffin') * 5500) + .fluidOutputs(fluid('hydrogen') * 400) + .fluidOutputs(fluid('isomerized_paraffin') * 5500) + .duration(tpbnp * 32) + .EUt(120) + .buildAndRegister() + +// Second fraction distillation +SIEVE_DT.recipeBuilder() + .fluidInputs(fluid('isomerized_paraffin') * 1100) + .fluidOutputs(fluid('green_diesel') * 800) + .fluidOutputs(fluid('green_kerosene') * 300) + .duration(tpbnp * 6) + .EUt(30) + .buildAndRegister() + +// -------- Converting Final Products to their Petrochem equivalents -------- +CENTRIFUGE.recipeBuilder() + .fluidInputs(fluid('green_diesel') * 1000) + .fluidOutputs(fluid('diesel') * 1000) + .duration(20) + .EUt(7) + .buildAndRegister() + +CENTRIFUGE.recipeBuilder() + .fluidInputs(fluid('green_kerosene') * 1000) + .fluidOutputs(fluid('kerosene') * 1000) + .duration(20) + .EUt(7) + .buildAndRegister() + +CENTRIFUGE.recipeBuilder() + .fluidInputs(fluid('green_naphtha') * 1000) + .fluidOutputs(fluid('naphtha') * 1000) + .duration(20) + .EUt(7) + .buildAndRegister() diff --git a/groovy/postInit/mod/GregTechFoodOption.groovy b/groovy/postInit/mod/GregTechFoodOption.groovy index 64e17da60..e666b3fc5 100755 --- a/groovy/postInit/mod/GregTechFoodOption.groovy +++ b/groovy/postInit/mod/GregTechFoodOption.groovy @@ -321,8 +321,8 @@ MIXER.recipeBuilder() MIXER.recipeBuilder() .fluidInputs(fluid('gtfo_stearin') * 1000) - .fluidInputs(fluid('water') * 1000) - .fluidInputs(fluid('sodium_hydroxide_solution') * 1000) + .fluidInputs(fluid('water') * 3000) + .fluidInputs(fluid('sodium_hydroxide_solution') * 3000) .fluidOutputs(fluid('gtfo_sodium_stearate') * 3000) .duration(60) .EUt(120) diff --git a/resources/langfiles/lang/en_us.lang b/resources/langfiles/lang/en_us.lang index af43d5b5c..b8f6a7523 100644 --- a/resources/langfiles/lang/en_us.lang +++ b/resources/langfiles/lang/en_us.lang @@ -2107,6 +2107,30 @@ susy.material.two_four_five_xylenol_mixture=2,4/5-Xylenol Mixture susy.material.cresol_novolacs_oligomer=Cresol Novolacs Oligomer susy.material.epoxy_cresol_novolacs=Epoxy Cresol Novolacs (ECN) +# Biofuel Chain +susy.material.deacidified_lipid=Deacidified Lipid +susy.material.glycerol_methanol_solution=Glycerol Methanol Solution +susy.material.glycerol_ethanol_solution=Glycerol Ethanol Solution +susy.material.crude_glycerol=Crude Glycerol +susy.material.crude_fatty_acid_methyl_ester=Crude Fatty Acid Methyl Ester (FAME) +susy.material.crude_fatty_acid_ethyl_ester=Crude Fatty Acid Ethyl Ester (FAEE) +susy.material.neutralized_fatty_acid_methyl_ester=Neutralized Fatty Acid Methyl Ester (FAME) +susy.material.neutralized_fatty_acid_ethyl_ester=Neutralized Fatty Acid Ethyl Ester (FAEE) +susy.material.unscrubbed_bio_diesel=Unscrubbed Bio Diesel +susy.material.moist_bio_diesel=Moist Bio Diesel +susy.material.bleaching_lipid_mix=Bleaching Lipid Mix +susy.material.bleached_lipid=Bleached Lipid +susy.material.heated_lipid=Heated Lipid +susy.material.hydrodeoxygenation_reaction_outlet=Hydrodeoxygenation Reaction Outlet +susy.material.crude_n_paraffin=Crude n-Paraffin +susy.material.neutralized_n_paraffin=Neutralized n-Paraffin +susy.material.green_naphtha=Green Naphtha +susy.material.distilled_n_paraffin=Distilled n-Paraffin +susy.material.isomerized_paraffin=Isomerized Paraffin +susy.material.green_kerosene=Biojet Fuel +susy.material.green_diesel=Green Diesel +susy.material.acidic_hydrogen_vapor=Acidic Hydrogen Vapor + # Isotopes # GregTech RecipeMaps From c878713902e581678429f57c08922e111bf09d12 Mon Sep 17 00:00:00 2001 From: MCTian-mi <35869948+MCTian-mi@users.noreply.github.com> Date: Mon, 23 Dec 2024 20:40:05 +0800 Subject: [PATCH 02/11] fix: adjust numbers --- .../postInit/chemistry/organic_chemistry/BiofuelChain.groovy | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/groovy/postInit/chemistry/organic_chemistry/BiofuelChain.groovy b/groovy/postInit/chemistry/organic_chemistry/BiofuelChain.groovy index 02527a7da..373a694cd 100644 --- a/groovy/postInit/chemistry/organic_chemistry/BiofuelChain.groovy +++ b/groovy/postInit/chemistry/organic_chemistry/BiofuelChain.groovy @@ -225,14 +225,14 @@ TBR.recipeBuilder() .fluidInputs(fluid('heated_lipid') * 250) .fluidInputs(fluid('hydrogen') * 8000) .notConsumable(ore('dustHydrotreatingCatalyst')) // Since molybdenum is EV - .fluidOutputs(fluid('hydrodeoxygenation_reaction_outlet') * 8000) + .fluidOutputs(fluid('hydrodeoxygenation_reaction_outlet') * 7000) .duration(tpbnp) .EUt(120) .buildAndRegister() // Separating out water & gases PHASE_SEPARATOR.recipeBuilder() - .fluidInputs(fluid('hydrodeoxygenation_reaction_outlet') * 8000) + .fluidInputs(fluid('hydrodeoxygenation_reaction_outlet') * 7000) .fluidOutputs(fluid('water') * 1500) .fluidOutputs(fluid('crude_n_paraffin') * 1000) .fluidOutputs(fluid('acidic_hydrogen_vapor') * 4500) From 3b859338c38e8d9c053a53f30adbb3da0bc11e07 Mon Sep 17 00:00:00 2001 From: MCTian-mi <35869948+MCTian-mi@users.noreply.github.com> Date: Mon, 23 Dec 2024 21:35:43 +0800 Subject: [PATCH 03/11] fix: no more green for ya --- groovy/material/SuSyMaterials.groovy | 3 -- .../UnknownCompositionMaterials.groovy | 16 ----------- .../organic_chemistry/BiofuelChain.groovy | 28 ++----------------- resources/langfiles/lang/en_us.lang | 3 -- 4 files changed, 3 insertions(+), 47 deletions(-) diff --git a/groovy/material/SuSyMaterials.groovy b/groovy/material/SuSyMaterials.groovy index 62157efa6..52dfe42cb 100644 --- a/groovy/material/SuSyMaterials.groovy +++ b/groovy/material/SuSyMaterials.groovy @@ -543,11 +543,8 @@ class SuSyMaterials { public static Material AcidicHydrogenVapor; public static Material CrudeNParaffin; public static Material NeutralizedNParaffin; - public static Material GreenNaphtha; public static Material DistilledNParaffin; public static Material IsomerizedParaffin; - public static Material GreenKerosene; - public static Material GreenDiesel; // Petrochem Materials diff --git a/groovy/material/UnknownCompositionMaterials.groovy b/groovy/material/UnknownCompositionMaterials.groovy index 771b9717c..c383ea0fa 100644 --- a/groovy/material/UnknownCompositionMaterials.groovy +++ b/groovy/material/UnknownCompositionMaterials.groovy @@ -2076,21 +2076,5 @@ public class UnknownCompositionMaterials { .liquid() .color(0xffebbb) .build(); - - GreenNaphtha = new Material.Builder(4518, SuSyUtility.susyId('green_naphtha')) - .liquid() - .color(0xfffba1) - .build(); - - - GreenKerosene = new Material.Builder(4519, SuSyUtility.susyId('green_kerosene')) - .liquid() - .color(0xf8f8f8) - .build(); - - GreenDiesel = new Material.Builder(4520, SuSyUtility.susyId('green_diesel')) - .liquid() - .color(0xffe6cd) - .build(); } } diff --git a/groovy/postInit/chemistry/organic_chemistry/BiofuelChain.groovy b/groovy/postInit/chemistry/organic_chemistry/BiofuelChain.groovy index 373a694cd..1f4561b0c 100644 --- a/groovy/postInit/chemistry/organic_chemistry/BiofuelChain.groovy +++ b/groovy/postInit/chemistry/organic_chemistry/BiofuelChain.groovy @@ -282,7 +282,7 @@ MIXER.recipeBuilder() SIEVE_DT.recipeBuilder() .fluidInputs(fluid('neutralized_n_paraffin') * 2000) .fluidOutputs(fluid('distilled_n_paraffin') * 1375) - .fluidOutputs(fluid('green_naphtha') * 125) + .fluidOutputs(fluid('naphtha') * 125) .fluidOutputs(fluid('propane') * 500) .duration(tpbnp * 8) .EUt(30) @@ -303,30 +303,8 @@ TBR.recipeBuilder() // Second fraction distillation SIEVE_DT.recipeBuilder() .fluidInputs(fluid('isomerized_paraffin') * 1100) - .fluidOutputs(fluid('green_diesel') * 800) - .fluidOutputs(fluid('green_kerosene') * 300) + .fluidOutputs(fluid('diesel') * 800) + .fluidOutputs(fluid('kerosene') * 300) .duration(tpbnp * 6) .EUt(30) .buildAndRegister() - -// -------- Converting Final Products to their Petrochem equivalents -------- -CENTRIFUGE.recipeBuilder() - .fluidInputs(fluid('green_diesel') * 1000) - .fluidOutputs(fluid('diesel') * 1000) - .duration(20) - .EUt(7) - .buildAndRegister() - -CENTRIFUGE.recipeBuilder() - .fluidInputs(fluid('green_kerosene') * 1000) - .fluidOutputs(fluid('kerosene') * 1000) - .duration(20) - .EUt(7) - .buildAndRegister() - -CENTRIFUGE.recipeBuilder() - .fluidInputs(fluid('green_naphtha') * 1000) - .fluidOutputs(fluid('naphtha') * 1000) - .duration(20) - .EUt(7) - .buildAndRegister() diff --git a/resources/langfiles/lang/en_us.lang b/resources/langfiles/lang/en_us.lang index b8f6a7523..c3a59142c 100644 --- a/resources/langfiles/lang/en_us.lang +++ b/resources/langfiles/lang/en_us.lang @@ -2124,11 +2124,8 @@ susy.material.heated_lipid=Heated Lipid susy.material.hydrodeoxygenation_reaction_outlet=Hydrodeoxygenation Reaction Outlet susy.material.crude_n_paraffin=Crude n-Paraffin susy.material.neutralized_n_paraffin=Neutralized n-Paraffin -susy.material.green_naphtha=Green Naphtha susy.material.distilled_n_paraffin=Distilled n-Paraffin susy.material.isomerized_paraffin=Isomerized Paraffin -susy.material.green_kerosene=Biojet Fuel -susy.material.green_diesel=Green Diesel susy.material.acidic_hydrogen_vapor=Acidic Hydrogen Vapor # Isotopes From 79f9e9651c269b7b12e8f6c5b82884d8d3b19690 Mon Sep 17 00:00:00 2001 From: MCTian-mi <35869948+MCTian-mi@users.noreply.github.com> Date: Sat, 28 Dec 2024 13:03:36 +0800 Subject: [PATCH 04/11] fix: rename --- groovy/material/SuSyMaterials.groovy | 2 +- groovy/material/UnknownCompositionMaterials.groovy | 2 +- .../postInit/chemistry/organic_chemistry/BiofuelChain.groovy | 4 ++-- resources/langfiles/lang/en_us.lang | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/groovy/material/SuSyMaterials.groovy b/groovy/material/SuSyMaterials.groovy index 52dfe42cb..0c009f487 100644 --- a/groovy/material/SuSyMaterials.groovy +++ b/groovy/material/SuSyMaterials.groovy @@ -539,7 +539,7 @@ class SuSyMaterials { public static Material LipidBleachingMix; public static Material BleachedLipid; public static Material HeatedLipid; - public static Material HydrodeoxygenationReactionOutlet; + public static Material HydrotreatedLipidMixture; public static Material AcidicHydrogenVapor; public static Material CrudeNParaffin; public static Material NeutralizedNParaffin; diff --git a/groovy/material/UnknownCompositionMaterials.groovy b/groovy/material/UnknownCompositionMaterials.groovy index c383ea0fa..89631022e 100644 --- a/groovy/material/UnknownCompositionMaterials.groovy +++ b/groovy/material/UnknownCompositionMaterials.groovy @@ -2053,7 +2053,7 @@ public class UnknownCompositionMaterials { .color(0xffd0a2) .build(); - HydrodeoxygenationReactionOutlet = new Material.Builder(4513, SuSyUtility.susyId('hydrodeoxygenation_reaction_outlet')) + HydrotreatedLipidMixture = new Material.Builder(4513, SuSyUtility.susyId('hydrotreated_lipid_mixture')) .liquid() .color(0xfff7ef) .build(); diff --git a/groovy/postInit/chemistry/organic_chemistry/BiofuelChain.groovy b/groovy/postInit/chemistry/organic_chemistry/BiofuelChain.groovy index 1f4561b0c..3520f2987 100644 --- a/groovy/postInit/chemistry/organic_chemistry/BiofuelChain.groovy +++ b/groovy/postInit/chemistry/organic_chemistry/BiofuelChain.groovy @@ -225,14 +225,14 @@ TBR.recipeBuilder() .fluidInputs(fluid('heated_lipid') * 250) .fluidInputs(fluid('hydrogen') * 8000) .notConsumable(ore('dustHydrotreatingCatalyst')) // Since molybdenum is EV - .fluidOutputs(fluid('hydrodeoxygenation_reaction_outlet') * 7000) + .fluidOutputs(fluid('hydrotreated_lipid_mixture') * 7000) .duration(tpbnp) .EUt(120) .buildAndRegister() // Separating out water & gases PHASE_SEPARATOR.recipeBuilder() - .fluidInputs(fluid('hydrodeoxygenation_reaction_outlet') * 7000) + .fluidInputs(fluid('hydrotreated_lipid_mixture') * 7000) .fluidOutputs(fluid('water') * 1500) .fluidOutputs(fluid('crude_n_paraffin') * 1000) .fluidOutputs(fluid('acidic_hydrogen_vapor') * 4500) diff --git a/resources/langfiles/lang/en_us.lang b/resources/langfiles/lang/en_us.lang index c3a59142c..511edb8a3 100644 --- a/resources/langfiles/lang/en_us.lang +++ b/resources/langfiles/lang/en_us.lang @@ -2121,7 +2121,7 @@ susy.material.moist_bio_diesel=Moist Bio Diesel susy.material.bleaching_lipid_mix=Bleaching Lipid Mix susy.material.bleached_lipid=Bleached Lipid susy.material.heated_lipid=Heated Lipid -susy.material.hydrodeoxygenation_reaction_outlet=Hydrodeoxygenation Reaction Outlet +susy.material.hydrotreated_lipid_mixture=Hydrotreated Lipid Mixture susy.material.crude_n_paraffin=Crude n-Paraffin susy.material.neutralized_n_paraffin=Neutralized n-Paraffin susy.material.distilled_n_paraffin=Distilled n-Paraffin From e636f8d3f835d31b860e09f7d0b2eba3e86bd33f Mon Sep 17 00:00:00 2001 From: MCTian-mi <35869948+MCTian-mi@users.noreply.github.com> Date: Tue, 31 Dec 2024 19:15:02 +0800 Subject: [PATCH 05/11] feat: quest pt.1 --- .../DefaultQuests/QuestLines/16.json | 80 +++--- .../DefaultQuests/QuestLines/2.json | 2 +- .../DefaultQuests/QuestLines/27.json | 37 +-- .../DefaultQuests/QuestLines/3.json | 249 ++++++++++-------- .../DefaultQuests/Quests/3/1994804951.json | 39 +++ .../DefaultQuests/Quests/3/1996974870.json | 23 ++ .../DefaultQuests/Quests/{16 => 3}/409.json | 26 +- .../DefaultQuests/Quests/3/641325952.json | 35 +++ .../Quests/{16 => MultipleQuestLine}/407.json | 4 +- .../Quests/MultipleQuestLine/410.json | 3 +- .../resources/supersymmetry/lang/en_us.lang | 16 +- 11 files changed, 327 insertions(+), 187 deletions(-) create mode 100644 config/betterquesting/DefaultQuests/Quests/3/1994804951.json create mode 100644 config/betterquesting/DefaultQuests/Quests/3/1996974870.json rename config/betterquesting/DefaultQuests/Quests/{16 => 3}/409.json (65%) create mode 100644 config/betterquesting/DefaultQuests/Quests/3/641325952.json rename config/betterquesting/DefaultQuests/Quests/{16 => MultipleQuestLine}/407.json (92%) diff --git a/config/betterquesting/DefaultQuests/QuestLines/16.json b/config/betterquesting/DefaultQuests/QuestLines/16.json index 8859565a4..4b3913501 100644 --- a/config/betterquesting/DefaultQuests/QuestLines/16.json +++ b/config/betterquesting/DefaultQuests/QuestLines/16.json @@ -307,251 +307,237 @@ "y:3": -192 }, "42:10": { - "id:3": 409, - "sizeX:3": 24, - "sizeY:3": 24, - "x:3": 120, - "y:3": -144 - }, - "43:10": { - "id:3": 410, - "sizeX:3": 24, - "sizeY:3": 24, - "x:3": 168, - "y:3": -192 - }, - "44:10": { "id:3": 411, "sizeX:3": 24, "sizeY:3": 24, "x:3": 228, "y:3": -288 }, - "45:10": { + "43:10": { "id:3": 414, "sizeX:3": 24, "sizeY:3": 24, "x:3": 276, "y:3": -240 }, - "46:10": { + "44:10": { "id:3": 415, "sizeX:3": 24, "sizeY:3": 24, "x:3": 228, "y:3": -192 }, - "47:10": { + "45:10": { "id:3": 416, "sizeX:3": 24, "sizeY:3": 24, "x:3": 276, "y:3": -192 }, - "48:10": { + "46:10": { "id:3": 417, "sizeX:3": 24, "sizeY:3": 24, "x:3": 168, "y:3": -144 }, - "49:10": { + "47:10": { "id:3": 443, "sizeX:3": 24, "sizeY:3": 24, "x:3": 156, "y:3": -336 }, - "50:10": { + "48:10": { "id:3": 446, "sizeX:3": 24, "sizeY:3": 24, "x:3": 60, "y:3": 90 }, - "51:10": { + "49:10": { "id:3": 447, "sizeX:3": 24, "sizeY:3": 24, "x:3": 12, "y:3": 90 }, - "52:10": { + "50:10": { "id:3": 453, "sizeX:3": 24, "sizeY:3": 24, "x:3": 60, "y:3": -336 }, - "53:10": { + "51:10": { "id:3": 454, "sizeX:3": 24, "sizeY:3": 24, "x:3": 12, "y:3": -336 }, - "54:10": { + "52:10": { "id:3": 455, "sizeX:3": 24, "sizeY:3": 24, "x:3": 108, "y:3": -336 }, - "55:10": { + "53:10": { "id:3": 473, "sizeX:3": 36, "sizeY:3": 36, "x:3": 288, "y:3": -72 }, - "56:10": { + "54:10": { "id:3": 474, "sizeX:3": 36, "sizeY:3": 36, "x:3": 342, "y:3": -72 }, - "57:10": { + "55:10": { "id:3": 482, "sizeX:3": 24, "sizeY:3": 24, "x:3": -234, "y:3": -84 }, - "58:10": { + "56:10": { "id:3": 483, "sizeX:3": 24, "sizeY:3": 24, "x:3": -186, "y:3": -144 }, - "59:10": { + "57:10": { "id:3": 484, "sizeX:3": 24, "sizeY:3": 24, "x:3": -186, "y:3": -84 }, - "60:10": { + "58:10": { "id:3": 485, "sizeX:3": 24, "sizeY:3": 24, "x:3": -234, "y:3": -144 }, - "61:10": { + "59:10": { "id:3": 486, "sizeX:3": 24, "sizeY:3": 24, "x:3": -138, "y:3": -84 }, - "62:10": { + "60:10": { "id:3": 510, "sizeX:3": 48, "sizeY:3": 48, "x:3": -228, "y:3": 48 }, - "63:10": { + "61:10": { "id:3": 515, "sizeX:3": 24, "sizeY:3": 24, "x:3": -216, "y:3": 114 }, - "64:10": { + "62:10": { "id:3": 516, "sizeX:3": 36, "sizeY:3": 36, "x:3": 102, "y:3": 126 }, - "65:10": { + "63:10": { "id:3": 517, "sizeX:3": 36, "sizeY:3": 36, "x:3": 150, "y:3": 126 }, - "66:10": { + "64:10": { "id:3": 519, "sizeX:3": 24, "sizeY:3": 24, "x:3": 12, "y:3": 132 }, - "67:10": { + "65:10": { "id:3": 520, "sizeX:3": 24, "sizeY:3": 24, "x:3": 60, "y:3": 132 }, - "68:10": { + "66:10": { "id:3": 553, "sizeX:3": 24, "sizeY:3": 24, "x:3": -162, "y:3": 42 }, - "69:10": { + "67:10": { "id:3": 565, "sizeX:3": 24, "sizeY:3": 24, "x:3": -162, "y:3": 78 }, - "70:10": { + "68:10": { "id:3": 569, "sizeX:3": 48, "sizeY:3": 48, "x:3": -120, "y:3": 48 }, - "71:10": { + "69:10": { "id:3": 659, "sizeX:3": 24, "sizeY:3": 24, "x:3": -60, "y:3": -192 }, - "72:10": { + "70:10": { "id:3": 710, "sizeX:3": 48, "sizeY:3": 48, "x:3": -144, "y:3": -24 }, - "73:10": { + "71:10": { "id:3": 719, "sizeX:3": 48, "sizeY:3": 48, "x:3": -228, "y:3": -24 }, - "74:10": { + "72:10": { "id:3": 726, "sizeX:3": 24, "sizeY:3": 24, "x:3": 372, "y:3": -288 }, - "75:10": { + "73:10": { "id:3": 727, "sizeX:3": 48, "sizeY:3": 48, "x:3": 312, "y:3": -300 }, - "76:10": { + "74:10": { "id:3": 728, "sizeX:3": 24, "sizeY:3": 24, "x:3": 276, "y:3": -288 }, - "77:10": { + "75:10": { "id:3": 729, "sizeX:3": 24, "sizeY:3": 24, diff --git a/config/betterquesting/DefaultQuests/QuestLines/2.json b/config/betterquesting/DefaultQuests/QuestLines/2.json index efa597c7f..e7a897e9b 100644 --- a/config/betterquesting/DefaultQuests/QuestLines/2.json +++ b/config/betterquesting/DefaultQuests/QuestLines/2.json @@ -831,7 +831,7 @@ "x:3": -306, "y:3": 150 }, - "124:10": { + "117:10": { "id:3": 1766162782, "sizeX:3": 24, "sizeY:3": 24, diff --git a/config/betterquesting/DefaultQuests/QuestLines/27.json b/config/betterquesting/DefaultQuests/QuestLines/27.json index f760e020f..28ee10dfd 100644 --- a/config/betterquesting/DefaultQuests/QuestLines/27.json +++ b/config/betterquesting/DefaultQuests/QuestLines/27.json @@ -48,111 +48,118 @@ "y:3": 144 }, "5:10": { + "id:3": 410, + "sizeX:3": 24, + "sizeY:3": 24, + "x:3": 168, + "y:3": 0 + }, + "6:10": { "id:3": 438, "sizeX:3": 24, "sizeY:3": 24, "x:3": 48, "y:3": 96 }, - "6:10": { + "7:10": { "id:3": 580, "sizeX:3": 24, "sizeY:3": 24, "x:3": 216, "y:3": -48 }, - "7:10": { + "8:10": { "id:3": 686, "sizeX:3": 24, "sizeY:3": 24, "x:3": 144, "y:3": 96 }, - "8:10": { + "9:10": { "id:3": 718, "sizeX:3": 24, "sizeY:3": 24, "x:3": 336, "y:3": 144 }, - "9:10": { + "10:10": { "id:3": 775, "sizeX:3": 24, "sizeY:3": 24, "x:3": 336, "y:3": 48 }, - "10:10": { + "11:10": { "id:3": 781, "sizeX:3": 24, "sizeY:3": 24, "x:3": 216, "y:3": -96 }, - "11:10": { + "12:10": { "id:3": 782, "sizeX:3": 24, "sizeY:3": 24, "x:3": 192, "y:3": -144 }, - "12:10": { + "13:10": { "id:3": 784, "sizeX:3": 24, "sizeY:3": 24, "x:3": 144, "y:3": 48 }, - "13:10": { + "14:10": { "id:3": 786, "sizeX:3": 24, "sizeY:3": 24, "x:3": 216, "y:3": 0 }, - "14:10": { + "15:10": { "id:3": 787, "sizeX:3": 24, "sizeY:3": 24, "x:3": 96, "y:3": 0 }, - "15:10": { + "16:10": { "id:3": 788, "sizeX:3": 24, "sizeY:3": 24, "x:3": 336, "y:3": 0 }, - "16:10": { + "17:10": { "id:3": 789, "sizeX:3": 24, "sizeY:3": 24, "x:3": 240, "y:3": -144 }, - "17:10": { + "18:10": { "id:3": 790, "sizeX:3": 24, "sizeY:3": 24, "x:3": 264, "y:3": 48 }, - "18:10": { + "19:10": { "id:3": 791, "sizeX:3": 24, "sizeY:3": 24, "x:3": 336, "y:3": 96 }, - "19:10": { + "20:10": { "id:3": 874, "sizeX:3": 24, "sizeY:3": 24, "x:3": 384, "y:3": 96 }, - "20:10": { + "21:10": { "id:3": 1997511526, "sizeX:3": 24, "sizeY:3": 24, diff --git a/config/betterquesting/DefaultQuests/QuestLines/3.json b/config/betterquesting/DefaultQuests/QuestLines/3.json index b9ee729ee..7d374afd9 100644 --- a/config/betterquesting/DefaultQuests/QuestLines/3.json +++ b/config/betterquesting/DefaultQuests/QuestLines/3.json @@ -45,7 +45,7 @@ "sizeX:3": 36, "sizeY:3": 36, "x:3": 210, - "y:3": -282 + "y:3": -168 }, "5:10": { "id:3": 371, @@ -167,739 +167,774 @@ "y:3": 72 }, "22:10": { - "id:3": 410, + "id:3": 407, "sizeX:3": 24, "sizeY:3": 24, - "x:3": 84, - "y:3": -276 + "x:3": 188, + "y:3": -292 }, "23:10": { + "id:3": 409, + "sizeX:3": 24, + "sizeY:3": 24, + "x:3": 260, + "y:3": -256 + }, + "24:10": { + "id:3": 410, + "sizeX:3": 24, + "sizeY:3": 24, + "x:3": 188, + "y:3": -256 + }, + "25:10": { "id:3": 412, "sizeX:3": 24, "sizeY:3": 24, "x:3": 318, "y:3": 234 }, - "24:10": { + "26:10": { "id:3": 413, "sizeX:3": 24, "sizeY:3": 24, "x:3": 276, "y:3": 234 }, - "25:10": { + "27:10": { "id:3": 415, "sizeX:3": 24, "sizeY:3": 24, "x:3": 120, "y:3": 270 }, - "26:10": { + "28:10": { "id:3": 417, "sizeX:3": 36, "sizeY:3": 36, "x:3": 66, "y:3": 300 }, - "27:10": { + "29:10": { "id:3": 429, "sizeX:3": 24, "sizeY:3": 24, "x:3": 60, "y:3": -54 }, - "28:10": { + "30:10": { "id:3": 433, "sizeX:3": 36, "sizeY:3": 36, "x:3": 18, "y:3": -60 }, - "29:10": { + "31:10": { "id:3": 434, "sizeX:3": 24, "sizeY:3": 24, "x:3": 24, "y:3": -102 }, - "30:10": { + "32:10": { "id:3": 450, "sizeX:3": 36, "sizeY:3": 36, "x:3": 18, "y:3": 66 }, - "31:10": { + "33:10": { "id:3": 451, "sizeX:3": 24, "sizeY:3": 24, "x:3": 234, "y:3": -36 }, - "32:10": { + "34:10": { "id:3": 459, "sizeX:3": 24, "sizeY:3": 24, "x:3": 108, "y:3": 114 }, - "33:10": { + "35:10": { "id:3": 460, "sizeX:3": 24, "sizeY:3": 24, "x:3": 72, "y:3": 114 }, - "34:10": { + "36:10": { "id:3": 461, "sizeX:3": 24, "sizeY:3": 24, "x:3": 72, "y:3": 150 }, - "35:10": { + "37:10": { "id:3": 462, "sizeX:3": 24, "sizeY:3": 24, "x:3": 108, "y:3": 150 }, - "36:10": { + "38:10": { "id:3": 463, "sizeX:3": 24, "sizeY:3": 24, "x:3": 186, "y:3": -78 }, - "37:10": { + "39:10": { "id:3": 464, "sizeX:3": 24, "sizeY:3": 24, "x:3": 234, "y:3": -78 }, - "38:10": { + "40:10": { "id:3": 466, "sizeX:3": 36, "sizeY:3": 36, "x:3": 180, "y:3": -42 }, - "39:10": { + "41:10": { "id:3": 467, "sizeX:3": 36, "sizeY:3": 36, "x:3": 360, "y:3": 198 }, - "40:10": { + "42:10": { "id:3": 468, "sizeX:3": 24, "sizeY:3": 24, "x:3": -30, "y:3": 12 }, - "41:10": { + "43:10": { "id:3": 469, "sizeX:3": 24, "sizeY:3": 24, "x:3": -78, "y:3": 36 }, - "42:10": { + "44:10": { "id:3": 470, "sizeX:3": 24, "sizeY:3": 24, "x:3": -78, "y:3": -12 }, - "43:10": { + "45:10": { "id:3": 471, "sizeX:3": 24, "sizeY:3": 24, "x:3": -78, "y:3": 12 }, - "44:10": { + "46:10": { "id:3": 475, "sizeX:3": 24, "sizeY:3": 24, "x:3": 450, "y:3": 162 }, - "45:10": { + "47:10": { "id:3": 476, "sizeX:3": 24, "sizeY:3": 24, "x:3": 366, "y:3": 72 }, - "46:10": { + "48:10": { "id:3": 477, "sizeX:3": 24, "sizeY:3": 24, "x:3": 408, "y:3": 120 }, - "47:10": { + "49:10": { "id:3": 478, "sizeX:3": 36, "sizeY:3": 36, "x:3": 312, "y:3": 66 }, - "48:10": { + "50:10": { "id:3": 479, "sizeX:3": 48, "sizeY:3": 48, "x:3": -42, "y:3": -174 }, - "49:10": { + "51:10": { "id:3": 480, "sizeX:3": 36, "sizeY:3": 36, "x:3": 312, "y:3": -120 }, - "50:10": { + "52:10": { "id:3": 481, "sizeX:3": 24, "sizeY:3": 24, "x:3": 504, "y:3": 18 }, - "51:10": { + "53:10": { "id:3": 482, "sizeX:3": 24, "sizeY:3": 24, "x:3": 618, "y:3": 114 }, - "52:10": { + "54:10": { "id:3": 483, "sizeX:3": 24, "sizeY:3": 24, "x:3": 570, "y:3": 162 }, - "53:10": { + "55:10": { "id:3": 484, "sizeX:3": 24, "sizeY:3": 24, "x:3": 570, "y:3": 114 }, - "54:10": { + "56:10": { "id:3": 485, "sizeX:3": 24, "sizeY:3": 24, "x:3": 618, "y:3": 162 }, - "55:10": { + "57:10": { "id:3": 486, "sizeX:3": 36, "sizeY:3": 36, "x:3": 564, "y:3": 66 }, - "56:10": { + "58:10": { "id:3": 487, "sizeX:3": 24, "sizeY:3": 24, "x:3": 618, "y:3": 72 }, - "57:10": { + "59:10": { "id:3": 492, "sizeX:3": 24, "sizeY:3": 24, "x:3": 408, "y:3": 204 }, - "58:10": { + "60:10": { "id:3": 496, "sizeX:3": 24, "sizeY:3": 24, "x:3": 234, "y:3": 162 }, - "59:10": { + "61:10": { "id:3": 498, "sizeX:3": 36, "sizeY:3": 36, "x:3": -36, "y:3": -222 }, - "60:10": { + "62:10": { "id:3": 499, "sizeX:3": 24, "sizeY:3": 24, "x:3": 84, "y:3": -216 }, - "61:10": { + "63:10": { "id:3": 500, "sizeX:3": 24, "sizeY:3": 24, "x:3": 42, "y:3": -216 }, - "62:10": { + "64:10": { "id:3": 501, "sizeX:3": 24, "sizeY:3": 24, "x:3": 96, "y:3": -162 }, - "63:10": { + "65:10": { "id:3": 502, "sizeX:3": 48, "sizeY:3": 48, "x:3": 30, "y:3": -174 }, - "64:10": { + "66:10": { "id:3": 503, "sizeX:3": 24, "sizeY:3": 24, "x:3": 42, "y:3": -258 }, - "65:10": { + "67:10": { "id:3": 504, "sizeX:3": 24, "sizeY:3": 24, "x:3": 42, "y:3": -300 }, - "66:10": { + "68:10": { "id:3": 505, "sizeX:3": 24, "sizeY:3": 24, "x:3": 96, "y:3": -78 }, - "67:10": { + "69:10": { "id:3": 506, "sizeX:3": 36, "sizeY:3": 36, "x:3": 138, "y:3": -168 }, - "68:10": { + "70:10": { "id:3": 507, "sizeX:3": 36, "sizeY:3": 36, "x:3": 138, "y:3": -42 }, - "69:10": { + "71:10": { "id:3": 508, "sizeX:3": 24, "sizeY:3": 24, "x:3": 144, "y:3": -78 }, - "70:10": { + "72:10": { "id:3": 509, "sizeX:3": 24, "sizeY:3": 24, "x:3": 144, "y:3": -114 }, - "71:10": { + "73:10": { "id:3": 510, "sizeX:3": 36, "sizeY:3": 36, "x:3": 18, "y:3": 228 }, - "72:10": { + "74:10": { "id:3": 511, "sizeX:3": 24, "sizeY:3": 24, "x:3": 120, "y:3": 234 }, - "73:10": { + "75:10": { "id:3": 512, "sizeX:3": 24, "sizeY:3": 24, "x:3": 156, "y:3": 234 }, - "74:10": { + "76:10": { "id:3": 513, "sizeX:3": 24, "sizeY:3": 24, "x:3": 156, "y:3": 174 }, - "75:10": { + "77:10": { "id:3": 514, "sizeX:3": 24, "sizeY:3": 24, "x:3": 156, "y:3": 150 }, - "76:10": { + "78:10": { "id:3": 515, "sizeX:3": 24, "sizeY:3": 24, "x:3": 72, "y:3": 192 }, - "77:10": { + "79:10": { "id:3": 537, "sizeX:3": 24, "sizeY:3": 24, "x:3": -30, "y:3": -48 }, - "78:10": { + "80:10": { "id:3": 538, "sizeX:3": 24, "sizeY:3": 24, "x:3": -30, "y:3": -84 }, - "79:10": { + "81:10": { "id:3": 545, "sizeX:3": 24, "sizeY:3": 24, "x:3": -30, "y:3": 234 }, - "80:10": { + "82:10": { "id:3": 552, "sizeX:3": 36, "sizeY:3": 36, "x:3": -84, "y:3": 294 }, - "81:10": { + "83:10": { "id:3": 570, "sizeX:3": 24, "sizeY:3": 24, "x:3": -30, "y:3": 300 }, - "82:10": { + "84:10": { "id:3": 592, "sizeX:3": 24, "sizeY:3": 24, "x:3": 144, "y:3": 42 }, - "83:10": { + "85:10": { "id:3": 593, "sizeX:3": 48, "sizeY:3": 48, "x:3": -90, "y:3": 66 }, - "84:10": { + "86:10": { "id:3": 594, "sizeX:3": 24, "sizeY:3": 24, "x:3": -120, "y:3": 120 }, - "85:10": { + "87:10": { "id:3": 595, "sizeX:3": 24, "sizeY:3": 24, "x:3": -36, "y:3": 120 }, - "86:10": { + "88:10": { "id:3": 596, "sizeX:3": 24, "sizeY:3": 24, "x:3": -102, "y:3": 156 }, - "87:10": { + "89:10": { "id:3": 597, "sizeX:3": 24, "sizeY:3": 24, "x:3": -54, "y:3": 156 }, - "88:10": { + "90:10": { "id:3": 598, "sizeX:3": 24, "sizeY:3": 24, "x:3": 450, "y:3": 120 }, - "89:10": { + "91:10": { "id:3": 599, "sizeX:3": 36, "sizeY:3": 36, "x:3": 90, "y:3": -42 }, - "90:10": { + "92:10": { "id:3": 611, "sizeX:3": 24, "sizeY:3": 24, "x:3": -78, "y:3": 192 }, - "91:10": { + "93:10": { "id:3": 612, "sizeX:3": 24, "sizeY:3": 24, "x:3": -30, "y:3": 192 }, - "92:10": { + "94:10": { "id:3": 613, "sizeX:3": 24, "sizeY:3": 24, "x:3": -126, "y:3": 192 }, - "93:10": { + "95:10": { "id:3": 639, "sizeX:3": 36, "sizeY:3": 36, "x:3": -132, "y:3": 6 }, - "94:10": { + "96:10": { "id:3": 640, "sizeX:3": 24, "sizeY:3": 24, "x:3": 318, "y:3": 270 }, - "95:10": { + "97:10": { "id:3": 651, "sizeX:3": 24, "sizeY:3": 24, "x:3": 24, "y:3": 270 }, - "96:10": { + "98:10": { "id:3": 652, "sizeX:3": 24, "sizeY:3": 24, "x:3": 618, "y:3": 210 }, - "97:10": { + "99:10": { "id:3": 653, "sizeX:3": 24, "sizeY:3": 24, "x:3": -30, "y:3": -258 }, - "98:10": { + "100:10": { "id:3": 654, "sizeX:3": 36, "sizeY:3": 36, "x:3": 360, "y:3": 252 }, - "99:10": { + "101:10": { "id:3": 655, "sizeX:3": 24, "sizeY:3": 24, "x:3": 276, "y:3": 270 }, - "100:10": { + "102:10": { "id:3": 659, "sizeX:3": 24, "sizeY:3": 24, "x:3": 618, "y:3": 258 }, - "101:10": { + "103:10": { "id:3": 665, "sizeX:3": 24, "sizeY:3": 24, "x:3": 72, "y:3": 270 }, - "102:10": { + "104:10": { "id:3": 671, "sizeX:3": 24, "sizeY:3": 24, "x:3": 174, "y:3": 12 }, - "103:10": { + "105:10": { "id:3": 685, "sizeX:3": 24, "sizeY:3": 24, "x:3": 96, "y:3": -114 }, - "104:10": { + "106:10": { "id:3": 686, "sizeX:3": 24, "sizeY:3": 24, "x:3": 270, "y:3": -216 }, - "105:10": { + "107:10": { "id:3": 698, "sizeX:3": 24, "sizeY:3": 24, "x:3": 276, "y:3": 72 }, - "106:10": { + "108:10": { "id:3": 719, "sizeX:3": 36, "sizeY:3": 36, "x:3": -84, "y:3": 228 }, - "107:10": { + "109:10": { "id:3": 726, "sizeX:3": 24, "sizeY:3": 24, "x:3": -78, "y:3": -114 }, - "108:10": { + "110:10": { "id:3": 727, "sizeX:3": 36, "sizeY:3": 36, "x:3": -132, "y:3": -90 }, - "109:10": { + "111:10": { "id:3": 728, "sizeX:3": 24, "sizeY:3": 24, "x:3": -78, "y:3": -84 }, - "110:10": { + "112:10": { "id:3": 729, "sizeX:3": 24, "sizeY:3": 24, "x:3": -78, "y:3": -48 }, - "111:10": { + "113:10": { "id:3": 730, "sizeX:3": 24, "sizeY:3": 24, "x:3": -174, "y:3": -84 }, - "112:10": { + "114:10": { "id:3": 731, "sizeX:3": 24, "sizeY:3": 24, "x:3": -174, "y:3": -120 }, - "113:10": { + "115:10": { "id:3": 732, "sizeX:3": 24, "sizeY:3": 24, "x:3": -216, "y:3": -48 }, - "114:10": { + "116:10": { "id:3": 733, "sizeX:3": 24, "sizeY:3": 24, "x:3": -174, "y:3": -48 }, - "115:10": { + "117:10": { "id:3": 735, "sizeX:3": 24, "sizeY:3": 24, "x:3": 570, "y:3": 210 }, - "116:10": { + "118:10": { "id:3": 741, "sizeX:3": 36, "sizeY:3": 36, "x:3": 312, "y:3": -42 }, - "117:10": { + "119:10": { "id:3": 764, "sizeX:3": 24, "sizeY:3": 24, "x:3": 24, "y:3": 306 }, - "118:10": { + "120:10": { "id:3": 877, "sizeX:3": 24, "sizeY:3": 24, "x:3": 234, "y:3": 72 }, - "119:10": { + "121:10": { "id:3": 880, "sizeX:3": 24, "sizeY:3": 24, "x:3": 204, "y:3": 72 }, - "120:10": { + "122:10": { "id:3": 881, "sizeX:3": 24, "sizeY:3": 24, "x:3": 204, "y:3": 12 }, - "121:10": { + "123:10": { "id:3": 254727108, "sizeX:3": 24, "sizeY:3": 24, "x:3": 366, "y:3": 120 }, - "122:10": { + "124:10": { "id:3": 409196029, "sizeX:3": 24, "sizeY:3": 24, "x:3": 318, "y:3": 120 }, - "123:10": { + "125:10": { "id:3": 498154717, "sizeX:3": 24, "sizeY:3": 24, "x:3": 276, "y:3": 162 }, - "124:10": { + "126:10": { + "id:3": 641325952, + "sizeX:3": 24, + "sizeY:3": 24, + "x:3": 224, + "y:3": -292 + }, + "127:10": { "id:3": 1090881854, "sizeX:3": 24, "sizeY:3": 24, "x:3": 408, "y:3": 162 }, - "125:10": { + "128:10": { "id:3": 1402916517, "sizeX:3": 24, "sizeY:3": 24, "x:3": 318, "y:3": 18 }, - "126:10": { + "129:10": { "id:3": 1786950658, "sizeX:3": 24, "sizeY:3": 24, "x:3": 276, "y:3": 18 + }, + "130:10": { + "id:3": 1994804951, + "sizeX:3": 24, + "sizeY:3": 24, + "x:3": 260, + "y:3": -292 + }, + "131:10": { + "id:3": 1996974870, + "sizeX:3": 24, + "sizeY:3": 24, + "x:3": 224, + "y:3": -256 } } } \ No newline at end of file diff --git a/config/betterquesting/DefaultQuests/Quests/3/1994804951.json b/config/betterquesting/DefaultQuests/Quests/3/1994804951.json new file mode 100644 index 000000000..1ad3e5966 --- /dev/null +++ b/config/betterquesting/DefaultQuests/Quests/3/1994804951.json @@ -0,0 +1,39 @@ +{ + "preRequisites:11": [ + 205 + ], + "properties:10": { + "betterquesting:10": { + "desc:8": "susy.quest.db.1994804951.desc", + "icon:10": { + "id:8": "forge:bucketfilled", + "tag:10": { + "Amount:3": 1000, + "FluidName:8": "gtfo_stearin" + } + }, + "name:8": "susy.quest.db.1994804951.title", + "tasklogic:8": "OR" + } + }, + "questID:3": 1994804951, + "tasks:9": { + "0:10": { + "requiredFluids:9": { + "0:10": { + "Amount:3": 1000, + "FluidName:8": "gtfo_stearin" + }, + "1:10": { + "Amount:3": 1000, + "FluidName:8": "fish_oil" + } + }, + "taskID:8": "bq_standard:fluid" + }, + "1:10": { + "index:3": 1, + "taskID:8": "bq_standard:checkbox" + } + } +} \ No newline at end of file diff --git a/config/betterquesting/DefaultQuests/Quests/3/1996974870.json b/config/betterquesting/DefaultQuests/Quests/3/1996974870.json new file mode 100644 index 000000000..9e8632c56 --- /dev/null +++ b/config/betterquesting/DefaultQuests/Quests/3/1996974870.json @@ -0,0 +1,23 @@ +{ + "preRequisites:11": [ + 409, + 641325952 + ], + "properties:10": { + "betterquesting:10": { + "desc:8": "susy.quest.db.1996974870.desc", + "icon:10": { + "Damage:2": 14682, + "id:8": "gregtech:machine" + }, + "name:8": "susy.quest.db.1996974870.title", + "questlogic:8": "OR" + } + }, + "questID:3": 1996974870, + "tasks:9": { + "0:10": { + "taskID:8": "bq_standard:checkbox" + } + } +} \ No newline at end of file diff --git a/config/betterquesting/DefaultQuests/Quests/16/409.json b/config/betterquesting/DefaultQuests/Quests/3/409.json similarity index 65% rename from config/betterquesting/DefaultQuests/Quests/16/409.json rename to config/betterquesting/DefaultQuests/Quests/3/409.json index 15e11e772..771ba96b8 100644 --- a/config/betterquesting/DefaultQuests/Quests/16/409.json +++ b/config/betterquesting/DefaultQuests/Quests/3/409.json @@ -21,24 +21,30 @@ "0:10": { "requiredFluids:9": { "0:10": { + "Amount:3": 1000, + "FluidName:8": "gtfo_olive_oil" + }, + "1:10": { + "Amount:3": 1000, + "FluidName:8": "gtfo_soybean_oil" + }, + "2:10": { + "Amount:3": 1000, + "FluidName:8": "coconut_oil" + }, + "3:10": { "Amount:3": 1000, "FluidName:8": "seed_oil" + }, + "4:10": { + "Amount:3": 1000, + "FluidName:8": "deacidified_lipid" } }, "taskID:8": "bq_standard:fluid" }, "1:10": { "index:3": 1, - "requiredFluids:9": { - "0:10": { - "Amount:3": 1000, - "FluidName:8": "fish_oil" - } - }, - "taskID:8": "bq_standard:fluid" - }, - "2:10": { - "index:3": 2, "taskID:8": "bq_standard:checkbox" } } diff --git a/config/betterquesting/DefaultQuests/Quests/3/641325952.json b/config/betterquesting/DefaultQuests/Quests/3/641325952.json new file mode 100644 index 000000000..02e1f3e59 --- /dev/null +++ b/config/betterquesting/DefaultQuests/Quests/3/641325952.json @@ -0,0 +1,35 @@ +{ + "preRequisites:11": [ + 1994804951 + ], + "properties:10": { + "betterquesting:10": { + "desc:8": "susy.quest.db.641325952.desc", + "icon:10": { + "id:8": "forge:bucketfilled", + "tag:10": { + "Amount:3": 1000, + "FluidName:8": "deacidified_lipid" + } + }, + "name:8": "susy.quest.db.641325952.title", + "tasklogic:8": "OR" + } + }, + "questID:3": 641325952, + "tasks:9": { + "0:10": { + "requiredFluids:9": { + "0:10": { + "Amount:3": 1000, + "FluidName:8": "deacidified_lipid" + } + }, + "taskID:8": "bq_standard:fluid" + }, + "1:10": { + "index:3": 1, + "taskID:8": "bq_standard:checkbox" + } + } +} \ No newline at end of file diff --git a/config/betterquesting/DefaultQuests/Quests/16/407.json b/config/betterquesting/DefaultQuests/Quests/MultipleQuestLine/407.json similarity index 92% rename from config/betterquesting/DefaultQuests/Quests/16/407.json rename to config/betterquesting/DefaultQuests/Quests/MultipleQuestLine/407.json index d26370e5d..edb25d4c9 100644 --- a/config/betterquesting/DefaultQuests/Quests/16/407.json +++ b/config/betterquesting/DefaultQuests/Quests/MultipleQuestLine/407.json @@ -1,6 +1,7 @@ { "preRequisites:11": [ - 409 + 1996974870, + 205 ], "properties:10": { "betterquesting:10": { @@ -13,6 +14,7 @@ } }, "name:8": "susy.quest.db.407.title", + "questlogic:8": "OR", "tasklogic:8": "OR" } }, diff --git a/config/betterquesting/DefaultQuests/Quests/MultipleQuestLine/410.json b/config/betterquesting/DefaultQuests/Quests/MultipleQuestLine/410.json index 1b197e15e..d95b03cc0 100644 --- a/config/betterquesting/DefaultQuests/Quests/MultipleQuestLine/410.json +++ b/config/betterquesting/DefaultQuests/Quests/MultipleQuestLine/410.json @@ -1,6 +1,7 @@ { "preRequisites:11": [ - 407 + 786, + 1996974870 ], "properties:10": { "betterquesting:10": { diff --git a/config/betterquesting/resources/supersymmetry/lang/en_us.lang b/config/betterquesting/resources/supersymmetry/lang/en_us.lang index 22901f2cd..828f6936f 100644 --- a/config/betterquesting/resources/supersymmetry/lang/en_us.lang +++ b/config/betterquesting/resources/supersymmetry/lang/en_us.lang @@ -872,10 +872,10 @@ susy.quest.db.407.title=Glycerol susy.quest.db.407.desc=§6Glycerol §rcan be made by treating any type of oil, like fish or seed oil, with ethanol, methanol, or ethanol-water azeotrope. %n%nThis process also produces §6Bio Diesel§r, which can be used as a source of energy in the §cLarge Gas Turbine§r. Check Chapter 2 for more info. susy.quest.db.408.title=Glyceryl Trinitrate susy.quest.db.408.desc=§6Glyceryl Trinitrate §rcan be obtained by reacting Glycerol with Nitration Mixture. -susy.quest.db.409.title=Oil of Nature -susy.quest.db.409.desc=§aSeed Oil §rcan be extracted out of seeds using an §cLV Extractor§r.%n%n§3Fish Oil §rcan be extracted out of fish using the same method.%n%nFor fish, there are §6automatic fishing machines§f from GregTech. +susy.quest.db.409.title=1st Grade Lipids +susy.quest.db.409.desc=§6Lipids from plants§r have little §cfatty acids§r in them, which means they can be used directly for the bio diesel production.%n%nThese lipids are considered as 1st grade lipids:%n - Olive Oil%n - Refined Soybean Oil%n - Coconut Oil%n - Seed Oil%n - Deacidified Lipid §7(from 2nd Grade Lipiids)§r%n%nYou'll need an §cLV Extractor§r for them.%n%nOne of the best way to produce 1st grade lipids would be §eRefined Soybean Oil§r. There is a special processing line for it:%n%n§l1.§r Extract Raw Soybean Oil from the soybean seeds.%n§l2.§r Mix Raw Soybean Oil with Water to produce Hydrated Soybean Oil.%n§l3.§r Centrifuge the Hydrated Soybean Oil into Refined Soybean Oil (And Soy Lecithin)%n%nYou can also centrifuge the refined soybean oil into §aSeed Oil§r if you want. susy.quest.db.410.title=Bio Diesel -susy.quest.db.410.desc=§6Bio Diesel§r is an excellent fuel source for the §cLarge Gas Turbine§r. %nThe easiest method of obtaining §6Bio Diesel§r is from soybean seeds, as they have a special processing line for §aSeed Oil§r. %n%n1. Extract Raw Soybean Oil from the soybean seeds %n2. Mix Raw Soybean Oil with Water to produce Hydrated Soybean Oil %n3. Centrifuge the Hydrated Soybean Oil into Refined Soybean Oil (And Soy Lecithin) %n4. Centrifuge the Refined Soybean Oil into §aSeed Oil§r %n%n§aSeed Oil§r can then be turned into §6Bio Diesel§r using ethanol, methanol, or ethanol-water azeotrope. +susy.quest.db.410.desc=§6Bio Diesel§r is an excellent fuel source for the §cLarge Gas Turbine§r. susy.quest.db.411.title=Church of Benzene? susy.quest.db.411.desc=Although §6Benzene §rcan be used as a source of power in the §cLarge Gas Turbine§r, §6Benzene§r is not recommended as a viable power source. %n%nYeah, the title is kinda misleading, as unlike other GregTech packs, the only way to get §6Benzene§r before §d§5EV§r is from §6§rprocessing§r §6Coal Tar.§r This route has very low yields however.%n%nIf you still want to get plentiful amount of §6Benzene§r, the §cCatalytic Reformer§c§r §6§rcan §ttransform §6Naphtha§r into §6Naphtha Refornate§r, a feedstock for §6B.T.E.X§r. %n%nBy that point however, you would have unlocked better fuel sources derived from oil. susy.quest.db.412.title=Gas Diffuser @@ -1847,6 +1847,8 @@ susy.quest.db.577792334.title=Stone Kiln susy.quest.db.577792334.desc=The §6Stone Kiln§r is also a type of kiln. Better than the pit kiln, with a thermally insulated chamber made out of §8Masonry Bricks§r, it can hold a higher temperature, making it possible to perform §4calcination§r, a process that turns §7Limestone§r into §7Quicklime§r. It can also fire §6Coke Oven Bricks§r and §6Firebricks§r. And over all these, it also has a smaller chance of failure than a pit kiln.%n%nTo use a stone kiln, you need to right click the lower/upper part of the kiln to insert fuels/items that you want to smelt, and then ignite it to start the process. susy.quest.db.618527753.title=Carbon Black susy.quest.db.618527753.desc=Carbon black is an important component of synthetic rubber manufacturing, strengthening the product. It can be produced by partially combusting residues and heavy fractions in a rotary kiln. +susy.quest.db.641325952.title=Lipid Pretreatment +susy.quest.db.641325952.desc=There 3 ways to reduce the §cfatty acid§r contents in your §6lipids§r:%n%n§l1)§r Distillation.%n§l2)§r Neutralization by §9Dilute NaOH solution§r.%n§l3)§r Acid-catalyzed esterification with §bglycerol§r.%n%nThe 3rd method is more complex than the above two, but it allows you to convert all the aliphatic acid contents in your lipids into the bio diesel.%n%nWhichever route you choose, you'll get §edeacidfied lipid§r as product, which can be used directly for the §3transesterification§r reaction. susy.quest.db.744003683.title=Pit Kiln susy.quest.db.744003683.desc=The §6Pit Kiln§r is a primitive type of kiln that can be used to turn clays into §4Bricks§r or cobblestones into their corresponding §7Stones§r. However, it is not thermally insulated enough to maintain a higher temperatures required for some other transformations.%n%n To construct a pit kiln, you will need 4 straws and 3 logs. First, lay down a layer of straw by right-clicking the top surface of a block while holding a straw in your hand. Then, right-click it with the item you wish to smelt. Finally, add 3 additional straws and 3 logs; the pit kiln will then be ready to be ignited to start the heating process.%n%n A pit kiln can process a maximum of §a8§r items at a time, with a §4failure chance§r that depends on the specific recipe it is processing. When the pit kiln goes out, break the remaining ash pile to collect your products.%n%nNeed to note that all facings of a pit kiln, except for the top face, should be blocked to maintain thermal insulation. susy.quest.db.943634333.title=Hydrocracking @@ -1883,10 +1885,10 @@ susy.quest.db.1610061980.title=Trip Hammer susy.quest.db.1610061980.desc=The §6Trip Hammer§r can swing a hammer for you!%n%nA trip hammer needs a §6Cog§r and a §6Hammer§r to work. You can put §a4§r of them around one anvil to reach the maximum efficiency.%n%nYou can insert items into a anvil using hoppers or pipes, and the product will be dropped in-world unless a chest or another type of storage is placed next to the Trip Hammer, opposite of the side where you insert the Cog. susy.quest.db.1677924297.title=Better Oven susy.quest.db.1677924297.desc=The §6Refractory Oven§r is an upgraded version of the §7Stone Oven§r, which has §a2.5x§r processing speed and a lower change of failure. -susy.quest.db.1766408250.title=The Road to Rubylith -susy.quest.db.1766408250.desc=You may have noticed the rather complicated questline below. It all heads towards §7rubylith§r, which is essentially a really chemically complex sheet of plastic that you use to, essentially, stencil stencils.%n%nDo not worry about automating this; you will only need §76§r to get through HV! Even still, we wish you good luck. susy.quest.db.1766162782.title=Extenders & Bridges susy.quest.db.1766162782.desc=§3§6Bridges§r and §6extenders§r are §cdelegators§r; they can delegate one face of your §bmachine§r or §bpipes§r onto one or more equivalent faces.%n%nBoth bridges and extenders have four variants: §3inv§r, §3tank§r, §3invtank§r, and §5universal§r. As their names suggest, they allow automation of items, fluids, items plus fluids, and, for universal ones, energy as well. §oNone§r of them, however, can attach to other §cdelegators§r.%n%n§6Bridges§r will allow §bpipes§r or §bcables§r from different directions to pass through each other in one block without turning, which will be very useful for compact logistic designs.%n%n§6Extenders§r can expand one face on your §bmachine§r to five faces. An extender has three kinds of faces: §4primary§r, §4secondary§r, and §4normal§r faces. All import/extract actions on the §4normal§r or §4secondary§r faces will be delegated to the §bmachines§r or §bpipes§r adjacent to the §4primary§r face, and the actions on the §4primary§r face will be delegated to the §4secondary§r face.%n%nApart from the §5Universal Delegators§r that require aluminum, you can now craft all §cdelegators§r for your automation. +susy.quest.db.1766408250.title=The Road to Rubylith +susy.quest.db.1766408250.desc=You may have noticed the rather complicated questline below. It all heads towards §7rubylith§r, which is essentially a really chemically complex sheet of plastic that you use to, essentially, stencil stencils.%n%nDo not worry about automating this; you will only need §76§r to get through HV! Even still, we wish you good luck. susy.quest.db.1767849062.title=Don't Take Granite for Granted susy.quest.db.1767849062.desc=You might encounter some §dGranite§r while mining underground. §dGranite§r is a type of §cigneous rock§r that is hard and tough, making it an ideal material for crafting §7mortars§r. So, don't ignore it! susy.quest.db.1786950658.title=Zener Diode @@ -1899,6 +1901,10 @@ susy.quest.db.1902566957.title=Not Enough Fibers susy.quest.db.1902566957.desc=§6Drying Racks§r can convert §aPlant Fibers§r into §4Dried Plant Fibers§r. If the dried plant fibers obtained by breaking grass are insufficient for your progress, be sure to craft some.%n%nA §6Drying Rack§r operates more quickly in §edry§r biomes and at a slower rate in §bwet§r biomes. The weather may also influence its efficiency. Additionally, if the drying rack is placed near a §cCampfire§r, the drying process will be expedited. susy.quest.db.1958019111.title=Masonry Brick susy.quest.db.1958019111.desc=The §7Masonry Brick§r is essentially a brick-shaped piece of stone. It can be used to construct solid and insulated structures such as §6kilns§r, §6ovens§r, and the §6Primitive Smelter§r, or it can simply be utilized for architectural purposes. %n%nTo obtain some §7Masonry Bricks§r, break stones on an anvil using a pickaxe. +susy.quest.db.1994804951.title=2nd Grade Lipids +susy.quest.db.1994804951.desc=§4§6Lipids from animals§r contains a high amount of §cfatty acids§r in them, which is §4harmful§r to the §3transesterification§r process. Thus to use them for the §6bio diesel§r production, it iis essential to reduce the §cfatty acids§r content in them.%n%nFor above reasons, the following lipids are considered 2nd grade lipids:%n - Liquid Fat (Stearin)%n - Fish Oil%n%nCheck the next quest for available §3pretreatment§r methods. +susy.quest.db.1996974870.title=Transesterification Reaction +susy.quest.db.1996974870.desc=§6Bio Diesel§r, also known as Fatty Acid Methanol Ester §c(FAME)§r or Fatty Acid Ethanol Ester §c(FAEE)§r, is produced by the §3transesterification§r reaction between §6lipids§r and corresponding §ealcohols§r in a §6batch reactor§r.%n%nYou can use either methanol or ethanol for this, depending on your existing production lines. susy.quest.db.1997511526.title=Natural Gas susy.quest.db.1997511526.desc=No Description susy.quest.db.2081939483.title=Brick From 7b9ed89bf8abcd93bd6563144a8da9e0ba0535f0 Mon Sep 17 00:00:00 2001 From: MCTian-mi <35869948+MCTian-mi@users.noreply.github.com> Date: Fri, 3 Jan 2025 16:20:57 +0800 Subject: [PATCH 06/11] feat: complete biodiesel chain quest (somewhat) --- config/betterquesting/resources/supersymmetry/lang/en_us.lang | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/config/betterquesting/resources/supersymmetry/lang/en_us.lang b/config/betterquesting/resources/supersymmetry/lang/en_us.lang index 828f6936f..305b8a340 100644 --- a/config/betterquesting/resources/supersymmetry/lang/en_us.lang +++ b/config/betterquesting/resources/supersymmetry/lang/en_us.lang @@ -869,13 +869,13 @@ susy.quest.db.405.desc=A §6Cutting Machine §rcan use Water or Lubricant to cut susy.quest.db.406.title=Trolling Plan: Phase Four susy.quest.db.406.desc=Now that you are at MV, you can make more advanced types of §cexplosives §rand §cmissiles §rby putting MV power on a Weapons Factory.%n%nThere are 3 new types of explosives:%n§7Breaching explosives§r, made with steel%n§3Thermobaric explosives§r, made with ethylene oxide%n§aContagious explosives§r, made with biomass%n%nYou can get most of the ingredients for these at MV.%nRemember that these are Tier 2 missiles, so you will need a T2 missile launching station for them to work.%n%nThe range of this launcher is 1,000 meters. susy.quest.db.407.title=Glycerol -susy.quest.db.407.desc=§6Glycerol §rcan be made by treating any type of oil, like fish or seed oil, with ethanol, methanol, or ethanol-water azeotrope. %n%nThis process also produces §6Bio Diesel§r, which can be used as a source of energy in the §cLarge Gas Turbine§r. Check Chapter 2 for more info. +susy.quest.db.407.desc=§aGlycerol§r is mostly a by-product of §6Bio Diesel§r prodcution, although you can also get it by hydrolyzing lipids.%n%nIn the §6bio diesel§r chain, §aglycerol§r is produced during §3transesterification§r step in the form of §ealcohol solution§r, which can then be converted into pure §aglycerol§r while recovering some §ealcohol§r. susy.quest.db.408.title=Glyceryl Trinitrate susy.quest.db.408.desc=§6Glyceryl Trinitrate §rcan be obtained by reacting Glycerol with Nitration Mixture. susy.quest.db.409.title=1st Grade Lipids susy.quest.db.409.desc=§6Lipids from plants§r have little §cfatty acids§r in them, which means they can be used directly for the bio diesel production.%n%nThese lipids are considered as 1st grade lipids:%n - Olive Oil%n - Refined Soybean Oil%n - Coconut Oil%n - Seed Oil%n - Deacidified Lipid §7(from 2nd Grade Lipiids)§r%n%nYou'll need an §cLV Extractor§r for them.%n%nOne of the best way to produce 1st grade lipids would be §eRefined Soybean Oil§r. There is a special processing line for it:%n%n§l1.§r Extract Raw Soybean Oil from the soybean seeds.%n§l2.§r Mix Raw Soybean Oil with Water to produce Hydrated Soybean Oil.%n§l3.§r Centrifuge the Hydrated Soybean Oil into Refined Soybean Oil (And Soy Lecithin)%n%nYou can also centrifuge the refined soybean oil into §aSeed Oil§r if you want. susy.quest.db.410.title=Bio Diesel -susy.quest.db.410.desc=§6Bio Diesel§r is an excellent fuel source for the §cLarge Gas Turbine§r. +susy.quest.db.410.desc=§6Bio Diesel§r is an excellent fuel source for the §cLarge Gas Turbine§r. It can be derived from l§eipids§r like vegetable oils, fish oil or fat, and it's fully automatable.%n%nHere are some prerequisite chains for bio diesel production if you don't want to start from ground-up:%n - Chlor-alkali §7(for NaOH)§r%n - Methanol or Ethanol §7(you'll need a large amount of them!)§r%n%nYou can also see the whole flowchart of bio diesel chain here:%n{Embed}TypeLink;https://github.com/SymmetricDevs/QuestbookMedia/blob/main/flowcharts/biodiesel.png;128;20;§9§nBio Diesel Chain§r{Embed}%n susy.quest.db.411.title=Church of Benzene? susy.quest.db.411.desc=Although §6Benzene §rcan be used as a source of power in the §cLarge Gas Turbine§r, §6Benzene§r is not recommended as a viable power source. %n%nYeah, the title is kinda misleading, as unlike other GregTech packs, the only way to get §6Benzene§r before §d§5EV§r is from §6§rprocessing§r §6Coal Tar.§r This route has very low yields however.%n%nIf you still want to get plentiful amount of §6Benzene§r, the §cCatalytic Reformer§c§r §6§rcan §ttransform §6Naphtha§r into §6Naphtha Refornate§r, a feedstock for §6B.T.E.X§r. %n%nBy that point however, you would have unlocked better fuel sources derived from oil. susy.quest.db.412.title=Gas Diffuser From 9d63fc27eb7b2c6ebcb91ab04136ad6ecb295273 Mon Sep 17 00:00:00 2001 From: MCTian-mi <35869948+MCTian-mi@users.noreply.github.com> Date: Fri, 3 Jan 2025 16:22:08 +0800 Subject: [PATCH 07/11] feat: use dummy fluid icons --- config/betterquesting/DefaultQuests/Quests/3/1994804951.json | 3 +-- config/betterquesting/DefaultQuests/Quests/3/641325952.json | 3 +-- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/config/betterquesting/DefaultQuests/Quests/3/1994804951.json b/config/betterquesting/DefaultQuests/Quests/3/1994804951.json index 1ad3e5966..d46ead036 100644 --- a/config/betterquesting/DefaultQuests/Quests/3/1994804951.json +++ b/config/betterquesting/DefaultQuests/Quests/3/1994804951.json @@ -6,9 +6,8 @@ "betterquesting:10": { "desc:8": "susy.quest.db.1994804951.desc", "icon:10": { - "id:8": "forge:bucketfilled", + "id:8": "appliedenergistics2:dummy_fluid_item", "tag:10": { - "Amount:3": 1000, "FluidName:8": "gtfo_stearin" } }, diff --git a/config/betterquesting/DefaultQuests/Quests/3/641325952.json b/config/betterquesting/DefaultQuests/Quests/3/641325952.json index 02e1f3e59..1cd65db0a 100644 --- a/config/betterquesting/DefaultQuests/Quests/3/641325952.json +++ b/config/betterquesting/DefaultQuests/Quests/3/641325952.json @@ -6,9 +6,8 @@ "betterquesting:10": { "desc:8": "susy.quest.db.641325952.desc", "icon:10": { - "id:8": "forge:bucketfilled", + "id:8": "appliedenergistics2:dummy_fluid_item", "tag:10": { - "Amount:3": 1000, "FluidName:8": "deacidified_lipid" } }, From 82cd7206c377d610a4ddf4b4b4f358daf0231146 Mon Sep 17 00:00:00 2001 From: MCTian-mi <35869948+MCTian-mi@users.noreply.github.com> Date: Fri, 3 Jan 2025 17:08:54 +0800 Subject: [PATCH 08/11] feat: add green diesel quest (lazy me :clueless:) --- .../DefaultQuests/QuestLines/16.json | 10 +-- .../DefaultQuests/QuestLines/4.json | 11 +++- .../DefaultQuests/Quests/4/1617418058.json | 62 +++++++++++++++++++ .../resources/supersymmetry/lang/en_us.lang | 4 +- 4 files changed, 79 insertions(+), 8 deletions(-) create mode 100644 config/betterquesting/DefaultQuests/Quests/4/1617418058.json diff --git a/config/betterquesting/DefaultQuests/QuestLines/16.json b/config/betterquesting/DefaultQuests/QuestLines/16.json index 4b3913501..2e690c8d1 100644 --- a/config/betterquesting/DefaultQuests/QuestLines/16.json +++ b/config/betterquesting/DefaultQuests/QuestLines/16.json @@ -317,21 +317,21 @@ "id:3": 414, "sizeX:3": 24, "sizeY:3": 24, - "x:3": 276, - "y:3": -240 + "x:3": 228, + "y:3": -192 }, "44:10": { "id:3": 415, "sizeX:3": 24, "sizeY:3": 24, - "x:3": 228, - "y:3": -192 + "x:3": 120, + "y:3": -144 }, "45:10": { "id:3": 416, "sizeX:3": 24, "sizeY:3": 24, - "x:3": 276, + "x:3": 168, "y:3": -192 }, "46:10": { diff --git a/config/betterquesting/DefaultQuests/QuestLines/4.json b/config/betterquesting/DefaultQuests/QuestLines/4.json index 45c812d55..3e8e3a8b4 100644 --- a/config/betterquesting/DefaultQuests/QuestLines/4.json +++ b/config/betterquesting/DefaultQuests/QuestLines/4.json @@ -797,20 +797,27 @@ "y:3": 54 }, "112:10": { + "id:3": 1617418058, + "sizeX:3": 24, + "sizeY:3": 24, + "x:3": -18, + "y:3": 54 + }, + "113:10": { "id:3": 1766408250, "sizeX:3": 60, "sizeY:3": 60, "x:3": 336, "y:3": -222 }, - "113:10": { + "114:10": { "id:3": 1837809262, "sizeX:3": 24, "sizeY:3": 24, "x:3": -96, "y:3": 18 }, - "114:10": { + "115:10": { "id:3": 2096017803, "sizeX:3": 24, "sizeY:3": 24, diff --git a/config/betterquesting/DefaultQuests/Quests/4/1617418058.json b/config/betterquesting/DefaultQuests/Quests/4/1617418058.json new file mode 100644 index 000000000..324bf0b9e --- /dev/null +++ b/config/betterquesting/DefaultQuests/Quests/4/1617418058.json @@ -0,0 +1,62 @@ +{ + "preRequisites:11": [ + 409, + 1193199034 + ], + "properties:10": { + "betterquesting:10": { + "desc:8": "susy.quest.db.1617418058.desc", + "icon:10": { + "id:8": "appliedenergistics2:dummy_fluid_item", + "tag:10": { + "FluidName:8": "isomerized_paraffin" + } + }, + "name:8": "susy.quest.db.1617418058.title" + } + }, + "questID:3": 1617418058, + "tasks:9": { + "0:10": { + "taskID:8": "bq_standard:checkbox" + }, + "1:10": { + "index:3": 1, + "requiredFluids:9": { + "0:10": { + "Amount:3": 1000, + "FluidName:8": "bleaching_lipid_mix" + }, + "1:10": { + "Amount:3": 1000, + "FluidName:8": "bleached_lipid" + }, + "2:10": { + "Amount:3": 1000, + "FluidName:8": "heated_lipid" + }, + "3:10": { + "Amount:3": 1000, + "FluidName:8": "hydrotreated_lipid_mixture" + }, + "4:10": { + "Amount:3": 1000, + "FluidName:8": "crude_n_paraffin" + }, + "5:10": { + "Amount:3": 1000, + "FluidName:8": "neutralized_n_paraffin" + }, + "6:10": { + "Amount:3": 1000, + "FluidName:8": "distilled_n_paraffin" + }, + "7:10": { + "Amount:3": 1000, + "FluidName:8": "isomerized_paraffin" + } + }, + "taskID:8": "bq_standard:fluid" + } + } +} \ No newline at end of file diff --git a/config/betterquesting/resources/supersymmetry/lang/en_us.lang b/config/betterquesting/resources/supersymmetry/lang/en_us.lang index 060bbbf37..06171a79d 100644 --- a/config/betterquesting/resources/supersymmetry/lang/en_us.lang +++ b/config/betterquesting/resources/supersymmetry/lang/en_us.lang @@ -557,7 +557,7 @@ susy.quest.db.249.desc=§6Element§r: Lithium (Li)%n§bAtomic Number§r: 3%n§aA susy.quest.db.250.title=004 | Beryllium susy.quest.db.250.desc=§6Element§r: Beryllium (Be)%n§bAtomic Number§r: 4%n§aAtomic Mass§r: 9.0122 amu%n§cMelting Point§r: 1560 K%n§5Boiling Point§r: 2742 K%n§6Properties§r: Beryllium is a lightweight and strong alkaline earth metal. It is used in aerospace applications, X-ray windows, and as a moderator in nuclear reactors.%n%n§lPrimitive: §r§cN/A%n%n§r§lUniversal: §rMelt §2beryl§r (emeralds) with§7 sodium carbonate §rin a reaction furnace in order to obtain §3alkali fused beryl§r.%n%nAlkali fused beryl partially dissolves in §6sulfuric acid§r to release carbon dioxide and leaves behind §6silicon dioxide§r in a batch reactor. (75%% yield)%n%nAluminium is separated from the solution with §6potassium sulfate §rto form a§6 beryllium sulfate solution§r and §bpotassium alum (KAl(SO4)2)§r in a batch reactor.%n%nIron and chromium impurities are removed with calcium carbonate (calcite), forming gypsum, iron (III) hydroxide, and chromium (III) hydroxide in a batch reactor.%n%n§2Beryllium hydroxide§r is precipitated with §9sodium hydroxide§r in a batch reactor. Optionally, add EDTA to boost the yield from 75%% to 100%%.%n%n§lSpecialized: §r%nAt a higher voltage, you can §6directly convert beryl to chlorinated beryl in a reaction furnace§r using carbon and chlorine.%n%nUsing a distillation tower, this mixture of chlorides is separated into silicon tetrachloride, aluminium trichloride, and§a beryllium chloride§r.%n%nThis process has a total yield of 90%% susy.quest.db.251.title=005 | Boron -susy.quest.db.251.desc=§6Element§r: Boron (B)%n§bAtomic Number§r: 5%n§aAtomic Mass§r: 10.81 amu%n§cMelting Point§r: 2349 K%n§5Boiling Point§r: 4200 K%n§6Properties§r: Boron is a metalloid with strong chemical resistance. It is used in various industries, including agriculture (as a micronutrient), ceramics, and semiconductors.%n%n§lPrimitive:§r §6Roast ores to form Sodium Tetraborate.%n%n§613 Sodium Tetraborate Dust + 2,000 L Distilled Water → 2,000 L Borate Liquor + 1 tiny pile of clay (Mixer)%n%n2,000 L Borate Liquor + 2,000 L Hydrochloric Acid → 28 Boric Acid + 2,000 L Salt Water (CSTR)%n%n14 Boric Acid → 3,000 L Steam + 5 Boron Trioxide (Roaster)%n%n5 Boron Trioxide + 3 Magnesium -> 2 Amorphous Boron + 6 Magnesium Oxide (Roaster)%n%n2 Amorphous Boron → 1 Boron Dust (Centrifuge)%n%n§l§r§lUniversal: §rDirect electrolysis of B2O3 to form elemental boron.%n%n§67 Boric Acid + 4,000 L Hydrofluoric acid → 1,000 L Tetrafluoroboric Acid (Mixer)%n%n1,000 L Tetrafluoroborate Solution + 6 Potassium Carbonate → 1,000 L Potassium Tetrafluoroborate Solution + 1,000 L Carbon Dioxide%n%n14,000 L Potassium Tetrafluoroborate Solution → 12 Potassium tetrafluoroborate + 15,000 L Steam (Roaster)%n%n144 mB molten salt (NC) + 1 Sodium Fluoride (NC) + 1 Potassium tetrafluoroborate (NC) + 5 Boron Trioxide + Iron Rod (NC) + Graphite Anode (NC) -> 2 Crude Boron Dust (Electrolytic cell)%n%n§l§r§lSpecialized: §rProduces ultrapure boron for semiconductor applications. %n%n§62 Crude Boron + 6,000 L Chlorine -> 2,000 L Boron Chloride + 1 tiny MgCl and CaCl dust (Fluidized Bed Reactor) %n%n2,000 L Boron Chloride + 6,000 L Hydrogen -> 6,000 L Gaseous Hydrogen Chloride + 2 High Purity Boron%n%n1 High Purity Boron -> 1 Boron Dust (Centrifuge) %n +susy.quest.db.251.desc=§6Element§r: Boron (B)%n§bAtomic Number§r: 5%n§aAtomic Mass§r: 10.81 amu%n§cMelting Point§r: 2349 K%n§5Boiling Point§r: 4200 K%n§6Properties§r: Boron is a metalloid with strong chemical resistance. It is used in various industries, including agriculture (as a micronutrient), ceramics, and semiconductors.%n%n§lPrimitive:§r §6Roast ores to form Sodium Tetraborate.%n%n§613 Sodium Tetraborate Dust + 2,000 L Distilled Water � 2,000 L Borate Liquor + 1 tiny pile of clay (Mixer)%n%n2,000 L Borate Liquor + 2,000 L Hydrochloric Acid � 28 Boric Acid + 2,000 L Salt Water (CSTR)%n%n14 Boric Acid � 3,000 L Steam + 5 Boron Trioxide (Roaster)%n%n5 Boron Trioxide + 3 Magnesium -> 2 Amorphous Boron + 6 Magnesium Oxide (Roaster)%n%n2 Amorphous Boron � 1 Boron Dust (Centrifuge)%n%n§l§r§lUniversal: §rDirect electrolysis of B2O3 to form elemental boron.%n%n§67 Boric Acid + 4,000 L Hydrofluoric acid � 1,000 L Tetrafluoroboric Acid (Mixer)%n%n1,000 L Tetrafluoroborate Solution + 6 Potassium Carbonate � 1,000 L Potassium Tetrafluoroborate Solution + 1,000 L Carbon Dioxide%n%n14,000 L Potassium Tetrafluoroborate Solution � 12 Potassium tetrafluoroborate + 15,000 L Steam (Roaster)%n%n144 mB molten salt (NC) + 1 Sodium Fluoride (NC) + 1 Potassium tetrafluoroborate (NC) + 5 Boron Trioxide + Iron Rod (NC) + Graphite Anode (NC) -> 2 Crude Boron Dust (Electrolytic cell)%n%n§l§r§lSpecialized: §rProduces ultrapure boron for semiconductor applications. %n%n§62 Crude Boron + 6,000 L Chlorine -> 2,000 L Boron Chloride + 1 tiny MgCl and CaCl dust (Fluidized Bed Reactor) %n%n2,000 L Boron Chloride + 6,000 L Hydrogen -> 6,000 L Gaseous Hydrogen Chloride + 2 High Purity Boron%n%n1 High Purity Boron -> 1 Boron Dust (Centrifuge) %n susy.quest.db.252.title=006 | Carbon susy.quest.db.252.desc=§6Element§r: Carbon (C)%n§bAtomic Number§r: 6%n§aAtomic Mass§r: 12.01 amu%n§cMelting Point§r: 3825 K%n§5Boiling Point§r: 4300 K%n§6Properties§r: Carbon is a versatile nonmetal known for its ability to form a wide range of compounds. It is the basis of organic chemistry and is found in all known life forms.%n%n§lPrimitive: §rCentrifuge §7Charcoal, Coal, Coke or Anthracite§o§r Dust for Carbon Dust%n%n§lSpecialized: §rPyrolyze§c Methane §r§rwith §6Bismuth Dust§r to obtain Carbon Dust and Hydrogen Gas%n susy.quest.db.253.title=007 | Nitrogen @@ -1883,6 +1883,8 @@ susy.quest.db.1602093300.title=Coke™ susy.quest.db.1602093300.desc=The §7Coke§r is a coal-based fuel with a high carbon content. It is mainly used for smelting §7Iron§r, but also as a fuel in the §6Primitive Smelter§r. susy.quest.db.1610061980.title=Trip Hammer susy.quest.db.1610061980.desc=The §6Trip Hammer§r can swing a hammer for you!%n%nA trip hammer needs a §6Cog§r and a §6Hammer§r to work. You can put §a4§r of them around one anvil to reach the maximum efficiency.%n%nYou can insert items into a anvil using hoppers or pipes, and the product will be dropped in-world unless a chest or another type of storage is placed next to the Trip Hammer, opposite of the side where you insert the Cog. +susy.quest.db.1617418058.title=Echo-friendly Petrochem? Nooooooooo! +susy.quest.db.1617418058.desc=§rHave you ever build a §6Bio Diesel§r chain in MV? By treating lipids with §9Hydrogen§r in the presence of certain catalysts, you can turn them into §7Alkanes§r, which is basically the main component of oil fractions. This gives you a way to turn those §eLipids§r into something equivalent to §7Oil Fractions§r: the §2Geen Diesel§r chain.%n%nThe §2Geen Diesel§r chain can produce §apropane§r §7(from glycerol)§r, §eNaphtha§r, §6Kerosene§r, and §cDiesel§r. The chain itself is quite straight-forward as shown below:%n§l1)§r First, decolorize the lipid with aluminium silicate with phosphoric acid as catalyst.%n§l2)§r Heat the lipid up and react it with hydrogen in a trickle bed reactor.%n§l3)§r Separate the reaction outlet, and neutralize the acid produced in the reaction as a by-product.%n§l4)§r Distill over light-ends which is mostly propane and naphtha.%n§l5)§r Isomerize the remaining paraffins and distill it again to separate kerosene and diesel.%n%nIntermediate products are listed on the right, check JEI for more info.%n%nYou can also see the whole flowchart of bio diesel chain here:{Embed}TypeLink;https://github.com/SymmetricDevs/QuestbookMedia/blob/main/flowcharts/hvo.png;128;20;§9§nGreen Diesel Chain§r{Embed} susy.quest.db.1677924297.title=Better Oven susy.quest.db.1677924297.desc=The §6Refractory Oven§r is an upgraded version of the §7Stone Oven§r, which has §a2.5x§r processing speed and a lower change of failure. susy.quest.db.1766162782.title=Extenders & Bridges From bead528ad04320a7b9f3abd55a4b0aa95886ba18 Mon Sep 17 00:00:00 2001 From: bruberu <80226372+bruberu@users.noreply.github.com> Date: Wed, 8 Jan 2025 00:44:11 -0600 Subject: [PATCH 09/11] fix: questbook wording --- .../resources/supersymmetry/lang/en_us.lang | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/config/betterquesting/resources/supersymmetry/lang/en_us.lang b/config/betterquesting/resources/supersymmetry/lang/en_us.lang index 06171a79d..8b6b42d6a 100644 --- a/config/betterquesting/resources/supersymmetry/lang/en_us.lang +++ b/config/betterquesting/resources/supersymmetry/lang/en_us.lang @@ -873,9 +873,9 @@ susy.quest.db.407.desc=§aGlycerol§r is mostly a by-product of §6Bio Diesel§r susy.quest.db.408.title=Glyceryl Trinitrate susy.quest.db.408.desc=§6Glyceryl Trinitrate §rcan be obtained by reacting Glycerol with Nitration Mixture. susy.quest.db.409.title=1st Grade Lipids -susy.quest.db.409.desc=§6Lipids from plants§r have little §cfatty acids§r in them, which means they can be used directly for the bio diesel production.%n%nThese lipids are considered as 1st grade lipids:%n - Olive Oil%n - Refined Soybean Oil%n - Coconut Oil%n - Seed Oil%n - Deacidified Lipid §7(from 2nd Grade Lipiids)§r%n%nYou'll need an §cLV Extractor§r for them.%n%nOne of the best way to produce 1st grade lipids would be §eRefined Soybean Oil§r. There is a special processing line for it:%n%n§l1.§r Extract Raw Soybean Oil from the soybean seeds.%n§l2.§r Mix Raw Soybean Oil with Water to produce Hydrated Soybean Oil.%n§l3.§r Centrifuge the Hydrated Soybean Oil into Refined Soybean Oil (And Soy Lecithin)%n%nYou can also centrifuge the refined soybean oil into §aSeed Oil§r if you want. +susy.quest.db.409.desc=§6Lipids from plants§r have little §cfatty acids§r in them, which means they can be used directly for biodiesel production.%n%nThese lipids are considered as 1st grade lipids:%n - Olive Oil%n - Refined Soybean Oil%n - Coconut Oil%n - Seed Oil%n - Deacidified Lipid §7(from 2nd Grade Lipiids)§r%n%nYou'll need an §cLV Extractor§r for them.%n%nOne of the best ways to produce 1st grade lipids is §eRefined Soybean Oil§r. There is a special processing line for it:%n%n§l1.§r Extract Raw Soybean Oil from the soybean seeds.%n§l2.§r Mix Raw Soybean Oil with Water to produce Hydrated Soybean Oil.%n§l3.§r Centrifuge the Hydrated Soybean Oil into Refined Soybean Oil (And Soy Lecithin)%n%nYou can also centrifuge the refined soybean oil into §aSeed Oil§r if you want. susy.quest.db.410.title=Bio Diesel -susy.quest.db.410.desc=§6Bio Diesel§r is an excellent fuel source for the §cLarge Gas Turbine§r. It can be derived from l§eipids§r like vegetable oils, fish oil or fat, and it's fully automatable.%n%nHere are some prerequisite chains for bio diesel production if you don't want to start from ground-up:%n - Chlor-alkali §7(for NaOH)§r%n - Methanol or Ethanol §7(you'll need a large amount of them!)§r%n%nYou can also see the whole flowchart of bio diesel chain here:%n{Embed}TypeLink;https://github.com/SymmetricDevs/QuestbookMedia/blob/main/flowcharts/biodiesel.png;128;20;§9§nBio Diesel Chain§r{Embed}%n +susy.quest.db.410.desc=§6Bio Diesel§r is an excellent fuel source for the §cLarge Gas Turbine§r. It can be derived from §elipids§r like vegetable oils, fish oil or fat, and it's fully automatable.%n%nHere are some prerequisite chains for bio diesel production if you don't want to start from ground-up:%n - Chlor-alkali §7(for NaOH)§r%n - Methanol or Ethanol §7(you'll need a lot of them!)§r%n%nYou can also see the whole flowchart of bio diesel chain here:%n{Embed}TypeLink;https://github.com/SymmetricDevs/QuestbookMedia/blob/main/flowcharts/biodiesel.png;128;20;§9§nBio Diesel Chain§r{Embed}%n susy.quest.db.411.title=Church of Benzene? susy.quest.db.411.desc=Although §6Benzene §rcan be used as a source of power in the §cLarge Gas Turbine§r, §6Benzene§r is not recommended as a viable power source. %n%nYeah, the title is kinda misleading, as unlike other GregTech packs, the only way to get §6Benzene§r before §d§5EV§r is from §6§rprocessing§r §6Coal Tar.§r This route has very low yields however.%n%nIf you still want to get plentiful amount of §6Benzene§r, the §cCatalytic Reformer§c§r §6§rcan §ttransform §6Naphtha§r into §6Naphtha Refornate§r, a feedstock for §6B.T.E.X§r. %n%nBy that point however, you would have unlocked better fuel sources derived from oil. susy.quest.db.412.title=Gas Diffuser @@ -1848,7 +1848,7 @@ susy.quest.db.577792334.desc=The §6Stone Kiln§r is also a type of kiln. Better susy.quest.db.618527753.title=Carbon Black susy.quest.db.618527753.desc=Carbon black is an important component of synthetic rubber manufacturing, strengthening the product. It can be produced by partially combusting residues and heavy fractions in a rotary kiln. susy.quest.db.641325952.title=Lipid Pretreatment -susy.quest.db.641325952.desc=There 3 ways to reduce the §cfatty acid§r contents in your §6lipids§r:%n%n§l1)§r Distillation.%n§l2)§r Neutralization by §9Dilute NaOH solution§r.%n§l3)§r Acid-catalyzed esterification with §bglycerol§r.%n%nThe 3rd method is more complex than the above two, but it allows you to convert all the aliphatic acid contents in your lipids into the bio diesel.%n%nWhichever route you choose, you'll get §edeacidfied lipid§r as product, which can be used directly for the §3transesterification§r reaction. +susy.quest.db.641325952.desc=There 3 ways to reduce the §cfatty acid§r contents in your §6lipids§r:%n%n§l1)§r Distillation.%n§l2)§r Neutralization by §9Dilute NaOH solution§r.%n§l3)§r Acid-catalyzed esterification with §bglycerol§r.%n%nThe 3rd method is more complex than the above two, but it allows you to convert all the aliphatic acid contents in your lipids into biodiesel.%n%nWhichever route you choose, you'll get §edeacidfied lipid§r as product, which can be used directly for the §3transesterification§r reaction. susy.quest.db.744003683.title=Pit Kiln susy.quest.db.744003683.desc=The §6Pit Kiln§r is a primitive type of kiln that can be used to turn clays into §4Bricks§r or cobblestones into their corresponding §7Stones§r. However, it is not thermally insulated enough to maintain a higher temperatures required for some other transformations.%n%n To construct a pit kiln, you will need 4 straws and 3 logs. First, lay down a layer of straw by §a[right-clicking]§r the top surface of a block while holding a straw in your hand. Then, §a[right-click]§r it with the item you wish to smelt. Finally, add 3 additional straws and 3 logs; the pit kiln will then be ready to be ignited to start the heating process.%n%n A pit kiln can process a maximum of §a8§r items at a time, with a §4failure chance§r that depends on the specific recipe it is processing. When the pit kiln goes out, break the remaining ash pile to collect your products.%n%nNeed to note that all facings of a pit kiln, except for the top face, should be blocked to maintain thermal insulation. susy.quest.db.943634333.title=Hydrocracking @@ -1884,7 +1884,7 @@ susy.quest.db.1602093300.desc=The §7Coke§r is a coal-based fuel with a high ca susy.quest.db.1610061980.title=Trip Hammer susy.quest.db.1610061980.desc=The §6Trip Hammer§r can swing a hammer for you!%n%nA trip hammer needs a §6Cog§r and a §6Hammer§r to work. You can put §a4§r of them around one anvil to reach the maximum efficiency.%n%nYou can insert items into a anvil using hoppers or pipes, and the product will be dropped in-world unless a chest or another type of storage is placed next to the Trip Hammer, opposite of the side where you insert the Cog. susy.quest.db.1617418058.title=Echo-friendly Petrochem? Nooooooooo! -susy.quest.db.1617418058.desc=§rHave you ever build a §6Bio Diesel§r chain in MV? By treating lipids with §9Hydrogen§r in the presence of certain catalysts, you can turn them into §7Alkanes§r, which is basically the main component of oil fractions. This gives you a way to turn those §eLipids§r into something equivalent to §7Oil Fractions§r: the §2Geen Diesel§r chain.%n%nThe §2Geen Diesel§r chain can produce §apropane§r §7(from glycerol)§r, §eNaphtha§r, §6Kerosene§r, and §cDiesel§r. The chain itself is quite straight-forward as shown below:%n§l1)§r First, decolorize the lipid with aluminium silicate with phosphoric acid as catalyst.%n§l2)§r Heat the lipid up and react it with hydrogen in a trickle bed reactor.%n§l3)§r Separate the reaction outlet, and neutralize the acid produced in the reaction as a by-product.%n§l4)§r Distill over light-ends which is mostly propane and naphtha.%n§l5)§r Isomerize the remaining paraffins and distill it again to separate kerosene and diesel.%n%nIntermediate products are listed on the right, check JEI for more info.%n%nYou can also see the whole flowchart of bio diesel chain here:{Embed}TypeLink;https://github.com/SymmetricDevs/QuestbookMedia/blob/main/flowcharts/hvo.png;128;20;§9§nGreen Diesel Chain§r{Embed} +susy.quest.db.1617418058.desc=By treating lipids with §9Hydrogen§r in the presence of certain catalysts, you can turn them into §7Alkanes§r, which are basically the main component of oil fractions. This gives you a way to turn those §eLipids§r into something equivalent to §7Oil Fractions§r: the §2Green Diesel§r chain.%n%nThe §2Green Diesel§r chain can produce §apropane§r §7(from glycerol)§r, §eNaphtha§r, §6Kerosene§r, and §cDiesel§r. The chain itself is quite straight-forward as shown below:%n§l1)§r First, decolorize the lipid with aluminium silicate with phosphoric acid as catalyst.%n§l2)§r Heat the lipid up and react it with hydrogen in a trickle bed reactor.%n§l3)§r Separate the reaction outlet, and neutralize the acid produced in the reaction as a by-product.%n§l4)§r Distill over light-ends, which are mostly propane and naphtha.%n§l5)§r Isomerize the remaining paraffins and distill it again to separate kerosene and diesel.%n%nIntermediate products are listed on the right, check JEI for more info.%n%nYou can also see the whole flowchart of biodiesel chain here:{Embed}TypeLink;https://github.com/SymmetricDevs/QuestbookMedia/blob/main/flowcharts/hvo.png;128;20;§9§nGreen Diesel Chain§r{Embed} susy.quest.db.1677924297.title=Better Oven susy.quest.db.1677924297.desc=The §6Refractory Oven§r is an upgraded version of the §7Stone Oven§r, which has §a2.5x§r processing speed and a lower change of failure. susy.quest.db.1766162782.title=Extenders & Bridges @@ -1904,7 +1904,7 @@ susy.quest.db.1902566957.desc=§6Drying Racks§r can convert §aPlant Fibers§r susy.quest.db.1958019111.title=Masonry Brick susy.quest.db.1958019111.desc=The §7Masonry Brick§r is essentially a brick-shaped piece of stone. It can be used to construct solid and insulated structures such as §6kilns§r, §6ovens§r, and the §6Primitive Smelter§r, or it can simply be utilized for architectural purposes. %n%nTo obtain some §7Masonry Bricks§r, break stones on an anvil using a pickaxe. susy.quest.db.1994804951.title=2nd Grade Lipids -susy.quest.db.1994804951.desc=§4§6Lipids from animals§r contains a high amount of §cfatty acids§r in them, which is §4harmful§r to the §3transesterification§r process. Thus to use them for the §6bio diesel§r production, it iis essential to reduce the §cfatty acids§r content in them.%n%nFor above reasons, the following lipids are considered 2nd grade lipids:%n - Liquid Fat (Stearin)%n - Fish Oil%n%nCheck the next quest for available §3pretreatment§r methods. +susy.quest.db.1994804951.desc=§4§6Lipids from animals§r contains a high amount of §cfatty acids§r in them, which is §4harmful§r to the §3transesterification§r process. Thus to use them for §6biodiesel§r production, it iis essential to reduce the §cfatty acids§r content in them.%n%nFor above reasons, the following lipids are considered 2nd grade lipids:%n - Liquid Fat (Stearin)%n - Fish Oil%n%nCheck the next quest for available §3pretreatment§r methods. susy.quest.db.1996974870.title=Transesterification Reaction susy.quest.db.1996974870.desc=§6Bio Diesel§r, also known as Fatty Acid Methanol Ester §c(FAME)§r or Fatty Acid Ethanol Ester §c(FAEE)§r, is produced by the §3transesterification§r reaction between §6lipids§r and corresponding §ealcohols§r in a §6batch reactor§r.%n%nYou can use either methanol or ethanol for this, depending on your existing production lines. susy.quest.db.1997511526.title=Natural Gas From 9a9ae3e6871ea95ae5baa8c892217071dae50e47 Mon Sep 17 00:00:00 2001 From: bruberu <80226372+bruberu@users.noreply.github.com> Date: Thu, 9 Jan 2025 06:36:54 -0600 Subject: [PATCH 10/11] fix: balance sodium --- .../chemistry/organic_chemistry/BiofuelChain.groovy | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/groovy/postInit/chemistry/organic_chemistry/BiofuelChain.groovy b/groovy/postInit/chemistry/organic_chemistry/BiofuelChain.groovy index 3520f2987..1be394db6 100644 --- a/groovy/postInit/chemistry/organic_chemistry/BiofuelChain.groovy +++ b/groovy/postInit/chemistry/organic_chemistry/BiofuelChain.groovy @@ -150,11 +150,11 @@ alcohols.forEach { alcohol -> // Neutralization of Crude FAXEs MIXER.recipeBuilder() - .fluidInputs(fluid('diluted_hydrochloric_acid') * 100) - .fluidInputs(alcohol.getCrudeEster(2100)) - .fluidOutputs(alcohol.getNeutralizedEster(2100)) - .fluidOutputs(fluid('diluted_saltwater') * 100) - .duration(15) + .fluidInputs(fluid('diluted_hydrochloric_acid') * 1000) + .fluidInputs(alcohol.getCrudeEster(3500)) + .fluidOutputs(alcohol.getNeutralizedEster(3500)) + .fluidOutputs(fluid('diluted_saltwater') * 1000) + .duration(30) .EUt(7) .buildAndRegister() From 5a29d2cd5a8daa7f082b5cc3a5bb0f45fbbb5ca7 Mon Sep 17 00:00:00 2001 From: bruberu <80226372+bruberu@users.noreply.github.com> Date: Thu, 9 Jan 2025 06:43:23 -0600 Subject: [PATCH 11/11] feat: recommend ethanol --- config/betterquesting/resources/supersymmetry/lang/en_us.lang | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/betterquesting/resources/supersymmetry/lang/en_us.lang b/config/betterquesting/resources/supersymmetry/lang/en_us.lang index 8b6b42d6a..4a5ca566e 100644 --- a/config/betterquesting/resources/supersymmetry/lang/en_us.lang +++ b/config/betterquesting/resources/supersymmetry/lang/en_us.lang @@ -1906,7 +1906,7 @@ susy.quest.db.1958019111.desc=The §7Masonry Brick§r is essentially a brick-sha susy.quest.db.1994804951.title=2nd Grade Lipids susy.quest.db.1994804951.desc=§4§6Lipids from animals§r contains a high amount of §cfatty acids§r in them, which is §4harmful§r to the §3transesterification§r process. Thus to use them for §6biodiesel§r production, it iis essential to reduce the §cfatty acids§r content in them.%n%nFor above reasons, the following lipids are considered 2nd grade lipids:%n - Liquid Fat (Stearin)%n - Fish Oil%n%nCheck the next quest for available §3pretreatment§r methods. susy.quest.db.1996974870.title=Transesterification Reaction -susy.quest.db.1996974870.desc=§6Bio Diesel§r, also known as Fatty Acid Methanol Ester §c(FAME)§r or Fatty Acid Ethanol Ester §c(FAEE)§r, is produced by the §3transesterification§r reaction between §6lipids§r and corresponding §ealcohols§r in a §6batch reactor§r.%n%nYou can use either methanol or ethanol for this, depending on your existing production lines. +susy.quest.db.1996974870.desc=§6Bio Diesel§r, also known as Fatty Acid Methanol Ester §c(FAME)§r or Fatty Acid Ethanol Ester §c(FAEE)§r, is produced by the §3transesterification§r reaction between §6lipids§r and corresponding §ealcohols§r in a §6batch reactor§r.%n%nYou can use either methanol or ethanol for this, depending on your existing production lines (if you don't have either yet, I would recommend that you use ethanol from farming, since it needs very little power). susy.quest.db.1997511526.title=Natural Gas susy.quest.db.1997511526.desc=No Description susy.quest.db.2081939483.title=Brick