Skip to content
This repository was archived by the owner on May 11, 2023. It is now read-only.
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -210,7 +210,7 @@ public class GCYSMaterials {
public static Material Tetrabromoethane;
public static Material TerephthalicAcid;
public static Material TerephthaloylChloride;
public static Material Butanediol;
public static Material Butane12diol;
public static Material GammaButyrolactone;
public static Material NMethylPyrrolidone;
public static Material Kevlar;
Expand Down Expand Up @@ -244,6 +244,12 @@ public class GCYSMaterials {
public static Material PedotPSS;
public static Material PedotTMA;

public static Material Butane14diol;
public static Material Butane23diol;
public static Material But1ene;
public static Material But2ene;
public static Material Isobutene;


// Unknown Composition Materials
public static Material RareEarthHydroxidesSolution;
Expand Down Expand Up @@ -295,6 +301,8 @@ public class GCYSMaterials {
public static Material MediumHyperFuel;
public static Material HeavyHyperFuel;

public static Material ButeneOxidesMixture;


/**
* 3100 - 19999
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -318,7 +318,7 @@ public static void init() {
.build()
.setFormula("C6H4(COCl)2", true);

Butanediol = new Material.Builder(15047, "butanediol")
Butane12diol = new Material.Builder(15047, "butane_12_diol")
.fluid()
.color(0xAAC4DA)
.flags(DISABLE_DECOMPOSITION)
Expand Down Expand Up @@ -543,5 +543,39 @@ public static void init() {
.components(Edot, 1, PMMA, 2)
.cableProperties(V[UEV], 8, 6)
.build();

// FREE ID 15079 - 15090

Butane14diol = new Material.Builder(15091, "butane_14_diol")
.fluid()
.color(0xAAC4DA)
.components(Carbon, 4, Hydrogen, 10, Oxygen, 2)
.build()
.setFormula("C4H8(OH)2", true);

Butane23diol = new Material.Builder(15092, "butane_23_diol")
.fluid()
.color(0xAAC4DA)
.components(Carbon, 4, Hydrogen, 10, Oxygen, 2)
.build()
.setFormula("C4H8(OH)2", true);

But1ene = new Material.Builder(15093, "but_1_ene")
.fluid(FluidTypes.GAS)
.color(0xCF5005)
.components(Carbon, 4, Hydrogen, 8)
.build();

But2ene = new Material.Builder(15094, "but_2_ene")
.fluid(FluidTypes.GAS)
.color(0xCF5005)
.components(Carbon, 4, Hydrogen, 8)
.build();

Isobutene = new Material.Builder(15095, "isobutene")
.fluid(FluidTypes.GAS)
.color(0xCF5005)
.components(Carbon, 4, Hydrogen, 8)
.build();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -128,5 +128,9 @@ public static void init() {
MediumHyperFuel = new Material.Builder(18055, "medium_hyper_fuel").fluid().color(0xDC0A0A).build();

HeavyHyperFuel = new Material.Builder(18056, "heavy_hyper_fuel").fluid().color(0x1E5064).build();

// FREE ID 18057 - 18067

ButeneOxidesMixture = new Material.Builder(18068, "butene_oxides_mixture").fluid().color(0xC1DEF7).build();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,9 @@ public static class ChainOverrides {

@Config.Comment({"Disables electrolysis of Molybdenite, Powellite, and Wulfenite, requiring Gregicality's processes for Molybdenum.", "Default: true"})
public boolean disableMolybdenumProcessing = true;

@Config.Comment({"Disables production of Ethyl Tert-Butyl Ether, requiring Gregicality's process.", "Default: true"})
public boolean disableETBEProcessing = true;
}

public static class CircuitOverrides {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,7 @@ private static void initChains() {
FantasyMaterials.init();
SimpleMaterials.init();
PedotChain.init();
C4Chains.init();
}

private static void initOreProcessing() {
Expand Down
128 changes: 128 additions & 0 deletions src/main/java/gregicality/science/loaders/recipe/chain/C4Chains.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,128 @@
package gregicality.science.loaders.recipe.chain;

import gregicality.science.common.GCYSConfigHolder;
import gregtech.api.recipes.GTRecipeHandler;
import gregtech.api.recipes.ingredients.IntCircuitIngredient;
import gregtech.api.unification.ore.OrePrefix;

import static gregicality.science.api.recipes.GCYSRecipeMaps.*;
import static gregicality.science.api.unification.materials.GCYSMaterials.*;
import static gregtech.api.GTValues.*;
import static gregtech.api.recipes.RecipeMaps.*;
import static gregtech.api.unification.material.Materials.*;
import static gregtech.api.unification.ore.OrePrefix.*;

public class C4Chains {
public static void init() {
butenes();
butane_12_23_diol();
butane_14_diol();
butadiene();
new_etbe();
}

private static void butenes() {
// Arbitrary output ratios
DISTILLATION_RECIPES.recipeBuilder()
.fluidInputs(Butene.getFluid(1000))
.fluidOutputs(But1ene.getFluid(250))
.fluidOutputs(But2ene.getFluid(500))
.fluidOutputs(Isobutene.getFluid(250))
.duration(160).EUt(2400)
.buildAndRegister();
}

private static void butane_14_diol() {
// C2H2 + H2CO -> HO-CH2-C#C-CH2-OH; HO-CH2-C#C-CH2-OH + 4H -> HO-C4H8-OH
BURNER_REACTOR_RECIPES.recipeBuilder()
.fluidInputs(Acetylene.getFluid(1000))
.fluidInputs(Formaldehyde.getFluid(2000))
.fluidInputs(Hydrogen.getFluid(4000))
.notConsumable(plate, Nickel) //TODO Raney nickel
.fluidOutputs(Butane14diol.getFluid(1000))
.pressure(3E8).temperature(360)
.duration(400).EUt(VA[HV]).buildAndRegister();
}

private static void butane_12_23_diol() {
// C4H8 + H2O + O (OsO4 cat.) -> C4H10O2
CHEMICAL_RECIPES.recipeBuilder()
.fluidInputs(But1ene.getFluid(1000))
.fluidInputs(Water.getFluid(1000))
.fluidInputs(Oxygen.getFluid(1000))
.notConsumable(dust, OsmiumTetroxide) // TODO Upjohn/Sharpless dihydroxylation
.fluidOutputs(Butane12diol.getFluid(1000))
.duration(300).EUt(VA[EV]).buildAndRegister();

// C4H8 + H2O + O (OsO4 cat.) -> C4H10O2
CHEMICAL_RECIPES.recipeBuilder()
.fluidInputs(But2ene.getFluid(1000))
.fluidInputs(Water.getFluid(1000))
.fluidInputs(Oxygen.getFluid(1000))
.notConsumable(dust, OsmiumTetroxide) // TODO Upjohn/Sharpless dihydroxylation
.fluidOutputs(Butane23diol.getFluid(1000))
.duration(300).EUt(VA[EV]).buildAndRegister();

// C4H8 + Cl/H2O + NaOH -> C4H8O + NaCl (55% trans-2,3-butene oxide, 30% cis-2,3-butene oxide, and 15% 1,2-butene oxide)
CHEMICAL_RECIPES.recipeBuilder()
.fluidInputs(Butene.getFluid(1000))
.fluidInputs(Chlorine.getFluid(1000))
.fluidInputs(Water.getFluid(1000)) // TODO sequential reactor?
.input(dust, SodiumHydroxide)
.fluidOutputs(ButeneOxidesMixture.getFluid(1000))
.output(dust, Salt, 2)
.duration(400).EUt(VA[EV]).buildAndRegister();

// C4H8 + HOCl -> C4H8O + HCl (55% trans-2,3-butene oxide, 30% cis-2,3-butene oxide, and 15% 1,2-butene oxide)
CHEMICAL_RECIPES.recipeBuilder()
.fluidInputs(Butene.getFluid(1000))
.fluidInputs(HypochlorousAcid.getFluid(1000))
.fluidOutputs(ButeneOxidesMixture.getFluid(1000))
.fluidOutputs(HydrochloricAcid.getFluid(1000))
.duration(400).EUt(VA[EV]).buildAndRegister();

// C4H8O + H2O -> C4H10O2 (Large excess of H2O)
BURNER_REACTOR_RECIPES.recipeBuilder()
.fluidInputs(ButeneOxidesMixture.getFluid(1000))
.fluidInputs(Water.getFluid(8000))
.fluidOutputs(Butane23diol.getFluid(850))
.fluidOutputs(Butane12diol.getFluid(150))
.pressure(5_000_000).temperature(450)
.duration(300).EUt(VA[EV]).buildAndRegister();
}

private static void butadiene() {
// C4H10O2 (Al2O3 cat.) -> C4H6 + 2 H2O
BURNER_REACTOR_RECIPES.recipeBuilder()
.fluidInputs(Butane14diol.getFluid(1000))
.notConsumable(dust, Alumina)
.fluidOutputs(Butadiene.getFluid(1000))
.fluidOutputs(Steam.getFluid(2000)) // TODO Superheated Steam
.temperature(625)
.duration(150).EUt(VA[HV]).buildAndRegister();

// C4H10O2 (Al2O3 cat.) -> C4H6 + 2 H2O
BURNER_REACTOR_RECIPES.recipeBuilder()
.fluidInputs(Butane23diol.getFluid(1000))
.notConsumable(dust, Alumina)
.fluidOutputs(Butadiene.getFluid(1000))
.fluidOutputs(Steam.getFluid(2000)) // TODO Superheated Steam
.temperature(625)
.duration(150).EUt(VA[HV]).buildAndRegister();
}

public static void new_etbe() {
if (GCYSConfigHolder.chainOverrides.disableETBEProcessing) {
GTRecipeHandler.removeRecipesByInputs(CHEMICAL_RECIPES, Ethanol.getFluid(1000), Butene.getFluid(1000));
GTRecipeHandler.removeRecipesByInputs(LARGE_CHEMICAL_RECIPES, Ethanol.getFluid(1000), Butene.getFluid(1000)); // TODO remove once CR recipe removal issue gets fixed
}

BURNER_REACTOR_RECIPES.recipeBuilder()
.fluidInputs(Ethanol.getFluid(1000))
.fluidInputs(Isobutene.getFluid(1000))
.fluidInputs(SulfuricAcid.getFluid(50))
.fluidOutputs(EthylTertButylEther.getFluid(1000))
.pressure(1_000_000).temperature(350)
.duration(400).EUt(VA[HV]).buildAndRegister();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -57,21 +57,10 @@ public static void init() {
.EUt(240)
.buildAndRegister();

// C4H8 + HClO + H2O -> C4H10O2 + HCl
CHEMICAL_RECIPES.recipeBuilder()
.fluidInputs(Butene.getFluid(1000))
.fluidInputs(HypochlorousAcid.getFluid(1000))
.fluidInputs(Water.getFluid(1000))
.fluidOutputs(Butanediol.getFluid(1000))
.fluidOutputs(HydrochloricAcid.getFluid(1000))
.duration(60)
.EUt(VA[HV])
.buildAndRegister();

// C4H10O2 -> C4H6O2 + 4H (4H lost)
BREWING_RECIPES.recipeBuilder()
.input(dust, Copper)
.fluidInputs(Butanediol.getFluid(1000))
.fluidInputs(Butane14diol.getFluid(1000))
.fluidOutputs(GammaButyrolactone.getFluid(1000))
.duration(120)
.EUt(VA[EV])
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ public static void init() {
private static void edot() {
//C4H10O2 -> C4H6O2 + 4H
ELECTROLYZER_RECIPES.recipeBuilder()
.fluidInputs(Butanediol.getFluid(1000))
.fluidInputs(Butane23diol.getFluid(1000))
.fluidOutputs(Diacetyl.getFluid(1000))
.fluidOutputs(Hydrogen.getFluid(4000))
.duration(80).EUt(VA[MV]).buildAndRegister();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ public static void init() {
private static void grignardReagent() {
// C4H10O2 -> C4H8O + H2O
CHEMICAL_RECIPES.recipeBuilder()
.fluidInputs(Butanediol.getFluid(1000))
.fluidInputs(Butane14diol.getFluid(1000))
.fluidInputs(SulfuricAcid.getFluid(1000))
.fluidOutputs(Tetrahydrofuran.getFluid(1000))
.fluidOutputs(DilutedSulfuricAcid.getFluid(1500))
Expand Down
11 changes: 10 additions & 1 deletion src/main/resources/assets/gcys/lang/en_us.lang
Original file line number Diff line number Diff line change
Expand Up @@ -222,7 +222,7 @@ material.bistrichloromethylbenzene=1,4-Bis(trichloromethyl)benzene
material.tetrabromoethane=Tetrabromoethane
material.terephthalic_acid=Terephthalic Acid
material.terephthaloyl_chloride=Terephthaloyl Chloride
material.butanediol=Butanediol
material.butane_12_diol=1,2-Butanediol
material.gamma_butyrolactone=Gamma-Butyrolactone
material.n_methyl_pyrrolidone=N-Methyl-2-Pyrrolidone
material.kevlar=Kevlar
Expand Down Expand Up @@ -257,6 +257,13 @@ material.polystyrene_sulfonate=Polystyrene Sulfonate
material.pedot_pss=PEDOT:PSS
material.pedot_tma=PEDOT-TMA

material.but_1_ene=1-Butene
material.but_2_ene=2-Butene
material.isobutene=Isobutene
material.butane_13_diol=1,3-Butanediol
material.butane_14_diol=1,4-Butanediol
material.butane_23_diol=2,3-Butanediol


# Unknown Composition Materials
material.rare_earth_hydroxides_solution=Rare Earth Hydroxides Solution
Expand Down Expand Up @@ -311,6 +318,8 @@ material.light_hyper_fuel=Light Hyper Fuel
material.medium_hyper_fuel=Medium Hyper Fuel
material.heavy_hyper_fuel=Heavy Hyper Fuel

material.butene_oxides_mixture=Butene Oxides Mixture


# Tricorder Info
behavior.tricorder.current_pressure=Current Pressure: %s Pa
Expand Down