diff --git a/src/main/java/assets/hbm/lang/de_DE.lang b/src/main/java/assets/hbm/lang/de_DE.lang index 4b92d0525..37291dabf 100644 --- a/src/main/java/assets/hbm/lang/de_DE.lang +++ b/src/main/java/assets/hbm/lang/de_DE.lang @@ -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) diff --git a/src/main/java/assets/hbm/lang/en_US.lang b/src/main/java/assets/hbm/lang/en_US.lang index 1def96ca7..922d311e5 100644 --- a/src/main/java/assets/hbm/lang/en_US.lang +++ b/src/main/java/assets/hbm/lang/en_US.lang @@ -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) diff --git a/src/main/java/assets/hbm/textures/blocks/glass_polonium.png b/src/main/java/assets/hbm/textures/blocks/glass_polonium.png new file mode 100644 index 000000000..d12a993a8 Binary files /dev/null and b/src/main/java/assets/hbm/textures/blocks/glass_polonium.png differ diff --git a/src/main/java/assets/hbm/textures/blocks/sand_polonium.png b/src/main/java/assets/hbm/textures/blocks/sand_polonium.png new file mode 100644 index 000000000..ff1acad51 Binary files /dev/null and b/src/main/java/assets/hbm/textures/blocks/sand_polonium.png differ diff --git a/src/main/java/assets/hbm/textures/gui/processing/gui_breeder.png b/src/main/java/assets/hbm/textures/gui/processing/gui_breeder.png index 37eded580..c8823be16 100644 Binary files a/src/main/java/assets/hbm/textures/gui/processing/gui_breeder.png and b/src/main/java/assets/hbm/textures/gui/processing/gui_breeder.png differ diff --git a/src/main/java/assets/hbm/textures/items/book_of_.png b/src/main/java/assets/hbm/textures/items/book_of_.png index 2cb7744d3..0401a1bd7 100644 Binary files a/src/main/java/assets/hbm/textures/items/book_of_.png and b/src/main/java/assets/hbm/textures/items/book_of_.png differ diff --git a/src/main/java/assets/hbm/textures/items/ingot_tetraneutronium_new.png b/src/main/java/assets/hbm/textures/items/ingot_tetraneutronium_new.png index cdadfd3d7..4bec088ae 100644 Binary files a/src/main/java/assets/hbm/textures/items/ingot_tetraneutronium_new.png and b/src/main/java/assets/hbm/textures/items/ingot_tetraneutronium_new.png differ diff --git a/src/main/java/assets/hbm/textures/items/ingot_u238m2.png b/src/main/java/assets/hbm/textures/items/ingot_u238m2.png index d165477f8..42c194980 100644 Binary files a/src/main/java/assets/hbm/textures/items/ingot_u238m2.png and b/src/main/java/assets/hbm/textures/items/ingot_u238m2.png differ diff --git a/src/main/java/assets/hbm/textures/items/iron_ingot.png b/src/main/java/assets/hbm/textures/items/iron_ingot.png deleted file mode 100644 index 3833fa059..000000000 Binary files a/src/main/java/assets/hbm/textures/items/iron_ingot.png and /dev/null differ diff --git a/src/main/java/assets/hbm/textures/items/iron_sword.png b/src/main/java/assets/hbm/textures/items/iron_sword.png deleted file mode 100644 index 4d49c5aee..000000000 Binary files a/src/main/java/assets/hbm/textures/items/iron_sword.png and /dev/null differ diff --git a/src/main/java/assets/hbm/textures/items/pch.png b/src/main/java/assets/hbm/textures/items/pch.png index 990294cbb..ab9769b10 100644 Binary files a/src/main/java/assets/hbm/textures/items/pch.png and b/src/main/java/assets/hbm/textures/items/pch.png differ diff --git a/src/main/java/com/hbm/blocks/ModBlocks.java b/src/main/java/com/hbm/blocks/ModBlocks.java index 6c9e90f09..be3df6b48 100644 --- a/src/main/java/com/hbm/blocks/ModBlocks.java +++ b/src/main/java/com/hbm/blocks/ModBlocks.java @@ -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()); diff --git a/src/main/java/com/hbm/handler/BulletConfiguration.java b/src/main/java/com/hbm/handler/BulletConfiguration.java index 0c85cbaa0..aa0fab3f9 100644 --- a/src/main/java/com/hbm/handler/BulletConfiguration.java +++ b/src/main/java/com/hbm/handler/BulletConfiguration.java @@ -126,6 +126,7 @@ public class BulletConfiguration { public BulletConfiguration setToGuided() { this.bUpdate = BulletConfigFactory.getLaserSteering(); + this.doesRicochet = false; return this; } diff --git a/src/main/java/com/hbm/handler/nei/ReactorRecipeHandler.java b/src/main/java/com/hbm/handler/nei/ReactorRecipeHandler.java index a9f470136..8de3287e4 100644 --- a/src/main/java/com/hbm/handler/nei/ReactorRecipeHandler.java +++ b/src/main/java/com/hbm/handler/nei/ReactorRecipeHandler.java @@ -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 recipes = MachineRecipes.instance().getReactorRecipes(); - for (Map.Entry recipe : recipes.entrySet()) { - this.arecipes.add(new SmeltingSet((ItemStack)recipe.getKey(), (ItemStack)recipe.getValue())); + + Map recipes = BreederRecipes.getAllRecipes(); + + for (Map.Entry 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 recipes = MachineRecipes.instance().getReactorRecipes(); - for (Map.Entry recipe : recipes.entrySet()) { - if (NEIServerUtils.areStacksSameType((ItemStack)recipe.getValue(), result)) - this.arecipes.add(new SmeltingSet((ItemStack)recipe.getKey(), (ItemStack)recipe.getValue())); + + Map recipes = BreederRecipes.getAllRecipes(); + + for (Map.Entry 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 recipes = MachineRecipes.instance().getReactorRecipes(); - for (Map.Entry recipe : recipes.entrySet()) { + + Map recipes = BreederRecipes.getAllRecipes(); + + for (Map.Entry 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)); } } diff --git a/src/main/java/com/hbm/inventory/BreederRecipes.java b/src/main/java/com/hbm/inventory/BreederRecipes.java index 853d11951..71a852281 100644 --- a/src/main/java/com/hbm/inventory/BreederRecipes.java +++ b/src/main/java/com/hbm/inventory/BreederRecipes.java @@ -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 recipes = new HashMap(); + private static HashMap recipes = new HashMap(); private static HashMap 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 getAllRecipes() { + + HashMap map = new HashMap(); + + for(Map.Entry 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; + } } } diff --git a/src/main/java/com/hbm/inventory/CentrifugeRecipes.java b/src/main/java/com/hbm/inventory/CentrifugeRecipes.java index 7eac933bd..66a3aa1d3 100644 --- a/src/main/java/com/hbm/inventory/CentrifugeRecipes.java +++ b/src/main/java/com/hbm/inventory/CentrifugeRecipes.java @@ -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) }); diff --git a/src/main/java/com/hbm/inventory/MachineRecipes.java b/src/main/java/com/hbm/inventory/MachineRecipes.java index 62769f827..b8ab3b371 100644 --- a/src/main/java/com/hbm/inventory/MachineRecipes.java +++ b/src/main/java/com/hbm/inventory/MachineRecipes.java @@ -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 getReactorRecipes() { - Map recipes = new HashMap(); - 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 getCyclotronRecipes() { Map recipes = new HashMap(); diff --git a/src/main/java/com/hbm/inventory/OreDictManager.java b/src/main/java/com/hbm/inventory/OreDictManager.java new file mode 100644 index 000000000..07001de88 --- /dev/null +++ b/src/main/java/com/hbm/inventory/OreDictManager.java @@ -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); + } +} diff --git a/src/main/java/com/hbm/inventory/gui/GUIMachineReactor.java b/src/main/java/com/hbm/inventory/gui/GUIMachineReactor.java index 6b8901bd4..4b2acc882 100644 --- a/src/main/java/com/hbm/inventory/gui/GUIMachineReactor.java +++ b/src/main/java/com/hbm/inventory/gui/GUIMachineReactor.java @@ -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); } } \ No newline at end of file diff --git a/src/main/java/com/hbm/items/machine/ItemFuelRod.java b/src/main/java/com/hbm/items/machine/ItemFuelRod.java index d19b452e8..fe96506f3 100644 --- a/src/main/java/com/hbm/items/machine/ItemFuelRod.java +++ b/src/main/java/com/hbm/items/machine/ItemFuelRod.java @@ -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; + } } diff --git a/src/main/java/com/hbm/items/special/ItemCustomLore.java b/src/main/java/com/hbm/items/special/ItemCustomLore.java index cf68c5290..8bbe2efd3 100644 --- a/src/main/java/com/hbm/items/special/ItemCustomLore.java +++ b/src/main/java/com/hbm/items/special/ItemCustomLore.java @@ -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) { diff --git a/src/main/java/com/hbm/items/special/ItemRadioactive.java b/src/main/java/com/hbm/items/special/ItemRadioactive.java index fd4e59d21..91962ec9c 100644 --- a/src/main/java/com/hbm/items/special/ItemRadioactive.java +++ b/src/main/java/com/hbm/items/special/ItemRadioactive.java @@ -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"); + } } } diff --git a/src/main/java/com/hbm/main/CraftingManager.java b/src/main/java/com/hbm/main/CraftingManager.java index dcf09b9b9..0d5325f88 100644 --- a/src/main/java/com/hbm/main/CraftingManager.java +++ b/src/main/java/com/hbm/main/CraftingManager.java @@ -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); diff --git a/src/main/java/com/hbm/main/MainRegistry.java b/src/main/java/com/hbm/main/MainRegistry.java index 0d67cf2c2..2d683b41f 100644 --- a/src/main/java/com/hbm/main/MainRegistry.java +++ b/src/main/java/com/hbm/main/MainRegistry.java @@ -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)); diff --git a/src/main/java/com/hbm/main/ModEventHandler.java b/src/main/java/com/hbm/main/ModEventHandler.java index 23ff9d3bd..6c863b464 100644 --- a/src/main/java/com/hbm/main/ModEventHandler.java +++ b/src/main/java/com/hbm/main/ModEventHandler.java @@ -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!")); diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineGenerator.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineGenerator.java index 013c410e5..93ed6a1cf 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineGenerator.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineGenerator.java @@ -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); diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineReactor.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineReactor.java index 73e00038b..55cbd01a8 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineReactor.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineReactor.java @@ -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); } } \ No newline at end of file diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineReactorLarge.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineReactorLarge.java index 6abdca55f..e82b6141e 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineReactorLarge.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineReactorLarge.java @@ -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 fuels = new ArrayList(); static List 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; diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineReactorSmall.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineReactorSmall.java index 1b84bad0b..b96c62f8c 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineReactorSmall.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineReactorSmall.java @@ -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; } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineReactorSmallOld.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineReactorSmallOld.java index fdfc970fe..c3eed103e 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineReactorSmallOld.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineReactorSmallOld.java @@ -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); diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityReactorMultiblock.java b/src/main/java/com/hbm/tileentity/machine/TileEntityReactorMultiblock.java index 86733111e..4ab2b7f36 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityReactorMultiblock.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityReactorMultiblock.java @@ -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);