diff --git a/repositories.gradle b/repositories.gradle index 7e002f2..88c4368 100644 --- a/repositories.gradle +++ b/repositories.gradle @@ -1,5 +1,5 @@ // Add any additional repositories for your dependencies here. repositories { - + mavenLocal() } diff --git a/src/main/java/com/recursive_pineapple/nuclear_horizons/CommonProxy.java b/src/main/java/com/recursive_pineapple/nuclear_horizons/CommonProxy.java index 01b7761..6da21fa 100644 --- a/src/main/java/com/recursive_pineapple/nuclear_horizons/CommonProxy.java +++ b/src/main/java/com/recursive_pineapple/nuclear_horizons/CommonProxy.java @@ -7,11 +7,15 @@ import com.recursive_pineapple.nuclear_horizons.reactors.items.ItemList; import com.recursive_pineapple.nuclear_horizons.reactors.tile.simulator.SimulationItems; +import com.recursive_pineapple.nuclear_horizons.recipes.*; import cpw.mods.fml.common.event.FMLInitializationEvent; import cpw.mods.fml.common.event.FMLPostInitializationEvent; import cpw.mods.fml.common.event.FMLPreInitializationEvent; import cpw.mods.fml.common.event.FMLServerStartingEvent; +import cpw.mods.fml.common.registry.GameData; +import cpw.mods.fml.common.registry.GameRegistry; import cpw.mods.fml.relauncher.Side; +import mcp.mobius.waila.api.IWailaRegistrar; public class CommonProxy { @@ -40,6 +44,16 @@ public void postInit(FMLPostInitializationEvent event) { FluidList.registerCoolants(); SimulationItems.registerSimulationItems(); ForeignItems.registerForeignReactorItems(); + + //change the owner of werkstoff materials to this mod in waila + + //register recipes + new ChemicalReactor().run(); + new Centrifuge().run(); + new ThermalCentrifuge().run(); + new Mixer().run(); + new CanningMachine().run(); + new AssemblingMachine().run(); } // register server commands in this event handler (Remove if not needed) diff --git a/src/main/java/com/recursive_pineapple/nuclear_horizons/NuclearHorizons.java b/src/main/java/com/recursive_pineapple/nuclear_horizons/NuclearHorizons.java index 8a2b195..d922878 100644 --- a/src/main/java/com/recursive_pineapple/nuclear_horizons/NuclearHorizons.java +++ b/src/main/java/com/recursive_pineapple/nuclear_horizons/NuclearHorizons.java @@ -1,5 +1,9 @@ package com.recursive_pineapple.nuclear_horizons; +import bartworks.API.WerkstoffAPI; +import bartworks.API.WerkstoffAdderRegistry; +import com.recursive_pineapple.nuclear_horizons.reactors.items.material.MaterialsNuclear; +import gregtech.api.util.GTWaila; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; @@ -33,14 +37,15 @@ public class NuclearHorizons { // preInit "Run before anything else. Read your config, create blocks, items, etc, and register them with the // GameRegistry." (Remove if not needed) public void preInit(FMLPreInitializationEvent event) { + //werkstoff material registration + WerkstoffAdderRegistry.addWerkstoffAdder(new MaterialsNuclear()); + proxy.preInit(event); } @Mod.EventHandler // load "Do your mod setup. Build whatever data structures you care about. Register recipes." (Remove if not needed) - public void init(FMLInitializationEvent event) { - proxy.init(event); - } + public void init(FMLInitializationEvent event) { proxy.init(event); } @Mod.EventHandler // postInit "Handle interaction with other mods, complete your setup based on this." (Remove if not needed) diff --git a/src/main/java/com/recursive_pineapple/nuclear_horizons/reactors/items/ItemList.java b/src/main/java/com/recursive_pineapple/nuclear_horizons/reactors/items/ItemList.java index dfe27d8..574e3fe 100644 --- a/src/main/java/com/recursive_pineapple/nuclear_horizons/reactors/items/ItemList.java +++ b/src/main/java/com/recursive_pineapple/nuclear_horizons/reactors/items/ItemList.java @@ -1,16 +1,51 @@ package com.recursive_pineapple.nuclear_horizons.reactors.items; -import com.recursive_pineapple.nuclear_horizons.reactors.items.basic.BasicFuelRodItem; -import com.recursive_pineapple.nuclear_horizons.reactors.items.basic.BasicHeatAbsorberItem; -import com.recursive_pineapple.nuclear_horizons.reactors.items.basic.BasicHeatExchangerItem; -import com.recursive_pineapple.nuclear_horizons.reactors.items.basic.BasicHeatVentCoolantItem; -import com.recursive_pineapple.nuclear_horizons.reactors.items.basic.BasicHeatVentItem; -import com.recursive_pineapple.nuclear_horizons.reactors.items.basic.BasicNeutronReflectorItem; -import com.recursive_pineapple.nuclear_horizons.reactors.items.basic.BasicReactorPlatingItem; -import com.recursive_pineapple.nuclear_horizons.reactors.items.basic.DebugHeatAbsorber; +import com.recursive_pineapple.nuclear_horizons.NuclearHorizons; +import com.recursive_pineapple.nuclear_horizons.reactors.items.basic.*; +import cpw.mods.fml.common.registry.GameRegistry; +import net.minecraft.item.ItemStack; public class ItemList { + public static final BasicFuelRodItem THORIUM_1X_ROD = new BasicFuelRodItem( + "fuelRodThorium", + "reactorThoriumSimple", + 2.0, + 4.0, + 1, + false, + 20_000); + + public static final BasicFuelRodProductItem DEPLETED_THORIUM_1X_ROD = new BasicFuelRodProductItem( + "depletedFuelRodThorium", + "reactorDepletedFuelRodThorium"); + + public static final BasicFuelRodItem THORIUM_2X_ROD = new BasicFuelRodItem( + "fuelRodThoriumDual", + "reactorThoriumDual", + 2.0, + 4.0, + 1, + false, + 20_000); + + public static final BasicFuelRodProductItem DEPLETED_THORIUM_2X_ROD = new BasicFuelRodProductItem( + "depletedFuelRodThoriumDual", + "reactorDepletedFuelRodThoriumDual"); + + public static final BasicFuelRodItem THORIUM_4X_ROD = new BasicFuelRodItem( + "fuelRodThoriumQuad", + "reactorThoriumQuad", + 2.0, + 4.0, + 1, + false, + 20_000); + + public static final BasicFuelRodProductItem DEPLETED_THORIUM_4X_ROD = new BasicFuelRodProductItem( + "depletedFuelRodThoriumQuad", + "reactorDepletedFuelRodThoriumQuad"); + public static final BasicFuelRodItem URANIUM_1X_ROD = new BasicFuelRodItem( "fuelRodUranium", "reactorUraniumSimple", @@ -19,6 +54,11 @@ public class ItemList { 1, false, 20_000); + + public static final BasicFuelRodProductItem DEPLETED_URANIUM_1X_ROD = new BasicFuelRodProductItem( + "depletedFuelRodUranium", + "reactorDepletedFuelRodUranium"); + public static final BasicFuelRodItem URANIUM_2X_ROD = new BasicFuelRodItem( "dualFuelRodUranium", "reactorUraniumDual", @@ -27,6 +67,11 @@ public class ItemList { 2, false, 20_000); + + public static final BasicFuelRodProductItem DEPLETED_URANIUM_2X_ROD = new BasicFuelRodProductItem( + "depletedFuelRodUraniumDual", + "reactorDepletedFuelRodUraniumDual"); + public static final BasicFuelRodItem URANIUM_4X_ROD = new BasicFuelRodItem( "quadFuelRodUranium", "reactorUraniumQuad", @@ -36,6 +81,10 @@ public class ItemList { false, 20_000); + public static final BasicFuelRodProductItem DEPLETED_URANIUM_4X_ROD = new BasicFuelRodProductItem( + "depletedFuelRodUraniumQuad", + "reactorDepletedFuelRodUraniumQuad"); + public static final BasicFuelRodItem MOX_1X_ROD = new BasicFuelRodItem( "fuelRodMOX", "reactorMOXSimple", @@ -212,9 +261,29 @@ public class ItemList { public static final MetaCellItem CELLS = new MetaCellItem(); public static void registerItems() { + THORIUM_1X_ROD.register(); + DEPLETED_THORIUM_1X_ROD.register(); + THORIUM_1X_ROD.setProduct(new ItemStack(ItemList.DEPLETED_THORIUM_1X_ROD, 1)); + + THORIUM_2X_ROD.register(); + DEPLETED_THORIUM_2X_ROD.register(); + THORIUM_2X_ROD.setProduct(new ItemStack(ItemList.DEPLETED_THORIUM_2X_ROD, 1)); + + THORIUM_4X_ROD.register(); + DEPLETED_THORIUM_4X_ROD.register(); + THORIUM_4X_ROD.setProduct(new ItemStack(ItemList.DEPLETED_THORIUM_4X_ROD, 1)); + URANIUM_1X_ROD.register(); + DEPLETED_URANIUM_1X_ROD.register(); + URANIUM_1X_ROD.setProduct(new ItemStack(ItemList.DEPLETED_URANIUM_1X_ROD, 1)); + URANIUM_2X_ROD.register(); + DEPLETED_URANIUM_2X_ROD.register(); + URANIUM_2X_ROD.setProduct(new ItemStack(ItemList.DEPLETED_URANIUM_2X_ROD, 1)); + URANIUM_4X_ROD.register(); + DEPLETED_URANIUM_4X_ROD.register(); + URANIUM_4X_ROD.setProduct(new ItemStack(ItemList.DEPLETED_URANIUM_4X_ROD, 1)); MOX_1X_ROD.register(); MOX_2X_ROD.register(); diff --git a/src/main/java/com/recursive_pineapple/nuclear_horizons/reactors/items/basic/BasicFuelRodItem.java b/src/main/java/com/recursive_pineapple/nuclear_horizons/reactors/items/basic/BasicFuelRodItem.java index 3d1a026..fcaa747 100644 --- a/src/main/java/com/recursive_pineapple/nuclear_horizons/reactors/items/basic/BasicFuelRodItem.java +++ b/src/main/java/com/recursive_pineapple/nuclear_horizons/reactors/items/basic/BasicFuelRodItem.java @@ -26,7 +26,6 @@ public class BasicFuelRodItem extends ReactorItem implements IBasicFuelRod { public BasicFuelRodItem(String name, String textureName, double energyMult, double heatMult, int rodCount, boolean isMox, int maxHealth) { super(name, textureName, "damage", maxHealth); - this.energyMult = energyMult; this.heatMult = heatMult; this.rodCount = rodCount; diff --git a/src/main/java/com/recursive_pineapple/nuclear_horizons/reactors/items/basic/BasicFuelRodProductItem.java b/src/main/java/com/recursive_pineapple/nuclear_horizons/reactors/items/basic/BasicFuelRodProductItem.java new file mode 100644 index 0000000..4a7a6b7 --- /dev/null +++ b/src/main/java/com/recursive_pineapple/nuclear_horizons/reactors/items/basic/BasicFuelRodProductItem.java @@ -0,0 +1,32 @@ +package com.recursive_pineapple.nuclear_horizons.reactors.items.basic; + +import com.recursive_pineapple.nuclear_horizons.NuclearHorizons; +import cpw.mods.fml.common.registry.GameRegistry; +import net.minecraft.client.resources.I18n; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; + +import java.util.List; + +public class BasicFuelRodProductItem extends Item { + private final String name; + + public BasicFuelRodProductItem(String name, String textureName) { + setUnlocalizedName(name); + setTextureName(NuclearHorizons.MODID + ":" + textureName); + + this.name = name; + } + + public void register() { + GameRegistry.registerItem(this, name); + } + + @Override + public void addInformation(ItemStack itemStack, EntityPlayer player, List desc, + boolean advancedItemTooltips) { + super.addInformation(itemStack, player, desc, advancedItemTooltips); + desc.add(I18n.format("nh_tooltip.more_info")); + } +} diff --git a/src/main/java/com/recursive_pineapple/nuclear_horizons/reactors/items/material/MaterialsNuclear.java b/src/main/java/com/recursive_pineapple/nuclear_horizons/reactors/items/material/MaterialsNuclear.java new file mode 100644 index 0000000..8873d21 --- /dev/null +++ b/src/main/java/com/recursive_pineapple/nuclear_horizons/reactors/items/material/MaterialsNuclear.java @@ -0,0 +1,314 @@ +package com.recursive_pineapple.nuclear_horizons.reactors.items.material; + +import bartworks.system.material.Werkstoff; +import bartworks.util.Pair; +import gregtech.api.enums.Materials; +import gregtech.api.enums.TextureSet; +import gtPlusPlus.core.material.MaterialsElements; + +import static bartworks.util.BWUtil.subscriptNumbers; + +public class MaterialsNuclear implements Runnable { + + private static final int offsetID = 14_000; + + public static final Werkstoff NATURAL_URANIUM = new Werkstoff( + new short[] { 232, 224, 219 }, + "Natural Uranium", + subscriptNumbers("?U"), + new Werkstoff.Stats(), + Werkstoff.Types.ELEMENT, + new Werkstoff.GenerationFeatures().disable() + .onlyDust(), + offsetID, + TextureSet.SET_METALLIC); + + public static final Werkstoff NATURAL_URANIUM_TETRAFLUORIDE = new Werkstoff( + new short[] { 232, 244, 219 }, + "Natural Uranium Tetrafluoride", + subscriptNumbers("?UF4"), + new Werkstoff.Stats().setElektrolysis(false), + Werkstoff.Types.COMPOUND, + new Werkstoff.GenerationFeatures().disable() + .onlyDust(), + offsetID + 1, + TextureSet.SET_DULL); + + public static final Werkstoff NATURAL_URANIUM_HEXAFLUORIDE = new Werkstoff( + new short[] { 232, 124, 219 }, + "Natural Uranium Hexafluoride", + subscriptNumbers("?UF6"), + new Werkstoff.Stats().setElektrolysis(false), + Werkstoff.Types.COMPOUND, + new Werkstoff.GenerationFeatures().disable() + .addCells(), + offsetID + 2, + TextureSet.SET_FLUID); + + public static final Werkstoff DEPLETED_URANIUM_HEXAFLUORIDE = new Werkstoff( + new short[] { 232, 124, 219 }, + "Depleted Uranium Hexafluoride", + subscriptNumbers("238UF6"), + new Werkstoff.Stats().setElektrolysis(false), + Werkstoff.Types.COMPOUND, + new Werkstoff.GenerationFeatures().disable() + .addCells(), + offsetID + 3, + TextureSet.SET_FLUID); + + public static final Werkstoff ENRICHED_URANIUM_HEXAFLUORIDE = new Werkstoff( + new short[] { 232, 124, 219 }, + "Enriched Uranium Hexafluoride", + subscriptNumbers("235UF6"), + new Werkstoff.Stats().setElektrolysis(false), + Werkstoff.Types.COMPOUND, + new Werkstoff.GenerationFeatures().disable() + .addCells(), + offsetID + 4, + TextureSet.SET_FLUID); + + public static final Werkstoff URANIUM_238_DIOXIDE = new Werkstoff( + new short[] { 132, 224, 219 }, + "Uranium-238 Dioxide", + subscriptNumbers("238UO2"), + new Werkstoff.Stats(), + Werkstoff.Types.COMPOUND, + new Werkstoff.GenerationFeatures().disable() + .onlyDust(), + offsetID + 5, + TextureSet.SET_DULL); + + public static final Werkstoff URANIUM_235_DIOXIDE = new Werkstoff( + new short[] { 132, 224, 219 }, + "Uranium-235 Dioxide", + subscriptNumbers("235UO2"), + new Werkstoff.Stats(), + Werkstoff.Types.COMPOUND, + new Werkstoff.GenerationFeatures().disable() + .onlyDust(), + offsetID + 6, + TextureSet.SET_DULL); + + public static final Werkstoff TRIBUTYL_PHOSPHATE = new Werkstoff( + new short[] { 132, 224, 219 }, + "Tributyl Phosphate", + subscriptNumbers("PO(OC4H9)3"), + new Werkstoff.Stats(), + Werkstoff.Types.COMPOUND, + new Werkstoff.GenerationFeatures().disable() + .addCells(), + offsetID + 7, + TextureSet.SET_FLUID); + + public static final Werkstoff PHOSPHORYL_CHLORIDE = new Werkstoff( + new short[] { 132, 224, 219 }, + "Phosphoryl Chloride", + subscriptNumbers("POCl3"), + new Werkstoff.Stats(), + Werkstoff.Types.COMPOUND, + new Werkstoff.GenerationFeatures().disable() + .addCells(), + offsetID + 8, + TextureSet.SET_FLUID); + + public static final Werkstoff URANIUM_FISSION_PRODUCT_MIXTURE = new Werkstoff( + new short[] { 132, 224, 219 }, + "Uranium Fission Product Mixture", + subscriptNumbers("CsCeZrGaKrLuBaMoSr"), + new Werkstoff.Stats(), + Werkstoff.Types.COMPOUND, + new Werkstoff.GenerationFeatures().disable() + .onlyDust(), + offsetID + 9, + TextureSet.SET_DULL); + + public static final Werkstoff ENRICHED_URANIUM_FUEL = new Werkstoff( + new short[] { 92, 214, 92 }, + "Enriched Uranium Fuel", + subscriptNumbers("235UO2(238UO2)4"), + new Werkstoff.Stats(), + Werkstoff.Types.MIXTURE, + new Werkstoff.GenerationFeatures().disable() + .onlyDust(), + offsetID + 10, + TextureSet.SET_METALLIC); + + public static final Werkstoff ENRICHED_THORIUM_FUEL = new Werkstoff( + new short[] { 0, 77, 0 }, + "Enriched Thorium Fuel", + subscriptNumbers("235UO2(ThO2)4"), + new Werkstoff.Stats(), + Werkstoff.Types.MIXTURE, + new Werkstoff.GenerationFeatures().disable() + .onlyDust(), + offsetID + 11, + TextureSet.SET_METALLIC); + + public static final Werkstoff DEPLETED_URANIUM_FUEL = new Werkstoff( + new short[] { 41, 163, 41 }, + "Depleted Uranium Fuel", + subscriptNumbers("??(238UO2)"), + new Werkstoff.Stats(), + Werkstoff.Types.MIXTURE, + new Werkstoff.GenerationFeatures().disable() + .onlyDust(), + offsetID + 12, + TextureSet.SET_METALLIC); + + public static final Werkstoff DEPLETED_THORIUM_FUEL = new Werkstoff( + new short[] { 41, 163, 41 }, + "Depleted Thorium Fuel", + subscriptNumbers("??(ThO2)"), + new Werkstoff.Stats(), + Werkstoff.Types.MIXTURE, + new Werkstoff.GenerationFeatures().disable() + .onlyDust(), + offsetID + 13, + TextureSet.SET_METALLIC); + + public static final Werkstoff URANIUM_233_DIOXIDE = new Werkstoff( + new short[] { 132, 224, 219 }, + "Uranium-233 Dioxide", + subscriptNumbers("233UO2"), + new Werkstoff.Stats(), + Werkstoff.Types.COMPOUND, + new Werkstoff.GenerationFeatures().disable() + .onlyDust(), + offsetID + 14, + TextureSet.SET_DULL); + + public static final Werkstoff DEPLETED_URANIUM_FUEL_SOLUTION = new Werkstoff( + new short[] { 132, 224, 219 }, + "Depleted Uranium Fuel Solution", + subscriptNumbers("??(238UO2)(HNO3)"), + new Werkstoff.Stats(), + Werkstoff.Types.MIXTURE, + new Werkstoff.GenerationFeatures().disable() + .addCells(), + offsetID + 15, + TextureSet.SET_FLUID); + + public static final Werkstoff DEPLETED_THORIUM_FUEL_SOLUTION = new Werkstoff( + new short[] { 132, 224, 219 }, + "Depleted Thorium Fuel Solution", + subscriptNumbers("??(ThO2)(HNO3)(HF)"), + new Werkstoff.Stats(), + Werkstoff.Types.MIXTURE, + new Werkstoff.GenerationFeatures().disable() + .addCells(), + offsetID + 16, + TextureSet.SET_FLUID); + + public static final Werkstoff TREATED_DEPLETED_URANIUM_FUEL_SOLUTION = new Werkstoff( + new short[] { 132, 224, 219 }, + "Treated Depleted Uranium Fuel Solution", + subscriptNumbers("??(238UO2)(HNO3)(PO(OC4H9)3)"), + new Werkstoff.Stats(), + Werkstoff.Types.MIXTURE, + new Werkstoff.GenerationFeatures().disable() + .addCells(), + offsetID + 17, + TextureSet.SET_FLUID); + + public static final Werkstoff TREATED_DEPLETED_THORIUM_FUEL_SOLUTION = new Werkstoff( + new short[] { 132, 224, 219 }, + "Treated Depleted Thorium Fuel Solution", + subscriptNumbers("??(ThO2)(HNO3)(HF)(PO(OC4H9)3)"), + new Werkstoff.Stats(), + Werkstoff.Types.MIXTURE, + new Werkstoff.GenerationFeatures().disable() + .addCells(), + offsetID + 18, + TextureSet.SET_FLUID); + + public static final Werkstoff AQUEOUS_PLUTONIUM_SOLUTION = new Werkstoff( + new short[] { 132, 224, 219 }, + "Aqueous Plutonium Solution", + subscriptNumbers("??Pu(NO3)2"), + new Werkstoff.Stats(), + Werkstoff.Types.MIXTURE, + new Werkstoff.GenerationFeatures().disable() + .addCells(), + offsetID + 19, + TextureSet.SET_FLUID); + + public static final Werkstoff KEROSENE_URANIUM_SOLUTION = new Werkstoff( + new short[] { 132, 224, 219 }, + "Kerosene Uranium Solution", + subscriptNumbers("238U(NO3)2"), + new Werkstoff.Stats(), + Werkstoff.Types.MIXTURE, + new Werkstoff.GenerationFeatures().disable() + .addCells(), + offsetID + 20, + TextureSet.SET_FLUID); + + public static final Werkstoff AQUEOUS_THORIUM_SOLUTION = new Werkstoff( + new short[] { 132, 224, 219 }, + "Aqueous Thorium Solution", + subscriptNumbers("??Th(NO3)2(HF)"), + new Werkstoff.Stats(), + Werkstoff.Types.MIXTURE, + new Werkstoff.GenerationFeatures().disable() + .addCells(), + offsetID + 21, + TextureSet.SET_FLUID); + + public static final Werkstoff KEROSENE_URANIUM233_SOLUTION = new Werkstoff( + new short[] { 132, 224, 219 }, + "Kerosene Uranium-233 Solution", + subscriptNumbers("233U(NO3)2"), + new Werkstoff.Stats(), + Werkstoff.Types.MIXTURE, + new Werkstoff.GenerationFeatures().disable() + .addCells(), + offsetID + 22, + TextureSet.SET_FLUID); + + public static final Werkstoff TRANSPLUTONIC_WASTE_MIXTURE = new Werkstoff( + new short[] { 132, 224, 219 }, + "Transplutonic Waste Mixture", + subscriptNumbers("?Am?"), + new Werkstoff.Stats(), + Werkstoff.Types.COMPOUND, + new Werkstoff.GenerationFeatures().disable() + .onlyDust(), + offsetID + 23, + TextureSet.SET_DULL); + + public static final Werkstoff PLUTONIUM_239_DIOXIDE = new Werkstoff( + new short[] { 132, 224, 219 }, + "Plutonium-239 Dioxide", + subscriptNumbers("239PuO2"), + new Werkstoff.Stats(), + Werkstoff.Types.COMPOUND, + new Werkstoff.GenerationFeatures().disable() + .onlyDust(), + offsetID + 24, + TextureSet.SET_DULL); + + public static final Werkstoff PLUTONIUM_241_DIOXIDE = new Werkstoff( + new short[] { 132, 224, 219 }, + "Plutonium-241 Dioxide", + subscriptNumbers("241PuO2"), + new Werkstoff.Stats(), + Werkstoff.Types.COMPOUND, + new Werkstoff.GenerationFeatures().disable() + .onlyDust(), + offsetID + 25, + TextureSet.SET_DULL); + + private static final MaterialsNuclear INSTANCE = new MaterialsNuclear(); + + public static MaterialsNuclear getInstance() { + return INSTANCE; + } + + public static void runInit() { + + } + @Override + public void run() { + + } +} diff --git a/src/main/java/com/recursive_pineapple/nuclear_horizons/recipes/AssemblingMachine.java b/src/main/java/com/recursive_pineapple/nuclear_horizons/recipes/AssemblingMachine.java new file mode 100644 index 0000000..64a36fd --- /dev/null +++ b/src/main/java/com/recursive_pineapple/nuclear_horizons/recipes/AssemblingMachine.java @@ -0,0 +1,157 @@ +package com.recursive_pineapple.nuclear_horizons.recipes; + +import com.recursive_pineapple.nuclear_horizons.NuclearHorizons; +import com.recursive_pineapple.nuclear_horizons.reactors.blocks.BlockList; +import com.recursive_pineapple.nuclear_horizons.reactors.items.ItemList; +import com.recursive_pineapple.nuclear_horizons.reactors.items.material.MaterialsNuclear; +import cpw.mods.fml.common.registry.GameRegistry; +import gregtech.api.enums.GTValues; +import gregtech.api.enums.OrePrefixes; +import gregtech.api.enums.TierEU; +import net.minecraft.item.ItemStack; +import net.minecraftforge.fluids.FluidRegistry; + +import static gregtech.api.recipe.RecipeMaps.assemblerRecipes; +import static gregtech.api.util.GTRecipeBuilder.SECONDS; + +public class AssemblingMachine { + public void run() { + + //basic components + GTValues.RA.stdBuilder() + .itemInputs() + .fluidInputs() + .itemOutputs(new ItemStack(ItemList.BASIC_HEAT_EXCHANGER, 1)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(assemblerRecipes); + + GTValues.RA.stdBuilder() + .itemInputs() + .fluidInputs() + .itemOutputs(new ItemStack(ItemList.ADVANCED_HEAT_EXCHANGER, 1)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(assemblerRecipes); + + GTValues.RA.stdBuilder() + .itemInputs() + .fluidInputs() + .itemOutputs(new ItemStack(ItemList.REACTOR_HEAT_EXCHANGER, 1)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(assemblerRecipes); + + GTValues.RA.stdBuilder() + .itemInputs() + .fluidInputs() + .itemOutputs(new ItemStack(ItemList.COMPONENT_HEAT_EXCHANGER, 1)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(assemblerRecipes); + + GTValues.RA.stdBuilder() + .itemInputs() + .fluidInputs() + .itemOutputs(new ItemStack(ItemList.BASIC_HEAT_VENT, 1)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(assemblerRecipes); + + GTValues.RA.stdBuilder() + .itemInputs() + .fluidInputs() + .itemOutputs(new ItemStack(ItemList.COMPONENT_HEAT_VENT, 1)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(assemblerRecipes); + + GTValues.RA.stdBuilder() + .itemInputs() + .fluidInputs() + .itemOutputs(new ItemStack(ItemList.ADVANCED_HEAT_VENT, 1)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(assemblerRecipes); + + GTValues.RA.stdBuilder() + .itemInputs() + .fluidInputs() + .itemOutputs(new ItemStack(ItemList.REACTOR_HEAT_VENT, 1)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(assemblerRecipes); + + GTValues.RA.stdBuilder() + .itemInputs() + .fluidInputs() + .itemOutputs(new ItemStack(ItemList.OVERCLOCKED_HEAT_VENT, 1)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(assemblerRecipes); + + GTValues.RA.stdBuilder() + .itemInputs() + .fluidInputs() + .itemOutputs(new ItemStack(BlockList.REACTOR_CORE, 1)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(assemblerRecipes); + + GTValues.RA.stdBuilder() + .itemInputs() + .fluidInputs() + .itemOutputs(new ItemStack(BlockList.REACTOR_CHAMBER, 1)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(assemblerRecipes); + + GTValues.RA.stdBuilder() + .itemInputs() + .fluidInputs() + .itemOutputs(new ItemStack(BlockList.PRESSURE_VESSEL, 1)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(assemblerRecipes); + + GTValues.RA.stdBuilder() + .itemInputs() + .fluidInputs() + .itemOutputs(new ItemStack(BlockList.REACTOR_FLUID_PORT, 1)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(assemblerRecipes); + + GTValues.RA.stdBuilder() + .itemInputs() + .fluidInputs() + .itemOutputs(new ItemStack(BlockList.REACTOR_ACCESS_HATCH, 1)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(assemblerRecipes); + + GTValues.RA.stdBuilder() + .itemInputs() + .fluidInputs() + .itemOutputs(new ItemStack(BlockList.REACTOR_REDSTONE_PORT, 1)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(assemblerRecipes); + + GTValues.RA.stdBuilder() + .itemInputs() + .fluidInputs() + .itemOutputs(new ItemStack(BlockList.REACTOR_THERMAL_SENSOR, 1)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(assemblerRecipes); + + GTValues.RA.stdBuilder() + .itemInputs() + .fluidInputs() + .itemOutputs(new ItemStack(BlockList.REACTOR_SIMULATOR, 1)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(assemblerRecipes); + } +} diff --git a/src/main/java/com/recursive_pineapple/nuclear_horizons/recipes/CanningMachine.java b/src/main/java/com/recursive_pineapple/nuclear_horizons/recipes/CanningMachine.java new file mode 100644 index 0000000..9126e48 --- /dev/null +++ b/src/main/java/com/recursive_pineapple/nuclear_horizons/recipes/CanningMachine.java @@ -0,0 +1,39 @@ +package com.recursive_pineapple.nuclear_horizons.recipes; + +import com.recursive_pineapple.nuclear_horizons.NuclearHorizons; +import com.recursive_pineapple.nuclear_horizons.reactors.items.ItemList; +import com.recursive_pineapple.nuclear_horizons.reactors.items.material.MaterialsNuclear; +import cpw.mods.fml.common.registry.GameRegistry; +import goodgenerator.loader.Loaders; +import goodgenerator.main.GoodGenerator; +import gregtech.api.enums.GTValues; +import gregtech.api.enums.OrePrefixes; +import gregtech.api.enums.TierEU; +import net.minecraft.item.ItemStack; + +import static gregtech.api.recipe.RecipeMaps.cannerRecipes; +import static gregtech.api.util.GTRecipeBuilder.SECONDS; + +public class CanningMachine { + public void run() { + GTValues.RA.stdBuilder() + .itemInputs( + new ItemStack(Loaders.advancedFuelRod, 1), + MaterialsNuclear.ENRICHED_URANIUM_FUEL.get(OrePrefixes.dust, 4)) + .itemOutputs( + new ItemStack(ItemList.URANIUM_1X_ROD, 1)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(cannerRecipes); + + GTValues.RA.stdBuilder() + .itemInputs( + new ItemStack(Loaders.advancedFuelRod, 1), + MaterialsNuclear.ENRICHED_THORIUM_FUEL.get(OrePrefixes.dust, 4)) + .itemOutputs( + new ItemStack(ItemList.THORIUM_1X_ROD, 1)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(cannerRecipes); + } +} diff --git a/src/main/java/com/recursive_pineapple/nuclear_horizons/recipes/Centrifuge.java b/src/main/java/com/recursive_pineapple/nuclear_horizons/recipes/Centrifuge.java new file mode 100644 index 0000000..35d547e --- /dev/null +++ b/src/main/java/com/recursive_pineapple/nuclear_horizons/recipes/Centrifuge.java @@ -0,0 +1,50 @@ +package com.recursive_pineapple.nuclear_horizons.recipes; + +import com.recursive_pineapple.nuclear_horizons.reactors.items.material.MaterialsNuclear; +import gregtech.api.enums.*; + +import static gregtech.api.recipe.RecipeMaps.centrifugeRecipes; +import static gregtech.api.util.GTRecipeBuilder.MINUTES; + +public class Centrifuge { + public void run() { + + //uranium enrichment + GTValues.RA.stdBuilder() + .itemInputs(ItemList.Cell_Empty.get(1)) + .fluidInputs( + MaterialsNuclear.NATURAL_URANIUM_HEXAFLUORIDE.getFluidOrGas(10000)) + .itemOutputs( + MaterialsNuclear.ENRICHED_URANIUM_HEXAFLUORIDE.get(OrePrefixes.cell, 1)) + .fluidOutputs( + MaterialsNuclear.DEPLETED_URANIUM_HEXAFLUORIDE.getFluidOrGas(9000)) + .duration(5 * MINUTES) + .eut(TierEU.RECIPE_HV) + .addTo(centrifugeRecipes); + + //PUREX + GTValues.RA.stdBuilder() + .itemInputs(ItemList.Cell_Empty.get(3)) + .fluidInputs( + MaterialsNuclear.TREATED_DEPLETED_URANIUM_FUEL_SOLUTION.getFluidOrGas(24000)) + .itemOutputs( + MaterialsNuclear.AQUEOUS_PLUTONIUM_SOLUTION.get(OrePrefixes.cell, 3)) + .fluidOutputs( + MaterialsNuclear.KEROSENE_URANIUM_SOLUTION.getFluidOrGas(21000)) + .duration(2 * MINUTES) + .eut(TierEU.RECIPE_HV) + .addTo(centrifugeRecipes); + + GTValues.RA.stdBuilder() + .itemInputs(ItemList.Cell_Empty.get(9)) + .fluidInputs( + MaterialsNuclear.TREATED_DEPLETED_THORIUM_FUEL_SOLUTION.getFluidOrGas(28000)) + .itemOutputs( + MaterialsNuclear.KEROSENE_URANIUM233_SOLUTION.get(OrePrefixes.cell, 9)) + .fluidOutputs( + MaterialsNuclear.AQUEOUS_THORIUM_SOLUTION.getFluidOrGas(22000)) + .duration(2 * MINUTES) + .eut(TierEU.RECIPE_HV) + .addTo(centrifugeRecipes); + } +} diff --git a/src/main/java/com/recursive_pineapple/nuclear_horizons/recipes/ChemicalReactor.java b/src/main/java/com/recursive_pineapple/nuclear_horizons/recipes/ChemicalReactor.java new file mode 100644 index 0000000..046b019 --- /dev/null +++ b/src/main/java/com/recursive_pineapple/nuclear_horizons/recipes/ChemicalReactor.java @@ -0,0 +1,236 @@ +package com.recursive_pineapple.nuclear_horizons.recipes; + +import bartworks.system.material.WerkstoffLoader; +import com.recursive_pineapple.nuclear_horizons.reactors.items.material.MaterialsNuclear; +import gregtech.api.enums.*; +import gregtech.api.util.GTOreDictUnificator; + +import gtPlusPlus.core.util.minecraft.ItemUtils; +import net.minecraft.block.material.Material; +import net.minecraftforge.fluids.FluidRegistry; +import net.minecraftforge.fluids.FluidStack; + +import static gregtech.api.recipe.RecipeMaps.multiblockChemicalReactorRecipes; +import static gregtech.api.util.GTRecipeBuilder.SECONDS; +import static gregtech.api.util.GTRecipeConstants.UniversalChemical; + +public class ChemicalReactor { + public void run() { + //reduction of uranium dioxides to uranium metals + GTValues.RA.stdBuilder() + .itemInputs( + MaterialsNuclear.URANIUM_235_DIOXIDE.get(OrePrefixes.dust, 3), + Materials.Sodium.getDust(4)) + .fluidInputs( + Materials.HydrofluoricAcid.getFluid(4000)) + .itemOutputs( + Materials.Uranium235.getDust(1), + ItemUtils.getItemStackOfAmountFromOreDict("dustSodiumFluoride", 4)) + .fluidOutputs( + Materials.Water.getFluid(2000)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(UniversalChemical); + + GTValues.RA.stdBuilder() + .itemInputs( + MaterialsNuclear.URANIUM_233_DIOXIDE.get(OrePrefixes.dust, 3), + Materials.Sodium.getDust(4)) + .fluidInputs( + Materials.HydrofluoricAcid.getFluid(4000)) + .itemOutputs( + ItemUtils.getItemStackOfAmountFromOreDict("dustUranium233", 1), + ItemUtils.getItemStackOfAmountFromOreDict("dustSodiumFluoride", 4)) + .fluidOutputs( + Materials.Water.getFluid(2000)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(UniversalChemical); + + GTValues.RA.stdBuilder() + .itemInputs( + MaterialsNuclear.URANIUM_238_DIOXIDE.get(OrePrefixes.dust, 3), + Materials.Sodium.getDust(4)) + .fluidInputs( + Materials.HydrofluoricAcid.getFluid(4000)) + .itemOutputs( + Materials.Uranium.getDust(1), + ItemUtils.getItemStackOfAmountFromOreDict("dustSodiumFluoride", 4)) + .fluidOutputs( + Materials.Water.getFluid(2000)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(UniversalChemical); + + //reduction of plutonium oxides to plutonium metal + GTValues.RA.stdBuilder() + .itemInputs( + MaterialsNuclear.PLUTONIUM_241_DIOXIDE.get(OrePrefixes.dust, 3), + Materials.Calcium.getDust(2)) + .fluidInputs( + Materials.HydrofluoricAcid.getFluid(4000)) + .itemOutputs( + Materials.Plutonium241.getDust(1), + ItemUtils.getItemStackOfAmountFromOreDict("dustCalciumFluoride", 2)) + .fluidOutputs( + Materials.Water.getFluid(2000)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(UniversalChemical); + + GTValues.RA.stdBuilder() + .itemInputs( + MaterialsNuclear.PLUTONIUM_239_DIOXIDE.get(OrePrefixes.dust, 3), + Materials.Calcium.getDust(2)) + .fluidInputs( + Materials.HydrofluoricAcid.getFluid(4000)) + .itemOutputs( + Materials.Plutonium.getDust(1), + ItemUtils.getItemStackOfAmountFromOreDict("dustCalciumFluoride", 2)) + .fluidOutputs( + Materials.Water.getFluid(2000)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(UniversalChemical); + + //natural uranium tetrafluoride + GTValues.RA.stdBuilder() + .itemInputs( + GTOreDictUnificator.get(OrePrefixes.dust, Materials.Uraninite, 3)) + .fluidInputs(Materials.HydrofluoricAcid.getFluid(8000)) + .itemOutputs( + MaterialsNuclear.NATURAL_URANIUM_TETRAFLUORIDE.get(OrePrefixes.dust, 4), + ItemUtils.getItemStackOfAmountFromOreDict("dustRadium226", 1)) + .outputChances(10000, 100) + .fluidOutputs(Materials.Water.getFluid(4000)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(UniversalChemical); + + //natural uranium hexafluoride + GTValues.RA.stdBuilder() + .itemInputs(MaterialsNuclear.NATURAL_URANIUM_TETRAFLUORIDE.get(OrePrefixes.dust, 1)) + .fluidInputs(Materials.Fluorine.getGas(2000)) + .fluidOutputs(MaterialsNuclear.NATURAL_URANIUM_HEXAFLUORIDE.getFluidOrGas(1000)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(UniversalChemical); + + //depleted uranium hexafluoride + GTValues.RA.stdBuilder() + .fluidInputs( + Materials.Water.getFluid(30000), + MaterialsNuclear.DEPLETED_URANIUM_HEXAFLUORIDE.getFluidOrGas(10000)) + .itemOutputs( + GTOreDictUnificator.get(OrePrefixes.dust, Materials.Uraninite, 6), + MaterialsNuclear.URANIUM_238_DIOXIDE.get(OrePrefixes.dust, 8)) + .fluidOutputs(Materials.HydrofluoricAcid.getFluid(60000)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(multiblockChemicalReactorRecipes); + + //enriched uranium hexafluoride + GTValues.RA.stdBuilder() + .fluidInputs( + Materials.Water.getFluid(30000), + MaterialsNuclear.ENRICHED_URANIUM_HEXAFLUORIDE.getFluidOrGas(10000)) + .itemOutputs( + GTOreDictUnificator.get(OrePrefixes.dust, Materials.Uraninite, 21), + MaterialsNuclear.URANIUM_235_DIOXIDE.get(OrePrefixes.dust, 3)) + .fluidOutputs(Materials.HydrofluoricAcid.getFluid(60000)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(multiblockChemicalReactorRecipes); + + //PUREX + GTValues.RA.stdBuilder() + .fluidInputs(Materials.NitricAcid.getFluid(9000)) + .itemInputs(MaterialsNuclear.DEPLETED_URANIUM_FUEL.get(OrePrefixes.dust, 10)) + .itemOutputs(MaterialsNuclear.TRANSPLUTONIC_WASTE_MIXTURE.get(OrePrefixes.dust, 1)) + .fluidOutputs(MaterialsNuclear.DEPLETED_URANIUM_FUEL_SOLUTION.getFluidOrGas(9000)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(UniversalChemical); + + GTValues.RA.stdBuilder() + .fluidInputs(Materials.NitricAcid.getFluid(10000)) + .itemInputs( + MaterialsNuclear.DEPLETED_THORIUM_FUEL.get(OrePrefixes.dust, 10), + Materials.HydrofluoricAcid.getCells(1)) + .itemOutputs(ItemList.Cell_Empty.get(1)) + .fluidOutputs(MaterialsNuclear.DEPLETED_THORIUM_FUEL_SOLUTION.getFluidOrGas(11000)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(UniversalChemical); + + //treating with TBP and kerosene + GTValues.RA.stdBuilder() + .fluidInputs( + MaterialsNuclear.DEPLETED_URANIUM_FUEL_SOLUTION.getFluidOrGas(9000), + MaterialsNuclear.TRIBUTYL_PHOSPHATE.getFluidOrGas(8000), + FluidRegistry.getFluidStack("fluid.kerosene", 8000)) + .itemOutputs(MaterialsNuclear.URANIUM_FISSION_PRODUCT_MIXTURE.get(OrePrefixes.dust, 1)) + .fluidOutputs(MaterialsNuclear.TREATED_DEPLETED_URANIUM_FUEL_SOLUTION.getFluidOrGas(24000)) + .duration(60 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(multiblockChemicalReactorRecipes); + + GTValues.RA.stdBuilder() + .fluidInputs( + MaterialsNuclear.DEPLETED_THORIUM_FUEL_SOLUTION.getFluidOrGas(11000), + MaterialsNuclear.TRIBUTYL_PHOSPHATE.getFluidOrGas(9000), + FluidRegistry.getFluidStack("fluid.kerosene", 9000)) + .itemOutputs(MaterialsNuclear.URANIUM_FISSION_PRODUCT_MIXTURE.get(OrePrefixes.dust, 1)) + .fluidOutputs(MaterialsNuclear.TREATED_DEPLETED_THORIUM_FUEL_SOLUTION.getFluidOrGas(28000)) + .duration(60 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(multiblockChemicalReactorRecipes); + + //reducing separated solutions back to fuel materials + GTValues.RA.stdBuilder() + .fluidInputs(MaterialsNuclear.AQUEOUS_PLUTONIUM_SOLUTION.getFluidOrGas(6000)) + .itemOutputs( + MaterialsNuclear.PLUTONIUM_239_DIOXIDE.get(OrePrefixes.dust, 1), + MaterialsNuclear.PLUTONIUM_241_DIOXIDE.get(OrePrefixes.dust, 1)) + .fluidOutputs( + MaterialsNuclear.TRIBUTYL_PHOSPHATE.getFluidOrGas(2000), + Materials.NitrogenDioxide.getGas(2000)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(multiblockChemicalReactorRecipes); + + GTValues.RA.stdBuilder() + .fluidInputs(MaterialsNuclear.AQUEOUS_THORIUM_SOLUTION.getFluidOrGas(22000)) + .itemOutputs(WerkstoffLoader.Thorianit.get(OrePrefixes.dust, 7)) + .fluidOutputs( + MaterialsNuclear.TRIBUTYL_PHOSPHATE.getFluidOrGas(9000), + Materials.Fluorine.getGas(1000), + Materials.NitrogenDioxide.getGas(7000)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(multiblockChemicalReactorRecipes); + + GTValues.RA.stdBuilder() + .fluidInputs(MaterialsNuclear.KEROSENE_URANIUM233_SOLUTION.getFluidOrGas(9000)) + .itemOutputs(MaterialsNuclear.URANIUM_233_DIOXIDE.get(OrePrefixes.dust, 3)) + .fluidOutputs( + new FluidStack(FluidRegistry.getFluid("fluid.kerosene"), 3000), //gt++ moment + Materials.NitrogenDioxide.getGas(3000)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(multiblockChemicalReactorRecipes); + + GTValues.RA.stdBuilder() + .fluidInputs(MaterialsNuclear.KEROSENE_URANIUM_SOLUTION.getFluidOrGas(21000)) + .itemOutputs( + MaterialsNuclear.URANIUM_235_DIOXIDE.get(OrePrefixes.dust, 1), + MaterialsNuclear.URANIUM_238_DIOXIDE.get(OrePrefixes.dust, 6)) + .fluidOutputs( + new FluidStack(FluidRegistry.getFluid("fluid.kerosene"), 8000), //gt++ moment + MaterialsNuclear.TRIBUTYL_PHOSPHATE.getFluidOrGas(6000), + Materials.NitrogenDioxide.getGas(7000)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(multiblockChemicalReactorRecipes); + } +} diff --git a/src/main/java/com/recursive_pineapple/nuclear_horizons/recipes/Mixer.java b/src/main/java/com/recursive_pineapple/nuclear_horizons/recipes/Mixer.java new file mode 100644 index 0000000..d43c26c --- /dev/null +++ b/src/main/java/com/recursive_pineapple/nuclear_horizons/recipes/Mixer.java @@ -0,0 +1,73 @@ +package com.recursive_pineapple.nuclear_horizons.recipes; + +import bartworks.system.material.Werkstoff; +import bartworks.system.material.WerkstoffLoader; +import com.recursive_pineapple.nuclear_horizons.NuclearHorizons; +import com.recursive_pineapple.nuclear_horizons.reactors.fluids.FluidList; +import com.recursive_pineapple.nuclear_horizons.reactors.items.material.MaterialsNuclear; +import cpw.mods.fml.common.registry.GameRegistry; +import gregtech.api.enums.GTValues; +import gregtech.api.enums.Materials; +import gregtech.api.enums.OrePrefixes; +import gregtech.api.enums.TierEU; +import gtPlusPlus.core.util.minecraft.ItemUtils; +import net.minecraftforge.fluids.FluidRegistry; +import net.minecraftforge.fluids.FluidStack; + +import static gregtech.api.recipe.RecipeMaps.mixerRecipes; +import static gregtech.api.util.GTRecipeBuilder.SECONDS; + +public class Mixer { + public void run() { + GTValues.RA.stdBuilder() + .fluidInputs( + new FluidStack(FluidList.DISTILLED_WATER, 1000)) + .itemInputs( + Materials.Lapis.getDust(1)) + .fluidOutputs( + new FluidStack(FluidList.COOLANT, 1000)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(mixerRecipes); + + GTValues.RA.stdBuilder() + .itemInputs( + MaterialsNuclear.URANIUM_235_DIOXIDE.get(OrePrefixes.dust, 1), + MaterialsNuclear.URANIUM_238_DIOXIDE.get(OrePrefixes.dust, 4)) + .itemOutputs( + MaterialsNuclear.ENRICHED_URANIUM_FUEL.get(OrePrefixes.dust, 5)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(mixerRecipes); + + GTValues.RA.stdBuilder() + .itemInputs( + MaterialsNuclear.URANIUM_233_DIOXIDE.get(OrePrefixes.dust, 1), + MaterialsNuclear.URANIUM_238_DIOXIDE.get(OrePrefixes.dust, 4)) + .itemOutputs( + MaterialsNuclear.ENRICHED_URANIUM_FUEL.get(OrePrefixes.dust, 5)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(mixerRecipes); + + GTValues.RA.stdBuilder() + .itemInputs( + MaterialsNuclear.URANIUM_235_DIOXIDE.get(OrePrefixes.dust, 1), + WerkstoffLoader.Thorianit.get(OrePrefixes.dust, 4)) + .itemOutputs( + MaterialsNuclear.ENRICHED_THORIUM_FUEL.get(OrePrefixes.dust, 5)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(mixerRecipes); + + GTValues.RA.stdBuilder() + .itemInputs( + MaterialsNuclear.URANIUM_233_DIOXIDE.get(OrePrefixes.dust, 1), + WerkstoffLoader.Thorianit.get(OrePrefixes.dust, 4)) + .itemOutputs( + MaterialsNuclear.ENRICHED_THORIUM_FUEL.get(OrePrefixes.dust, 5)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(mixerRecipes); + } +} diff --git a/src/main/java/com/recursive_pineapple/nuclear_horizons/recipes/ThermalCentrifuge.java b/src/main/java/com/recursive_pineapple/nuclear_horizons/recipes/ThermalCentrifuge.java new file mode 100644 index 0000000..487dd70 --- /dev/null +++ b/src/main/java/com/recursive_pineapple/nuclear_horizons/recipes/ThermalCentrifuge.java @@ -0,0 +1,44 @@ +package com.recursive_pineapple.nuclear_horizons.recipes; + +import com.recursive_pineapple.nuclear_horizons.NuclearHorizons; +import com.recursive_pineapple.nuclear_horizons.reactors.items.ItemList; +import com.recursive_pineapple.nuclear_horizons.reactors.items.material.MaterialsNuclear; +import cpw.mods.fml.common.registry.GameRegistry; +import goodgenerator.loader.Loaders; +import gregtech.api.enums.GTValues; +import gregtech.api.enums.Materials; +import gregtech.api.enums.OrePrefixes; +import gregtech.api.enums.TierEU; +import gregtech.api.util.GTOreDictUnificator; + +import gtPlusPlus.core.util.minecraft.ItemUtils; +import net.minecraft.item.ItemStack; + +import static gregtech.api.recipe.RecipeMaps.thermalCentrifugeRecipes; +import static gregtech.api.util.GTRecipeBuilder.SECONDS; + + +public class ThermalCentrifuge { + + public void run() { + GTValues.RA.stdBuilder() + .itemInputs( + new ItemStack(ItemList.DEPLETED_URANIUM_1X_ROD, 1)) + .itemOutputs( + MaterialsNuclear.DEPLETED_URANIUM_FUEL.get(OrePrefixes.dust, 4), + new ItemStack(Loaders.advancedFuelRod, 1)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(thermalCentrifugeRecipes); + + GTValues.RA.stdBuilder() + .itemInputs( + new ItemStack(ItemList.DEPLETED_THORIUM_1X_ROD, 1)) + .itemOutputs( + MaterialsNuclear.DEPLETED_THORIUM_FUEL.get(OrePrefixes.dust, 4), + new ItemStack(Loaders.advancedFuelRod, 1)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(thermalCentrifugeRecipes); + } +} diff --git a/src/main/resources/assets/nuclear_horizons/lang/en_US.lang b/src/main/resources/assets/nuclear_horizons/lang/en_US.lang index 5aaa9bf..0bc467a 100644 --- a/src/main/resources/assets/nuclear_horizons/lang/en_US.lang +++ b/src/main/resources/assets/nuclear_horizons/lang/en_US.lang @@ -18,6 +18,7 @@ tile.nh_hot_coolant.name=Hot Coolant gui.reactor.name=Nuclear Reactor item.fuelRodUranium.name=Fuel Rod (Uranium) +item.depletedFuelRodUranium.name=Depleted Fuel Rod (Uranium) item.dualFuelRodUranium.name=Dual Fuel Rod (Uranium) item.quadFuelRodUranium.name=Quad Fuel Rod (Uranium) item.fuelRodMOX.name=Fuel Rod (MOX) diff --git a/src/main/resources/assets/nuclear_horizons/textures/items/reactorDepletedFuelRodUranium.png b/src/main/resources/assets/nuclear_horizons/textures/items/reactorDepletedFuelRodUranium.png new file mode 100644 index 0000000..32ce9b7 Binary files /dev/null and b/src/main/resources/assets/nuclear_horizons/textures/items/reactorDepletedFuelRodUranium.png differ