Skip to content

Commit

Permalink
fission: hafnium and zirconium (GregTechCEu#2563)
Browse files Browse the repository at this point in the history
  • Loading branch information
TechLord22 authored Aug 10, 2024
1 parent a8480b5 commit 4c6a43a
Show file tree
Hide file tree
Showing 10 changed files with 142 additions and 12 deletions.
2 changes: 1 addition & 1 deletion src/main/java/gregtech/api/recipes/RecipeMaps.java
Original file line number Diff line number Diff line change
Expand Up @@ -751,7 +751,7 @@ public final class RecipeMaps {
public static final RecipeMap<SimpleRecipeBuilder> ELECTROMAGNETIC_SEPARATOR_RECIPES = new RecipeMapBuilder<>(
"electromagnetic_separator", new SimpleRecipeBuilder())
.itemInputs(1)
.itemOutputs(3)
.itemOutputs(4)
.itemSlotOverlay(GuiTextures.CRUSHED_ORE_OVERLAY, false)
.itemSlotOverlay(GuiTextures.DUST_OVERLAY, true)
.progressBar(GuiTextures.PROGRESS_BAR_MAGNET)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -470,6 +470,13 @@ public static void register() {
public static Material Pyrochlore;
public static Material RTMAlloy;
public static Material IlmeniteSlag;
public static Material Zircon;
public static Material Zirconia;
public static Material ZirconiumTetrachloride;
public static Material Hafnia;
public static Material HafniumTetrachloride;
public static Material Zircaloy4;
public static Material Inconel718;

/**
* Organic chemistry
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -306,8 +306,11 @@ public static void register() {
.build();

Hafnium = new Material.Builder(42, gregtechId("hafnium"))
.ingot()
.color(0x99999A).iconSet(SHINY)
.element(Elements.Hf)
.blast(b -> b.temp(2227, GasTier.HIGH)
.blastStats(GTValues.VA[GTValues.EV], 2000))
.build();

Hassium = new Material.Builder(43, gregtechId("hassium"))
Expand Down Expand Up @@ -911,8 +914,11 @@ public static void register() {
.build();

Zirconium = new Material.Builder(123, gregtechId("zirconium"))
.ingot()
.color(0xC8FFFF).iconSet(METALLIC)
.element(Elements.Zr)
.blast(b -> b.temp(2125, GasTier.MID)
.blastStats(GTValues.VA[GTValues.EV], 1200))
.build();

Naquadah = new Material.Builder(124, gregtechId("naquadah"))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -166,7 +166,12 @@ public static void register() {
.components(Hydrogen, 2, Oxygen, 1)
.build();

// FREE ID 270
Zircon = new Material.Builder(270, gregtechId("zircon"))
.gem().ore()
.color(0xC31313)
.flags(DISABLE_DECOMPOSITION)
.components(Zirconium, 1, Silicon, 1, Oxygen, 4)
.build();

Coal = new Material.Builder(271, gregtechId("coal"))
.gem(1, 1600).ore(2, 1) // default coal burn time in vanilla
Expand Down Expand Up @@ -626,7 +631,12 @@ public static void register() {
.components(Antimony, 2, Sulfur, 3)
.build();

// Free ID 326
Zirconia = new Material.Builder(326, gregtechId("zirconia"))
.dust()
.color(0x689F9F).iconSet(SHINY)
.flags(DISABLE_DECOMPOSITION)
.components(Zirconium, 1, Oxygen, 2)
.build();

Tetrahedrite = new Material.Builder(327, gregtechId("tetrahedrite"))
.dust().ore()
Expand Down Expand Up @@ -821,9 +831,19 @@ public static void register() {
.components(Copper, 2, Sulfur, 1)
.build();

// Free ID 349
ZirconiumTetrachloride = new Material.Builder(349, gregtechId("zirconium_tetrachloride"))
.dust()
.color(0x689FBF).iconSet(METALLIC)
.flags(DISABLE_DECOMPOSITION)
.components(Zirconium, 1, Chlorine, 4)
.build();

// Free ID 350
Hafnia = new Material.Builder(350, gregtechId("hafnia"))
.dust()
.color(0x39393A).iconSet(SHINY)
.flags(DISABLE_DECOMPOSITION)
.components(Hafnium, 1, Oxygen, 2)
.build();

GalliumArsenide = new Material.Builder(351, gregtechId("gallium_arsenide"))
.ingot(1)
Expand Down Expand Up @@ -872,6 +892,7 @@ public static void register() {
MagnesiumChloride = new Material.Builder(357, gregtechId("magnesium_chloride"))
.dust(1)
.color(0xD40D5C)
.flags(DISABLE_DECOMPOSITION)
.components(Magnesium, 1, Chlorine, 2)
.build();

Expand Down Expand Up @@ -1031,7 +1052,12 @@ public static void register() {
.components(Potassium, 1, Lithium, 3, Aluminium, 4, Fluorine, 2, Oxygen, 10)
.build();

// Free ID 383
HafniumTetrachloride = new Material.Builder(383, gregtechId("hafnium_tetrachloride"))
.dust()
.color(0x69699A).iconSet(METALLIC)
.flags(DISABLE_DECOMPOSITION)
.components(Hafnium, 1, Chlorine, 4)
.build();

GlauconiteSand = new Material.Builder(384, gregtechId("glauconite_sand"))
.dust().ore(3, 1)
Expand Down Expand Up @@ -1063,11 +1089,15 @@ public static void register() {
.components(Potassium, 1, Aluminium, 3, Silicon, 2, Hydrogen, 6, Oxygen, 14)
.build();

// Free ID 389
/* Free IDs: 389-390 */

// Free ID 390

// Free ID 391
Zircaloy4 = new Material.Builder(391, gregtechId("zircaloy_4"))
.ingot()
.color(0x8A6E68).iconSet(METALLIC)
.components(Zirconium, 16, Tin, 2, Chrome, 1)
.blast(b -> b.temp(2123, GasTier.MID)
.blastStats(GTValues.VA[EV]))
.build();

Talc = new Material.Builder(392, gregtechId("talc"))
.dust().ore(2, 1)
Expand Down Expand Up @@ -1537,7 +1567,13 @@ public static void register() {
.components(Calcium, 2, Niobium, 2, Oxygen, 7)
.build();

// FREE ID 450
Inconel718 = new Material.Builder(450, gregtechId("inconel_718"))
.ingot()
.color(0x566570).iconSet(SHINY)
.components(Nickel, 5, Chrome, 2, Iron, 2, Niobium, 1, Molybdenum, 1)
.blast(b -> b.temp(2622, GasTier.LOW)
.blastStats(GTValues.VA[HV]))
.build();

RTMAlloy = new Material.Builder(451, gregtechId("rtm_alloy"))
.ingot().fluid()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -402,5 +402,8 @@ public static void register() {

oreProp = Pyrochlore.getProperty(PropertyKey.ORE);
oreProp.setOreByProducts(Apatite, Calcium, Niobium);

oreProp = Zircon.getProperty(PropertyKey.ORE);
oreProp.setOreByProducts(Zircon, Ilmenite, Rutile);
}
}
18 changes: 18 additions & 0 deletions src/main/java/gregtech/loaders/recipe/chemistry/MixerRecipes.java
Original file line number Diff line number Diff line change
Expand Up @@ -594,5 +594,23 @@ public static void init() {
.circuitMeta(1)
.output(dust, RTMAlloy, 7)
.buildAndRegister();

MIXER_RECIPES.recipeBuilder().duration(600).EUt(VA[EV])
.input(dust, Zirconium, 16)
.input(dust, Tin, 2)
.input(dust, Chrome, 1)
.circuitMeta(1)
.output(dust, Zircaloy4, 19)
.buildAndRegister();

MIXER_RECIPES.recipeBuilder().duration(400).EUt(VA[EV])
.input(dust, Nickel, 5)
.input(dust, Chrome, 2)
.input(dust, Iron, 2)
.input(dust, Niobium)
.input(dust, Molybdenum)
.circuitMeta(4)
.output(dust, Inconel718, 11)
.buildAndRegister();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,12 @@
import static gregtech.api.recipes.RecipeMaps.*;
import static gregtech.api.unification.material.Materials.*;
import static gregtech.api.unification.ore.OrePrefix.dust;
import static gregtech.api.unification.ore.OrePrefix.ingotHot;

public class NuclearRecipes {

public static void init() {
// uranium isotopes
CHEMICAL_RECIPES.recipeBuilder().duration(200).EUt(VA[LV])
.input(dust, Uraninite, 3)
.fluidInputs(HydrofluoricAcid.getFluid(4000))
Expand Down Expand Up @@ -39,5 +41,48 @@ public static void init() {
.output(dust, Uranium238)
.fluidOutputs(Fluorine.getFluid(6000))
.buildAndRegister();

// zirconium and hafnium
// ZrSiO4 -> ZrO2 + SiO2
BLAST_RECIPES.recipeBuilder().duration(200).EUt(VA[MV]).blastFurnaceTemp(3073)
.input(dust, Zircon, 6)
.output(dust, SiliconDioxide, 3)
.output(dust, Zirconia, 3)
.chancedOutput(dust, Hafnia, 3333, 0)
.buildAndRegister();

// ZrO2 + C + 4Cl -> ZrCl4 + CO2
CHEMICAL_RECIPES.recipeBuilder().duration(400).EUt(VA[HV])
.input(dust, Zirconia, 3)
.input(dust, Carbon)
.fluidInputs(Chlorine.getFluid(4000))
.output(dust, ZirconiumTetrachloride, 5)
.fluidOutputs(CarbonDioxide.getFluid(1000))
.buildAndRegister();

// ZrCl4 + 2Mg -> Zr + 2MgCl2
BLAST_RECIPES.recipeBuilder().duration(800).EUt(VA[EV]).blastFurnaceTemp(2125)
.input(dust, ZirconiumTetrachloride, 5)
.input(dust, Magnesium, 2)
.output(ingotHot, Zirconium)
.output(dust, MagnesiumChloride, 6)
.buildAndRegister();

// HfO2 + C + 4Cl -> HfCl4 + CO2
CHEMICAL_RECIPES.recipeBuilder().duration(400).EUt(VA[HV])
.input(dust, Hafnia, 3)
.input(dust, Carbon)
.fluidInputs(Chlorine.getFluid(4000))
.output(dust, HafniumTetrachloride, 5)
.fluidOutputs(CarbonDioxide.getFluid(1000))
.buildAndRegister();

// HfCl4 + 2Mg -> Hf + 2MgCl2
BLAST_RECIPES.recipeBuilder().duration(2000).EUt(VA[EV]).blastFurnaceTemp(2227)
.input(dust, HafniumTetrachloride, 5)
.input(dust, Magnesium, 2)
.output(ingotHot, Hafnium)
.output(dust, MagnesiumChloride, 6)
.buildAndRegister();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,13 @@ private static void titaniumProcess() {
.output(dust, MagnesiumChloride, 6)
.blastFurnaceTemp(Titanium.getBlastTemperature() + 200)
.buildAndRegister();

CHEMICAL_RECIPES.recipeBuilder().duration(200).EUt(VA[HV])
.input(dust, Sodium, 2)
.input(dust, MagnesiumChloride, 3)
.output(dust, Magnesium)
.output(dust, Salt, 4)
.buildAndRegister();
}

// The production of Soda Ash and Calcium Chloride from Salt and Calcite
Expand Down Expand Up @@ -161,6 +168,7 @@ private static void ilmeniteProcess() {
ELECTROMAGNETIC_SEPARATOR_RECIPES.recipeBuilder()
.input(dust, IlmeniteSlag)
.chancedOutput(dust, Iron, 8000, 0)
.chancedOutput(dust, Zircon, 2500, 0)
.chancedOutput(dust, Tantalum, 2000, 0)
.chancedOutput(dust, Niobium, 500, 0)
.duration(50).EUt(VA[MV]).buildAndRegister();
Expand Down
7 changes: 7 additions & 0 deletions src/main/resources/assets/gregtech/lang/en_us.lang
Original file line number Diff line number Diff line change
Expand Up @@ -1831,6 +1831,13 @@ gregtech.material.naquadria_sulfate=Naquadria Sulfate
gregtech.material.pyrochlore=Pyrochlore
gregtech.material.rtm_alloy=RTM Alloy
gregtech.material.ilmenite_slag=Ilmenite Slag
gregtech.material.zircon=Zircon
gregtech.material.zirconia=Zirconia
gregtech.material.zirconium_tetrachloride=Zirconium Tetrachloride
gregtech.material.hafnia=Hafnia
gregtech.material.hafnium_tetrachloride=Hafnium Tetrachloride
gregtech.material.zircaloy_4=Zircaloy-4
gregtech.material.inconel_718=Inconel-718


# Organic Chemistry Materials
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@
"between": "ore:naquadah"
},
{
"sporadic": "ore:plutonium"
"sporadic": "ore:zircon"
}
]
}
Expand Down

0 comments on commit 4c6a43a

Please sign in to comment.