diff --git a/src/main/java/gregicality/science/api/unification/materials/GCYSFirstDegreeMaterials.java b/src/main/java/gregicality/science/api/unification/materials/GCYSFirstDegreeMaterials.java index 2b0a50a8..fc75edb4 100644 --- a/src/main/java/gregicality/science/api/unification/materials/GCYSFirstDegreeMaterials.java +++ b/src/main/java/gregicality/science/api/unification/materials/GCYSFirstDegreeMaterials.java @@ -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.*; @@ -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); @@ -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(); } } diff --git a/src/main/java/gregicality/science/api/unification/materials/GCYSMaterialFlagAddition.java b/src/main/java/gregicality/science/api/unification/materials/GCYSMaterialFlagAddition.java index 883a17fc..f55c66b5 100644 --- a/src/main/java/gregicality/science/api/unification/materials/GCYSMaterialFlagAddition.java +++ b/src/main/java/gregicality/science/api/unification/materials/GCYSMaterialFlagAddition.java @@ -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; @@ -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); diff --git a/src/main/java/gregicality/science/api/unification/materials/GCYSMaterials.java b/src/main/java/gregicality/science/api/unification/materials/GCYSMaterials.java index 2ed33181..22c06c65 100644 --- a/src/main/java/gregicality/science/api/unification/materials/GCYSMaterials.java +++ b/src/main/java/gregicality/science/api/unification/materials/GCYSMaterials.java @@ -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; diff --git a/src/main/java/gregicality/science/api/unification/materials/GCYSSecondDegreeMaterials.java b/src/main/java/gregicality/science/api/unification/materials/GCYSSecondDegreeMaterials.java index 0492a2a9..62779be7 100644 --- a/src/main/java/gregicality/science/api/unification/materials/GCYSSecondDegreeMaterials.java +++ b/src/main/java/gregicality/science/api/unification/materials/GCYSSecondDegreeMaterials.java @@ -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.*; @@ -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); } } diff --git a/src/main/java/gregicality/science/loaders/recipe/chain/SimpleMaterials.java b/src/main/java/gregicality/science/loaders/recipe/chain/SimpleMaterials.java index 4eed37e4..2dc0ad0c 100644 --- a/src/main/java/gregicality/science/loaders/recipe/chain/SimpleMaterials.java +++ b/src/main/java/gregicality/science/loaders/recipe/chain/SimpleMaterials.java @@ -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 @@ -17,6 +17,9 @@ public class SimpleMaterials { public static void init() { siliconCarbide(); + lithiumNiobate(); + bscco(); + advancedSolder(); } private static void siliconCarbide() { @@ -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(); + } } diff --git a/src/main/resources/assets/gcys/lang/en_us.lang b/src/main/resources/assets/gcys/lang/en_us.lang index be54f430..a3addf63 100644 --- a/src/main/resources/assets/gcys/lang/en_us.lang +++ b/src/main/resources/assets/gcys/lang/en_us.lang @@ -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