Skip to content

Commit

Permalink
fission: natural uranium and plutonium (GregTechCEu#2562)
Browse files Browse the repository at this point in the history
  • Loading branch information
TechLord22 authored Aug 3, 2024
1 parent 8514191 commit 85834cb
Show file tree
Hide file tree
Showing 19 changed files with 71 additions and 69 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -85,11 +85,7 @@ private static void registerSpecialOreDict(ItemStack item, Material material, Or
OreDictUnifier.registerOre(item, prefix.getAlternativeOreName(), material);
}

if (material == Materials.Plutonium239) {
OreDictUnifier.registerOre(item, prefix.name() + material.toCamelCaseString() + "239");
} else if (material == Materials.Uranium238) {
OreDictUnifier.registerOre(item, prefix.name() + material.toCamelCaseString() + "238");
} else if (material == Materials.Saltpeter) {
if (material == Materials.Saltpeter) {
OreDictUnifier.registerOre(item, prefix.name() + material.toCamelCaseString());
}
}
Expand Down
4 changes: 2 additions & 2 deletions src/main/java/gregtech/api/unification/Element.java
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ public class Element {
@ZenProperty("isotope")
public final boolean isIsotope;
@ZenProperty("halfLifeSeconds")
public final long halfLifeSeconds;
public final double halfLifeSeconds;
@ZenProperty("decayTo")
public final String decayTo;

Expand All @@ -34,7 +34,7 @@ public class Element {
* @param name Name of the Element
* @param symbol Symbol of the Element
*/
protected Element(long protons, long neutrons, long halfLifeSeconds, String decayTo, String name, String symbol,
protected Element(long protons, long neutrons, double halfLifeSeconds, String decayTo, String name, String symbol,
boolean isIsotope) {
this.protons = protons;
this.neutrons = neutrons;
Expand Down
14 changes: 7 additions & 7 deletions src/main/java/gregtech/api/unification/Elements.java
Original file line number Diff line number Diff line change
Expand Up @@ -121,13 +121,13 @@ private Elements() {}
public static final Element Ac = add(89, 136, "Actinium", "Ac");
public static final Element Th = add(90, 140, "Thorium", "Th");
public static final Element Pa = add(91, 138, "Protactinium", "Pa");
public static final Element U = add(92, 146, "Uranium", "U");
public static final Element U238 = add(92, 146, "Uranium-238", "U-238");
public static final Element U235 = add(92, 143, "Uranium-235", "U-235", true);
public static final Element U = add(92, 146, 1.4090285e+17, null, "Uranium", "U", false);
public static final Element U238 = add(92, 146, 1.4090285e+17, null, "Uranium-238", "U-238", true);
public static final Element U235 = add(92, 143, 2.2195037e+16, null, "Uranium-235", "U-235", true);
public static final Element Np = add(93, 144, "Neptunium", "Np");
public static final Element Pu = add(94, 152, "Plutonium", "Pu");
public static final Element Pu239 = add(94, 145, "Plutonium-239", "Pu-239");
public static final Element Pu241 = add(94, 149, "Plutonium-241", "Pu-241", true);
public static final Element Pu = add(94, 152, 760332960000.0, null, "Plutonium", "Pu", false);
public static final Element Pu239 = add(94, 145, 760332960000.0, null, "Plutonium-239", "Pu-239", true);
public static final Element Pu241 = add(94, 147, 450649440.0, null, "Plutonium-241", "Pu-241", true);
public static final Element Am = add(95, 150, "Americium", "Am");
public static final Element Cm = add(96, 153, "Curium", "Cm");
public static final Element Bk = add(97, 152, "Berkelium", "Bk");
Expand Down Expand Up @@ -177,7 +177,7 @@ public static Element add(long protons, long neutrons, String name, String symbo
}

@ZenMethod
public static Element add(long protons, long neutrons, long halfLifeSeconds, String decayTo, String name,
public static Element add(long protons, long neutrons, double halfLifeSeconds, String decayTo, String name,
String symbol, boolean isIsotope) {
validateNameAndSymbol(name, symbol);
String key = toMapKey(name);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -212,6 +212,7 @@ public static void register() {
public static Material Phosphorus;
public static Material Polonium;
public static Material Platinum;
public static Material Plutonium;
public static Material Plutonium239;
public static Material Plutonium241;
public static Material Potassium;
Expand Down Expand Up @@ -247,6 +248,7 @@ public static void register() {
public static Material Titanium;
public static Material Tritium;
public static Material Tungsten;
public static Material Uranium;
public static Material Uranium238;
public static Material Uranium235;
public static Material Vanadium;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -610,10 +610,9 @@ public static void register() {
.itemPipeProperties(512, 4.0f)
.build();

Plutonium239 = new Material.Builder(81, gregtechId("plutonium"))
Plutonium239 = new Material.Builder(81, gregtechId("plutonium_239"))
.ingot(3)
.liquid(new FluidBuilder().temperature(913))
.ore(true)
.color(0xF03232).iconSet(METALLIC)
.element(Elements.Pu239)
.build();
Expand All @@ -622,7 +621,7 @@ public static void register() {
.ingot(3)
.liquid(new FluidBuilder().temperature(913))
.color(0xFA4646).iconSet(SHINY)
.flags(EXT_METAL, GENERATE_DOUBLE_PLATE)
.flags(GENERATE_DOUBLE_PLATE)
.element(Elements.Pu241)
.build();

Expand Down Expand Up @@ -864,19 +863,17 @@ public static void register() {
.vacuumStats(VA[HV], 300))
.build();

Uranium238 = new Material.Builder(116, gregtechId("uranium"))
.ingot(3)
Uranium = new Material.Builder(116, gregtechId("uranium"))
.dust(3)
.liquid(new FluidBuilder().temperature(1405))
.color(0x32F032).iconSet(METALLIC)
.flags(EXT_METAL)
.element(Elements.U238)
.element(Elements.U)
.build();

Uranium235 = new Material.Builder(117, gregtechId("uranium_235"))
.ingot(3)
.dust(3)
.liquid(new FluidBuilder().temperature(1405))
.color(0x46FA46).iconSet(SHINY)
.flags(EXT_METAL)
.element(Elements.U235)
.build();

Expand Down Expand Up @@ -1006,5 +1003,16 @@ public static void register() {
.blastStats(VA[LuV], 1500)
.vacuumStats(VA[IV], 300))
.build();

Uranium238 = new Material.Builder(131, gregtechId("uranium_238"))
.dust(3)
.color(0x46FA46).iconSet(ROUGH)
.element(Elements.U238)
.build();

Plutonium = new Material.Builder(132, gregtechId("plutonium"))
.color(0xF03232).iconSet(ROUGH)
.element(Elements.Pu)
.build();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -675,9 +675,8 @@ public static void register() {
.dust(3).ore(true)
.color(0x232323).iconSet(METALLIC)
.flags(DISABLE_DECOMPOSITION)
.components(Uranium238, 1, Oxygen, 2)
.build()
.setFormula("UO2", true);
.components(Uranium, 1, Oxygen, 2)
.build();

Uvarovite = new Material.Builder(333, gregtechId("uvarovite"))
.gem()
Expand Down Expand Up @@ -1215,25 +1214,24 @@ public static void register() {
.gas()
.color(0x42D126)
.flags(DISABLE_DECOMPOSITION)
.components(Uranium238, 1, Fluorine, 6)
.build()
.setFormula("UF6", true);
.components(Uranium, 1, Fluorine, 6)
.build();

EnrichedUraniumHexafluoride = new Material.Builder(413, gregtechId("enriched_uranium_hexafluoride"))
.gas()
.color(0x4BF52A)
.flags(DISABLE_DECOMPOSITION)
.components(Uranium235, 1, Fluorine, 6)
.build()
.setFormula("UF6", true);
.setFormula("(U-235)F6", true);

DepletedUraniumHexafluoride = new Material.Builder(414, gregtechId("depleted_uranium_hexafluoride"))
.gas()
.color(0x74BA66)
.flags(DISABLE_DECOMPOSITION)
.components(Uranium238, 1, Fluorine, 6)
.build()
.setFormula("UF6", true);
.setFormula("(U-238)F6", true);

NitrousOxide = new Material.Builder(415, gregtechId("nitrous_oxide"))
.gas()
Expand Down Expand Up @@ -1348,14 +1346,13 @@ public static void register() {
.liquid(new FluidBuilder().temperature(1882))
.color(0x008700).iconSet(SHINY)
.flags(DECOMPOSITION_BY_CENTRIFUGING)
.components(Uranium238, 1, Platinum, 3)
.components(Uranium, 1, Platinum, 3)
.cableProperties(GTValues.V[GTValues.EV], 6, 0, true, 30)
.blast(b -> b
.temp(4400, GasTier.MID)
.blastStats(VA[EV], 1000)
.vacuumStats(VA[EV], 200))
.build()
.setFormula("UPt3", true);
.build();

SamariumIronArsenicOxide = new Material.Builder(428, gregtechId("samarium_iron_arsenic_oxide"))
.ingot()
Expand Down Expand Up @@ -1388,14 +1385,13 @@ public static void register() {
.liquid(new FluidBuilder().temperature(3410))
.color(0x0A0A0A)
.flags(DECOMPOSITION_BY_CENTRIFUGING, GENERATE_FINE_WIRE)
.components(Uranium238, 1, Rhodium, 1, Naquadah, 2)
.components(Uranium, 1, Rhodium, 1, Naquadah, 2)
.cableProperties(GTValues.V[GTValues.ZPM], 8, 0, true, 5)
.blast(b -> b
.temp(9000, GasTier.HIGH)
.blastStats(VA[IV], 1500)
.vacuumStats(VA[ZPM], 200))
.build()
.setFormula("URhNq2", true);
.build();

EnrichedNaquadahTriniumEuropiumDuranide = new Material.Builder(431,
gregtechId("enriched_naquadah_trinium_europium_duranide"))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -59,9 +59,6 @@ public static void register() {
oreProp.setOreByProducts(Nickel, Nickel, Cobalt, Palladium);
oreProp.setWashedIn(Mercury);

oreProp = Plutonium239.getProperty(PropertyKey.ORE);
oreProp.setOreByProducts(Uraninite, Lead, Uraninite);

// oreProp = Silicon.getProperty(PropertyKey.ORE);
// oreProp.setOreByProducts(SiliconDioxide);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -323,7 +323,8 @@ public static void registerMaterials(MaterialEvent event) {
createOreProperty(Materials.Osmium, Materials.Iridium);
createOreProperty(Materials.Iridium, Materials.Platinum, Materials.Osmium);
createOreProperty(Materials.Electrum, Materials.Gold, Materials.Silver);
createOreProperty(Materials.Uranium238, Materials.Lead, Materials.Uranium235, Materials.Thorium);
createOreProperty(Materials.Uranium, Materials.Lead, Materials.Uranium235, Materials.Thorium);
createOreProperty(Materials.Plutonium, Materials.Uraninite, Materials.Lead, Materials.Uraninite);
createOreProperty(Materials.NaquadahEnriched, Materials.Naquadah, Materials.Naquadria);
createOreProperty(Materials.Uranium235);
createOreProperty(Materials.Neutronium);
Expand Down Expand Up @@ -358,7 +359,7 @@ private static void registerAlvearyMutators() {
Class<?> mutationHandler = Class.forName("binnie.extrabees.utils.AlvearyMutationHandler");
Method method = mutationHandler.getDeclaredMethod("addMutationItem", ItemStack.class, float.class);

registerAlvearyMutator(method, Materials.Uranium238, 2.0f);
registerAlvearyMutator(method, Materials.Uranium, 2.0f);
registerAlvearyMutator(method, Materials.Uranium235, 4.0f);
registerAlvearyMutator(method, Materials.Plutonium241, 6.0f);
registerAlvearyMutator(method, Materials.Plutonium239, 8.0f);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -890,7 +890,7 @@ public enum GTBeeDefinition implements IBeeDefinition {
},
dis -> {
IBeeMutationBuilder mutation = dis.registerMutation(BeeDefinition.AVENGING, PLATINUM, 2);
mutation.addMutationCondition(new MaterialMutationCondition(Uranium238));
mutation.addMutationCondition(new MaterialMutationCondition(Uranium));
}),
PLUTONIUM(GTBranchDefinition.GT_RADIOACTIVE, "Plutos", true, 0x570000, 0x240000,
beeSpecies -> {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -247,14 +247,14 @@ public static void initGTCombs() {
addProcessGT(GTCombType.ALMANDINE,
new Material[] { Materials.Almandine, Materials.Pyrope, Materials.Sapphire, Materials.GreenSapphire },
Voltage.LV);
addProcessGT(GTCombType.URANIUM, new Material[] { Materials.Uranium238, Materials.Pitchblende,
addProcessGT(GTCombType.URANIUM, new Material[] { Materials.Uranium, Materials.Pitchblende,
Materials.Uraninite, Materials.Uranium235 }, Voltage.EV);
addProcessGT(GTCombType.PLUTONIUM, new Material[] { Materials.Plutonium239, Materials.Uranium235 }, Voltage.EV);
addProcessGT(GTCombType.NAQUADAH,
new Material[] { Materials.Naquadah, Materials.NaquadahEnriched, Materials.Naquadria }, Voltage.IV);
addProcessGT(GTCombType.NAQUADRIA,
new Material[] { Materials.Naquadria, Materials.NaquadahEnriched, Materials.Naquadah }, Voltage.LUV);
addProcessGT(GTCombType.THORIUM, new Material[] { Materials.Thorium, Materials.Uranium238, Materials.Coal },
addProcessGT(GTCombType.THORIUM, new Material[] { Materials.Thorium, Materials.Uranium, Materials.Coal },
Voltage.EV);
addProcessGT(GTCombType.LUTETIUM, new Material[] { Materials.Lutetium, Materials.Thorium }, Voltage.IV);
addProcessGT(GTCombType.AMERICIUM, new Material[] { Materials.Americium, Materials.Lutetium }, Voltage.LUV);
Expand Down
2 changes: 1 addition & 1 deletion src/main/java/gregtech/loaders/recipe/FusionLoader.java
Original file line number Diff line number Diff line change
Expand Up @@ -128,7 +128,7 @@ public static void init() {
RecipeMaps.FUSION_RECIPES.recipeBuilder()
.fluidInputs(Materials.Gold.getFluid(16))
.fluidInputs(Materials.Aluminium.getFluid(16))
.fluidOutputs(Materials.Uranium238.getFluid(16))
.fluidOutputs(Materials.Uranium.getFluid(16))
.duration(128)
.EUt(24576)
.EUToStart(140_000_000)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1195,7 +1195,7 @@ private static void registerRecyclingRecipes() {
MACERATOR_RECIPES.recipeBuilder()
.input(stone, GraniteRed)
.output(dust, GraniteRed)
.chancedOutput(dust, Uranium238, 10, 5)
.chancedOutput(dust, Uranium, 10, 5)
.buildAndRegister();

MACERATOR_RECIPES.recipeBuilder()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -534,7 +534,7 @@ public static void init() {
.buildAndRegister();

MIXER_RECIPES.recipeBuilder().duration(200).EUt(VA[EV])
.input(dust, Uranium238)
.input(dust, Uranium)
.input(dust, Platinum, 3)
.circuitMeta(4)
.output(dust, UraniumTriplatinum, 4)
Expand All @@ -561,7 +561,7 @@ public static void init() {
.buildAndRegister();

MIXER_RECIPES.recipeBuilder().duration(150).EUt(VA[ZPM])
.input(dust, Uranium238)
.input(dust, Uranium)
.input(dust, Rhodium)
.input(dust, Naquadah, 2)
.circuitMeta(4)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,12 @@ public static void init() {
.fluidOutputs(DepletedUraniumHexafluoride.getFluid(900))
.buildAndRegister();

ELECTROLYZER_RECIPES.recipeBuilder().duration(160).EUt(VA[MV])
.fluidInputs(UraniumHexafluoride.getFluid(1000))
.output(dust, Uranium)
.fluidOutputs(Fluorine.getFluid(6000))
.buildAndRegister();

ELECTROLYZER_RECIPES.recipeBuilder().duration(160).EUt(VA[MV])
.fluidInputs(EnrichedUraniumHexafluoride.getFluid(1000))
.output(dust, Uranium235)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -174,18 +174,6 @@ public static void init() {
.output(dust, Carbon, 2)
.buildAndRegister();

CENTRIFUGE_RECIPES.recipeBuilder().duration(800).EUt(320)
.input(dust, Uranium238)
.chancedOutput(dustTiny, Plutonium239, 200, 80)
.chancedOutput(dustTiny, Uranium235, 2000, 350)
.buildAndRegister();

CENTRIFUGE_RECIPES.recipeBuilder().duration(1600).EUt(320)
.input(dust, Plutonium239)
.chancedOutput(dustTiny, Uranium238, 3000, 450)
.chancedOutput(dust, Plutonium241, 2000, 300)
.buildAndRegister();

CENTRIFUGE_RECIPES.recipeBuilder().duration(320).EUt(20)
.input(dust, Endstone)
.chancedOutput(new ItemStack(Blocks.SAND), 9000, 300)
Expand Down
6 changes: 4 additions & 2 deletions src/main/resources/assets/gregtech/lang/en_us.lang
Original file line number Diff line number Diff line change
Expand Up @@ -1572,7 +1572,8 @@ gregtech.material.palladium=Palladium
gregtech.material.phosphorus=Phosphorus
gregtech.material.polonium=Polonium
gregtech.material.platinum=Platinum
gregtech.material.plutonium=Plutonium 239
gregtech.material.plutonium=Plutonium
gregtech.material.plutonium_239=Plutonium 239
gregtech.material.plutonium_241=Plutonium 241
gregtech.material.potassium=Potassium
gregtech.material.praseodymium=Praseodymium
Expand Down Expand Up @@ -1607,8 +1608,9 @@ gregtech.material.tin=Tin
gregtech.material.titanium=Titanium
gregtech.material.tritium=Tritium
gregtech.material.tungsten=Tungsten
gregtech.material.uranium=Uranium 238
gregtech.material.uranium=Uranium
gregtech.material.uranium_235=Uranium 235
gregtech.material.uranium_238=Uranium 238
gregtech.material.vanadium=Vanadium
gregtech.material.xenon=Xenon
gregtech.material.ytterbium=Ytterbium
Expand Down
6 changes: 4 additions & 2 deletions src/main/resources/assets/gregtech/lang/ja_jp.lang
Original file line number Diff line number Diff line change
Expand Up @@ -1538,7 +1538,8 @@ gregtech.material.palladium=パラジウム
gregtech.material.phosphorus=リン
gregtech.material.polonium=ポロニウム
gregtech.material.platinum=プラチナ
gregtech.material.plutonium=プルトニウム239
gregtech.material.plutonium=プルトニウム
gregtech.material.plutonium_239=プルトニウム239
gregtech.material.plutonium_241=プルトニウム241
gregtech.material.potassium=カリウム
gregtech.material.praseodymium=プラセオジム
Expand Down Expand Up @@ -1573,8 +1574,9 @@ gregtech.material.tin=錫
gregtech.material.titanium=チタン
gregtech.material.tritium=三重水素
gregtech.material.tungsten=タングステン
gregtech.material.uranium=ウラン238
gregtech.material.uranium=ウラン
gregtech.material.uranium_235=ウラン235
gregtech.material.uranium_238=ウラン238
gregtech.material.vanadium=バナジウム
gregtech.material.xenon=キセノン
gregtech.material.ytterbium=イッテルビウム
Expand Down
6 changes: 4 additions & 2 deletions src/main/resources/assets/gregtech/lang/ru_ru.lang
Original file line number Diff line number Diff line change
Expand Up @@ -1347,7 +1347,8 @@ gregtech.material.palladium=Палладий
gregtech.material.phosphorus=Фосфор
gregtech.material.polonium=Полоний
gregtech.material.platinum=Платина
gregtech.material.plutonium=Плутоний-239
gregtech.material.plutonium=Плутоний
gregtech.material.plutonium_239=Плутоний-239
gregtech.material.plutonium_241=Плутоний-241
gregtech.material.potassium=Калий
gregtech.material.praseodymium=Празеодим
Expand Down Expand Up @@ -1382,8 +1383,9 @@ gregtech.material.tin=Олово
gregtech.material.titanium=Титан
gregtech.material.tritium=Тритий
gregtech.material.tungsten=Вольфрам
gregtech.material.uranium=Уран-238
gregtech.material.uranium=Уран
gregtech.material.uranium_235=Уран-235
gregtech.material.uranium_238=Уран-238
gregtech.material.vanadium=Ванадий
gregtech.material.xenon=Ксенон
gregtech.material.ytterbium=Иттербий
Expand Down
Loading

0 comments on commit 85834cb

Please sign in to comment.