code cleanup, breeding reactor overhaul

This commit is contained in:
Bob 2020-07-25 00:00:25 +02:00
parent 93dac5508f
commit 26036fe3bb
31 changed files with 717 additions and 978 deletions

View File

@ -1947,10 +1947,11 @@ tile.block_meteor_cobble.name=Meteoritenpflasterstein
tile.block_meteor_molten.name=Heißer Meteoritenpflasterstein
tile.block_meteor_treasure.name=Meteoritenschatz
tile.block_mox_fuel.name=MOX-Kernbrennstoffblock
tile.block_neptunium.name=NeptuniumBlock
tile.block_neptunium.name=Neptuniumblock
tile.block_niter.name=Salpeterblock
tile.block_plutonium.name=Plutoniumblock
tile.block_plutonium_fuel.name=Plutoniumkernbrennstoffblock
tile.block_polonium.name=Poloniumblock
tile.block_pu238.name=Pu238-Block
tile.block_pu239.name=Pu239-Block
tile.block_pu240.name=Pu240-Block
@ -2071,6 +2072,7 @@ tile.fwatz_tank.name=Kühlmitteltank
tile.gas_duct.name=Gasleitung
tile.gas_duct_solid.name=Verstärkte Gasleitung
tile.geiger.name=Geigerzähler
tile.glass_polonium.name=Poloniumglas
tile.glass_trinitite.name=Trinity-Glas
tile.glass_uranium.name=Uranglas
tile.gravel_diamond.name=Diamantkies
@ -2266,6 +2268,7 @@ tile.reinforced_stone.name=Verdichteter Stein
tile.rejuvinator.name=Regenerationsmaschine
tile.residue.name=Wolkenrückstände
tile.safe.name=Panzerschrank
tile.sand_polonium.name=Poloniumsand
tile.sand_uranium.name=Uransand
tile.sat_dock.name=Frachtlandeplattform
tile.sat_foeq.name=PEAF - Mk.I FOEQ Dunasonde mit experimenter nuklearer Schubdüse (Dekoblock)

View File

@ -1951,6 +1951,7 @@ tile.block_neptunium.name=Block of Neptunium
tile.block_niter.name=Block of Niter
tile.block_plutonium.name=Block of Plutonium
tile.block_plutonium_fuel.name=Block of Plutonium Fuel
tile.block_polonium.name=Block of Polonium
tile.block_pu238.name=Block of Pu238
tile.block_pu239.name=Block of Pu239
tile.block_pu240.name=Block of Pu240
@ -2071,6 +2072,7 @@ tile.fwatz_tank.name=Regenerative Coolant Fluid Tank
tile.gas_duct.name=Gas Pipe
tile.gas_duct_solid.name=Coated Gas Pipe
tile.geiger.name=Geiger Counter
tile.glass_polonium.name=Polonium Glass
tile.glass_trinitite.name=Trinity Glass
tile.glass_uranium.name=Uranium Glass
tile.gravel_diamond.name=Diamond Gravel
@ -2266,6 +2268,7 @@ tile.reinforced_stone.name=Dense Stone
tile.rejuvinator.name=Rejuvination Device
tile.residue.name=Cloud Residue
tile.safe.name=Safe
tile.sand_polonium.name=Polonium Sand
tile.sand_uranium.name=Uranium Sand
tile.sat_dock.name=Cargo Landing Pad
tile.sat_foeq.name=PEAF - Mk.I FOEQ Duna Probe with experimental Nuclear Propulsion (Deco Block)

Binary file not shown.

After

Width:  |  Height:  |  Size: 225 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 705 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 787 B

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 339 B

After

Width:  |  Height:  |  Size: 310 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 308 B

After

Width:  |  Height:  |  Size: 281 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 191 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 179 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.3 KiB

After

Width:  |  Height:  |  Size: 3.3 KiB

View File

@ -104,6 +104,7 @@ public class ModBlocks {
public static Block block_u238;
public static Block block_uranium_fuel;
public static Block block_neptunium;
public static Block block_polonium;
public static Block block_mox_fuel;
public static Block block_plutonium;
public static Block block_pu238;
@ -218,8 +219,10 @@ public class ModBlocks {
public static Block fence_metal;
public static Block sand_uranium;
public static Block sand_polonium;
public static Block glass_uranium;
public static Block glass_trinitite;
public static Block glass_polonium;
public static Block mush;
public static Block mush_block;
@ -856,6 +859,7 @@ public class ModBlocks {
block_thorium = new BlockGeneric(Material.iron).setBlockName("block_thorium").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_thorium");
block_thorium_fuel = new BlockGeneric(Material.iron).setBlockName("block_thorium_fuel").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_thorium_fuel");
block_neptunium = new BlockOre(Material.iron, 10F, 100F).setBlockName("block_neptunium").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_neptunium");
block_polonium = new BlockOre(Material.iron, 30F, 300F).setBlockName("block_polonium").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_polonium");
block_mox_fuel = new BlockOre(Material.iron, 15F, 150F).setBlockName("block_mox_fuel").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_mox_fuel");
block_plutonium = new BlockOre(Material.iron, 15F, 150F).setBlockName("block_plutonium").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_plutonium");
block_pu238 = new BlockOre(Material.iron, 0.1F, 1.5F).setBlockName("block_pu238").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_pu238");
@ -877,7 +881,7 @@ public class ModBlocks {
block_scrap = new BlockFalling(Material.sand).setBlockName("block_scrap").setCreativeTab(MainRegistry.blockTab).setHardness(2.5F).setResistance(5.0F).setStepSound(Block.soundTypeGravel).setBlockTextureName(RefStrings.MODID + ":block_scrap");
block_electrical_scrap = new BlockFalling(Material.iron).setBlockName("block_electrical_scrap").setCreativeTab(MainRegistry.blockTab).setHardness(2.5F).setResistance(5.0F).setStepSound(Block.soundTypeMetal).setBlockTextureName(RefStrings.MODID + ":electrical_scrap_alt2");
block_beryllium = new BlockGeneric(Material.iron).setBlockName("block_beryllium").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_beryllium");
block_schrabidium = new BlockGeneric(Material.iron).setBlockName("block_schrabidium").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(600.0F).setBlockTextureName(RefStrings.MODID + ":block_schrabidium");
block_schrabidium = new BlockOre(Material.iron, 20F, 250F).setBlockName("block_schrabidium").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(600.0F).setBlockTextureName(RefStrings.MODID + ":block_schrabidium");
block_solinium = new BlockGeneric(Material.iron).setBlockName("block_solinium").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(600.0F).setBlockTextureName(RefStrings.MODID + ":block_solinium");
block_schrabidium_fuel = new BlockOre(Material.iron, 20F, 250F).setBlockName("block_schrabidium_fuel").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(600.0F).setBlockTextureName(RefStrings.MODID + ":block_schrabidium_fuel");
block_euphemium = new BlockGeneric(Material.iron).setBlockName("block_euphemium").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(60000.0F).setBlockTextureName(RefStrings.MODID + ":block_euphemium");
@ -969,8 +973,10 @@ public class ModBlocks {
fence_metal = new BlockMetalFence(Material.rock).setBlockName("fence_metal").setCreativeTab(MainRegistry.machineTab).setHardness(15.0F).setResistance(0.25F).setBlockTextureName(RefStrings.MODID + ":fence_metal");
sand_uranium = new BlockFalling(Material.sand).setBlockName("sand_uranium").setStepSound(Block.soundTypeSand).setCreativeTab(MainRegistry.machineTab).setHardness(0.5F).setBlockTextureName(RefStrings.MODID + ":sand_uranium");
sand_polonium = new BlockFalling(Material.sand).setBlockName("sand_polonium").setStepSound(Block.soundTypeSand).setCreativeTab(MainRegistry.machineTab).setHardness(0.5F).setBlockTextureName(RefStrings.MODID + ":sand_polonium");
glass_uranium = new BlockRadGlass(RefStrings.MODID + ":glass_uranium", Material.glass).setBlockName("glass_uranium").setLightLevel(5F/15F).setStepSound(Block.soundTypeGlass).setCreativeTab(MainRegistry.machineTab).setHardness(0.3F);
glass_trinitite = new BlockRadGlass(RefStrings.MODID + ":glass_trinitite", Material.glass).setBlockName("glass_trinitite").setLightLevel(5F/15F).setStepSound(Block.soundTypeGlass).setCreativeTab(MainRegistry.machineTab).setHardness(0.3F);
glass_polonium = new BlockRadGlass(RefStrings.MODID + ":glass_polonium", Material.glass).setBlockName("glass_polonium").setLightLevel(5F/15F).setStepSound(Block.soundTypeGlass).setCreativeTab(MainRegistry.machineTab).setHardness(0.3F);
mush = new BlockMush(Material.plants).setBlockName("mush").setCreativeTab(MainRegistry.blockTab).setLightLevel(0.5F).setStepSound(Block.soundTypeGrass).setBlockTextureName(RefStrings.MODID + ":mush");
mush_block = new BlockMushHuge(Material.plants).setBlockName("mush_block").setLightLevel(1.0F).setStepSound(Block.soundTypeGrass).setHardness(0.2F).setBlockTextureName(RefStrings.MODID + ":mush_block_skin");
@ -1474,6 +1480,7 @@ public class ModBlocks {
GameRegistry.registerBlock(block_u238, block_u238.getUnlocalizedName());
GameRegistry.registerBlock(block_uranium_fuel, block_uranium_fuel.getUnlocalizedName());
GameRegistry.registerBlock(block_neptunium, block_neptunium.getUnlocalizedName());
GameRegistry.registerBlock(block_polonium, block_polonium.getUnlocalizedName());
GameRegistry.registerBlock(block_mox_fuel, block_mox_fuel.getUnlocalizedName());
GameRegistry.registerBlock(block_plutonium, block_plutonium.getUnlocalizedName());
GameRegistry.registerBlock(block_pu238, block_pu238.getUnlocalizedName());
@ -1699,8 +1706,10 @@ public class ModBlocks {
//Sands, Glass
GameRegistry.registerBlock(sand_uranium, sand_uranium.getUnlocalizedName());
GameRegistry.registerBlock(sand_polonium, sand_polonium.getUnlocalizedName());
GameRegistry.registerBlock(glass_uranium, glass_uranium.getUnlocalizedName());
GameRegistry.registerBlock(glass_trinitite, glass_trinitite.getUnlocalizedName());
GameRegistry.registerBlock(glass_polonium, glass_polonium.getUnlocalizedName());
//Silo Hatch
GameRegistry.registerBlock(seal_frame, seal_frame.getUnlocalizedName());

View File

@ -126,6 +126,7 @@ public class BulletConfiguration {
public BulletConfiguration setToGuided() {
this.bUpdate = BulletConfigFactory.getLaserSteering();
this.doesRicochet = false;
return this;
}

View File

@ -6,6 +6,8 @@ import java.util.Arrays;
import java.util.List;
import java.util.Map;
import com.hbm.inventory.BreederRecipes;
import com.hbm.inventory.BreederRecipes.BreederRecipe;
import com.hbm.inventory.MachineRecipes;
import com.hbm.inventory.gui.GUIMachineReactor;
import codechicken.nei.NEIServerUtils;
@ -22,11 +24,13 @@ public class ReactorRecipeHandler extends TemplateRecipeHandler {
{
PositionedStack input;
PositionedStack result;
int heat;
public SmeltingSet(ItemStack input, ItemStack result) {
public SmeltingSet(ItemStack input, ItemStack result, int heat) {
input.stackSize = 1;
this.input = new PositionedStack(input, 51, 6);
this.result = new PositionedStack(result, 111, 24);
this.heat = heat;
}
@Override
@ -67,10 +71,13 @@ public class ReactorRecipeHandler extends TemplateRecipeHandler {
@Override
public void loadCraftingRecipes(String outputId, Object... results) {
if ((outputId.equals("breeding")) && getClass() == ReactorRecipeHandler.class) {
Map<Object, Object> recipes = MachineRecipes.instance().getReactorRecipes();
for (Map.Entry<Object, Object> recipe : recipes.entrySet()) {
this.arecipes.add(new SmeltingSet((ItemStack)recipe.getKey(), (ItemStack)recipe.getValue()));
Map<ItemStack, BreederRecipe> recipes = BreederRecipes.getAllRecipes();
for (Map.Entry<ItemStack, BreederRecipe> recipe : recipes.entrySet()) {
this.arecipes.add(new SmeltingSet(recipe.getKey(), recipe.getValue().output, recipe.getValue().heat));
}
} else {
super.loadCraftingRecipes(outputId, results);
@ -79,10 +86,12 @@ public class ReactorRecipeHandler extends TemplateRecipeHandler {
@Override
public void loadCraftingRecipes(ItemStack result) {
Map<Object, Object> recipes = MachineRecipes.instance().getReactorRecipes();
for (Map.Entry<Object, Object> recipe : recipes.entrySet()) {
if (NEIServerUtils.areStacksSameType((ItemStack)recipe.getValue(), result))
this.arecipes.add(new SmeltingSet((ItemStack)recipe.getKey(), (ItemStack)recipe.getValue()));
Map<ItemStack, BreederRecipe> recipes = BreederRecipes.getAllRecipes();
for (Map.Entry<ItemStack, BreederRecipe> recipe : recipes.entrySet()) {
if (NEIServerUtils.areStacksSameType(recipe.getValue().output, result))
this.arecipes.add(new SmeltingSet(recipe.getKey(), recipe.getValue().output, recipe.getValue().heat));
}
}
@ -97,10 +106,12 @@ public class ReactorRecipeHandler extends TemplateRecipeHandler {
@Override
public void loadUsageRecipes(ItemStack ingredient) {
Map<Object, Object> recipes = MachineRecipes.instance().getReactorRecipes();
for (Map.Entry<Object, Object> recipe : recipes.entrySet()) {
Map<ItemStack, BreederRecipe> recipes = BreederRecipes.getAllRecipes();
for (Map.Entry<ItemStack, BreederRecipe> recipe : recipes.entrySet()) {
if (NEIServerUtils.areStacksSameType(ingredient, (ItemStack)recipe.getKey()))
this.arecipes.add(new SmeltingSet((ItemStack)recipe.getKey(), (ItemStack)recipe.getValue()));
this.arecipes.add(new SmeltingSet(recipe.getKey(), recipe.getValue().output, recipe.getValue().heat));
}
}

View File

@ -1,43 +1,189 @@
package com.hbm.inventory;
import java.util.HashMap;
import java.util.Map;
import com.hbm.blocks.ModBlocks;
import com.hbm.inventory.RecipesCommon.ComparableStack;
import com.hbm.items.ModItems;
import net.minecraft.init.Blocks;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.util.EnumChatFormatting;
public class BreederRecipes {
private static HashMap<ComparableStack, ItemStack> recipes = new HashMap();
private static HashMap<ComparableStack, BreederRecipe> recipes = new HashMap();
private static HashMap<ComparableStack, int[]> fuels = new HashMap();
//for the int array: [0] => level (1-4) [1] => amount of operations
public static void registerRecipes() {
//lithium and impure rods
recipes.put(new ComparableStack(ModItems.rod_lithium), new BreederRecipe(ModItems.rod_tritium, 1));
recipes.put(new ComparableStack(ModItems.rod_dual_lithium), new BreederRecipe(ModItems.rod_dual_tritium, 1));
recipes.put(new ComparableStack(ModItems.rod_quad_lithium), new BreederRecipe(ModItems.rod_quad_tritium, 1));
recipes.put(new ComparableStack(ModItems.rod_uranium), new BreederRecipe(ModItems.rod_plutonium, 4));
recipes.put(new ComparableStack(ModItems.rod_dual_uranium), new BreederRecipe(ModItems.rod_dual_plutonium, 4));
recipes.put(new ComparableStack(ModItems.rod_quad_uranium), new BreederRecipe(ModItems.rod_quad_plutonium, 4));
recipes.put(new ComparableStack(ModItems.rod_plutonium), new BreederRecipe(ModItems.rod_waste, 4));
recipes.put(new ComparableStack(ModItems.rod_dual_plutonium), new BreederRecipe(ModItems.rod_dual_waste, 4));
recipes.put(new ComparableStack(ModItems.rod_quad_plutonium), new BreederRecipe(ModItems.rod_quad_waste, 4));
//isotopes
recipes.put(new ComparableStack(ModItems.rod_th232), new BreederRecipe(ModItems.rod_u233, 2));
recipes.put(new ComparableStack(ModItems.rod_dual_th232), new BreederRecipe(ModItems.rod_dual_u233, 2));
recipes.put(new ComparableStack(ModItems.rod_quad_th232), new BreederRecipe(ModItems.rod_quad_u233, 2));
recipes.put(new ComparableStack(ModItems.rod_u233), new BreederRecipe(ModItems.rod_u235, 2));
recipes.put(new ComparableStack(ModItems.rod_dual_u233), new BreederRecipe(ModItems.rod_dual_u235, 2));
recipes.put(new ComparableStack(ModItems.rod_quad_u233), new BreederRecipe(ModItems.rod_quad_u235, 2));
recipes.put(new ComparableStack(ModItems.rod_u235), new BreederRecipe(ModItems.rod_neptunium, 3));
recipes.put(new ComparableStack(ModItems.rod_dual_u235), new BreederRecipe(ModItems.rod_dual_neptunium, 3));
recipes.put(new ComparableStack(ModItems.rod_quad_u235), new BreederRecipe(ModItems.rod_quad_neptunium, 3));
recipes.put(new ComparableStack(ModItems.rod_u238), new BreederRecipe(ModItems.rod_pu239, 3));
recipes.put(new ComparableStack(ModItems.rod_dual_u238), new BreederRecipe(ModItems.rod_dual_pu239, 3));
recipes.put(new ComparableStack(ModItems.rod_quad_u238), new BreederRecipe(ModItems.rod_quad_pu239, 3));
recipes.put(new ComparableStack(ModItems.rod_neptunium), new BreederRecipe(ModItems.rod_pu238, 3));
recipes.put(new ComparableStack(ModItems.rod_dual_neptunium), new BreederRecipe(ModItems.rod_dual_pu238, 3));
recipes.put(new ComparableStack(ModItems.rod_quad_neptunium), new BreederRecipe(ModItems.rod_quad_pu238, 3));
recipes.put(new ComparableStack(ModItems.rod_pu238), new BreederRecipe(ModItems.rod_pu239, 2));
recipes.put(new ComparableStack(ModItems.rod_dual_pu238), new BreederRecipe(ModItems.rod_dual_pu239, 2));
recipes.put(new ComparableStack(ModItems.rod_quad_pu238), new BreederRecipe(ModItems.rod_quad_pu239, 2));
recipes.put(new ComparableStack(ModItems.rod_pu239), new BreederRecipe(ModItems.rod_pu240, 2));
recipes.put(new ComparableStack(ModItems.rod_dual_pu239), new BreederRecipe(ModItems.rod_dual_pu240, 2));
recipes.put(new ComparableStack(ModItems.rod_quad_pu239), new BreederRecipe(ModItems.rod_quad_pu240, 2));
recipes.put(new ComparableStack(ModItems.rod_pu240), new BreederRecipe(ModItems.rod_waste, 3));
recipes.put(new ComparableStack(ModItems.rod_dual_pu240), new BreederRecipe(ModItems.rod_dual_waste, 3));
recipes.put(new ComparableStack(ModItems.rod_quad_pu240), new BreederRecipe(ModItems.rod_quad_waste, 3));
//advanced
recipes.put(new ComparableStack(ModItems.rod_schrabidium), new BreederRecipe(ModItems.rod_solinium, 3));
recipes.put(new ComparableStack(ModItems.rod_dual_schrabidium), new BreederRecipe(ModItems.rod_dual_solinium, 3));
recipes.put(new ComparableStack(ModItems.rod_quad_schrabidium), new BreederRecipe(ModItems.rod_quad_solinium, 3));
recipes.put(new ComparableStack(ModItems.rod_quad_euphemium), new BreederRecipe(ModItems.rod_quad_euphemium, 4));
//rocks
recipes.put(new ComparableStack(Blocks.stone), new BreederRecipe(new ItemStack(ModBlocks.sellafield_0), 2));
recipes.put(new ComparableStack(ModBlocks.sellafield_0), new BreederRecipe(new ItemStack(ModBlocks.sellafield_1), 2));
recipes.put(new ComparableStack(ModBlocks.sellafield_1), new BreederRecipe(new ItemStack(ModBlocks.sellafield_2), 3));
recipes.put(new ComparableStack(ModBlocks.sellafield_2), new BreederRecipe(new ItemStack(ModBlocks.sellafield_3), 3));
recipes.put(new ComparableStack(ModBlocks.sellafield_3), new BreederRecipe(new ItemStack(ModBlocks.sellafield_4), 4));
recipes.put(new ComparableStack(ModBlocks.sellafield_4), new BreederRecipe(new ItemStack(ModBlocks.sellafield_core), 4));
}
public static void registerFuels() {
fuels.put(new ComparableStack(ModItems.rod_u233), new int[] {0, 0});
fuels.put(new ComparableStack(ModItems.rod_dual_u233), new int[] {0, 0});
fuels.put(new ComparableStack(ModItems.rod_quad_u233), new int[] {0, 0});
fuels.put(new ComparableStack(ModItems.rod_u235), new int[] {0, 0});
fuels.put(new ComparableStack(ModItems.rod_dual_u235), new int[] {0, 0});
fuels.put(new ComparableStack(ModItems.rod_quad_u235), new int[] {0, 0});
fuels.put(new ComparableStack(ModItems.rod_u238), new int[] {0, 0});
fuels.put(new ComparableStack(ModItems.rod_dual_u238), new int[] {0, 0});
fuels.put(new ComparableStack(ModItems.rod_quad_u238), new int[] {0, 0});
fuels.put(new ComparableStack(ModItems.rod_neptunium), new int[] {0, 0});
fuels.put(new ComparableStack(ModItems.rod_dual_neptunium), new int[] {0, 0});
fuels.put(new ComparableStack(ModItems.rod_quad_neptunium), new int[] {0, 0});
fuels.put(new ComparableStack(ModItems.rod_pu238), new int[] {0, 0});
fuels.put(new ComparableStack(ModItems.rod_dual_pu238), new int[] {0, 0});
fuels.put(new ComparableStack(ModItems.rod_quad_pu238), new int[] {0, 0});
fuels.put(new ComparableStack(ModItems.rod_pu239), new int[] {0, 0});
fuels.put(new ComparableStack(ModItems.rod_dual_pu239), new int[] {0, 0});
fuels.put(new ComparableStack(ModItems.rod_quad_pu239), new int[] {0, 0});
fuels.put(new ComparableStack(ModItems.rod_pu240), new int[] {0, 0});
fuels.put(new ComparableStack(ModItems.rod_dual_pu240), new int[] {0, 0});
fuels.put(new ComparableStack(ModItems.rod_quad_pu240), new int[] {0, 0});
fuels.put(new ComparableStack(ModItems.rod_u233), new int[] {2, 2});
fuels.put(new ComparableStack(ModItems.rod_dual_u233), new int[] {2, 4});
fuels.put(new ComparableStack(ModItems.rod_quad_u233), new int[] {2, 8});
fuels.put(new ComparableStack(ModItems.rod_u235), new int[] {2, 3});
fuels.put(new ComparableStack(ModItems.rod_dual_u235), new int[] {2, 6});
fuels.put(new ComparableStack(ModItems.rod_quad_u235), new int[] {2, 12});
fuels.put(new ComparableStack(ModItems.rod_u238), new int[] {1, 1});
fuels.put(new ComparableStack(ModItems.rod_dual_u238), new int[] {1, 2});
fuels.put(new ComparableStack(ModItems.rod_quad_u238), new int[] {1, 4});
fuels.put(new ComparableStack(ModItems.rod_neptunium), new int[] {2, 3});
fuels.put(new ComparableStack(ModItems.rod_dual_neptunium), new int[] {2, 6});
fuels.put(new ComparableStack(ModItems.rod_quad_neptunium), new int[] {2, 12});
fuels.put(new ComparableStack(ModItems.rod_pu238), new int[] {1, 2});
fuels.put(new ComparableStack(ModItems.rod_dual_pu238), new int[] {1, 4});
fuels.put(new ComparableStack(ModItems.rod_quad_pu238), new int[] {1, 8});
fuels.put(new ComparableStack(ModItems.rod_pu239), new int[] {3, 5});
fuels.put(new ComparableStack(ModItems.rod_dual_pu239), new int[] {3, 10});
fuels.put(new ComparableStack(ModItems.rod_quad_pu239), new int[] {3, 20});
fuels.put(new ComparableStack(ModItems.rod_pu240), new int[] {1, 2});
fuels.put(new ComparableStack(ModItems.rod_dual_pu240), new int[] {1, 4});
fuels.put(new ComparableStack(ModItems.rod_quad_pu240), new int[] {1, 8});
fuels.put(new ComparableStack(ModItems.rod_schrabidium), new int[] {3, 10});
fuels.put(new ComparableStack(ModItems.rod_dual_schrabidium), new int[] {3, 20});
fuels.put(new ComparableStack(ModItems.rod_quad_schrabidium), new int[] {3, 40});
fuels.put(new ComparableStack(ModItems.rod_solinium), new int[] {3, 15});
fuels.put(new ComparableStack(ModItems.rod_dual_solinium), new int[] {3, 30});
fuels.put(new ComparableStack(ModItems.rod_quad_solinium), new int[] {3, 60});
fuels.put(new ComparableStack(ModItems.rod_polonium), new int[] {4, 2});
fuels.put(new ComparableStack(ModItems.rod_dual_polonium), new int[] {4, 4});
fuels.put(new ComparableStack(ModItems.rod_quad_polonium), new int[] {4, 8});
fuels.put(new ComparableStack(ModItems.rod_tritium), new int[] {1, 1});
fuels.put(new ComparableStack(ModItems.rod_dual_tritium), new int[] {1, 2});
fuels.put(new ComparableStack(ModItems.rod_quad_tritium), new int[] {1, 4});
}
public static HashMap<ItemStack, BreederRecipe> getAllRecipes() {
HashMap<ItemStack, BreederRecipe> map = new HashMap();
for(Map.Entry<ComparableStack, BreederRecipe> recipe : recipes.entrySet()) {
map.put(recipe.getKey().toStack(), recipe.getValue());
}
return map;
}
public static BreederRecipe getOutput(ItemStack stack) {
if(stack == null)
return null;
ComparableStack sta = new ComparableStack(stack);
return BreederRecipes.recipes.get(sta);
}
/**
* Returns an integer array of the fuel value of a certain stack
* @param stack
* @return an integer array (possibly null) with two fields, the HEAT value and the amount of operations
*/
public static int[] getFuelValue(ItemStack stack) {
if(stack == null)
return null;
ComparableStack sta = new ComparableStack(stack);
int[] ret = BreederRecipes.fuels.get(sta);
return ret;
}
public static String getHEATString(String string, int heat) {
if(heat == 1)
string = EnumChatFormatting.GREEN + string;
if(heat == 2)
string = EnumChatFormatting.YELLOW + string;
if(heat == 3)
string = EnumChatFormatting.GOLD + string;
if(heat == 4)
string = EnumChatFormatting.RED + string;
return string; //strings are reference types I GET IT
}
//nicer than opaque object arrays
public static class BreederRecipe {
public ItemStack output;
public int heat;
public BreederRecipe() { }
public BreederRecipe(Item output, int heat) {
this(new ItemStack(output), heat);
}
public BreederRecipe(ItemStack output, int heat) {
this.output = output;
this.heat = heat;
}
}
}

View File

@ -28,12 +28,14 @@ public class CentrifugeRecipes {
recipes.put(new ComparableStack(ModItems.waste_plutonium), new ItemStack[] {
new ItemStack(ModItems.nugget_pu239, 1),
new ItemStack(ModItems.nugget_pu240, 1), new ItemStack(ModItems.nugget_lead, 1),
new ItemStack(ModItems.nugget_pu240, 1),
new ItemStack(ModItems.nugget_polonium, 1),
new ItemStack(ModItems.nuclear_waste_tiny, 3) });
recipes.put(new ComparableStack(ModItems.waste_mox), new ItemStack[] {
new ItemStack(ModItems.nugget_pu239, 1),
new ItemStack(ModItems.nugget_neptunium, 1), new ItemStack(ModItems.nugget_u238, 2),
new ItemStack(ModItems.nugget_u238, 2),
new ItemStack(ModItems.nugget_polonium, 1),
new ItemStack(ModItems.nuclear_waste_tiny, 2) });
recipes.put(new ComparableStack(ModItems.waste_schrabidium), new ItemStack[] {
@ -141,13 +143,13 @@ public class CentrifugeRecipes {
recipes.put("orePlutonium", new ItemStack[] {
new ItemStack(ModItems.powder_plutonium, 1),
new ItemStack(ModItems.powder_plutonium, 1),
new ItemStack(ModItems.powder_uranium, 1),
new ItemStack(ModItems.nugget_polonium, 3),
new ItemStack(Blocks.gravel, 1) });
recipes.put("oreUranium", new ItemStack[] {
new ItemStack(ModItems.powder_uranium, 1),
new ItemStack(ModItems.powder_uranium, 1),
new ItemStack(ModItems.powder_thorium, 1),
new ItemStack(ModItems.nugget_polonium, 1),
new ItemStack(Blocks.gravel, 1) });
recipes.put("oreThorium", new ItemStack[] {
@ -206,9 +208,9 @@ public class CentrifugeRecipes {
recipes.put(new ComparableStack(ModItems.crystal_gold), new ItemStack[] { new ItemStack(ModItems.powder_gold, 2), new ItemStack(ModItems.powder_gold, 2), new ItemStack(ModItems.nugget_mercury, 1), new ItemStack(ModItems.powder_lithium_tiny, 1) });
recipes.put(new ComparableStack(ModItems.crystal_redstone), new ItemStack[] { new ItemStack(Items.redstone, 3), new ItemStack(Items.redstone, 3), new ItemStack(Items.redstone, 3), new ItemStack(ModItems.nugget_mercury, 3) });
recipes.put(new ComparableStack(ModItems.crystal_diamond), new ItemStack[] { new ItemStack(ModItems.powder_diamond, 1), new ItemStack(ModItems.powder_diamond, 1), new ItemStack(ModItems.powder_diamond, 1), new ItemStack(ModItems.powder_diamond, 1) });
recipes.put(new ComparableStack(ModItems.crystal_uranium), new ItemStack[] { new ItemStack(ModItems.powder_uranium, 2), new ItemStack(ModItems.powder_uranium, 2), new ItemStack(ModItems.powder_thorium, 1), new ItemStack(ModItems.powder_lithium_tiny, 1) });
recipes.put(new ComparableStack(ModItems.crystal_uranium), new ItemStack[] { new ItemStack(ModItems.powder_uranium, 2), new ItemStack(ModItems.powder_uranium, 2), new ItemStack(ModItems.nugget_polonium, 2), new ItemStack(ModItems.powder_lithium_tiny, 1) });
recipes.put(new ComparableStack(ModItems.crystal_thorium), new ItemStack[] { new ItemStack(ModItems.powder_thorium, 2), new ItemStack(ModItems.powder_thorium, 2), new ItemStack(ModItems.powder_uranium, 1), new ItemStack(ModItems.powder_lithium_tiny, 1) });
recipes.put(new ComparableStack(ModItems.crystal_plutonium), new ItemStack[] { new ItemStack(ModItems.powder_plutonium, 2), new ItemStack(ModItems.powder_plutonium, 2), new ItemStack(ModItems.powder_uranium, 1), new ItemStack(ModItems.powder_lithium_tiny, 1) });
recipes.put(new ComparableStack(ModItems.crystal_plutonium), new ItemStack[] { new ItemStack(ModItems.powder_plutonium, 2), new ItemStack(ModItems.powder_plutonium, 2), new ItemStack(ModItems.powder_polonium, 1), new ItemStack(ModItems.powder_lithium_tiny, 1) });
recipes.put(new ComparableStack(ModItems.crystal_titanium), new ItemStack[] { new ItemStack(ModItems.powder_titanium, 2), new ItemStack(ModItems.powder_titanium, 2), new ItemStack(ModItems.powder_iron, 1), new ItemStack(ModItems.powder_lithium_tiny, 1) });
recipes.put(new ComparableStack(ModItems.crystal_sulfur), new ItemStack[] { new ItemStack(ModItems.sulfur, 4), new ItemStack(ModItems.sulfur, 4), new ItemStack(ModItems.powder_iron, 1), new ItemStack(ModItems.nugget_mercury, 1) });
recipes.put(new ComparableStack(ModItems.crystal_niter), new ItemStack[] { new ItemStack(ModItems.niter, 3), new ItemStack(ModItems.niter, 3), new ItemStack(ModItems.niter, 3), new ItemStack(ModItems.powder_lithium_tiny, 1) });

View File

@ -511,191 +511,6 @@ public class MachineRecipes {
return recipes;
}
public static ItemStack getReactorProcessingResult(Item item) {
return getReactorOutput(item);
}
public static ItemStack getReactorOutput(Item item) {
if (item == ModItems.rod_th232) {
return new ItemStack(ModItems.rod_u233, 1);
}
if (item == ModItems.rod_uranium) {
return new ItemStack(ModItems.rod_plutonium, 1);
}
if (item == ModItems.rod_u233) {
return new ItemStack(ModItems.rod_u235, 1);
}
if (item == ModItems.rod_u235) {
return new ItemStack(ModItems.rod_neptunium, 1);
}
if (item == ModItems.rod_u238) {
return new ItemStack(ModItems.rod_pu239, 1);
}
if (item == ModItems.rod_neptunium) {
return new ItemStack(ModItems.rod_pu238, 1);
}
if (item == ModItems.rod_plutonium) {
return new ItemStack(ModItems.rod_waste, 1);
}
if (item == ModItems.rod_pu238) {
return new ItemStack(ModItems.rod_pu239, 1);
}
if (item == ModItems.rod_pu239) {
return new ItemStack(ModItems.rod_pu240, 1);
}
if (item == ModItems.rod_pu240) {
return new ItemStack(ModItems.rod_waste, 1);
}
if (item == ModItems.rod_schrabidium) {
return new ItemStack(ModItems.rod_solinium, 1);
}
if (item == ModItems.rod_dual_th232) {
return new ItemStack(ModItems.rod_dual_u233, 1);
}
if (item == ModItems.rod_dual_uranium) {
return new ItemStack(ModItems.rod_dual_plutonium, 1);
}
if (item == ModItems.rod_dual_u233) {
return new ItemStack(ModItems.rod_dual_u235, 1);
}
if (item == ModItems.rod_dual_u235) {
return new ItemStack(ModItems.rod_dual_neptunium, 1);
}
if (item == ModItems.rod_dual_u238) {
return new ItemStack(ModItems.rod_dual_pu239, 1);
}
if (item == ModItems.rod_dual_neptunium) {
return new ItemStack(ModItems.rod_dual_pu238, 1);
}
if (item == ModItems.rod_dual_plutonium) {
return new ItemStack(ModItems.rod_dual_waste, 1);
}
if (item == ModItems.rod_dual_pu238) {
return new ItemStack(ModItems.rod_dual_pu239, 1);
}
if (item == ModItems.rod_dual_pu239) {
return new ItemStack(ModItems.rod_dual_pu240, 1);
}
if (item == ModItems.rod_dual_pu240) {
return new ItemStack(ModItems.rod_dual_waste, 1);
}
if (item == ModItems.rod_dual_schrabidium) {
return new ItemStack(ModItems.rod_dual_solinium, 1);
}
if (item == ModItems.rod_quad_th232) {
return new ItemStack(ModItems.rod_quad_u233, 1);
}
if (item == ModItems.rod_quad_uranium) {
return new ItemStack(ModItems.rod_quad_plutonium, 1);
}
if (item == ModItems.rod_quad_u233) {
return new ItemStack(ModItems.rod_quad_u235, 1);
}
if (item == ModItems.rod_quad_u235) {
return new ItemStack(ModItems.rod_quad_neptunium, 1);
}
if (item == ModItems.rod_quad_u238) {
return new ItemStack(ModItems.rod_quad_pu239, 1);
}
if (item == ModItems.rod_quad_neptunium) {
return new ItemStack(ModItems.rod_quad_pu238, 1);
}
if (item == ModItems.rod_quad_plutonium) {
return new ItemStack(ModItems.rod_quad_waste, 1);
}
if (item == ModItems.rod_quad_pu238) {
return new ItemStack(ModItems.rod_quad_pu239, 1);
}
if (item == ModItems.rod_quad_pu239) {
return new ItemStack(ModItems.rod_quad_pu240, 1);
}
if (item == ModItems.rod_quad_pu240) {
return new ItemStack(ModItems.rod_quad_waste, 1);
}
if (item == ModItems.rod_quad_schrabidium) {
return new ItemStack(ModItems.rod_quad_solinium, 1);
}
if (item == ModItems.rod_lithium) {
return new ItemStack(ModItems.rod_tritium, 1);
}
if (item == ModItems.rod_dual_lithium) {
return new ItemStack(ModItems.rod_dual_tritium, 1);
}
if (item == ModItems.rod_quad_lithium) {
return new ItemStack(ModItems.rod_quad_tritium, 1);
}
if (item == ModItems.rod_quad_solinium) {
return new ItemStack(ModItems.rod_quad_euphemium, 1);
}
if (item == Item.getItemFromBlock(Blocks.stone)) {
return new ItemStack(ModBlocks.sellafield_slaked, 1);
}
if (item == Item.getItemFromBlock(ModBlocks.sellafield_slaked)) {
return new ItemStack(ModBlocks.sellafield_0, 1);
}
if (item == Item.getItemFromBlock(ModBlocks.sellafield_0)) {
return new ItemStack(ModBlocks.sellafield_1, 1);
}
if (item == Item.getItemFromBlock(ModBlocks.sellafield_1)) {
return new ItemStack(ModBlocks.sellafield_2, 1);
}
if (item == Item.getItemFromBlock(ModBlocks.sellafield_2)) {
return new ItemStack(ModBlocks.sellafield_3, 1);
}
if (item == Item.getItemFromBlock(ModBlocks.sellafield_3)) {
return new ItemStack(ModBlocks.sellafield_4, 1);
}
if (item == Item.getItemFromBlock(ModBlocks.sellafield_4)) {
return new ItemStack(ModBlocks.sellafield_core, 1);
}
return null;
}
public static ItemStack getCyclotronOutput(ItemStack part, ItemStack item) {
@ -1020,55 +835,6 @@ public class MachineRecipes {
fuels.add(new ItemStack(Items.blaze_powder));
return fuels;
}
public Map<Object, Object> getReactorRecipes() {
Map<Object, Object> recipes = new HashMap<Object, Object>();
recipes.put(new ItemStack(ModItems.rod_uranium), getReactorOutput(ModItems.rod_uranium));
recipes.put(new ItemStack(ModItems.rod_dual_uranium), getReactorOutput(ModItems.rod_dual_uranium));
recipes.put(new ItemStack(ModItems.rod_quad_uranium), getReactorOutput(ModItems.rod_quad_uranium));
recipes.put(new ItemStack(ModItems.rod_u235), getReactorOutput(ModItems.rod_u235));
recipes.put(new ItemStack(ModItems.rod_dual_u235), getReactorOutput(ModItems.rod_dual_u235));
recipes.put(new ItemStack(ModItems.rod_quad_u235), getReactorOutput(ModItems.rod_quad_u235));
recipes.put(new ItemStack(ModItems.rod_u238), getReactorOutput(ModItems.rod_u238));
recipes.put(new ItemStack(ModItems.rod_dual_u238), getReactorOutput(ModItems.rod_dual_u238));
recipes.put(new ItemStack(ModItems.rod_quad_u238), getReactorOutput(ModItems.rod_quad_u238));
recipes.put(new ItemStack(ModItems.rod_plutonium), getReactorOutput(ModItems.rod_plutonium));
recipes.put(new ItemStack(ModItems.rod_dual_plutonium), getReactorOutput(ModItems.rod_dual_plutonium));
recipes.put(new ItemStack(ModItems.rod_quad_plutonium), getReactorOutput(ModItems.rod_quad_plutonium));
recipes.put(new ItemStack(ModItems.rod_pu238), getReactorOutput(ModItems.rod_pu238));
recipes.put(new ItemStack(ModItems.rod_dual_pu238), getReactorOutput(ModItems.rod_dual_pu238));
recipes.put(new ItemStack(ModItems.rod_quad_pu238), getReactorOutput(ModItems.rod_quad_pu238));
recipes.put(new ItemStack(ModItems.rod_pu239), getReactorOutput(ModItems.rod_pu239));
recipes.put(new ItemStack(ModItems.rod_dual_pu239), getReactorOutput(ModItems.rod_dual_pu239));
recipes.put(new ItemStack(ModItems.rod_quad_pu239), getReactorOutput(ModItems.rod_quad_pu239));
recipes.put(new ItemStack(ModItems.rod_pu240), getReactorOutput(ModItems.rod_pu240));
recipes.put(new ItemStack(ModItems.rod_dual_pu240), getReactorOutput(ModItems.rod_dual_pu240));
recipes.put(new ItemStack(ModItems.rod_quad_pu240), getReactorOutput(ModItems.rod_quad_pu240));
recipes.put(new ItemStack(ModItems.rod_neptunium), getReactorOutput(ModItems.rod_neptunium));
recipes.put(new ItemStack(ModItems.rod_dual_neptunium), getReactorOutput(ModItems.rod_dual_neptunium));
recipes.put(new ItemStack(ModItems.rod_quad_neptunium), getReactorOutput(ModItems.rod_quad_neptunium));
recipes.put(new ItemStack(ModItems.rod_schrabidium), getReactorOutput(ModItems.rod_schrabidium));
recipes.put(new ItemStack(ModItems.rod_dual_schrabidium), getReactorOutput(ModItems.rod_dual_schrabidium));
recipes.put(new ItemStack(ModItems.rod_quad_schrabidium), getReactorOutput(ModItems.rod_quad_schrabidium));
recipes.put(new ItemStack(ModItems.rod_quad_solinium), getReactorOutput(ModItems.rod_quad_solinium));
recipes.put(new ItemStack(ModItems.rod_lithium), getReactorOutput(ModItems.rod_lithium));
recipes.put(new ItemStack(ModItems.rod_dual_lithium), getReactorOutput(ModItems.rod_dual_lithium));
recipes.put(new ItemStack(ModItems.rod_quad_lithium), getReactorOutput(ModItems.rod_quad_lithium));
recipes.put(new ItemStack(Blocks.stone), getReactorOutput(Item.getItemFromBlock(Blocks.stone)));
recipes.put(new ItemStack(ModBlocks.sellafield_slaked), getReactorOutput(Item.getItemFromBlock(ModBlocks.sellafield_slaked)));
recipes.put(new ItemStack(ModBlocks.sellafield_0), getReactorOutput(Item.getItemFromBlock(ModBlocks.sellafield_0)));
recipes.put(new ItemStack(ModBlocks.sellafield_1), getReactorOutput(Item.getItemFromBlock(ModBlocks.sellafield_1)));
recipes.put(new ItemStack(ModBlocks.sellafield_2), getReactorOutput(Item.getItemFromBlock(ModBlocks.sellafield_2)));
recipes.put(new ItemStack(ModBlocks.sellafield_3), getReactorOutput(Item.getItemFromBlock(ModBlocks.sellafield_3)));
recipes.put(new ItemStack(ModBlocks.sellafield_4), getReactorOutput(Item.getItemFromBlock(ModBlocks.sellafield_4)));
recipes.put(new ItemStack(ModItems.rod_th232), getReactorOutput(ModItems.rod_th232));
recipes.put(new ItemStack(ModItems.rod_dual_th232), getReactorOutput(ModItems.rod_dual_th232));
recipes.put(new ItemStack(ModItems.rod_quad_th232), getReactorOutput(ModItems.rod_quad_th232));
recipes.put(new ItemStack(ModItems.rod_u233), getReactorOutput(ModItems.rod_u233));
recipes.put(new ItemStack(ModItems.rod_dual_u233), getReactorOutput(ModItems.rod_dual_u233));
recipes.put(new ItemStack(ModItems.rod_quad_u233), getReactorOutput(ModItems.rod_quad_u233));
return recipes;
}
public Map<Object[], Object> getCyclotronRecipes() {
Map<Object[], Object> recipes = new HashMap<Object[], Object>();

View File

@ -0,0 +1,262 @@
package com.hbm.inventory;
import com.hbm.blocks.ModBlocks;
import com.hbm.items.ModItems;
import net.minecraft.init.Items;
import net.minecraftforge.oredict.OreDictionary;
public class OreDictManager {
public static void registerOres() {
OreDictionary.registerOre("ingotUranium", ModItems.ingot_uranium);
OreDictionary.registerOre("ingotUranium233", ModItems.ingot_u233);
OreDictionary.registerOre("ingotUranium235", ModItems.ingot_u235);
OreDictionary.registerOre("ingotUranium238", ModItems.ingot_u238);
OreDictionary.registerOre("ingotThorium", ModItems.ingot_th232);
OreDictionary.registerOre("ingotThorium232", ModItems.ingot_th232);
OreDictionary.registerOre("ingotPlutonium", ModItems.ingot_plutonium);
OreDictionary.registerOre("ingotPlutonium238", ModItems.ingot_pu238);
OreDictionary.registerOre("ingotPlutonium239", ModItems.ingot_pu239);
OreDictionary.registerOre("ingotPlutonium240", ModItems.ingot_pu240);
OreDictionary.registerOre("U233", ModItems.ingot_u233);
OreDictionary.registerOre("U235", ModItems.ingot_u235);
OreDictionary.registerOre("U238", ModItems.ingot_u238);
OreDictionary.registerOre("Th232", ModItems.ingot_th232);
OreDictionary.registerOre("Pu238", ModItems.ingot_pu238);
OreDictionary.registerOre("Pu239", ModItems.ingot_pu239);
OreDictionary.registerOre("Pu240", ModItems.ingot_pu240);
OreDictionary.registerOre("ingotNeptunium", ModItems.ingot_neptunium);
OreDictionary.registerOre("ingotPolonium", ModItems.ingot_polonium);
OreDictionary.registerOre("ingotSchrabidium", ModItems.ingot_schrabidium);
OreDictionary.registerOre("ingotTitanium", ModItems.ingot_titanium);
OreDictionary.registerOre("ingotSteel", ModItems.ingot_steel);
OreDictionary.registerOre("ingotCopper", ModItems.ingot_copper);
OreDictionary.registerOre("ingotRedCopperAlloy", ModItems.ingot_red_copper);
OreDictionary.registerOre("ingotAdvanced", ModItems.ingot_advanced_alloy);
OreDictionary.registerOre("ingotAdvancedAlloy", ModItems.ingot_advanced_alloy);
OreDictionary.registerOre("ingotTungsten", ModItems.ingot_tungsten);
OreDictionary.registerOre("ingotAluminum", ModItems.ingot_aluminium);
OreDictionary.registerOre("ingotBeryllium", ModItems.ingot_beryllium);
OreDictionary.registerOre("ingotCobalt", ModItems.ingot_cobalt);
OreDictionary.registerOre("ingotLead", ModItems.ingot_lead);
OreDictionary.registerOre("ingotLithium", ModItems.lithium);
OreDictionary.registerOre("ingotMagnetizedTungsten", ModItems.ingot_magnetized_tungsten);
OreDictionary.registerOre("ingotCMBSteel", ModItems.ingot_combine_steel);
OreDictionary.registerOre("ingotAustralium", ModItems.ingot_australium);
OreDictionary.registerOre("ingotWeidanium", ModItems.ingot_weidanium);
OreDictionary.registerOre("ingotReiium", ModItems.ingot_reiium);
OreDictionary.registerOre("ingotUnobtainium", ModItems.ingot_unobtainium);
OreDictionary.registerOre("ingotDaffergon", ModItems.ingot_daffergon);
OreDictionary.registerOre("ingotVerticium", ModItems.ingot_verticium);
OreDictionary.registerOre("ingotDuraSteel", ModItems.ingot_dura_steel);
OreDictionary.registerOre("ingotPolymer", ModItems.ingot_polymer);
OreDictionary.registerOre("ingotLanthanium", ModItems.ingot_lanthanium);
OreDictionary.registerOre("ingotActinium", ModItems.ingot_actinium);
OreDictionary.registerOre("ingotDesh", ModItems.ingot_desh);
OreDictionary.registerOre("ingotSaturnite", ModItems.ingot_saturnite);
OreDictionary.registerOre("ingotEuphemium", ModItems.ingot_euphemium);
OreDictionary.registerOre("ingotDineutronium", ModItems.ingot_dineutronium);
OreDictionary.registerOre("ingotStarmetal", ModItems.ingot_starmetal);
OreDictionary.registerOre("nuggetLead", ModItems.nugget_lead);
OreDictionary.registerOre("nuggetUranium", ModItems.nugget_uranium);
OreDictionary.registerOre("nuggetUranium233", ModItems.nugget_u233);
OreDictionary.registerOre("nuggetUranium235", ModItems.nugget_u235);
OreDictionary.registerOre("nuggetUranium238", ModItems.nugget_u238);
OreDictionary.registerOre("nuggetThorium", ModItems.nugget_th232);
OreDictionary.registerOre("nuggetThorium232", ModItems.nugget_th232);
OreDictionary.registerOre("nuggetPlutonium", ModItems.nugget_plutonium);
OreDictionary.registerOre("nuggetPlutonium238", ModItems.nugget_pu238);
OreDictionary.registerOre("nuggetPlutonium239", ModItems.nugget_pu239);
OreDictionary.registerOre("nuggetPlutonium240", ModItems.nugget_pu240);
OreDictionary.registerOre("nuggetAustralium", ModItems.nugget_australium);
OreDictionary.registerOre("nuggetWeidanium", ModItems.nugget_weidanium);
OreDictionary.registerOre("nuggetReiium", ModItems.nugget_reiium);
OreDictionary.registerOre("nuggetUnobtainium", ModItems.nugget_unobtainium);
OreDictionary.registerOre("nuggetDaffergon", ModItems.nugget_daffergon);
OreDictionary.registerOre("nuggetVerticium", ModItems.nugget_verticium);
OreDictionary.registerOre("nuggetEuphemium", ModItems.nugget_euphemium);
OreDictionary.registerOre("nuggetNeptunium", ModItems.nugget_neptunium);
OreDictionary.registerOre("nuggetPolonium", ModItems.nugget_polonium);
OreDictionary.registerOre("nuggetSchrabidium", ModItems.nugget_schrabidium);
OreDictionary.registerOre("tinyU233", ModItems.nugget_u233);
OreDictionary.registerOre("tinyU235", ModItems.nugget_u235);
OreDictionary.registerOre("tinyU238", ModItems.nugget_u238);
OreDictionary.registerOre("tinyTh232", ModItems.nugget_th232);
OreDictionary.registerOre("tinyPu238", ModItems.nugget_pu238);
OreDictionary.registerOre("tinyPu239", ModItems.nugget_pu239);
OreDictionary.registerOre("tinyPu240", ModItems.nugget_pu240);
OreDictionary.registerOre("nuggetNeodymium", ModItems.fragment_neodymium);
OreDictionary.registerOre("nuggetCobalt", ModItems.fragment_cobalt);
OreDictionary.registerOre("nuggetNiobium", ModItems.fragment_niobium);
OreDictionary.registerOre("nuggetCerium", ModItems.fragment_cerium);
OreDictionary.registerOre("nuggetLanthanium", ModItems.fragment_lanthanium);
OreDictionary.registerOre("nuggetActinium", ModItems.fragment_actinium);
OreDictionary.registerOre("dustIron", ModItems.powder_iron);
OreDictionary.registerOre("dustGold", ModItems.powder_gold);
OreDictionary.registerOre("dustUranium", ModItems.powder_uranium);
OreDictionary.registerOre("dustThorium", ModItems.powder_thorium);
OreDictionary.registerOre("dustPlutonium", ModItems.powder_plutonium);
OreDictionary.registerOre("dustTitanium", ModItems.powder_titanium);
OreDictionary.registerOre("dustTungsten", ModItems.powder_tungsten);
OreDictionary.registerOre("dustCopper", ModItems.powder_copper);
OreDictionary.registerOre("dustBeryllium", ModItems.powder_beryllium);
OreDictionary.registerOre("dustAluminum", ModItems.powder_aluminium);
OreDictionary.registerOre("dustDiamond", ModItems.powder_diamond);
OreDictionary.registerOre("dustEmerald", ModItems.powder_emerald);
OreDictionary.registerOre("dustLapis", ModItems.powder_lapis);
OreDictionary.registerOre("dustCoal", ModItems.powder_coal);
OreDictionary.registerOre("dustLignite", ModItems.powder_lignite);
OreDictionary.registerOre("dustAdvanced", ModItems.powder_advanced_alloy);
OreDictionary.registerOre("dustAdvancedAlloy", ModItems.powder_advanced_alloy);
OreDictionary.registerOre("dustCMBSteel", ModItems.powder_combine_steel);
OreDictionary.registerOre("dustMagnetizedTungsten", ModItems.powder_magnetized_tungsten);
OreDictionary.registerOre("dustRedCopperAlloy", ModItems.powder_red_copper);
OreDictionary.registerOre("dustSteel", ModItems.powder_steel);
OreDictionary.registerOre("dustLithium", ModItems.powder_lithium);
OreDictionary.registerOre("dustNetherQuartz", ModItems.powder_quartz);
OreDictionary.registerOre("dustAustralium", ModItems.powder_australium);
OreDictionary.registerOre("dustWeidanium", ModItems.powder_weidanium);
OreDictionary.registerOre("dustReiium", ModItems.powder_reiium);
OreDictionary.registerOre("dustUnobtainium", ModItems.powder_unobtainium);
OreDictionary.registerOre("dustDaffergon", ModItems.powder_daffergon);
OreDictionary.registerOre("dustVerticium", ModItems.powder_verticium);
OreDictionary.registerOre("dustDuraSteel", ModItems.powder_dura_steel);
OreDictionary.registerOre("dustPolymer", ModItems.powder_polymer);
OreDictionary.registerOre("dustLanthanium", ModItems.powder_lanthanium);
OreDictionary.registerOre("dustActinium", ModItems.powder_actinium);
OreDictionary.registerOre("dustDesh", ModItems.powder_desh);
OreDictionary.registerOre("dustEuphemium", ModItems.powder_euphemium);
OreDictionary.registerOre("dustDineutronium", ModItems.powder_dineutronium);
OreDictionary.registerOre("dustSchrabidium", ModItems.powder_schrabidium);
OreDictionary.registerOre("dustSulfur", ModItems.sulfur);
OreDictionary.registerOre("dustNiter", ModItems.niter);
OreDictionary.registerOre("dustSalpeter", ModItems.niter);
OreDictionary.registerOre("dustLead", ModItems.powder_lead);
OreDictionary.registerOre("dustNeptunium", ModItems.powder_neptunium);
OreDictionary.registerOre("dustPolonium", ModItems.powder_polonium);
OreDictionary.registerOre("dustNeptunium", ModItems.powder_neptunium);
OreDictionary.registerOre("dustIodine", ModItems.powder_iodine);
OreDictionary.registerOre("dustThorium", ModItems.powder_thorium);
OreDictionary.registerOre("dustAstatine", ModItems.powder_astatine);
OreDictionary.registerOre("dustNeodymium", ModItems.powder_neodymium);
OreDictionary.registerOre("dustCaesium", ModItems.powder_caesium);
OreDictionary.registerOre("dustStrontium", ModItems.powder_strontium);
OreDictionary.registerOre("dustCobalt", ModItems.powder_cobalt);
OreDictionary.registerOre("dustBromine", ModItems.powder_bromine);
OreDictionary.registerOre("dustNiobium", ModItems.powder_niobium);
OreDictionary.registerOre("dustTennessine", ModItems.powder_tennessine);
OreDictionary.registerOre("dustCerium", ModItems.powder_cerium);
OreDictionary.registerOre("gemCoal", Items.coal);
OreDictionary.registerOre("gemLignite", ModItems.lignite);
OreDictionary.registerOre("dustFluorite", ModItems.fluorite);
OreDictionary.registerOre("plateTitanium", ModItems.plate_titanium);
OreDictionary.registerOre("plateAluminum", ModItems.plate_aluminium);
OreDictionary.registerOre("plateDenseLead", ModItems.neutron_reflector);
OreDictionary.registerOre("plateSteel", ModItems.plate_steel);
OreDictionary.registerOre("plateLead", ModItems.plate_lead);
OreDictionary.registerOre("plateCopper", ModItems.plate_copper);
OreDictionary.registerOre("plateIron", ModItems.plate_iron);
OreDictionary.registerOre("plateGold", ModItems.plate_gold);
OreDictionary.registerOre("plateAdvanced", ModItems.plate_advanced_alloy);
OreDictionary.registerOre("plateSchrabidium", ModItems.plate_schrabidium);
OreDictionary.registerOre("plateCMBSteel", ModItems.plate_combine_steel);
OreDictionary.registerOre("plateSaturnite", ModItems.plate_saturnite);
OreDictionary.registerOre("oreUranium", ModBlocks.ore_uranium);
OreDictionary.registerOre("oreThorium", ModBlocks.ore_thorium);
OreDictionary.registerOre("oreTitanium", ModBlocks.ore_titanium);
OreDictionary.registerOre("oreSchrabidium", ModBlocks.ore_schrabidium);
OreDictionary.registerOre("oreSulfur", ModBlocks.ore_sulfur);
OreDictionary.registerOre("oreNiter", ModBlocks.ore_niter);
OreDictionary.registerOre("oreSalpeter", ModBlocks.ore_niter);
OreDictionary.registerOre("oreCopper", ModBlocks.ore_copper);
OreDictionary.registerOre("oreTungsten", ModBlocks.ore_tungsten);
OreDictionary.registerOre("oreAluminum", ModBlocks.ore_aluminium);
OreDictionary.registerOre("oreFluorite", ModBlocks.ore_fluorite);
OreDictionary.registerOre("oreLead", ModBlocks.ore_lead);
OreDictionary.registerOre("oreBeryllium", ModBlocks.ore_beryllium);
OreDictionary.registerOre("oreLignite", ModBlocks.ore_lignite);
OreDictionary.registerOre("oreAustralium", ModBlocks.ore_australium);
OreDictionary.registerOre("oreWeidanium", ModBlocks.ore_weidanium);
OreDictionary.registerOre("oreReiium", ModBlocks.ore_reiium);
OreDictionary.registerOre("oreUnobtainium", ModBlocks.ore_unobtainium);
OreDictionary.registerOre("oreDaffergon", ModBlocks.ore_daffergon);
OreDictionary.registerOre("oreVerticium", ModBlocks.ore_verticium);
OreDictionary.registerOre("oreRareEarth", ModBlocks.ore_rare);
OreDictionary.registerOre("oreUranium", ModBlocks.ore_nether_uranium);
OreDictionary.registerOre("orePlutonium", ModBlocks.ore_nether_plutonium);
OreDictionary.registerOre("oreTungsten", ModBlocks.ore_nether_tungsten);
OreDictionary.registerOre("oreSulfur", ModBlocks.ore_nether_sulfur);
OreDictionary.registerOre("oreSchrabidium", ModBlocks.ore_nether_schrabidium);
OreDictionary.registerOre("oreUranium", ModBlocks.ore_meteor_uranium);
OreDictionary.registerOre("oreThorium", ModBlocks.ore_meteor_thorium);
OreDictionary.registerOre("oreTitanium", ModBlocks.ore_meteor_titanium);
OreDictionary.registerOre("oreSulfur", ModBlocks.ore_meteor_sulfur);
OreDictionary.registerOre("oreCopper", ModBlocks.ore_meteor_copper);
OreDictionary.registerOre("oreTungsten", ModBlocks.ore_meteor_tungsten);
OreDictionary.registerOre("oreAluminum", ModBlocks.ore_meteor_aluminium);
OreDictionary.registerOre("oreLead", ModBlocks.ore_meteor_lead);
OreDictionary.registerOre("oreLithium", ModBlocks.ore_meteor_lithium);
OreDictionary.registerOre("oreStarmetal", ModBlocks.ore_meteor_starmetal);
OreDictionary.registerOre("blockThorium", ModBlocks.block_thorium);
OreDictionary.registerOre("blockUranium", ModBlocks.block_uranium);
OreDictionary.registerOre("blockTitanium", ModBlocks.block_titanium);
OreDictionary.registerOre("blockSulfur", ModBlocks.block_sulfur);
OreDictionary.registerOre("blockNiter", ModBlocks.block_niter);
OreDictionary.registerOre("blockSalpeter", ModBlocks.block_niter);
OreDictionary.registerOre("blockCopper", ModBlocks.block_copper);
OreDictionary.registerOre("blockRedCopperAlloy", ModBlocks.block_red_copper);
OreDictionary.registerOre("blockAdvanced", ModBlocks.block_advanced_alloy);
OreDictionary.registerOre("blockTungsten", ModBlocks.block_tungsten);
OreDictionary.registerOre("blockAluminum", ModBlocks.block_aluminium);
OreDictionary.registerOre("blockFluorite", ModBlocks.block_fluorite);
OreDictionary.registerOre("blockSteel", ModBlocks.block_steel);
OreDictionary.registerOre("blockLead", ModBlocks.block_lead);
OreDictionary.registerOre("blockBeryllium", ModBlocks.block_beryllium);
OreDictionary.registerOre("blockSchrabidium", ModBlocks.block_schrabidium);
OreDictionary.registerOre("blockCMBSteel", ModBlocks.block_combine_steel);
OreDictionary.registerOre("blockMagnetizedTungsten", ModBlocks.block_magnetized_tungsten);
OreDictionary.registerOre("blockAustralium", ModBlocks.block_australium);
OreDictionary.registerOre("blockWeidanium", ModBlocks.block_weidanium);
OreDictionary.registerOre("blockReiium", ModBlocks.block_reiium);
OreDictionary.registerOre("blockUnobtainium", ModBlocks.block_unobtainium);
OreDictionary.registerOre("blockDaffergon", ModBlocks.block_daffergon);
OreDictionary.registerOre("blockVerticium", ModBlocks.block_verticium);
OreDictionary.registerOre("blockDesh", ModBlocks.block_desh);
OreDictionary.registerOre("blockThorium", ModBlocks.block_thorium);
OreDictionary.registerOre("blockThorium232", ModBlocks.block_thorium);
OreDictionary.registerOre("blockUranium233", ModBlocks.block_u233);
OreDictionary.registerOre("blockUranium235", ModBlocks.block_u235);
OreDictionary.registerOre("blockUranium238", ModBlocks.block_u238);
OreDictionary.registerOre("blockNeptunium", ModBlocks.block_neptunium);
OreDictionary.registerOre("blockPolonium", ModBlocks.block_polonium);
OreDictionary.registerOre("blockPlutonium", ModBlocks.block_plutonium);
OreDictionary.registerOre("blockPlutonium238", ModBlocks.block_pu238);
OreDictionary.registerOre("blockPlutonium239", ModBlocks.block_pu239);
OreDictionary.registerOre("blockPlutonium240", ModBlocks.block_pu240);
OreDictionary.registerOre("logWood", ModBlocks.pink_log);
OreDictionary.registerOre("plankWood", ModBlocks.pink_planks);
OreDictionary.registerOre("slabWood", ModBlocks.pink_slab);
OreDictionary.registerOre("stairWood", ModBlocks.pink_stairs);
OreDictionary.registerOre("blockGlass", ModBlocks.glass_uranium);
OreDictionary.registerOre("blockGlass", ModBlocks.glass_trinitite);
OreDictionary.registerOre("blockGlass", ModBlocks.glass_polonium);
OreDictionary.registerOre("blockGlassYellow", ModBlocks.glass_uranium);
OreDictionary.registerOre("blockGlassLime", ModBlocks.glass_trinitite);
OreDictionary.registerOre("blockGlassRed", ModBlocks.glass_polonium);
}
}

View File

@ -2,32 +2,42 @@ package com.hbm.inventory.gui;
import org.lwjgl.opengl.GL11;
import com.hbm.inventory.BreederRecipes;
import com.hbm.inventory.container.ContainerReactor;
import com.hbm.lib.RefStrings;
import com.hbm.tileentity.machine.TileEntityMachineReactor;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.inventory.GuiContainer;
import net.minecraft.client.resources.I18n;
import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.util.ResourceLocation;
public class GUIMachineReactor extends GuiContainer {
public class GUIMachineReactor extends GuiInfoContainer {
public static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/processing/gui_breeder.png");
private TileEntityMachineReactor diFurnace;
private TileEntityMachineReactor breeder;
public GUIMachineReactor(InventoryPlayer invPlayer, TileEntityMachineReactor tedf) {
super(new ContainerReactor(invPlayer, tedf));
diFurnace = tedf;
breeder = tedf;
this.xSize = 176;
this.ySize = 166;
}
@Override
public void drawScreen(int mouseX, int mouseY, float f) {
super.drawScreen(mouseX, mouseY, f);
String tooltip = BreederRecipes.getHEATString(breeder.heat + " HEAT", breeder.heat);
this.drawCustomInfoStat(mouseX, mouseY, guiLeft + 47, guiTop + 34, 6, 18, mouseX, mouseY, new String[] { tooltip });
this.drawCustomInfoStat(mouseX, mouseY, guiLeft + 55, guiTop + 34, 18, 18, mouseX, mouseY, new String[] { breeder.charge + " operation(s) left" });
}
@Override
protected void drawGuiContainerForegroundLayer(int i, int j) {
String name = this.diFurnace.hasCustomInventoryName() ? this.diFurnace.getInventoryName() : I18n.format(this.diFurnace.getInventoryName());
String name = this.breeder.hasCustomInventoryName() ? this.breeder.getInventoryName() : I18n.format(this.breeder.getInventoryName());
this.fontRendererObj.drawString(name, this.xSize / 2 - this.fontRendererObj.getStringWidth(name) / 2, 6, 4210752);
this.fontRendererObj.drawString(I18n.format("container.inventory"), 8, this.ySize - 96 + 2, 4210752);
@ -39,13 +49,14 @@ public class GUIMachineReactor extends GuiContainer {
Minecraft.getMinecraft().getTextureManager().bindTexture(texture);
drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize);
if(diFurnace.hasPower())
{
if(breeder.hasPower())
drawTexturedModalRect(guiLeft + 55, guiTop + 35, 176, 0, 18, 16);
}
int j1 = diFurnace.getDiFurnaceProgressScaled(24);
drawTexturedModalRect(guiLeft + 79, guiTop + 34, 176, 16, j1 + 1, 17);
int i = breeder.getProgressScaled(23);
drawTexturedModalRect(guiLeft + 80, guiTop + 34, 176, 16, i, 16);
int j = breeder.getHeatScaled(16);
drawTexturedModalRect(guiLeft + 48, guiTop + 51 - j, 194, 16 - j, 4, j);
}
}

View File

@ -3,10 +3,12 @@ package com.hbm.items.machine;
import java.util.List;
import com.hbm.items.special.ItemRadioactive;
import com.hbm.lib.Library;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.util.EnumChatFormatting;
public class ItemFuelRod extends ItemRadioactive {
@ -17,17 +19,16 @@ public class ItemFuelRod extends ItemRadioactive {
super(radiation, false, blinding);
this.lifeTime = life;
this.heat = heat;
this.setMaxDamage(100);
this.canRepair = false;
}
@Override
public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool)
{
list.add("Used in nuclear reactor");
list.add(EnumChatFormatting.YELLOW + "[Reactor Fuel Rod]");
list.add("Generates " + heat + " heat per tick");
list.add("Lasts " + lifeTime + " ticks");
list.add(EnumChatFormatting.DARK_AQUA + " Generates " + heat + " heat per tick");
list.add(EnumChatFormatting.DARK_AQUA + " Lasts " + Library.getShortNumber(lifeTime) + " ticks");
super.addInformation(itemstack, player, list, bool);
}
@ -39,14 +40,6 @@ public class ItemFuelRod extends ItemRadioactive {
stack.stackTagCompound.setInteger("life", time);
}
public static void updateDamage(ItemStack stack) {
if(!stack.hasTagCompound())
stack.stackTagCompound = new NBTTagCompound();
stack.setItemDamage((int)((double)getLifeTime(stack) / (double)((ItemFuelRod)stack.getItem()).lifeTime * 100D));
}
public static int getLifeTime(ItemStack stack) {
if(!stack.hasTagCompound()) {
stack.stackTagCompound = new NBTTagCompound();
@ -55,5 +48,14 @@ public class ItemFuelRod extends ItemRadioactive {
return stack.stackTagCompound.getInteger("life");
}
public boolean showDurabilityBar(ItemStack stack) {
return true;
}
public double getDurabilityForDisplay(ItemStack stack)
{
return (double)getLifeTime(stack) / (double)((ItemFuelRod)stack.getItem()).lifeTime;
}
}

View File

@ -84,213 +84,6 @@ public class ItemCustomLore extends Item {
list.add("Used in multi purpose bombs:");
list.add("*cough cough* Halp pls!");
}
if(this == ModItems.rod_uranium)
{
list.add("Worth 0 operations in breeding reactor");
list.add("Worth 0 operations in nuclear powered furnace");
list.add("Turns into Plutonium Rod");
}
if(this == ModItems.rod_u235)
{
list.add("Worth 3 operations in breeding reactor");
list.add("Worth 15 operations in nuclear powered furnace");
list.add("Turns into Neptunium Rod");
}
if(this == ModItems.rod_u238)
{
list.add("Worth 1 operation in breeding reactor");
list.add("Worth 5 operations in nuclear powered furnace");
list.add("Turns into Plutonium 239 Rod");
}
if(this == ModItems.rod_neptunium)
{
list.add("Worth 3 operations in breeding reactor");
list.add("Worth 15 operations in nuclear powered furnace");
list.add("Turns into Plutonium 238 Rod");
}
if(this == ModItems.rod_plutonium)
{
list.add("Worth 0 operations in breeding reactor");
list.add("Worth 0 operations in nuclear powered furnace");
list.add("Turns into Lead Rod");
}
if(this == ModItems.rod_pu238)
{
list.add("Worth 5 operations in breeding reactor");
list.add("Worth 25 operations in nuclear powered furnace");
list.add("Turns into Plutonium 239 Rod");
}
if(this == ModItems.rod_pu239)
{
list.add("Worth 3 operations in breeding reactor");
list.add("Worth 15 operations in nuclear powered furnace");
list.add("Turns into Plutonium 240 Rod");
}
if(this == ModItems.rod_pu240)
{
list.add("Worth 1 operation in breeding reactor");
list.add("Worth 5 operations in nuclear powered furnace");
list.add("Turns into Lead Rod");
}
if(this == ModItems.rod_schrabidium)
{
list.add("Worth 15 operations in breeding reactor");
list.add("Worth 75 operations in nuclear powered furnace");
list.add("Turns into Solinium Rod");
}
if(this == ModItems.rod_solinium)
{
list.add("Worth 20 operations in breeding reactor");
list.add("Worth 100 operations in nuclear powered furnace");
}
if(this == ModItems.rod_dual_uranium)
{
list.add("Worth 0 operations in breeding reactor");
list.add("Worth 0 operations in nuclear powered furnace");
list.add("Turns into Dual Plutonium Rod");
}
if(this == ModItems.rod_dual_u235)
{
list.add("Worth 6 operations in breeding reactor");
list.add("Worth 30 operations in nuclear powered furnace");
list.add("Turns into Dual Neptunium Rod");
}
if(this == ModItems.rod_dual_u238)
{
list.add("Worth 2 operations in breeding reactor");
list.add("Worth 10 operations in nuclear powered furnace");
list.add("Turns into Dual Plutonium 239 Rod");
}
if(this == ModItems.rod_dual_neptunium)
{
list.add("Worth 6 operations in breeding reactor");
list.add("Worth 30 operations in nuclear powered furnace");
list.add("Turns into Dual Plutonium 238 Rod");
}
if(this == ModItems.rod_dual_plutonium)
{
list.add("Worth 0 operations in breeding reactor");
list.add("Worth 0 operations in nuclear powered furnace");
list.add("Turns into Dual Lead Rod");
}
if(this == ModItems.rod_dual_pu238)
{
list.add("Worth 10 operations in breeding reactor");
list.add("Worth 50 operations in nuclear powered furnace");
list.add("Turns into Dual Plutonium 239 Rod");
}
if(this == ModItems.rod_dual_pu239)
{
list.add("Worth 6 operations in breeding reactor");
list.add("Worth 30 operations in nuclear powered furnace");
list.add("Turns into Dual Plutonium 240 Rod");
}
if(this == ModItems.rod_dual_pu240)
{
list.add("Worth 2 operations in breeding reactor");
list.add("Worth 10 operations in nuclear powered furnace");
list.add("Turns into Dual Lead Rod");
}
if(this == ModItems.rod_dual_schrabidium)
{
list.add("Worth 30 operations in breeding reactor");
list.add("Worth 150 operations in nuclear powered furnace");
list.add("Turns into Dual Solinium Rod");
}
if(this == ModItems.rod_dual_solinium)
{
list.add("Worth 40 operations in breeding reactor");
list.add("Worth 200 operations in nuclear powered furnace");
}
if(this == ModItems.rod_quad_uranium)
{
list.add("Worth 0 operations in breeding reactor");
list.add("Worth 0 operations in nuclear powered furnace");
list.add("Turns into Quad Plutonium Rod");
}
if(this == ModItems.rod_quad_u235)
{
list.add("Worth 12 operations in breeding reactor");
list.add("Worth 60 operations in nuclear powered furnace");
list.add("Turns into Quad Neptunium Rod");
}
if(this == ModItems.rod_quad_u238)
{
list.add("Worth 4 operations in breeding reactor");
list.add("Worth 20 operations in nuclear powered furnace");
list.add("Turns into Quad Plutonium 239 Rod");
}
if(this == ModItems.rod_quad_neptunium)
{
list.add("Worth 12 operations in breeding reactor");
list.add("Worth 60 operations in nuclear powered furnace");
list.add("Turns into Quad Plutonium 238 Rod");
}
if(this == ModItems.rod_quad_plutonium)
{
list.add("Worth 0 operations in breeding reactor");
list.add("Worth 0 operations in nuclear powered furnace");
list.add("Turns into Quad Lead Rod");
}
if(this == ModItems.rod_quad_pu238)
{
list.add("Worth 20 operations in breeding reactor");
list.add("Worth 100 operations in nuclear powered furnace");
list.add("Turns into Quad Plutonium 239 Rod");
}
if(this == ModItems.rod_quad_pu239)
{
list.add("Worth 12 operations in breeding reactor");
list.add("Worth 60 operations in nuclear powered furnace");
list.add("Turns into Quad Plutonium 240 Rod");
}
if(this == ModItems.rod_quad_pu240)
{
list.add("Worth 4 operations in breeding reactor");
list.add("Worth 20 operations in nuclear powered furnace");
list.add("Turns into Quad Lead Rod");
}
if(this == ModItems.rod_quad_schrabidium)
{
list.add("Worth 60 operations in breeding reactor");
list.add("Worth 300 operations in nuclear powered furnace");
list.add("Turns into Quad Solinium Rod");
}
if(this == ModItems.rod_quad_solinium)
{
list.add("Worth 80 operations in breeding reactor");
list.add("Worth 400 operations in nuclear powered furnace");
}
if(this == ModItems.igniter)
{

View File

@ -3,6 +3,7 @@ package com.hbm.items.special;
import java.util.List;
import com.hbm.handler.ArmorUtil;
import com.hbm.inventory.BreederRecipes;
import com.hbm.lib.Library;
import net.minecraft.entity.Entity;
@ -72,5 +73,12 @@ public class ItemRadioactive extends ItemCustomLore {
if(blinding)
list.add(EnumChatFormatting.DARK_AQUA + "[Blinding]");
int[] breeder = BreederRecipes.getFuelValue(stack);
if(breeder != null) {
list.add(BreederRecipes.getHEATString("[Provides " + breeder[0] + " HEAT]", breeder[0]));
list.add(EnumChatFormatting.YELLOW + "Worth " + breeder[1] + " operations in breeding reactor");
}
}
}

View File

@ -106,6 +106,7 @@ public class CraftingManager {
GameRegistry.addRecipe(new ItemStack(ModBlocks.block_u238, 1), new Object[] { "###", "###", "###", '#', ModItems.ingot_u238 });
GameRegistry.addRecipe(new ItemStack(ModBlocks.block_uranium_fuel, 1), new Object[] { "###", "###", "###", '#', ModItems.ingot_uranium_fuel });
GameRegistry.addRecipe(new ItemStack(ModBlocks.block_neptunium, 1), new Object[] { "###", "###", "###", '#', ModItems.ingot_neptunium });
GameRegistry.addRecipe(new ItemStack(ModBlocks.block_polonium, 1), new Object[] { "###", "###", "###", '#', ModItems.ingot_polonium });
GameRegistry.addRecipe(new ItemStack(ModBlocks.block_plutonium, 1), new Object[] { "###", "###", "###", '#', ModItems.ingot_plutonium });
GameRegistry.addRecipe(new ItemStack(ModBlocks.block_pu238, 1), new Object[] { "###", "###", "###", '#', ModItems.ingot_pu238 });
GameRegistry.addRecipe(new ItemStack(ModBlocks.block_pu239, 1), new Object[] { "###", "###", "###", '#', ModItems.ingot_pu239 });
@ -171,6 +172,7 @@ public class CraftingManager {
GameRegistry.addRecipe(new ItemStack(ModItems.ingot_u238, 9), new Object[] { "#", '#', ModBlocks.block_u238 });
GameRegistry.addRecipe(new ItemStack(ModItems.ingot_uranium_fuel, 9), new Object[] { "#", '#', ModBlocks.block_uranium_fuel });
GameRegistry.addRecipe(new ItemStack(ModItems.ingot_neptunium, 9), new Object[] { "#", '#', ModBlocks.block_neptunium });
GameRegistry.addRecipe(new ItemStack(ModItems.ingot_polonium, 9), new Object[] { "#", '#', ModBlocks.block_polonium });
GameRegistry.addRecipe(new ItemStack(ModItems.ingot_plutonium, 9), new Object[] { "#", '#', ModBlocks.block_plutonium });
GameRegistry.addRecipe(new ItemStack(ModItems.ingot_pu238, 9), new Object[] { "#", '#', ModBlocks.block_pu238 });
GameRegistry.addRecipe(new ItemStack(ModItems.ingot_pu239, 9), new Object[] { "#", '#', ModBlocks.block_pu239 });
@ -207,6 +209,8 @@ public class CraftingManager {
GameRegistry.addRecipe(new ItemStack(ModItems.nugget_u238, 9), new Object[] { "#", '#', ModItems.ingot_u238 });
GameRegistry.addRecipe(new ItemStack(ModItems.ingot_neptunium, 1), new Object[] { "###", "###", "###", '#', ModItems.nugget_neptunium });
GameRegistry.addRecipe(new ItemStack(ModItems.nugget_neptunium, 9), new Object[] { "#", '#', ModItems.ingot_neptunium });
GameRegistry.addRecipe(new ItemStack(ModItems.ingot_polonium, 1), new Object[] { "###", "###", "###", '#', ModItems.nugget_polonium });
GameRegistry.addRecipe(new ItemStack(ModItems.nugget_polonium, 9), new Object[] { "#", '#', ModItems.ingot_polonium });
GameRegistry.addRecipe(new ItemStack(ModItems.ingot_lead, 1), new Object[] { "###", "###", "###", '#', ModItems.nugget_lead });
GameRegistry.addRecipe(new ItemStack(ModItems.nugget_lead, 9), new Object[] { "#", '#', ModItems.ingot_lead });
GameRegistry.addRecipe(new ItemStack(ModItems.ingot_beryllium, 1), new Object[] { "###", "###", "###", '#', ModItems.nugget_beryllium });
@ -275,6 +279,7 @@ public class CraftingManager {
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_pu239, 1), new Object[] { ModItems.rod_empty, ModItems.nugget_pu239, ModItems.nugget_pu239, ModItems.nugget_pu239, ModItems.nugget_pu239, ModItems.nugget_pu239, ModItems.nugget_pu239 });
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_pu240, 1), new Object[] { ModItems.rod_empty, ModItems.nugget_pu240, ModItems.nugget_pu240, ModItems.nugget_pu240, ModItems.nugget_pu240, ModItems.nugget_pu240, ModItems.nugget_pu240 });
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_neptunium, 1), new Object[] { ModItems.rod_empty, ModItems.nugget_neptunium, ModItems.nugget_neptunium, ModItems.nugget_neptunium, ModItems.nugget_neptunium, ModItems.nugget_neptunium, ModItems.nugget_neptunium });
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_polonium, 1), new Object[] { ModItems.rod_empty, ModItems.nugget_polonium, ModItems.nugget_polonium, ModItems.nugget_polonium, ModItems.nugget_polonium, ModItems.nugget_polonium, ModItems.nugget_polonium });
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_lead, 1), new Object[] { ModItems.rod_empty, ModItems.nugget_lead, ModItems.nugget_lead, ModItems.nugget_lead, ModItems.nugget_lead, ModItems.nugget_lead, ModItems.nugget_lead });
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_schrabidium, 1), new Object[] { ModItems.rod_empty, ModItems.nugget_schrabidium, ModItems.nugget_schrabidium, ModItems.nugget_schrabidium, ModItems.nugget_schrabidium, ModItems.nugget_schrabidium, ModItems.nugget_schrabidium });
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_solinium, 1), new Object[] { ModItems.rod_empty, ModItems.nugget_solinium, ModItems.nugget_solinium, ModItems.nugget_solinium, ModItems.nugget_solinium, ModItems.nugget_solinium, ModItems.nugget_solinium });
@ -303,6 +308,7 @@ public class CraftingManager {
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_dual_pu239, 1), new Object[] { ModItems.rod_dual_empty, ModItems.ingot_pu239, ModItems.nugget_pu239, ModItems.nugget_pu239, ModItems.nugget_pu239 });
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_dual_pu240, 1), new Object[] { ModItems.rod_dual_empty, ModItems.ingot_pu240, ModItems.nugget_pu240, ModItems.nugget_pu240, ModItems.nugget_pu240 });
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_dual_neptunium, 1), new Object[] { ModItems.rod_dual_empty, ModItems.ingot_neptunium, ModItems.nugget_neptunium, ModItems.nugget_neptunium, ModItems.nugget_neptunium });
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_dual_polonium, 1), new Object[] { ModItems.rod_dual_empty, ModItems.ingot_polonium, ModItems.nugget_polonium, ModItems.nugget_polonium, ModItems.nugget_polonium });
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_dual_lead, 1), new Object[] { ModItems.rod_dual_empty, ModItems.ingot_lead, ModItems.nugget_lead, ModItems.nugget_lead, ModItems.nugget_lead });
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_dual_schrabidium, 1), new Object[] { ModItems.rod_dual_empty, ModItems.ingot_schrabidium, ModItems.nugget_schrabidium, ModItems.nugget_schrabidium, ModItems.nugget_schrabidium });
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_dual_solinium, 1), new Object[] { ModItems.rod_dual_empty, ModItems.ingot_solinium, ModItems.nugget_solinium, ModItems.nugget_solinium, ModItems.nugget_solinium });
@ -332,6 +338,7 @@ public class CraftingManager {
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_quad_pu239, 1), new Object[] { ModItems.rod_quad_empty, ModItems.ingot_pu239, ModItems.ingot_pu239, ModItems.nugget_pu239, ModItems.nugget_pu239, ModItems.nugget_pu239, ModItems.nugget_pu239, ModItems.nugget_pu239, ModItems.nugget_pu239 });
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_quad_pu240, 1), new Object[] { ModItems.rod_quad_empty, ModItems.ingot_pu240, ModItems.ingot_pu240, ModItems.nugget_pu240, ModItems.nugget_pu240, ModItems.nugget_pu240, ModItems.nugget_pu240, ModItems.nugget_pu240, ModItems.nugget_pu240 });
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_quad_neptunium, 1), new Object[] { ModItems.rod_quad_empty, ModItems.ingot_neptunium, ModItems.ingot_neptunium, ModItems.nugget_neptunium, ModItems.nugget_neptunium, ModItems.nugget_neptunium, ModItems.nugget_neptunium, ModItems.nugget_neptunium, ModItems.nugget_neptunium });
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_quad_polonium, 1), new Object[] { ModItems.rod_quad_empty, ModItems.ingot_polonium, ModItems.ingot_polonium, ModItems.nugget_polonium, ModItems.nugget_polonium, ModItems.nugget_polonium, ModItems.nugget_polonium, ModItems.nugget_polonium, ModItems.nugget_polonium });
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_quad_lead, 1), new Object[] { ModItems.rod_quad_empty, ModItems.ingot_lead, ModItems.ingot_lead, ModItems.nugget_lead, ModItems.nugget_lead, ModItems.nugget_lead, ModItems.nugget_lead, ModItems.nugget_lead, ModItems.nugget_lead });
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_quad_schrabidium, 1), new Object[] { ModItems.rod_quad_empty, ModItems.ingot_schrabidium, ModItems.ingot_schrabidium, ModItems.nugget_schrabidium, ModItems.nugget_schrabidium, ModItems.nugget_schrabidium, ModItems.nugget_schrabidium, ModItems.nugget_schrabidium, ModItems.nugget_schrabidium });
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_quad_solinium, 1), new Object[] { ModItems.rod_quad_empty, ModItems.ingot_solinium, ModItems.ingot_solinium, ModItems.nugget_solinium, ModItems.nugget_solinium, ModItems.nugget_solinium, ModItems.nugget_solinium, ModItems.nugget_solinium, ModItems.nugget_solinium });
@ -355,6 +362,7 @@ public class CraftingManager {
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nugget_pu239, 6), new Object[] { ModItems.rod_pu239 });
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nugget_pu240, 6), new Object[] { ModItems.rod_pu240 });
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nugget_neptunium, 6), new Object[] { ModItems.rod_neptunium });
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nugget_polonium, 6), new Object[] { ModItems.rod_polonium });
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nugget_lead, 6), new Object[] { ModItems.rod_lead });
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nugget_schrabidium, 6), new Object[] { ModItems.rod_schrabidium });
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nugget_solinium, 6), new Object[] { ModItems.rod_solinium });
@ -381,6 +389,7 @@ public class CraftingManager {
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nugget_pu239, 12), new Object[] { ModItems.rod_dual_pu239 });
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nugget_pu240, 12), new Object[] { ModItems.rod_dual_pu240 });
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nugget_neptunium, 12), new Object[] { ModItems.rod_dual_neptunium });
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nugget_polonium, 12), new Object[] { ModItems.rod_dual_polonium });
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nugget_lead, 12), new Object[] { ModItems.rod_dual_lead });
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nugget_schrabidium, 12), new Object[] { ModItems.rod_dual_schrabidium });
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nugget_solinium, 12), new Object[] { ModItems.rod_dual_solinium });
@ -400,6 +409,7 @@ public class CraftingManager {
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nugget_pu239, 24), new Object[] { ModItems.rod_quad_pu239 });
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nugget_pu240, 24), new Object[] { ModItems.rod_quad_pu240 });
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nugget_neptunium, 24), new Object[] { ModItems.rod_quad_neptunium });
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nugget_polonium, 24), new Object[] { ModItems.rod_quad_polonium });
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nugget_lead, 24), new Object[] { ModItems.rod_quad_lead });
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nugget_schrabidium, 24), new Object[] { ModItems.rod_quad_schrabidium });
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nugget_solinium, 24), new Object[] { ModItems.rod_quad_solinium });
@ -1501,6 +1511,7 @@ public class CraftingManager {
GameRegistry.addShapelessRecipe(new ItemStack(ModBlocks.waste_trinitite), new Object[] { new ItemStack(Blocks.sand, 1, 0), ModItems.trinitite });
GameRegistry.addShapelessRecipe(new ItemStack(ModBlocks.waste_trinitite_red), new Object[] { new ItemStack(Blocks.sand, 1, 1), ModItems.trinitite });
GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModBlocks.sand_uranium), new Object[] { "sand", "dustUranium" }));
GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModBlocks.sand_polonium), new Object[] { "sand", "dustPolonium" }));
GameRegistry.addRecipe(new ItemStack(ModItems.rune_blank, 1), new Object[] { "PSP", "SDS", "PSP", 'P', ModItems.powder_magic, 'S', ModItems.ingot_starmetal, 'D', ModItems.dynosphere_dineutronium_charged });
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rune_isa, 1), new Object[] { ModItems.rune_blank, ModItems.powder_spark_mix, ModItems.singularity_counter_resonant });
@ -1588,6 +1599,7 @@ public class CraftingManager {
GameRegistry.addSmelting(ModItems.powder_lead, new ItemStack(ModItems.ingot_lead), 1.0F);
GameRegistry.addSmelting(ModItems.powder_neptunium, new ItemStack(ModItems.ingot_neptunium), 1.0F);
GameRegistry.addSmelting(ModItems.powder_polonium, new ItemStack(ModItems.ingot_polonium), 1.0F);
GameRegistry.addSmelting(ModItems.powder_schrabidium, new ItemStack(ModItems.ingot_schrabidium), 5.0F);
GameRegistry.addSmelting(ModItems.powder_euphemium, new ItemStack(ModItems.ingot_euphemium), 10.0F);
GameRegistry.addSmelting(ModItems.powder_aluminium, new ItemStack(ModItems.ingot_aluminium), 1.0F);
@ -1626,6 +1638,7 @@ public class CraftingManager {
GameRegistry.addSmelting(new ItemStack(ModBlocks.gravel_obsidian), new ItemStack(Blocks.obsidian), 0.0F);
GameRegistry.addSmelting(new ItemStack(ModBlocks.gravel_diamond), new ItemStack(Items.diamond), 3.0F);
GameRegistry.addSmelting(new ItemStack(ModBlocks.sand_uranium), new ItemStack(ModBlocks.glass_uranium), 0.25F);
GameRegistry.addSmelting(new ItemStack(ModBlocks.sand_polonium), new ItemStack(ModBlocks.glass_polonium), 0.75F);
GameRegistry.addSmelting(new ItemStack(ModBlocks.waste_trinitite), new ItemStack(ModBlocks.glass_trinitite), 0.25F);
GameRegistry.addSmelting(new ItemStack(ModBlocks.waste_trinitite_red), new ItemStack(ModBlocks.glass_trinitite), 0.25F);

View File

@ -20,7 +20,6 @@ import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.common.config.Configuration;
import net.minecraftforge.common.config.Property;
import net.minecraftforge.common.util.EnumHelper;
import net.minecraftforge.oredict.OreDictionary;
import cpw.mods.fml.common.FMLCommonHandler;
import cpw.mods.fml.common.Mod;
import cpw.mods.fml.common.Mod.EventHandler;
@ -1101,230 +1100,7 @@ public class MainRegistry
//MUST be initialized AFTER achievements!!
BobmazonOfferFactory.init();
OreDictionary.registerOre("ingotUranium", ModItems.ingot_uranium);
OreDictionary.registerOre("ingotUranium233", ModItems.ingot_u233);
OreDictionary.registerOre("ingotUranium235", ModItems.ingot_u235);
OreDictionary.registerOre("ingotUranium238", ModItems.ingot_u238);
OreDictionary.registerOre("ingotThorium", ModItems.ingot_th232);
OreDictionary.registerOre("ingotThorium232", ModItems.ingot_th232);
OreDictionary.registerOre("ingotPlutonium", ModItems.ingot_plutonium);
OreDictionary.registerOre("ingotPlutonium238", ModItems.ingot_pu238);
OreDictionary.registerOre("ingotPlutonium239", ModItems.ingot_pu239);
OreDictionary.registerOre("ingotPlutonium240", ModItems.ingot_pu240);
OreDictionary.registerOre("U233", ModItems.ingot_u233);
OreDictionary.registerOre("U235", ModItems.ingot_u235);
OreDictionary.registerOre("U238", ModItems.ingot_u238);
OreDictionary.registerOre("Th232", ModItems.ingot_th232);
OreDictionary.registerOre("Pu238", ModItems.ingot_pu238);
OreDictionary.registerOre("Pu239", ModItems.ingot_pu239);
OreDictionary.registerOre("Pu240", ModItems.ingot_pu240);
OreDictionary.registerOre("ingotTitanium", ModItems.ingot_titanium);
OreDictionary.registerOre("ingotSchrabidium", ModItems.ingot_schrabidium);
OreDictionary.registerOre("dustSchrabidium", ModItems.powder_schrabidium);
OreDictionary.registerOre("dustSulfur", ModItems.sulfur);
OreDictionary.registerOre("dustNiter", ModItems.niter);
OreDictionary.registerOre("dustSalpeter", ModItems.niter);
OreDictionary.registerOre("dustLead", ModItems.powder_lead);
OreDictionary.registerOre("dustNeptunium", ModItems.powder_neptunium);
OreDictionary.registerOre("ingotCopper", ModItems.ingot_copper);
OreDictionary.registerOre("ingotRedCopperAlloy", ModItems.ingot_red_copper);
OreDictionary.registerOre("ingotAdvanced", ModItems.ingot_advanced_alloy);
OreDictionary.registerOre("ingotAdvancedAlloy", ModItems.ingot_advanced_alloy);
OreDictionary.registerOre("ingotTungsten", ModItems.ingot_tungsten);
OreDictionary.registerOre("ingotAluminum", ModItems.ingot_aluminium);
OreDictionary.registerOre("ingotBeryllium", ModItems.ingot_beryllium);
OreDictionary.registerOre("ingotCobalt", ModItems.ingot_cobalt);
OreDictionary.registerOre("ingotNeptunium", ModItems.ingot_neptunium);
OreDictionary.registerOre("ingotLead", ModItems.ingot_lead);
OreDictionary.registerOre("ingotLithium", ModItems.lithium);
OreDictionary.registerOre("ingotMagnetizedTungsten", ModItems.ingot_magnetized_tungsten);
OreDictionary.registerOre("ingotCMBSteel", ModItems.ingot_combine_steel);
OreDictionary.registerOre("ingotAustralium", ModItems.ingot_australium);
OreDictionary.registerOre("ingotWeidanium", ModItems.ingot_weidanium);
OreDictionary.registerOre("ingotReiium", ModItems.ingot_reiium);
OreDictionary.registerOre("ingotUnobtainium", ModItems.ingot_unobtainium);
OreDictionary.registerOre("ingotDaffergon", ModItems.ingot_daffergon);
OreDictionary.registerOre("ingotVerticium", ModItems.ingot_verticium);
OreDictionary.registerOre("ingotDuraSteel", ModItems.ingot_dura_steel);
OreDictionary.registerOre("ingotPolymer", ModItems.ingot_polymer);
OreDictionary.registerOre("ingotLanthanium", ModItems.ingot_lanthanium);
OreDictionary.registerOre("ingotActinium", ModItems.ingot_actinium);
OreDictionary.registerOre("ingotDesh", ModItems.ingot_desh);
OreDictionary.registerOre("ingotSaturnite", ModItems.ingot_saturnite);
OreDictionary.registerOre("ingotEuphemium", ModItems.ingot_euphemium);
OreDictionary.registerOre("ingotDineutronium", ModItems.ingot_dineutronium);
OreDictionary.registerOre("ingotStarmetal", ModItems.ingot_starmetal);
OreDictionary.registerOre("dustFluorite", ModItems.fluorite);
OreDictionary.registerOre("nuggetLead", ModItems.nugget_lead);
OreDictionary.registerOre("nuggetUranium", ModItems.nugget_uranium);
OreDictionary.registerOre("nuggetUranium233", ModItems.nugget_u233);
OreDictionary.registerOre("nuggetUranium235", ModItems.nugget_u235);
OreDictionary.registerOre("nuggetUranium238", ModItems.nugget_u238);
OreDictionary.registerOre("nuggetThorium", ModItems.nugget_th232);
OreDictionary.registerOre("nuggetThorium232", ModItems.nugget_th232);
OreDictionary.registerOre("nuggetPlutonium", ModItems.nugget_plutonium);
OreDictionary.registerOre("nuggetPlutonium238", ModItems.nugget_pu238);
OreDictionary.registerOre("nuggetPlutonium239", ModItems.nugget_pu239);
OreDictionary.registerOre("nuggetPlutonium240", ModItems.nugget_pu240);
OreDictionary.registerOre("nuggetAustralium", ModItems.nugget_australium);
OreDictionary.registerOre("nuggetWeidanium", ModItems.nugget_weidanium);
OreDictionary.registerOre("nuggetReiium", ModItems.nugget_reiium);
OreDictionary.registerOre("nuggetUnobtainium", ModItems.nugget_unobtainium);
OreDictionary.registerOre("nuggetDaffergon", ModItems.nugget_daffergon);
OreDictionary.registerOre("nuggetVerticium", ModItems.nugget_verticium);
OreDictionary.registerOre("nuggetEuphemium", ModItems.nugget_euphemium);
OreDictionary.registerOre("tinyU233", ModItems.nugget_u233);
OreDictionary.registerOre("tinyU235", ModItems.nugget_u235);
OreDictionary.registerOre("tinyU238", ModItems.nugget_u238);
OreDictionary.registerOre("tinyTh232", ModItems.nugget_th232);
OreDictionary.registerOre("tinyPu238", ModItems.nugget_pu238);
OreDictionary.registerOre("tinyPu239", ModItems.nugget_pu239);
OreDictionary.registerOre("tinyPu240", ModItems.nugget_pu240);
OreDictionary.registerOre("nuggetNeptunium", ModItems.nugget_neptunium);
OreDictionary.registerOre("nuggetSchrabidium", ModItems.nugget_schrabidium);
OreDictionary.registerOre("plateTitanium", ModItems.plate_titanium);
OreDictionary.registerOre("plateAluminum", ModItems.plate_aluminium);
OreDictionary.registerOre("plateDenseLead", ModItems.neutron_reflector);
OreDictionary.registerOre("ingotSteel", ModItems.ingot_steel);
OreDictionary.registerOre("plateSteel", ModItems.plate_steel);
OreDictionary.registerOre("plateLead", ModItems.plate_lead);
OreDictionary.registerOre("plateCopper", ModItems.plate_copper);
OreDictionary.registerOre("plateIron", ModItems.plate_iron);
OreDictionary.registerOre("plateGold", ModItems.plate_gold);
OreDictionary.registerOre("plateAdvanced", ModItems.plate_advanced_alloy);
OreDictionary.registerOre("plateSchrabidium", ModItems.plate_schrabidium);
OreDictionary.registerOre("plateCMBSteel", ModItems.plate_combine_steel);
OreDictionary.registerOre("plateSaturnite", ModItems.plate_saturnite);
OreDictionary.registerOre("dustIron", ModItems.powder_iron);
OreDictionary.registerOre("dustGold", ModItems.powder_gold);
OreDictionary.registerOre("dustUranium", ModItems.powder_uranium);
OreDictionary.registerOre("dustThorium", ModItems.powder_thorium);
OreDictionary.registerOre("dustPlutonium", ModItems.powder_plutonium);
OreDictionary.registerOre("dustTitanium", ModItems.powder_titanium);
OreDictionary.registerOre("dustTungsten", ModItems.powder_tungsten);
OreDictionary.registerOre("dustCopper", ModItems.powder_copper);
OreDictionary.registerOre("dustBeryllium", ModItems.powder_beryllium);
OreDictionary.registerOre("dustAluminum", ModItems.powder_aluminium);
OreDictionary.registerOre("dustDiamond", ModItems.powder_diamond);
OreDictionary.registerOre("dustEmerald", ModItems.powder_emerald);
OreDictionary.registerOre("dustLapis", ModItems.powder_lapis);
OreDictionary.registerOre("dustCoal", ModItems.powder_coal);
OreDictionary.registerOre("dustLignite", ModItems.powder_lignite);
OreDictionary.registerOre("dustAdvanced", ModItems.powder_advanced_alloy);
OreDictionary.registerOre("dustAdvancedAlloy", ModItems.powder_advanced_alloy);
OreDictionary.registerOre("dustCMBSteel", ModItems.powder_combine_steel);
OreDictionary.registerOre("dustMagnetizedTungsten", ModItems.powder_magnetized_tungsten);
OreDictionary.registerOre("dustRedCopperAlloy", ModItems.powder_red_copper);
OreDictionary.registerOre("dustSteel", ModItems.powder_steel);
OreDictionary.registerOre("dustLithium", ModItems.powder_lithium);
OreDictionary.registerOre("dustNetherQuartz", ModItems.powder_quartz);
OreDictionary.registerOre("dustAustralium", ModItems.powder_australium);
OreDictionary.registerOre("dustWeidanium", ModItems.powder_weidanium);
OreDictionary.registerOre("dustReiium", ModItems.powder_reiium);
OreDictionary.registerOre("dustUnobtainium", ModItems.powder_unobtainium);
OreDictionary.registerOre("dustDaffergon", ModItems.powder_daffergon);
OreDictionary.registerOre("dustVerticium", ModItems.powder_verticium);
OreDictionary.registerOre("dustDuraSteel", ModItems.powder_dura_steel);
OreDictionary.registerOre("dustPolymer", ModItems.powder_polymer);
OreDictionary.registerOre("dustLanthanium", ModItems.powder_lanthanium);
OreDictionary.registerOre("dustActinium", ModItems.powder_actinium);
OreDictionary.registerOre("dustDesh", ModItems.powder_desh);
OreDictionary.registerOre("dustEuphemium", ModItems.powder_euphemium);
OreDictionary.registerOre("dustDineutronium", ModItems.powder_dineutronium);
OreDictionary.registerOre("dustNeptunium", ModItems.powder_neptunium);
OreDictionary.registerOre("dustIodine", ModItems.powder_iodine);
OreDictionary.registerOre("dustThorium", ModItems.powder_thorium);
OreDictionary.registerOre("dustAstatine", ModItems.powder_astatine);
OreDictionary.registerOre("dustNeodymium", ModItems.powder_neodymium);
OreDictionary.registerOre("dustCaesium", ModItems.powder_caesium);
OreDictionary.registerOre("dustStrontium", ModItems.powder_strontium);
OreDictionary.registerOre("dustCobalt", ModItems.powder_cobalt);
OreDictionary.registerOre("dustBromine", ModItems.powder_bromine);
OreDictionary.registerOre("dustNiobium", ModItems.powder_niobium);
OreDictionary.registerOre("dustTennessine", ModItems.powder_tennessine);
OreDictionary.registerOre("dustCerium", ModItems.powder_cerium);
OreDictionary.registerOre("nuggetNeodymium", ModItems.fragment_neodymium);
OreDictionary.registerOre("nuggetCobalt", ModItems.fragment_cobalt);
OreDictionary.registerOre("nuggetNiobium", ModItems.fragment_niobium);
OreDictionary.registerOre("nuggetCerium", ModItems.fragment_cerium);
OreDictionary.registerOre("nuggetLanthanium", ModItems.fragment_lanthanium);
OreDictionary.registerOre("nuggetActinium", ModItems.fragment_actinium);
OreDictionary.registerOre("gemCoal", Items.coal);
OreDictionary.registerOre("gemLignite", ModItems.lignite);
OreDictionary.registerOre("oreUranium", ModBlocks.ore_uranium);
OreDictionary.registerOre("oreThorium", ModBlocks.ore_thorium);
OreDictionary.registerOre("oreTitanium", ModBlocks.ore_titanium);
OreDictionary.registerOre("oreSchrabidium", ModBlocks.ore_schrabidium);
OreDictionary.registerOre("oreSulfur", ModBlocks.ore_sulfur);
OreDictionary.registerOre("oreNiter", ModBlocks.ore_niter);
OreDictionary.registerOre("oreSalpeter", ModBlocks.ore_niter);
OreDictionary.registerOre("oreCopper", ModBlocks.ore_copper);
OreDictionary.registerOre("oreTungsten", ModBlocks.ore_tungsten);
OreDictionary.registerOre("oreAluminum", ModBlocks.ore_aluminium);
OreDictionary.registerOre("oreFluorite", ModBlocks.ore_fluorite);
OreDictionary.registerOre("oreLead", ModBlocks.ore_lead);
OreDictionary.registerOre("oreBeryllium", ModBlocks.ore_beryllium);
OreDictionary.registerOre("oreLignite", ModBlocks.ore_lignite);
OreDictionary.registerOre("oreAustralium", ModBlocks.ore_australium);
OreDictionary.registerOre("oreWeidanium", ModBlocks.ore_weidanium);
OreDictionary.registerOre("oreReiium", ModBlocks.ore_reiium);
OreDictionary.registerOre("oreUnobtainium", ModBlocks.ore_unobtainium);
OreDictionary.registerOre("oreDaffergon", ModBlocks.ore_daffergon);
OreDictionary.registerOre("oreVerticium", ModBlocks.ore_verticium);
OreDictionary.registerOre("oreRareEarth", ModBlocks.ore_rare);
OreDictionary.registerOre("oreUranium", ModBlocks.ore_nether_uranium);
OreDictionary.registerOre("orePlutonium", ModBlocks.ore_nether_plutonium);
OreDictionary.registerOre("oreTungsten", ModBlocks.ore_nether_tungsten);
OreDictionary.registerOre("oreSulfur", ModBlocks.ore_nether_sulfur);
OreDictionary.registerOre("oreSchrabidium", ModBlocks.ore_nether_schrabidium);
OreDictionary.registerOre("oreUranium", ModBlocks.ore_meteor_uranium);
OreDictionary.registerOre("oreThorium", ModBlocks.ore_meteor_thorium);
OreDictionary.registerOre("oreTitanium", ModBlocks.ore_meteor_titanium);
OreDictionary.registerOre("oreSulfur", ModBlocks.ore_meteor_sulfur);
OreDictionary.registerOre("oreCopper", ModBlocks.ore_meteor_copper);
OreDictionary.registerOre("oreTungsten", ModBlocks.ore_meteor_tungsten);
OreDictionary.registerOre("oreAluminum", ModBlocks.ore_meteor_aluminium);
OreDictionary.registerOre("oreLead", ModBlocks.ore_meteor_lead);
OreDictionary.registerOre("oreLithium", ModBlocks.ore_meteor_lithium);
OreDictionary.registerOre("oreStarmetal", ModBlocks.ore_meteor_starmetal);
OreDictionary.registerOre("blockThorium", ModBlocks.block_thorium);
OreDictionary.registerOre("blockUranium", ModBlocks.block_uranium);
OreDictionary.registerOre("blockTitanium", ModBlocks.block_titanium);
OreDictionary.registerOre("blockSulfur", ModBlocks.block_sulfur);
OreDictionary.registerOre("blockNiter", ModBlocks.block_niter);
OreDictionary.registerOre("blockSalpeter", ModBlocks.block_niter);
OreDictionary.registerOre("blockCopper", ModBlocks.block_copper);
OreDictionary.registerOre("blockRedCopperAlloy", ModBlocks.block_red_copper);
OreDictionary.registerOre("blockAdvanced", ModBlocks.block_advanced_alloy);
OreDictionary.registerOre("blockTungsten", ModBlocks.block_tungsten);
OreDictionary.registerOre("blockAluminum", ModBlocks.block_aluminium);
OreDictionary.registerOre("blockFluorite", ModBlocks.block_fluorite);
OreDictionary.registerOre("blockSteel", ModBlocks.block_steel);
OreDictionary.registerOre("blockLead", ModBlocks.block_lead);
OreDictionary.registerOre("blockBeryllium", ModBlocks.block_beryllium);
OreDictionary.registerOre("blockSchrabidium", ModBlocks.block_schrabidium);
OreDictionary.registerOre("blockCMBSteel", ModBlocks.block_combine_steel);
OreDictionary.registerOre("blockMagnetizedTungsten", ModBlocks.block_magnetized_tungsten);
OreDictionary.registerOre("blockAustralium", ModBlocks.block_australium);
OreDictionary.registerOre("blockWeidanium", ModBlocks.block_weidanium);
OreDictionary.registerOre("blockReiium", ModBlocks.block_reiium);
OreDictionary.registerOre("blockUnobtainium", ModBlocks.block_unobtainium);
OreDictionary.registerOre("blockDaffergon", ModBlocks.block_daffergon);
OreDictionary.registerOre("blockVerticium", ModBlocks.block_verticium);
OreDictionary.registerOre("blockDesh", ModBlocks.block_desh);
OreDictionary.registerOre("logWood", ModBlocks.pink_log);
OreDictionary.registerOre("plankWood", ModBlocks.pink_planks);
OreDictionary.registerOre("slabWood", ModBlocks.pink_slab);
OreDictionary.registerOre("stairWood", ModBlocks.pink_stairs);
OreDictManager.registerOres();
}
@EventHandler
@ -1334,6 +1110,8 @@ public class MainRegistry
ShredderRecipes.registerOverrides();
CrystallizerRecipes.register();
CentrifugeRecipes.register();
BreederRecipes.registerFuels();
BreederRecipes.registerRecipes();
FluidContainerRegistry.instance.registerContainer(new FluidContainer(new ItemStack(Items.water_bucket), new ItemStack(Items.bucket), FluidType.WATER, 1000));
FluidContainerRegistry.instance.registerContainer(new FluidContainer(new ItemStack(Items.lava_bucket), new ItemStack(Items.bucket), FluidType.LAVA, 1000));

View File

@ -69,8 +69,6 @@ public class ModEventHandler
@SubscribeEvent
public void onPlayerLogin(PlayerEvent.PlayerLoggedInEvent event) {
System.out.println("eeeeee");
if(!event.player.worldObj.isRemote) {
event.player.addChatMessage(new ChatComponentText("Loaded world with Hbm's Nuclear Tech Mod " + RefStrings.VERSION + " for Minecraft 1.7.10!"));

View File

@ -302,7 +302,6 @@ public class TileEntityMachineGenerator extends TileEntity implements ISidedInve
{
int j = ItemFuelRod.getLifeTime(slots[i]);
ItemFuelRod.setLifeTime(slots[i], j + 1);
ItemFuelRod.updateDamage(slots[i]);
attemptHeat(1);
attemptPower(100);
@ -315,7 +314,6 @@ public class TileEntityMachineGenerator extends TileEntity implements ISidedInve
{
int j = ItemFuelRod.getLifeTime(slots[i]);
ItemFuelRod.setLifeTime(slots[i], j + 1);
ItemFuelRod.updateDamage(slots[i]);
attemptHeat(1);
attemptPower(100);
@ -328,7 +326,6 @@ public class TileEntityMachineGenerator extends TileEntity implements ISidedInve
{
int j = ItemFuelRod.getLifeTime(slots[i]);
ItemFuelRod.setLifeTime(slots[i], j + 1);
ItemFuelRod.updateDamage(slots[i]);
attemptHeat(1);
attemptPower(100);
@ -341,7 +338,6 @@ public class TileEntityMachineGenerator extends TileEntity implements ISidedInve
{
int j = ItemFuelRod.getLifeTime(slots[i]);
ItemFuelRod.setLifeTime(slots[i], j + 1);
ItemFuelRod.updateDamage(slots[i]);
attemptHeat(2);
attemptPower(150);
@ -354,7 +350,6 @@ public class TileEntityMachineGenerator extends TileEntity implements ISidedInve
{
int j = ItemFuelRod.getLifeTime(slots[i]);
ItemFuelRod.setLifeTime(slots[i], j + 1);
ItemFuelRod.updateDamage(slots[i]);
attemptHeat(2);
attemptPower(150);
@ -367,7 +362,6 @@ public class TileEntityMachineGenerator extends TileEntity implements ISidedInve
{
int j = ItemFuelRod.getLifeTime(slots[i]);
ItemFuelRod.setLifeTime(slots[i], j + 1);
ItemFuelRod.updateDamage(slots[i]);
attemptHeat(2);
attemptPower(150);
@ -380,7 +374,6 @@ public class TileEntityMachineGenerator extends TileEntity implements ISidedInve
{
int j = ItemFuelRod.getLifeTime(slots[i]);
ItemFuelRod.setLifeTime(slots[i], j + 1);
ItemFuelRod.updateDamage(slots[i]);
attemptHeat(1);
attemptPower(50);
@ -393,7 +386,6 @@ public class TileEntityMachineGenerator extends TileEntity implements ISidedInve
{
int j = ItemFuelRod.getLifeTime(slots[i]);
ItemFuelRod.setLifeTime(slots[i], j + 1);
ItemFuelRod.updateDamage(slots[i]);
attemptHeat(1);
attemptPower(50);
@ -406,7 +398,6 @@ public class TileEntityMachineGenerator extends TileEntity implements ISidedInve
{
int j = ItemFuelRod.getLifeTime(slots[i]);
ItemFuelRod.setLifeTime(slots[i], j + 1);
ItemFuelRod.updateDamage(slots[i]);
attemptHeat(1);
attemptPower(50);
@ -419,7 +410,6 @@ public class TileEntityMachineGenerator extends TileEntity implements ISidedInve
{
int j = ItemFuelRod.getLifeTime(slots[i]);
ItemFuelRod.setLifeTime(slots[i], j + 1);
ItemFuelRod.updateDamage(slots[i]);
attemptHeat(10);
attemptPower(25000);
@ -432,7 +422,6 @@ public class TileEntityMachineGenerator extends TileEntity implements ISidedInve
{
int j = ItemFuelRod.getLifeTime(slots[i]);
ItemFuelRod.setLifeTime(slots[i], j + 1);
ItemFuelRod.updateDamage(slots[i]);
attemptHeat(10);
attemptPower(25000);
@ -445,7 +434,6 @@ public class TileEntityMachineGenerator extends TileEntity implements ISidedInve
{
int j = ItemFuelRod.getLifeTime(slots[i]);
ItemFuelRod.setLifeTime(slots[i], j + 1);
ItemFuelRod.updateDamage(slots[i]);
attemptHeat(10);
attemptPower(25000);

View File

@ -1,21 +1,18 @@
package com.hbm.tileentity.machine;
import com.hbm.blocks.machine.MachineReactor;
import com.hbm.inventory.MachineRecipes;
import com.hbm.items.ModItems;
import com.hbm.inventory.BreederRecipes;
import com.hbm.inventory.BreederRecipes.BreederRecipe;
import com.hbm.tileentity.TileEntityMachineBase;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.nbt.NBTTagList;
public class TileEntityMachineReactor extends TileEntityMachineBase {
private ItemStack slots[];
public int progress;
public int charge;
public int heat;
public static final int maxPower = 1000;
public static final int processingSpeed = 1000;
@ -40,197 +37,111 @@ public class TileEntityMachineReactor extends TileEntityMachineBase {
}
@Override
public boolean isItemValidForSlot(int i, ItemStack itemStack) {
return i == 2 ? false : (i == 0 ? hasItemPower(itemStack) : true);
}
public void updateEntity() {
public boolean hasItemPower(ItemStack itemStack) {
return getItemPower(itemStack) > 0;
}
private static int getItemPower(ItemStack itemStack) {
if(itemStack == null) {
return 0;
if(!worldObj.isRemote) {
} else {
boolean markDirty = false;
Item item = itemStack.getItem();
if(item == ModItems.pellet_rtg_weak)
return 1;
if(item == ModItems.pellet_rtg)
return 2;
if(item == ModItems.rod_u238)
return 1;
if(item == ModItems.rod_dual_u238)
return 2;
if(item == ModItems.rod_quad_u238)
return 4;
if(item == ModItems.rod_u235)
return 3;
if(item == ModItems.rod_dual_u235)
return 6;
if(item == ModItems.rod_quad_u235)
return 12;
if(item == ModItems.rod_pu238)
return 5;
if(item == ModItems.rod_dual_pu238)
return 10;
if(item == ModItems.rod_quad_pu238)
return 20;
if(item == ModItems.rod_pu239)
return 3;
if(item == ModItems.rod_dual_pu239)
return 6;
if(item == ModItems.rod_quad_pu239)
return 12;
if(item == ModItems.rod_pu240)
return 1;
if(item == ModItems.rod_dual_pu240)
return 2;
if(item == ModItems.rod_quad_pu240)
return 4;
if(item == ModItems.rod_neptunium)
return 3;
if(item == ModItems.rod_dual_neptunium)
return 6;
if(item == ModItems.rod_quad_neptunium)
return 12;
if(item == ModItems.rod_schrabidium)
return 15;
if(item == ModItems.rod_dual_schrabidium)
return 30;
if(item == ModItems.rod_quad_schrabidium)
return 60;
if(item == ModItems.rod_solinium)
return 20;
if(item == ModItems.rod_dual_solinium)
return 40;
if(item == ModItems.rod_quad_solinium)
return 80;
return 0;
}
}
@Override
public ItemStack decrStackSize(int i, int j) {
if(slots[i] != null) {
if(slots[i].stackSize <= j) {
ItemStack itemStack = slots[i];
slots[i] = null;
return itemStack;
if(charge == 0) {
heat = 0;
}
ItemStack itemStack1 = slots[i].splitStack(j);
if(slots[i].stackSize == 0) {
slots[i] = null;
if(hasItemPower(slots[0]) && charge == 0) {
charge += getItemPower(slots[0]);
heat = getItemHeat(slots[0]);
if(slots[0] != null) {
slots[0].stackSize--;
if(slots[0].stackSize == 0) {
slots[0] = slots[0].getItem().getContainerItem(slots[0]);
}
markDirty = true;
}
}
return itemStack1;
if(hasPower() && canProcess()) {
progress++;
if(this.progress == TileEntityMachineReactor.processingSpeed) {
this.progress = 0;
this.charge--;
this.processItem();
markDirty = true;
}
} else {
progress = 0;
}
boolean trigger = true;
if(hasPower() && canProcess() && this.progress == 0)
trigger = false;
if(trigger) {
markDirty = true;
MachineReactor.updateBlockState(this.progress > 0, this.worldObj, this.xCoord, this.yCoord, this.zCoord);
}
if(markDirty)
this.markDirty();
} else {
return null;
NBTTagCompound data = new NBTTagCompound();
data.setShort("charge", (short)charge);
data.setShort("progress", (short)progress);
data.setByte("heat", (byte)heat);
this.networkPack(data, 20);
}
}
public void networkUnpack(NBTTagCompound data) {
@Override
public void readFromNBT(NBTTagCompound nbt) {
super.readFromNBT(nbt);
NBTTagList list = nbt.getTagList("items", 10);
charge = nbt.getShort("charge");
progress = nbt.getShort("progress");
slots = new ItemStack[getSizeInventory()];
for(int i = 0; i < list.tagCount(); i++) {
NBTTagCompound nbt1 = list.getCompoundTagAt(i);
byte b0 = nbt1.getByte("slot");
if(b0 >= 0 && b0 < slots.length) {
slots[b0] = ItemStack.loadItemStackFromNBT(nbt1);
}
}
}
@Override
public void writeToNBT(NBTTagCompound nbt) {
super.writeToNBT(nbt);
nbt.setShort("charge", (short) charge);
nbt.setShort("progress", (short) progress);
NBTTagList list = new NBTTagList();
for(int i = 0; i < slots.length; i++) {
if(slots[i] != null) {
NBTTagCompound nbt1 = new NBTTagCompound();
nbt1.setByte("slot", (byte) i);
slots[i].writeToNBT(nbt1);
list.appendTag(nbt1);
}
}
nbt.setTag("items", list);
}
@Override
public int[] getAccessibleSlotsFromSide(int side) {
return side == 0 ? slots_bottom : (side == 1 ? slots_top : slots_side);
}
@Override
public boolean canInsertItem(int i, ItemStack itemStack, int j) {
return this.isItemValidForSlot(i, itemStack);
}
@Override
public boolean canExtractItem(int i, ItemStack itemStack, int j) {
if(i == 0) {
if(itemStack.getItem() == ModItems.rod_empty || itemStack.getItem() == ModItems.rod_dual_empty
|| itemStack.getItem() == ModItems.rod_quad_empty) {
return true;
}
return false;
}
return true;
}
public int getDiFurnaceProgressScaled(int i) {
return (progress * i) / processingSpeed;
}
public int getPowerRemainingScaled(int i) {
return (charge * i) / maxPower;
charge = data.getShort("charge");
progress = data.getShort("progress");
heat = data.getByte("heat");
}
public boolean canProcess() {
if(slots[1] == null) {
return false;
}
ItemStack itemStack = MachineRecipes.getReactorProcessingResult(slots[1].getItem());
if(itemStack == null) {
BreederRecipe recipe = BreederRecipes.getOutput(slots[1]);
if(recipe == null)
return false;
}
if(slots[2] == null) {
return true;
}
if(!slots[2].isItemEqual(itemStack)) {
if(this.heat < recipe.heat)
return false;
}
if(slots[2].stackSize < getInventoryStackLimit() && slots[2].stackSize < slots[2].getMaxStackSize()) {
if(slots[2] == null)
return true;
} else {
return slots[2].stackSize < itemStack.getMaxStackSize();
}
if(!slots[2].isItemEqual(recipe.output))
return false;
if(slots[2].stackSize < getInventoryStackLimit() && slots[2].stackSize < slots[2].getMaxStackSize())
return true;
else
return slots[2].stackSize < recipe.output.getMaxStackSize();
}
private void processItem() {
if(canProcess()) {
ItemStack itemStack = MachineRecipes.getReactorProcessingResult(slots[1].getItem());
BreederRecipe rec = BreederRecipes.getOutput(slots[1]);
if(rec == null)
return;
ItemStack itemStack = rec.output;
if(slots[2] == null) {
slots[2] = itemStack.copy();
@ -251,6 +162,62 @@ public class TileEntityMachineReactor extends TileEntityMachineBase {
}
}
public boolean hasItemPower(ItemStack stack) {
return BreederRecipes.getFuelValue(stack) != null;
}
private static int getItemPower(ItemStack stack) {
int[] power = BreederRecipes.getFuelValue(stack);
if(power == null)
return 0;
return power[1];
}
private static int getItemHeat(ItemStack stack) {
int[] power = BreederRecipes.getFuelValue(stack);
if(power == null)
return 0;
return power[0];
}
@Override
public int[] getAccessibleSlotsFromSide(int side) {
return side == 0 ? slots_bottom : (side == 1 ? slots_top : slots_side);
}
@Override
public boolean isItemValidForSlot(int i, ItemStack itemStack) {
return i == 2 ? false : (i == 0 ? hasItemPower(itemStack) : true);
}
@Override
public boolean canExtractItem(int i, ItemStack itemStack, int j) {
if(i == 0) {
if(!hasItemPower(slots[0])) {
return true;
}
return false;
}
return true;
}
public int getProgressScaled(int i) {
return (progress * i) / processingSpeed;
}
public int getHeatScaled(int i) {
return (heat * i) / 4;
}
public boolean hasPower() {
return charge > 0;
}
@ -260,47 +227,21 @@ public class TileEntityMachineReactor extends TileEntityMachineBase {
}
@Override
public void updateEntity() {
this.hasPower();
boolean markDirty = false;
public void readFromNBT(NBTTagCompound nbt) {
super.readFromNBT(nbt);
if(!worldObj.isRemote) {
if(this.hasItemPower(this.slots[0]) && this.charge == 0) {
this.charge += getItemPower(this.slots[0]);
if(this.slots[0] != null) {
markDirty = true;
this.slots[0].stackSize--;
if(this.slots[0].stackSize == 0) {
this.slots[0] = this.slots[0].getItem().getContainerItem(this.slots[0]);
}
}
}
charge = nbt.getShort("charge");
heat = nbt.getShort("heat");
progress = nbt.getShort("progress");
slots = new ItemStack[getSizeInventory()];
}
if(hasPower() && canProcess()) {
progress++;
if(this.progress == TileEntityMachineReactor.processingSpeed) {
this.progress = 0;
this.processItem();
markDirty = true;
}
} else {
progress = 0;
}
boolean trigger = true;
if(hasPower() && canProcess() && this.progress == 0)
trigger = false;
if(trigger) {
markDirty = true;
MachineReactor.updateBlockState(this.progress > 0, this.worldObj, this.xCoord, this.yCoord,
this.zCoord);
}
}
if(markDirty)
this.markDirty();
@Override
public void writeToNBT(NBTTagCompound nbt) {
super.writeToNBT(nbt);
nbt.setShort("charge", (short) charge);
nbt.setShort("heat", (short) heat);
nbt.setShort("progress", (short) progress);
}
}

View File

@ -12,6 +12,7 @@ import com.hbm.interfaces.IFluidContainer;
import com.hbm.interfaces.IFluidSource;
import com.hbm.inventory.FluidTank;
import com.hbm.items.ModItems;
import com.hbm.items.machine.ItemFuelRod;
import com.hbm.lib.Library;
import com.hbm.packet.AuxGaugePacket;
import com.hbm.packet.PacketDispatcher;
@ -433,9 +434,9 @@ public class TileEntityMachineReactorLarge extends TileEntity
}
//Load fuel
if(slots[4] != null && getFuelContent(slots[4].getItem(), type) > 0) {
if(slots[4] != null && getFuelContent(slots[4], type) > 0) {
int cont = getFuelContent(slots[4].getItem(), type) * fuelMult;
int cont = getFuelContent(slots[4], type) * fuelMult;
if(fuel + cont <= maxFuel) {
@ -621,7 +622,7 @@ public class TileEntityMachineReactorLarge extends TileEntity
for(int i = 0; i < chest.getSizeInventory(); i++) {
if(chest.getStackInSlot(i) != null) {
int cont = getFuelContent(chest.getStackInSlot(i).getItem(), type) * fuelMult;
int cont = getFuelContent(chest.getStackInSlot(i), type) * fuelMult;
if(cont > 0 && fuel + cont <= maxFuel) {
@ -639,7 +640,7 @@ public class TileEntityMachineReactorLarge extends TileEntity
for(int i = 0; i < chest.getSizeInventory(); i++) {
if(chest.getStackInSlot(i) != null) {
int cont = getFuelContent(chest.getStackInSlot(i).getItem(), getFuelType(chest.getStackInSlot(i).getItem())) * fuelMult;
int cont = getFuelContent(chest.getStackInSlot(i), getFuelType(chest.getStackInSlot(i).getItem())) * fuelMult;
if(cont > 0 && fuel + cont <= maxFuel) {
@ -905,6 +906,7 @@ public class TileEntityMachineReactorLarge extends TileEntity
}
}
//TODO: turn this steaming hot garbage into hashmaps
static List<ReactorFuelEntry> fuels = new ArrayList();
static List<ReactorWasteEntry> wastes = new ArrayList();
@ -918,11 +920,25 @@ public class TileEntityMachineReactorLarge extends TileEntity
wastes.add(new ReactorWasteEntry(nuggets, type, in, out));
}
public static int getFuelContent(Item item, ReactorFuelType type) {
public static int getFuelContent(ItemStack item, ReactorFuelType type) {
if(item == null)
return 0;
for(ReactorFuelEntry ent : fuels) {
if(ent.item == item && type.toString().equals(ent.type.toString()))
return ent.value;
if(ent.item == item.getItem() && type.toString().equals(ent.type.toString())) {
int value = ent.value;
//if it's a fuel rod that has been used up, multiply by damage and floor it
if(item.getItem() instanceof ItemFuelRod) {
double mult = 1D - ((double)ItemFuelRod.getLifeTime(item) / (double)((ItemFuelRod)item.getItem()).lifeTime);
return (int)Math.floor(mult * value);
}
return value;
}
}
return 0;

View File

@ -526,8 +526,10 @@ public class TileEntityMachineReactorSmall extends TileEntity
} else if(te instanceof TileEntityMachineReactor) {
TileEntityMachineReactor reactor = (TileEntityMachineReactor)te;
if(reactor.charge < 1 && this.coreHeat > 0)
if(reactor.charge <= 1 && this.hullHeat > 0) {
reactor.charge = 1;
reactor.heat = (int)Math.floor(hullHeat * 4 / maxHullHeat) + 1;
}
} else if(te instanceof TileEntityNukeFurnace) {
TileEntityNukeFurnace reactor = (TileEntityNukeFurnace)te;
@ -621,9 +623,8 @@ public class TileEntityMachineReactorSmall extends TileEntity
ItemFuelRod rod = ((ItemFuelRod) slots[id].getItem());
this.coreHeat += rod.heat * coreHeatMod;
ItemFuelRod.setLifeTime(slots[id], ItemFuelRod.getLifeTime(slots[id]) + 1);
ItemFuelRod.updateDamage(slots[id]);
if (ItemFuelRod.getLifeTime(slots[id]) > ((ItemFuelRod) slots[id].getItem()).lifeTime) {
if(ItemFuelRod.getLifeTime(slots[id]) > ((ItemFuelRod) slots[id].getItem()).lifeTime) {
onRunOut(id);
return;
}

View File

@ -484,7 +484,6 @@ public class TileEntityMachineReactorSmallOld extends TileEntity
ItemFuelRod rod = ((ItemFuelRod) slots[id].getItem());
this.coreHeat += rod.heat;
ItemFuelRod.setLifeTime(slots[id], ItemFuelRod.getLifeTime(slots[id]) + 1);
ItemFuelRod.updateDamage(slots[id]);
if (ItemFuelRod.getLifeTime(slots[id]) > ((ItemFuelRod) slots[id].getItem()).lifeTime) {
onRunOut(id);

View File

@ -233,7 +233,6 @@ public class TileEntityReactorMultiblock extends TileEntity implements ISidedInv
{
int j = ItemFuelRod.getLifeTime(slots[i]);
ItemFuelRod.setLifeTime(slots[i], j + 1);
ItemFuelRod.updateDamage(slots[i]);
attemptHeat(1);
attemptPower(250);
@ -246,7 +245,6 @@ public class TileEntityReactorMultiblock extends TileEntity implements ISidedInv
{
int j = ItemFuelRod.getLifeTime(slots[i]);
ItemFuelRod.setLifeTime(slots[i], j + 1);
ItemFuelRod.updateDamage(slots[i]);
attemptHeat(1);
attemptPower(250);
@ -259,7 +257,6 @@ public class TileEntityReactorMultiblock extends TileEntity implements ISidedInv
{
int j = ItemFuelRod.getLifeTime(slots[i]);
ItemFuelRod.setLifeTime(slots[i], j + 1);
ItemFuelRod.updateDamage(slots[i]);
attemptHeat(1);
attemptPower(250);
@ -272,7 +269,6 @@ public class TileEntityReactorMultiblock extends TileEntity implements ISidedInv
{
int j = ItemFuelRod.getLifeTime(slots[i]);
ItemFuelRod.setLifeTime(slots[i], j + 1);
ItemFuelRod.updateDamage(slots[i]);
attemptHeat(2);
attemptPower(375);
@ -285,7 +281,6 @@ public class TileEntityReactorMultiblock extends TileEntity implements ISidedInv
{
int j = ItemFuelRod.getLifeTime(slots[i]);
ItemFuelRod.setLifeTime(slots[i], j + 1);
ItemFuelRod.updateDamage(slots[i]);
attemptHeat(2);
attemptPower(375);
@ -298,7 +293,6 @@ public class TileEntityReactorMultiblock extends TileEntity implements ISidedInv
{
int j = ItemFuelRod.getLifeTime(slots[i]);
ItemFuelRod.setLifeTime(slots[i], j + 1);
ItemFuelRod.updateDamage(slots[i]);
attemptHeat(2);
attemptPower(375);
@ -311,7 +305,6 @@ public class TileEntityReactorMultiblock extends TileEntity implements ISidedInv
{
int j = ItemFuelRod.getLifeTime(slots[i]);
ItemFuelRod.setLifeTime(slots[i], j + 1);
ItemFuelRod.updateDamage(slots[i]);
attemptHeat(1);
attemptPower(125);
@ -324,7 +317,6 @@ public class TileEntityReactorMultiblock extends TileEntity implements ISidedInv
{
int j = ItemFuelRod.getLifeTime(slots[i]);
ItemFuelRod.setLifeTime(slots[i], j + 1);
ItemFuelRod.updateDamage(slots[i]);
attemptHeat(1);
attemptPower(125);
@ -337,7 +329,6 @@ public class TileEntityReactorMultiblock extends TileEntity implements ISidedInv
{
int j = ItemFuelRod.getLifeTime(slots[i]);
ItemFuelRod.setLifeTime(slots[i], j + 1);
ItemFuelRod.updateDamage(slots[i]);
attemptHeat(1);
attemptPower(125);
@ -350,7 +341,6 @@ public class TileEntityReactorMultiblock extends TileEntity implements ISidedInv
{
int j = ItemFuelRod.getLifeTime(slots[i]);
ItemFuelRod.setLifeTime(slots[i], j + 1);
ItemFuelRod.updateDamage(slots[i]);
attemptHeat(10);
attemptPower(62500);
@ -363,7 +353,6 @@ public class TileEntityReactorMultiblock extends TileEntity implements ISidedInv
{
int j = ItemFuelRod.getLifeTime(slots[i]);
ItemFuelRod.setLifeTime(slots[i], j + 1);
ItemFuelRod.updateDamage(slots[i]);
attemptHeat(10);
attemptPower(62500);
@ -376,7 +365,6 @@ public class TileEntityReactorMultiblock extends TileEntity implements ISidedInv
{
int j = ItemFuelRod.getLifeTime(slots[i]);
ItemFuelRod.setLifeTime(slots[i], j + 1);
ItemFuelRod.updateDamage(slots[i]);
attemptHeat(10);
attemptPower(62500);