Skip to content
This repository has been archived by the owner on May 11, 2023. It is now read-only.

Implement production chains described in GCYS pinned #75

Open
wants to merge 3 commits into
base: master
Choose a base branch
from
Open
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 @@ -7,7 +7,9 @@
import gregtech.api.unification.material.properties.BlastProperty;

import static gregicality.science.api.unification.material.info.GCYSMaterialFlags.DISABLE_CRYSTALLIZATION;
import static gregicality.science.api.unification.material.info.GCYSMaterialFlags.GENERATE_BOULE;
import static gregicality.science.api.unification.materials.GCYSMaterials.*;
import static gregtech.api.GTValues.*;
import static gregtech.api.unification.material.Materials.*;
import static gregtech.api.unification.material.info.MaterialFlags.*;

Expand Down Expand Up @@ -698,7 +700,7 @@ public static void init() {
.iconSet(MaterialIconSet.BRIGHT)
.flags(DISABLE_DECOMPOSITION, NO_SMELTING, GENERATE_PLATE, GENERATE_ROD, GENERATE_LONG_ROD,
GENERATE_FINE_WIRE, GENERATE_SPRING)
.cableProperties(GTValues.V[GTValues.UEV], 8, 6)
.cableProperties(GTValues.V[UEV], 8, 6)
.components(Carbon, 48)
.build()
.setFormula("CNT", false);
Expand Down Expand Up @@ -968,5 +970,60 @@ public static void init() {
.color(0x9AE7AD)
.components(Lithium,1 , Fluorine, 1)
.build();

// FREE IDs 3629 - 3639

LithiumPeroxide = new Material.Builder(3640, "lithium_peroxide")
.dust()
.color(0xB4D0D8)
.components(Lithium, 2, Oxygen, 2)
.build();

LithiumOxide = new Material.Builder(3641, "lithium_oxide")
.dust()
.color(0xA0D0D8)
.components(Lithium, 2, Oxygen, 1)
.build();

BSCCO = new Material.Builder(3642, "bscco")
.ingot()
.color(0xD880D8)
.components(Bismuth, 2, Strontium, 2, Calcium, 1, Copper, 2, Oxygen, 8)
.blastTemp(7000, BlastProperty.GasTier.HIGHER, GTValues.VA[GTValues.UEV])
.cableProperties(GTValues.V[UEV], 24, 0, true)
.build();

StrontiumCarbonate = new Material.Builder(3643, "strontium_carbonate")
.dust()
.color(0xFFFFF0).iconSet(MaterialIconSet.FINE)
.components(Strontium, 1, Carbon, 1, Oxygen, 3)
.build();

Celestine = new Material.Builder(3644, "celestine")
.gem(2).ore()
.color(0x85C1C4).iconSet(MaterialIconSet.NETHERSTAR)
.components(Strontium, 1, Sulfur, 1, Oxygen, 4)
.addOreByproducts(Salt, Gypsum, Barite)
.build();

StrontiumSulfide = new Material.Builder(3645, "strontium_sulfide")
.dust()
.color(0xFFEAA0).iconSet(MaterialIconSet.FINE)
.components(Strontium, 1, Sulfur, 1)
.build();

CupricOxide = new Material.Builder(3646, "cupric_oxide")
.dust(1)
.color(0x0F0F0F)
.components(Copper, 1, Oxygen, 1)
.build();

AdvancedSolder = new Material.Builder(3647, "advanced_solder")
.fluid()
.color(0xBAA0FF)
.components(Tin, 4, Lead, 3, Bismuth, 1, Cadmium, 1, Indium, 1)
.flags(DISABLE_DECOMPOSITION)
.fluidTemp(450)
.build();
}
}
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package gregicality.science.api.unification.materials;

import gregicality.science.common.GCYSConfigHolder;
import gregtech.api.unification.material.properties.IngotProperty;
import gregtech.api.unification.material.properties.OreProperty;
import gregtech.api.unification.material.properties.PropertyKey;

Expand Down Expand Up @@ -44,6 +45,9 @@ public static void init() {
Amethyst.addFlags(CRYSTALLIZABLE);
Opal.addFlags(CRYSTALLIZABLE);

// Ingots
Strontium.setProperty(PropertyKey.INGOT, new IngotProperty());

// Plates
Germanium.addFlags(GENERATE_PLATE);
Rhenium.addFlags(GENERATE_PLATE);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -143,7 +143,15 @@ public class GCYSMaterials {
public static Material CaesiumChlorostannate;
public static Material HRAMagnesium;
public static Material LithiumFluoride;

public static Material LithiumNiobate;
public static Material LithiumPeroxide;
public static Material LithiumOxide;
public static Material BSCCO;
public static Material StrontiumCarbonate;
public static Material Celestine;
public static Material StrontiumSulfide;
public static Material CupricOxide;
public static Material AdvancedSolder;

// Second Degree Materials
public static Material LaPrNdCeOxidesSolution;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
import gregtech.api.unification.material.info.MaterialIconSet;
import gregtech.api.unification.material.properties.PropertyKey;

import static gregicality.science.api.unification.material.info.GCYSMaterialFlags.GENERATE_BOULE;
import static gregicality.science.api.unification.materials.GCYSMaterials.*;
import static gregtech.api.unification.material.Materials.*;
import static gregtech.api.unification.material.info.MaterialFlags.*;
Expand Down Expand Up @@ -172,5 +173,14 @@ public static void init() {
.components(Rubidium, 1, Caesium, 2, Chlorine, 6, Water, 2)
.build()
.setFormula("RbCl(CsCl)2Cl3(H2O)2", true);

// FREE IDs 6027 - 6036

LithiumNiobate = new Material.Builder(6037, "lithium_niobate")
.gem()
.color(0x80E0E0).iconSet(MaterialIconSet.QUARTZ)
.components(LithiumOxide, 1, NiobiumPentoxide, 1)
.flags(GENERATE_BOULE, CRYSTALLIZABLE)
.build().setFormula("LiNbO3", true);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,13 @@

import gregtech.api.recipes.ingredients.IntCircuitIngredient;

import static gregicality.science.api.unification.materials.GCYSMaterials.SiliconCarbide;
import static gregtech.api.GTValues.EV;
import static gregtech.api.GTValues.VA;
import static gregtech.api.recipes.RecipeMaps.MIXER_RECIPES;
import static gregtech.api.unification.material.Materials.Graphite;
import static gregtech.api.unification.material.Materials.Silicon;
import static gregtech.api.unification.ore.OrePrefix.dust;
import static gregicality.science.api.recipes.GCYSRecipeMaps.*;
import static gregicality.science.api.unification.materials.GCYSMaterials.*;
import static gregicality.science.api.unification.ore.GCYSOrePrefix.*;
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.*;

/**
* Adds recipes for simple materials with few steps
Expand All @@ -17,6 +17,9 @@ public class SimpleMaterials {

public static void init() {
siliconCarbide();
lithiumNiobate();
bscco();
advancedSolder();
}

private static void siliconCarbide() {
Expand All @@ -28,4 +31,97 @@ private static void siliconCarbide() {
.output(dust, SiliconCarbide, 2)
.duration(300).EUt(VA[EV]).buildAndRegister();
}

private static void lithiumNiobate() {
// 2LiOH + H2O2 -> Li2O2 + 2H2O
CHEMICAL_RECIPES.recipeBuilder()
.input(dust, LithiumHydroxide, 6)
.fluidInputs(HydrogenPeroxide.getFluid(1000))
.output(dust, LithiumPeroxide, 4)
.fluidOutputs(Water.getFluid(2000))
.duration(300).EUt(VA[LV]).buildAndRegister();

// Li2O2 -> Li2O + O
CHEMICAL_RECIPES.recipeBuilder()
.input(dust, LithiumPeroxide, 4)
.output(dust, LithiumOxide, 3)
.fluidOutputs(Oxygen.getFluid(1000))
.duration(600).EUt(VA[MV]).buildAndRegister();

// 2Nb + 5O -> Nb2O5
CHEMICAL_RECIPES.recipeBuilder()
.input(dust, Niobium, 2)
.fluidInputs(Oxygen.getFluid(5000))
.output(dust, NiobiumPentoxide, 7)
.duration(50).EUt(VA[LV]).buildAndRegister();

AUTOCLAVE_RECIPES.recipeBuilder()
.input(dust, NiobiumPentoxide, 14)
.input(dust, Magnesia, 4)
.fluidInputs(DistilledWater.getFluid(8000))
.output(seedCrystal, LithiumNiobate)
.duration(900).EUt(VA[IV]).buildAndRegister();
}

private static void bscco() {
CHEMICAL_RECIPES.recipeBuilder()
.input(dust, Copper)
.fluidInputs(Oxygen.getFluid(1000))
.output(dust, CupricOxide, 2)
.duration(50).EUt(VA[LV]).buildAndRegister();

// SrSO4 + 2C -> SrS + 2CO2
ROASTER_RECIPES.recipeBuilder()
.input(dust, Celestine, 6)
.input(dust, Carbon, 2)
.output(dust, StrontiumSulfide, 2)
.fluidOutputs(CarbonDioxide.getFluid(2000))
.temperature(1600)
.duration(400).EUt(VA[EV]).buildAndRegister();

ROASTER_RECIPES.recipeBuilder()
.input(dust, Celestine, 6)
.input(gem, Coke)
.output(dust, StrontiumSulfide, 2)
.fluidOutputs(CarbonDioxide.getFluid(2000))
.temperature(1600)
.duration(400).EUt(VA[EV]).buildAndRegister();

// SrS + CO2 + H2O -> SrCO3 + H2S
CHEMICAL_RECIPES.recipeBuilder()
.input(dust, StrontiumSulfide, 2)
.fluidInputs(Water.getFluid(1000))
.fluidInputs(CarbonDioxide.getFluid(1000))
.output(dust, StrontiumCarbonate, 5)
.fluidOutputs(HydrogenSulfide.getFluid(1000))
.duration(900).EUt(VA[EV]).buildAndRegister();

// SrS + Na2CO3 -> SrCO3 + Na2S
CHEMICAL_RECIPES.recipeBuilder()
.input(dust, StrontiumSulfide, 2)
.input(dust, SodaAsh, 6)
.output(dust, StrontiumCarbonate, 5)
.output(dust, SodiumSulfide, 3)
.duration(300).EUt(VA[EV]).buildAndRegister();

// Bi2O3 + 2SrCO3 + CaCO3 + 2CuO -> Bi2Sr2CaCu2O8 (Loss of O and CO2)
MIXER_RECIPES.recipeBuilder()
.input(dust, BismuthTrioxide, 5)
.input(dust, StrontiumCarbonate, 10)
.input(dust, Calcite, 5)
.input(dust, CupricOxide, 4)
.output(dust, BSCCO, 15)
.duration(1200).EUt(VA[LuV]).buildAndRegister();
}

public static void advancedSolder() {
MIXER_RECIPES.recipeBuilder()
.input(dust, Tin, 4)
.input(dust, Lead, 3)
.input(dust, Bismuth, 1)
.input(dust, Cadmium, 1)
.input(dust, Indium, 1)
.fluidOutputs(AdvancedSolder.getFluid(4000))
.duration(400).EUt(VA[LuV]).buildAndRegister();
}
}
9 changes: 9 additions & 0 deletions src/main/resources/assets/gcys/lang/en_us.lang
Original file line number Diff line number Diff line change
Expand Up @@ -146,6 +146,15 @@ material.stannic_chloride=Stannic Chloride
material.rubidium_chlorostannate=Rubidium Chlorostannate
material.caesium_chlorostannate=Caesium Chlorostannate
material.hra_magnesium=Highly Reactive Activated Magnesium
material.lithium_niobate=Lithium Niobate
material.lithium_peroxide=Lithium Peroxide
material.lithium_oxide=Lithium Oxide
material.bscco=BSCCO
material.strontium_carbonate=Strontium Carbonate
material.strontium_sulfide=Strontium Sulfide
material.celestine=Celestine
material.cupric_oxide=Cupric Oxide
material.advanced_solder=Advanced Solder


# Second Degree Materials
Expand Down