Skip to content

Commit

Permalink
fuel reprocessing and more recipes, cleanup of bad itemstack functions (
Browse files Browse the repository at this point in the history
#3)

* BWR functionality addition

Adds the ability to pump distilled water directly into a reactor core and get steam.
Efficiency (configurable) currently set at 2x compared to LHE 5x
Maximum output per reactor set at around 600 HU/s, based on the size of the output buffer tank.

* Update FluidList.java

* applied spotless

* Uranium ore processing and enrichment, and fuel rod products

-Uraninite ore processing and enrichment chain
-werkstoff materials support for gregtech crafting items and fluids
-gregtech recipe support
-fuel rod product class

* thorium and uranium fuel reprocessing lines

* cleanup fluid and itemstack creation, additional recipes

recipe stubs for basic components and blocks, going to add the regular GTNH recipes to these

---------

Co-authored-by: RecursivePineapple <recursive_pineapple@proton.me>
  • Loading branch information
funions123 and RecursivePineapple authored Oct 19, 2024
1 parent 0401120 commit 25e9bc2
Show file tree
Hide file tree
Showing 15 changed files with 1,046 additions and 13 deletions.
2 changes: 1 addition & 1 deletion repositories.gradle
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
// Add any additional repositories for your dependencies here.

repositories {

mavenLocal()
}
Original file line number Diff line number Diff line change
Expand Up @@ -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 {

Expand Down Expand Up @@ -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)
Expand Down
Original file line number Diff line number Diff line change
@@ -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;

Expand Down Expand Up @@ -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)
Expand Down
Original file line number Diff line number Diff line change
@@ -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",
Expand All @@ -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",
Expand All @@ -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",
Expand All @@ -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",
Expand Down Expand Up @@ -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();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
Original file line number Diff line number Diff line change
@@ -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<String> desc,
boolean advancedItemTooltips) {
super.addInformation(itemStack, player, desc, advancedItemTooltips);
desc.add(I18n.format("nh_tooltip.more_info"));
}
}
Loading

0 comments on commit 25e9bc2

Please sign in to comment.