Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fission: hafnium and zirconium #2563

Merged
merged 4 commits into from
Aug 10, 2024
Merged
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
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);
}
}
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