diff --git a/src/main/java/com/hbm/blocks/machine/MachineReactorControl.java b/src/main/java/com/hbm/blocks/machine/MachineReactorControl.java index 6db8bb14d..90685ff7d 100644 --- a/src/main/java/com/hbm/blocks/machine/MachineReactorControl.java +++ b/src/main/java/com/hbm/blocks/machine/MachineReactorControl.java @@ -226,7 +226,7 @@ public class MachineReactorControl extends BlockContainer { if(entity != null) { - return (int)Math.ceil((double)entity.coreHeat * 15D / 50000D); + return (int)Math.ceil((double)entity.heat * 15D / 50000D); } return 0; diff --git a/src/main/java/com/hbm/crafting/MineralRecipes.java b/src/main/java/com/hbm/crafting/MineralRecipes.java index b58cf4fb6..a92ce03e5 100644 --- a/src/main/java/com/hbm/crafting/MineralRecipes.java +++ b/src/main/java/com/hbm/crafting/MineralRecipes.java @@ -82,7 +82,8 @@ public class MineralRecipes { addMineralSet(ModItems.nugget_pu_mix, ModItems.ingot_pu_mix, ModBlocks.block_pu_mix); add1To9Pair(ModItems.ingot_neptunium_fuel, ModItems.nugget_neptunium_fuel); - addBillet(ModItems.billet_cobalt, ModItems.ingot_cobalt, ModItems.fragment_cobalt, CO.nugget()); + addBillet(ModItems.billet_cobalt, ModItems.ingot_cobalt, ModItems.nugget_cobalt); + addBillet(ModItems.billet_co60, ModItems.ingot_co60, ModItems.nugget_co60); addBillet(ModItems.billet_sr90, ModItems.ingot_sr90, ModItems.nugget_sr90, "nuggetStrontium90", "tinySr90"); addBillet(ModItems.billet_uranium, ModItems.ingot_uranium, ModItems.nugget_uranium, "nuggetUranium"); addBillet(ModItems.billet_u233, ModItems.ingot_u233, ModItems.nugget_u233, "nuggetUranium233", "tinyU233"); @@ -373,8 +374,6 @@ public class MineralRecipes { GameRegistry.addRecipe(new ItemStack(ModItems.egg_balefire_shard, 1), new Object[] { "##", "##", '#', ModItems.powder_balefire }); add9To1(ModItems.cell_balefire, ModItems.egg_balefire_shard); - GameRegistry.addRecipe(new ItemStack(ModItems.nugget_euphemium, 1), new Object[] { "#", '#', ModItems.rod_quad_euphemium }); - GameRegistry.addRecipe(new ItemStack(ModItems.ingot_euphemium, 1), new Object[] { "###", "###", "###", '#', ModItems.rod_quad_euphemium }); GameRegistry.addRecipe(new ItemStack(ModItems.ingot_euphemium, 1), new Object[] { "###", "###", "###", '#', ModItems.nugget_euphemium }); GameRegistry.addRecipe(new ItemStack(ModItems.nugget_euphemium, 9), new Object[] { "#", '#', ModItems.ingot_euphemium }); diff --git a/src/main/java/com/hbm/crafting/RodRecipes.java b/src/main/java/com/hbm/crafting/RodRecipes.java index b65920aa0..b664ed0c9 100644 --- a/src/main/java/com/hbm/crafting/RodRecipes.java +++ b/src/main/java/com/hbm/crafting/RodRecipes.java @@ -18,89 +18,20 @@ import net.minecraftforge.oredict.ShapedOreRecipe; public class RodRecipes { public static void register() { - - //Single rods - CraftingManager.addRecipeAuto(new ItemStack(ModItems.rod_empty, 16), new Object[] { "SSS", "L L", "SSS", 'S', STEEL.plate(), 'L', PB.plate() }); - addRodBilletUnload(U, ModItems.billet_uranium, ModItems.rod_uranium); - addRodBilletUnload(U233, ModItems.billet_u233, ModItems.rod_u233); - addRodBilletUnload(U235, ModItems.billet_u235, ModItems.rod_u235); - addRodBilletUnload(U238, ModItems.billet_u238, ModItems.rod_u238); - addRodBilletUnload(TH232, ModItems.billet_th232, ModItems.rod_th232); - addRodBilletUnload(PU, ModItems.billet_plutonium, ModItems.rod_plutonium); - addRodBilletUnload(PU238, ModItems.billet_pu238, ModItems.rod_pu238); - addRodBilletUnload(PU239, ModItems.billet_pu239, ModItems.rod_pu239); - addRodBilletUnload(PU240, ModItems.billet_pu240, ModItems.rod_pu240); - addRodBilletUnload(NP237, ModItems.billet_neptunium, ModItems.rod_neptunium); - addRodBilletUnload(PO210, ModItems.billet_polonium, ModItems.rod_polonium); - addRodBilletUnload(SA326, ModItems.billet_schrabidium, ModItems.rod_schrabidium); - addRodBilletUnload(SA327, ModItems.billet_solinium, ModItems.rod_solinium); - addRodBilletUnload(ModItems.egg_balefire_shard, ModItems.rod_balefire); - CraftingManager.addShapelessAuto(new ItemStack(ModItems.rod_lead, 1), new Object[] { ModItems.rod_empty, PB.nugget(), PB.nugget(), PB.nugget(), PB.nugget(), PB.nugget(), PB.nugget() }); - CraftingManager.addShapelessAuto(new ItemStack(ModItems.nugget_lead, 6), new Object[] { ModItems.rod_lead }); - CraftingManager.addShapelessAuto(new ItemStack(ModItems.rod_lithium, 1), new Object[] { ModItems.rod_empty, LI.ingot() }); - CraftingManager.addShapelessAuto(new ItemStack(ModItems.rod_zirnox_lithium), new Object[] { ModItems.rod_zirnox_empty, LI.ingot(), LI.ingot() }); - CraftingManager.addShapelessAuto(new ItemStack(ModItems.lithium, 1), new Object[] { ModItems.rod_lithium }); - CraftingManager.addShapelessAuto(new ItemStack(ModItems.cell_tritium, 1), new Object[] { ModItems.rod_tritium, ModItems.cell_empty }); - CraftingManager.addShapelessAuto(new ItemStack(ModItems.cell_tritium, 2), new Object[] { ModItems.rod_zirnox_tritium, ModItems.cell_empty, ModItems.cell_empty }); - - //Dual rods - CraftingManager.addShapelessAuto(new ItemStack(ModItems.rod_empty, 2), new Object[] { ModItems.rod_dual_empty }); - CraftingManager.addShapelessAuto(new ItemStack(ModItems.rod_dual_empty, 1), new Object[] { ModItems.rod_empty, ModItems.rod_empty }); - addDualRodBilletUnload(U, ModItems.billet_uranium, ModItems.rod_dual_uranium); - addDualRodBilletUnload(U233, ModItems.billet_u233, ModItems.rod_dual_u233); - addDualRodBilletUnload(U235, ModItems.billet_u235, ModItems.rod_dual_u235); - addDualRodBilletUnload(U238, ModItems.billet_u238, ModItems.rod_dual_u238); - addDualRodBilletUnload(TH232, ModItems.billet_th232, ModItems.rod_dual_th232); - addDualRodBilletUnload(PU, ModItems.billet_plutonium, ModItems.rod_dual_plutonium); - addDualRodBilletUnload(PU238, ModItems.billet_pu238, ModItems.rod_dual_pu238); - addDualRodBilletUnload(PU239, ModItems.billet_pu239, ModItems.rod_dual_pu239); - addDualRodBilletUnload(PU240, ModItems.billet_pu240, ModItems.rod_dual_pu240); - addDualRodBilletUnload(NP237, ModItems.billet_neptunium, ModItems.rod_dual_neptunium); - addDualRodBilletUnload(PO210, ModItems.billet_polonium, ModItems.rod_dual_polonium); - addDualRodBilletUnload(SA326, ModItems.billet_schrabidium, ModItems.rod_dual_schrabidium); - addDualRodBilletUnload(SA327, ModItems.billet_solinium, ModItems.rod_dual_solinium); - addDualRodBilletUnload(ModItems.egg_balefire_shard, ModItems.rod_dual_balefire); - CraftingManager.addShapelessAuto(new ItemStack(ModItems.rod_dual_lead, 1), new Object[] { ModItems.rod_dual_empty, PB.ingot(), PB.nugget(), PB.nugget(), PB.nugget() }); - CraftingManager.addShapelessAuto(new ItemStack(ModItems.nugget_lead, 12), new Object[] { ModItems.rod_dual_lead }); - CraftingManager.addShapelessAuto(new ItemStack(ModItems.rod_dual_lithium, 1), new Object[] { ModItems.rod_dual_empty, LI.ingot(), LI.ingot() }); - CraftingManager.addShapelessAuto(new ItemStack(ModItems.lithium, 2), new Object[] { ModItems.rod_dual_lithium }); - CraftingManager.addShapelessAuto(new ItemStack(ModItems.cell_tritium, 2), new Object[] { ModItems.rod_dual_tritium, ModItems.cell_empty, ModItems.cell_empty }); - - //Quad rods - CraftingManager.addShapelessAuto(new ItemStack(ModItems.rod_empty, 4), new Object[] { ModItems.rod_quad_empty }); - CraftingManager.addShapelessAuto(new ItemStack(ModItems.rod_quad_empty, 1), new Object[] { ModItems.rod_empty, ModItems.rod_empty, ModItems.rod_empty, ModItems.rod_empty }); - CraftingManager.addShapelessAuto(new ItemStack(ModItems.rod_quad_empty, 1), new Object[] { ModItems.rod_dual_empty, ModItems.rod_dual_empty }); - addQuadRodBilletUnload(U, ModItems.billet_uranium, ModItems.rod_quad_uranium); - addQuadRodBilletUnload(U233, ModItems.billet_u233, ModItems.rod_quad_u233); - addQuadRodBilletUnload(U235, ModItems.billet_u235, ModItems.rod_quad_u235); - addQuadRodBilletUnload(U238, ModItems.billet_u238, ModItems.rod_quad_u238); - addQuadRodBilletUnload(TH232, ModItems.billet_th232, ModItems.rod_quad_th232); - addQuadRodBilletUnload(PU, ModItems.billet_plutonium, ModItems.rod_quad_plutonium); - addQuadRodBilletUnload(PU238, ModItems.billet_pu238, ModItems.rod_quad_pu238); - addQuadRodBilletUnload(PU239, ModItems.billet_pu239, ModItems.rod_quad_pu239); - addQuadRodBilletUnload(PU240, ModItems.billet_pu240, ModItems.rod_quad_pu240); - addQuadRodBilletUnload(NP237, ModItems.billet_neptunium, ModItems.rod_quad_neptunium); - addQuadRodBilletUnload(PO210, ModItems.billet_polonium, ModItems.rod_quad_polonium); - addQuadRodBilletUnload(SA326, ModItems.billet_schrabidium, ModItems.rod_quad_schrabidium); - addQuadRodBilletUnload(SA327, ModItems.billet_solinium, ModItems.rod_quad_solinium); - addQuadRodBilletUnload(ModItems.egg_balefire_shard, ModItems.rod_quad_balefire); - CraftingManager.addShapelessAuto(new ItemStack(ModItems.rod_quad_lead, 1), new Object[] { ModItems.rod_quad_empty, PB.ingot(), PB.ingot(), PB.nugget(), PB.nugget(), PB.nugget(), PB.nugget(), PB.nugget(), PB.nugget() }); - CraftingManager.addShapelessAuto(new ItemStack(ModItems.nugget_lead, 24), new Object[] { ModItems.rod_quad_lead }); - CraftingManager.addShapelessAuto(new ItemStack(ModItems.rod_quad_lithium, 1), new Object[] { ModItems.rod_quad_empty, LI.ingot(), LI.ingot(), LI.ingot(), LI.ingot() }); - CraftingManager.addShapelessAuto(new ItemStack(ModItems.lithium, 4), new Object[] { ModItems.rod_quad_lithium }); - CraftingManager.addShapelessAuto(new ItemStack(ModItems.cell_tritium, 4), new Object[] { ModItems.rod_quad_tritium, ModItems.cell_empty, ModItems.cell_empty, ModItems.cell_empty, ModItems.cell_empty }); //Zirnox Fuel GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.rod_zirnox_empty, 4), new Object[] { "Z Z", "ZBZ", "Z Z", 'Z', "nuggetZirconium", 'B', "ingotBeryllium" })); - addZIRNOXRod(ModItems.billet_uranium, ModItems.rod_zirnox_natural_uranium_fuel); + addZIRNOXRod(U, ModItems.rod_zirnox_natural_uranium_fuel); addZIRNOXRod(ModItems.billet_uranium_fuel, ModItems.rod_zirnox_uranium_fuel); - addZIRNOXRod(ModItems.billet_th232, ModItems.rod_zirnox_th232); + addZIRNOXRod(TH232, ModItems.rod_zirnox_th232); addZIRNOXRod(ModItems.billet_thorium_fuel, ModItems.rod_zirnox_thorium_fuel); addZIRNOXRod(ModItems.billet_mox_fuel, ModItems.rod_zirnox_mox_fuel); addZIRNOXRod(ModItems.billet_plutonium_fuel, ModItems.rod_zirnox_plutonium_fuel); - addZIRNOXRod(ModItems.billet_u233, ModItems.rod_zirnox_u233_fuel); - addZIRNOXRod(ModItems.billet_u235, ModItems.rod_zirnox_u235_fuel); + addZIRNOXRod(U233, ModItems.rod_zirnox_u233_fuel); + addZIRNOXRod(U235, ModItems.rod_zirnox_u235_fuel); addZIRNOXRod(ModItems.billet_les, ModItems.rod_zirnox_les_fuel); + CraftingManager.addShapelessAuto(new ItemStack(ModItems.rod_zirnox_lithium), new Object[] { ModItems.rod_zirnox_empty, LI.ingot(), LI.ingot() }); + CraftingManager.addShapelessAuto(new ItemStack(ModItems.cell_tritium, 2), new Object[] { ModItems.rod_zirnox_tritium, ModItems.cell_empty, ModItems.cell_empty }); CraftingManager.addShapelessAuto(new ItemStack(ModItems.waste_natural_uranium, 2, 1), new Object[] { ModItems.rod_zirnox_natural_uranium_fuel_depleted }); CraftingManager.addShapelessAuto(new ItemStack(ModItems.waste_uranium, 2, 1), new Object[] { ModItems.rod_zirnox_uranium_fuel_depleted }); @@ -179,15 +110,6 @@ public class RodRecipes { addRBMKRod(ModItems.billet_zfb_pu241, ModItems.rbmk_fuel_zfb_pu241); addRBMKRod(ModItems.billet_zfb_am_mix, ModItems.rbmk_fuel_zfb_am_mix); CraftingManager.addShapelessAuto(new ItemStack(ModItems.rbmk_fuel_drx, 1), new Object[] { ModItems.rbmk_fuel_balefire, ModItems.particle_digamma }); - - //Rod recycling - CraftingManager.addShapelessAuto(new ItemStack(ModItems.nugget_australium, 6), new Object[] { ModItems.rod_australium }); - CraftingManager.addShapelessAuto(new ItemStack(ModItems.nugget_euphemium, 6), new Object[] { ModItems.rod_euphemium }); - - //Waste rod recycling - CraftingManager.addShapelessAuto(new ItemStack(ModItems.billet_nuclear_waste, 1), new Object[] { ModItems.rod_waste }); - CraftingManager.addShapelessAuto(new ItemStack(ModItems.billet_nuclear_waste, 2), new Object[] { ModItems.rod_dual_waste }); - CraftingManager.addShapelessAuto(new ItemStack(ModItems.billet_nuclear_waste, 4), new Object[] { ModItems.rod_quad_waste }); } //Fill rods with one billet. For fuels only, therefore no unloading or ore dict @@ -279,8 +201,13 @@ public class RodRecipes { CraftingManager.addShapelessAuto(new ItemStack(out), new Object[] { ModItems.rbmk_fuel_empty, billet, billet, billet, billet, billet, billet, billet, billet }); } - //Fill rods with 2 billets + /** Fill ZIRNOX rod with two billets **/ public static void addZIRNOXRod(Item billet, Item out) { - GameRegistry.addShapelessRecipe(new ItemStack(out), new Object[] { ModItems.rod_zirnox_empty, billet, billet }); + CraftingManager.addShapelessAuto(new ItemStack(out), new Object[] { ModItems.rod_zirnox_empty, billet, billet }); + } + + /** Fill ZIRNOX rod with two billets with OreDict **/ + public static void addZIRNOXRod(DictFrame mat, Item out) { + CraftingManager.addShapelessAuto(new ItemStack(out), new Object[] { ModItems.rod_zirnox_empty, mat.billet(), mat.billet() }); } } diff --git a/src/main/java/com/hbm/creativetabs/ControlTab.java b/src/main/java/com/hbm/creativetabs/ControlTab.java index a48f6ebdc..813a0702c 100644 --- a/src/main/java/com/hbm/creativetabs/ControlTab.java +++ b/src/main/java/com/hbm/creativetabs/ControlTab.java @@ -15,9 +15,9 @@ public class ControlTab extends CreativeTabs { @Override public Item getTabIconItem() { - if(ModItems.rod_balefire_blazing != null) + if(ModItems.pellet_rtg != null) { - return ModItems.rod_balefire_blazing; + return ModItems.pellet_rtg; } return Items.iron_pickaxe; diff --git a/src/main/java/com/hbm/hazard/HazardRegistry.java b/src/main/java/com/hbm/hazard/HazardRegistry.java index 7e56c45d7..058ea8fd7 100644 --- a/src/main/java/com/hbm/hazard/HazardRegistry.java +++ b/src/main/java/com/hbm/hazard/HazardRegistry.java @@ -8,6 +8,7 @@ import com.hbm.hazard.modifier.*; import com.hbm.hazard.transformer.HazardTransformerRadiationNBT; import com.hbm.hazard.type.*; import com.hbm.items.ModItems; +import com.hbm.items.machine.ItemBreedingRod.BreedingRodType; import com.hbm.util.Compat; import com.hbm.util.Compat.ReikaIsotope; @@ -211,7 +212,7 @@ public class HazardRegistry { HazardSystem.register(rod_zirnox_u233_fuel_depleted, makeData(RADIATION, u233 * rod_dual * 100)); HazardSystem.register(rod_zirnox_u235_fuel_depleted, makeData(RADIATION, u235 * rod_dual * 100)); HazardSystem.register(rod_zirnox_les_fuel_depleted, new HazardData().addEntry(RADIATION, saf * rod_dual * 100).addEntry(BLINDING, 5F)); - HazardSystem.register(rod_zirnox_tritium, makeData(RADIATION, 0.01F * rod_dual)); + HazardSystem.register(rod_zirnox_tritium, makeData(RADIATION, 0.001F * rod_dual)); registerOtherWaste(waste_natural_uranium, u * billet * 100); registerOtherWaste(waste_uranium, uf * billet * 100); @@ -298,21 +299,17 @@ public class HazardRegistry { HazardSystem.register(pellet_rtg_gold, new HazardData().addEntry(RADIATION, au198 * rtg).addEntry(HOT, 5F)); HazardSystem.register(pellet_rtg_americium, makeData(RADIATION, am241 * rtg)); - registerRodRadiation(rod_th232, rod_dual_th232, rod_quad_th232, th232); - registerRodRadiation(rod_uranium, rod_dual_uranium, rod_quad_uranium, u); - registerRodRadiation(rod_u233, rod_dual_u233, rod_quad_u233, u233); - registerRodRadiation(rod_u235, rod_dual_u235, rod_quad_u235, u235); - registerRodRadiation(rod_u238, rod_dual_u238, rod_quad_u238, u238); - registerRodRadiation(rod_plutonium, rod_dual_plutonium, rod_quad_plutonium, pu); - registerRodRadiation(rod_pu238, rod_dual_pu238, rod_quad_pu238, pu238); - registerRodRadiation(rod_pu239, rod_dual_pu239, rod_quad_pu239, pu239); - registerRodRadiation(rod_pu240, rod_dual_pu240, rod_quad_pu240, pu240); - registerRodRadiation(rod_neptunium, rod_dual_neptunium, rod_quad_neptunium, np237); - registerRodRadiation(rod_polonium, rod_dual_polonium, rod_quad_polonium, po210); - registerRodRadiationExtra(rod_schrabidium, rod_dual_schrabidium, rod_quad_schrabidium, sa326, BLINDING, 3F); - registerRodRadiationExtra(rod_solinium, rod_dual_solinium, rod_quad_solinium, sa327, BLINDING, 3F); - registerRodRadiation(rod_balefire, rod_dual_balefire, rod_quad_balefire, bf); - registerRodRadiationExtra(rod_balefire_blazing, rod_dual_balefire_blazing, rod_quad_balefire_blazing, bfb, HOT, 5F); + registerBreedingRodRadiation(BreedingRodType.TRITIUM, 0.001F); + registerBreedingRodRadiation(BreedingRodType.CO60, co60); + registerBreedingRodRadiation(BreedingRodType.TH232, th232); + registerBreedingRodRadiation(BreedingRodType.THF, thf); + registerBreedingRodRadiation(BreedingRodType.U235, u235); + registerBreedingRodRadiation(BreedingRodType.NP237, np237); + registerBreedingRodRadiation(BreedingRodType.PU238, pu238); //it's in a container :) + registerBreedingRodRadiation(BreedingRodType.PU239, pu239); + registerBreedingRodRadiation(BreedingRodType.RGP, purg); + registerBreedingRodRadiation(BreedingRodType.WASTE, wst); + registerBreedingRodRadiation(BreedingRodType.URANIUM, u); registerRBMKRod(rbmk_fuel_ueu, u * rod_rbmk, u * rod_rbmk * 100); registerRBMKRod(rbmk_fuel_meu, uf * rod_rbmk, uf * rod_rbmk * 100); @@ -362,18 +359,6 @@ public class HazardRegistry { private static HazardData makeData(HazardTypeBase hazard, float level) { return new HazardData().addEntry(hazard, level); } private static HazardData makeData(HazardTypeBase hazard, float level, boolean override) { return new HazardData().addEntry(hazard, level, override); } - private static void registerRodRadiation(Item single, Item dual, Item quad, float base) { - HazardSystem.register(single, makeData(RADIATION, base * rod)); - HazardSystem.register(dual, makeData(RADIATION, base * rod_dual)); - HazardSystem.register(quad, makeData(RADIATION, base * rod_quad)); - } - - private static void registerRodRadiationExtra(Item single, Item dual, Item quad, float base, HazardTypeBase extra, float base2) { - HazardSystem.register(single, new HazardData().addEntry(RADIATION, base * rod).addEntry(extra, base2 * rod)); - HazardSystem.register(dual, new HazardData().addEntry(RADIATION, base * rod_dual).addEntry(extra, base2 * rod_dual)); - HazardSystem.register(quad, new HazardData().addEntry(RADIATION, base * rod_quad).addEntry(extra, base2 * rod_quad)); - } - private static void registerRBMKPellet(Item pellet, float base, float dep) { registerRBMKPellet(pellet, base, dep, 0F); } private static void registerRBMKPellet(Item pellet, float base, float dep, float blinding) { @@ -395,6 +380,12 @@ public class HazardRegistry { HazardSystem.register(rod, data); } + private static void registerBreedingRodRadiation(BreedingRodType type, float base) { + HazardSystem.register(new ItemStack(ModItems.rod, 1, type.ordinal()), makeData(RADIATION, base)); + HazardSystem.register(new ItemStack(ModItems.rod_dual, 1, type.ordinal()), makeData(RADIATION, base * rod_dual)); + HazardSystem.register(new ItemStack(ModItems.rod_quad, 1, type.ordinal()), makeData(RADIATION, base * rod_quad)); + } + private static void registerOtherFuel(Item fuel, float base, float target) { HazardData data = new HazardData(); diff --git a/src/main/java/com/hbm/inventory/FluidContainerRegistry.java b/src/main/java/com/hbm/inventory/FluidContainerRegistry.java index f5746fe31..2e1481605 100644 --- a/src/main/java/com/hbm/inventory/FluidContainerRegistry.java +++ b/src/main/java/com/hbm/inventory/FluidContainerRegistry.java @@ -21,14 +21,6 @@ public class FluidContainerRegistry { FluidContainerRegistry.registerContainer(new FluidContainer(new ItemStack(ModItems.bucket_mud), new ItemStack(Items.bucket), FluidType.WATZ, 1000)); FluidContainerRegistry.registerContainer(new FluidContainer(new ItemStack(ModItems.bucket_schrabidic_acid), new ItemStack(Items.bucket), FluidType.SCHRABIDIC, 1000)); - FluidContainerRegistry.registerContainer(new FluidContainer(new ItemStack(ModItems.rod_water), new ItemStack(ModItems.rod_empty), FluidType.WATER, 1000)); - FluidContainerRegistry.registerContainer(new FluidContainer(new ItemStack(ModItems.rod_dual_water), new ItemStack(ModItems.rod_dual_empty), FluidType.WATER, 2000)); - FluidContainerRegistry.registerContainer(new FluidContainer(new ItemStack(ModItems.rod_quad_water), new ItemStack(ModItems.rod_quad_empty), FluidType.WATER, 4000)); - - FluidContainerRegistry.registerContainer(new FluidContainer(new ItemStack(ModItems.rod_coolant), new ItemStack(ModItems.rod_empty), FluidType.COOLANT, 1000)); - FluidContainerRegistry.registerContainer(new FluidContainer(new ItemStack(ModItems.rod_dual_coolant), new ItemStack(ModItems.rod_dual_empty), FluidType.COOLANT, 2000)); - FluidContainerRegistry.registerContainer(new FluidContainer(new ItemStack(ModItems.rod_quad_coolant), new ItemStack(ModItems.rod_quad_empty), FluidType.COOLANT, 4000)); - FluidContainerRegistry.registerContainer(new FluidContainer(new ItemStack(ModItems.canister_oil), new ItemStack(ModItems.canister_empty), FluidType.OIL, 1000)); FluidContainerRegistry.registerContainer(new FluidContainer(new ItemStack(ModItems.canister_smear), new ItemStack(ModItems.canister_empty), FluidType.SMEAR, 1000)); FluidContainerRegistry.registerContainer(new FluidContainer(new ItemStack(ModItems.canister_heavyoil), new ItemStack(ModItems.canister_empty), FluidType.HEAVYOIL, 1000)); @@ -59,9 +51,6 @@ public class FluidContainerRegistry { FluidContainerRegistry.registerContainer(new FluidContainer(new ItemStack(ModItems.cell_deuterium), new ItemStack(ModItems.cell_empty), FluidType.DEUTERIUM, 1000)); FluidContainerRegistry.registerContainer(new FluidContainer(new ItemStack(ModItems.cell_tritium), new ItemStack(ModItems.cell_empty), FluidType.TRITIUM, 1000)); - FluidContainerRegistry.registerContainer(new FluidContainer(new ItemStack(ModItems.rod_tritium), new ItemStack(ModItems.rod_empty), FluidType.TRITIUM, 1000)); - FluidContainerRegistry.registerContainer(new FluidContainer(new ItemStack(ModItems.rod_dual_tritium), new ItemStack(ModItems.rod_dual_empty), FluidType.TRITIUM, 2000)); - FluidContainerRegistry.registerContainer(new FluidContainer(new ItemStack(ModItems.rod_quad_tritium), new ItemStack(ModItems.rod_quad_empty), FluidType.TRITIUM, 4000)); FluidContainerRegistry.registerContainer(new FluidContainer(new ItemStack(ModItems.cell_uf6), new ItemStack(ModItems.cell_empty), FluidType.UF6, 1000)); FluidContainerRegistry.registerContainer(new FluidContainer(new ItemStack(ModItems.cell_puf6), new ItemStack(ModItems.cell_empty), FluidType.PUF6, 1000)); FluidContainerRegistry.registerContainer(new FluidContainer(new ItemStack(ModItems.cell_antimatter), new ItemStack(ModItems.cell_empty), FluidType.AMAT, 1000)); diff --git a/src/main/java/com/hbm/inventory/OreDictManager.java b/src/main/java/com/hbm/inventory/OreDictManager.java index 5a1b2bac8..3e75722ed 100644 --- a/src/main/java/com/hbm/inventory/OreDictManager.java +++ b/src/main/java/com/hbm/inventory/OreDictManager.java @@ -268,7 +268,7 @@ public class OreDictManager { COLTAN .ingot(fragment_coltan) .dust(powder_coltan_ore) .block(block_coltan) .ore(ore_coltan); NB .nugget(fragment_niobium) .ingot(ingot_niobium) .dustSmall(powder_niobium_tiny) .dust(powder_niobium) .block(block_niobium); BE .nugget(nugget_beryllium) .billet(billet_beryllium) .ingot(ingot_beryllium) .dust(powder_beryllium) .block(block_beryllium) .ore(ore_beryllium); - CO .nugget(fragment_cobalt) .billet(billet_cobalt) .ingot(ingot_cobalt) .dustSmall(powder_cobalt_tiny) .dust(powder_cobalt) .block(block_cobalt) .ore(ore_cobalt, ore_nether_cobalt); + CO .nugget(fragment_cobalt) .nugget(nugget_cobalt) .billet(billet_cobalt) .ingot(ingot_cobalt) .dust(powder_cobalt) .dustSmall(powder_cobalt_tiny) .block(block_cobalt) .ore(ore_cobalt, ore_nether_cobalt); B .nugget(fragment_boron) .ingot(ingot_boron) .dustSmall(powder_boron_tiny) .dust(powder_boron) .block(block_boron); GRAPHITE .ingot(ingot_graphite) .block(block_graphite); DURA .ingot(ingot_dura_steel) .dust(powder_dura_steel) .block(block_dura_steel); diff --git a/src/main/java/com/hbm/inventory/container/ContainerReactorControl.java b/src/main/java/com/hbm/inventory/container/ContainerReactorControl.java index 9bbe2042e..d6cf909ec 100644 --- a/src/main/java/com/hbm/inventory/container/ContainerReactorControl.java +++ b/src/main/java/com/hbm/inventory/container/ContainerReactorControl.java @@ -10,20 +10,16 @@ import net.minecraft.item.ItemStack; public class ContainerReactorControl extends Container { - private TileEntityReactorControl testNuke; - private int heat; + private TileEntityReactorControl control; public ContainerReactorControl(InventoryPlayer invPlayer, TileEntityReactorControl tedf) { - heat = 0; - testNuke = tedf; + control = tedf; - this.addSlotToContainer(new Slot(tedf, 0, 26, 53)); + this.addSlotToContainer(new Slot(tedf, 0, 92, 38)); - for(int i = 0; i < 3; i++) - { - for(int j = 0; j < 9; j++) - { + for(int i = 0; i < 3; i++) { + for(int j = 0; j < 9; j++) { this.addSlotToContainer(new Slot(invPlayer, j + i * 9 + 9, 8 + j * 18, 84 + i * 18)); } } @@ -71,6 +67,6 @@ public class ContainerReactorControl extends Container { @Override public boolean canInteractWith(EntityPlayer player) { - return testNuke.isUseableByPlayer(player); + return control.isUseableByPlayer(player); } } diff --git a/src/main/java/com/hbm/inventory/gui/GUIReactorControl.java b/src/main/java/com/hbm/inventory/gui/GUIReactorControl.java index 63cdc00aa..158104899 100644 --- a/src/main/java/com/hbm/inventory/gui/GUIReactorControl.java +++ b/src/main/java/com/hbm/inventory/gui/GUIReactorControl.java @@ -1,18 +1,25 @@ package com.hbm.inventory.gui; +import org.apache.commons.lang3.math.NumberUtils; +import org.lwjgl.input.Keyboard; import org.lwjgl.input.Mouse; import org.lwjgl.opengl.GL11; import com.hbm.inventory.container.ContainerReactorControl; +import com.hbm.inventory.gui.GuiInfoContainer.NumberDisplay; import com.hbm.lib.RefStrings; -import com.hbm.packet.AuxButtonPacket; +import com.hbm.packet.NBTControlPacket; import com.hbm.packet.PacketDispatcher; import com.hbm.tileentity.machine.TileEntityReactorControl; import net.minecraft.client.Minecraft; import net.minecraft.client.audio.PositionedSoundRecord; +import net.minecraft.client.gui.GuiTextField; +import net.minecraft.client.renderer.Tessellator; import net.minecraft.client.resources.I18n; import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.MathHelper; import net.minecraft.util.ResourceLocation; public class GUIReactorControl extends GuiInfoContainer { @@ -20,79 +27,104 @@ public class GUIReactorControl extends GuiInfoContainer { private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/gui_reactor_control.png"); private TileEntityReactorControl control; + private final NumberDisplay[] displays = new NumberDisplay[3]; + private GuiTextField[] fields; + public GUIReactorControl(InventoryPlayer invPlayer, TileEntityReactorControl tedf) { super(new ContainerReactorControl(invPlayer, tedf)); control = tedf; + displays[0] = new NumberDisplay(6, 20, 0x08FF00).setDigitLength(3); + displays[1] = new NumberDisplay(66, 20, 0x08FF00).setDigitLength(4); + displays[2] = new NumberDisplay(126, 20, 0x08FF00).setDigitLength(3); + + fields = new GuiTextField[4]; this.xSize = 176; this.ySize = 166; } + public void initGui() { + super.initGui(); + Keyboard.enableRepeatEvents(true); + + //rod extraction fields + for(byte i = 0; i < 2; i++) { + this.fields[i] = new GuiTextField(this.fontRendererObj, guiLeft + 35 + 30 * i, guiTop + 38, 26, 7); + this.fields[i].setTextColor(0x08FF00); + this.fields[i].setDisabledTextColour(-1); + this.fields[i].setEnableBackgroundDrawing(false); + + this.fields[i].setMaxStringLength(3); + } + + //heat fields + for(byte i = 0; i < 2; i++) { + this.fields[i + 2] = new GuiTextField(this.fontRendererObj, guiLeft + 35 + 30 * i, guiTop + 49, 26, 7); + this.fields[i + 2].setTextColor(0x08FF00); + this.fields[i + 2].setDisabledTextColour(-1); + this.fields[i + 2].setEnableBackgroundDrawing(false); + + this.fields[i + 2].setMaxStringLength(4); + } + + this.fields[0].setText(String.valueOf((int)control.levelUpper)); + this.fields[1].setText(String.valueOf((int)control.levelLower)); + this.fields[2].setText(String.valueOf((int)control.heatUpper)); + this.fields[3].setText(String.valueOf((int)control.heatLower)); + } + + @Override public void drawScreen(int mouseX, int mouseY, float f) { super.drawScreen(mouseX, mouseY, f); - - this.drawCustomInfo(this, mouseX, mouseY, guiLeft + 80, guiTop + 34, 88, 4, new String[] { "Fuel: " + control.fuel + "%" }); - this.drawCustomInfo(this, mouseX, mouseY, guiLeft + 80, guiTop + 40, 88, 4, new String[] { "Water: " + control.water + "/" + control.maxWater + "mB" }); - this.drawCustomInfo(this, mouseX, mouseY, guiLeft + 80, guiTop + 46, 88, 4, new String[] { "Coolant: " + control.cool + "/" + control.maxCool + "mB" }); - - this.drawCustomInfo(this, mouseX, mouseY, guiLeft + 7, guiTop + 16, 18, 18, new String[] { "Reactor Status: " + (control.isOn ? "ON" : "OFF") }); - this.drawCustomInfo(this, mouseX, mouseY, guiLeft + 43, guiTop + 16, 18, 18, new String[] { "Automatic Shutdown: " + (control.auto ? "ENABLED" : "DISABLED") }); - - if(!control.isLinked) { - this.drawCustomInfo(this, mouseX, mouseY, guiLeft + 79, guiTop + 16, 18, 18, new String[] { "Reactor link not found!" }); - } - - if(control.water < control.maxWater * 0.1) { - this.drawCustomInfo(this, mouseX, mouseY, guiLeft + 79 + 18, guiTop + 16, 18, 18, new String[] { "Water level low!" }); - } - - if(control.cool < control.maxCool * 0.1) { - this.drawCustomInfo(this, mouseX, mouseY, guiLeft + 79 + 18 * 2, guiTop + 16, 18, 18, new String[] { "Coolant level low!" }); - } - - if(control.steam > control.maxSteam * 0.95) { - this.drawCustomInfo(this, mouseX, mouseY, guiLeft + 79 + 18 * 3, guiTop + 16, 18, 18, new String[] { "Steam buffer full!" }); - } - - if(control.coreHeat > (50000 * 0.85)) { - this.drawCustomInfo(this, mouseX, mouseY, guiLeft + 79 + 18 * 4, guiTop + 16, 18, 18, new String[] { "CORE TEMPERATURE CRITICAL!!" }); - } - - String s = ""; - switch(control.compression) { - case 0: s = "Steam"; break; - case 1: s = "Dense Steam"; break; - case 2: s = "Super Dense Steam"; break; - } - this.drawCustomInfo(this, mouseX, mouseY, guiLeft + 80, guiTop + 52, 88, 4, new String[] { s + ": " + control.steam + "/" + control.maxSteam + "mB" }); - - this.drawCustomInfo(this, mouseX, mouseY, guiLeft + 80, guiTop + 58, 88, 4, new String[] { "Hull Heat: " + Math.round((control.hullHeat) * 0.00001 * 980 + 20) + "°C" }); - this.drawCustomInfo(this, mouseX, mouseY, guiLeft + 80, guiTop + 64, 88, 4, new String[] { "Core Heat: " + Math.round((control.coreHeat) * 0.00002 * 980 + 20) + "°C" }); } protected void mouseClicked(int x, int y, int i) { super.mouseClicked(x, y, i); + + for(int j = 0; j < 4; j++) { + this.fields[j].mouseClicked(x, y, i); + } - if(guiLeft + 7 <= x && guiLeft + 7 + 18 > x && guiTop + 16 < y && guiTop + 16 + 18 >= y) { - + if(guiLeft + 33 <= x && guiLeft + 33 + 58 > x && guiTop + 59 < y && guiTop + 59 + 10 >= y) { + mc.getSoundHandler().playSound(PositionedSoundRecord.func_147674_a(new ResourceLocation("gui.button.press"), 1.0F)); - PacketDispatcher.wrapper.sendToServer(new AuxButtonPacket(control.xCoord, control.yCoord, control.zCoord, control.isOn ? 0 : 1, 0)); - } + NBTTagCompound data = new NBTTagCompound(); + + double[] vals = new double[] {0D ,0D, 0D, 0D}; + + for(int k = 0; k < 4; k++) { + + double clamp = k < 2 ? 100 : 1000; + + if(NumberUtils.isDigits(fields[k].getText())) { + int j = (int)MathHelper.clamp_double(Double.parseDouble(fields[k].getText()), 0, clamp); + fields[k].setText(j + ""); + vals[k] = j; + } else { + fields[k].setText("0"); + } + } + + data.setDouble("levelUpper", vals[0]); + data.setDouble("levelLower", vals[1]); + data.setDouble("heatUpper", vals[2]); + data.setDouble("heatLower", vals[3]); + + PacketDispatcher.wrapper.sendToServer(new NBTControlPacket(data, control.xCoord, control.yCoord, control.zCoord)); + } - if(guiLeft + 43 <= x && guiLeft + 43 + 18 > x && guiTop + 16 < y && guiTop + 16 + 18 >= y) { - - mc.getSoundHandler().playSound(PositionedSoundRecord.func_147674_a(new ResourceLocation("gui.button.press"), 1.0F)); - PacketDispatcher.wrapper.sendToServer(new AuxButtonPacket(control.xCoord, control.yCoord, control.zCoord, control.auto ? 0 : 1, 1)); - } - - if(guiLeft + 63 <= x && guiLeft + 63 + 14 > x && guiTop + 52 < y && guiTop + 52 + 18 >= y) { - - mc.getSoundHandler().playSound(PositionedSoundRecord.func_147674_a(new ResourceLocation("gui.button.press"), 1.0F)); - PacketDispatcher.wrapper.sendToServer(new AuxButtonPacket(control.xCoord, control.yCoord, control.zCoord, (control.compression + 1) % 3, 2)); - } + for(int k = 0; k < 3; k++) { + if(guiLeft + 7 <= x && guiLeft + 7 + 22 > x && guiTop + 37 + k * 11 < y && guiTop + 37 + 10 + k * 11 >= y) { + + mc.getSoundHandler().playSound(PositionedSoundRecord.func_147674_a(new ResourceLocation("gui.button.press"), 1.0F)); + NBTTagCompound data = new NBTTagCompound(); + data.setInteger("function", k); + PacketDispatcher.wrapper.sendToServer(new NBTControlPacket(data, control.xCoord, control.yCoord, control.zCoord)); + } + } } @Override @@ -102,7 +134,7 @@ public class GUIReactorControl extends GuiInfoContainer { 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); - this.fontRendererObj.drawString("Rods: " + control.rods + "%", 8, 40, 4210752); + } @Override @@ -111,155 +143,26 @@ public class GUIReactorControl extends GuiInfoContainer { Minecraft.getMinecraft().getTextureManager().bindTexture(texture); drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize); - if(control.hullHeat > 0) { - int i = (control.hullHeat * 88 / 100000); - - i = (int) Math.min(i, 160); - - drawTexturedModalRect(guiLeft + 80, guiTop + 59, 0, 166, i, 4); - } + for(int i = 0; i < 4; i++) + this.fields[i].drawTextBox(); - if(control.coreHeat > 0) { - int i = (control.coreHeat * 88 / 50000); - - i = (int) Math.min(i, 160); - - drawTexturedModalRect(guiLeft + 80, guiTop + 65, 0, 170, i, 4); - } - - if(control.steam > 0) { - int i = (control.steam * 88 / control.maxSteam); - - i = (int) Math.min(i, 160); - - drawTexturedModalRect(guiLeft + 80, guiTop + 53, 0, 174 + 4 * control.compression, i, 4); - } - - if(control.cool > 0) { - int i = (control.cool * 88 / control.maxCool); - - i = (int) Math.min(i, 160); - - drawTexturedModalRect(guiLeft + 80, guiTop + 47, 0, 194, i, 4); - } - - if(control.water > 0) { - int i = (control.water * 88 / control.maxWater); - - i = (int) Math.min(i, 160); - - drawTexturedModalRect(guiLeft + 80, guiTop + 41, 0, 190, i, 4); - } - - if(control.fuel > 0) { - int i = (control.fuel * 88 / 100); - - i = (int) Math.min(i, 160); - - drawTexturedModalRect(guiLeft + 80, guiTop + 35, 0, 186, i, 4); - } - - if(control.isOn) { - drawTexturedModalRect(guiLeft + 7, guiTop + 16, 218, 0, 18, 18); - } - - if(control.auto) { - drawTexturedModalRect(guiLeft + 43, guiTop + 16, 236, 0, 18, 18); - } - - drawTexturedModalRect(guiLeft + 63, guiTop + 52, 176 + 14 * control.compression, 0, 14, 18); - - if(!control.isLinked) { - drawTexturedModalRect(guiLeft + 79, guiTop + 16, 88, 166, 18, 18); - } - - if(control.water < control.maxWater * 0.1) { - drawTexturedModalRect(guiLeft + 79 + 18, guiTop + 16, 88 + 18, 166, 18, 18); - } - - if(control.cool < control.maxCool * 0.1) { - drawTexturedModalRect(guiLeft + 79 + 18 * 2, guiTop + 16, 88 + 18 * 2, 166, 18, 18); - } - - if(control.steam > control.maxSteam * 0.95) { - drawTexturedModalRect(guiLeft + 79 + 18 * 3, guiTop + 16, 88 + 18 * 3, 166, 18, 18); - } - - if(control.coreHeat > (50000 * 0.85)) { - drawTexturedModalRect(guiLeft + 79 + 18 * 4, guiTop + 16, 88 + 18 * 4, 166, 18, 18); - } - - if(control.rods == control.maxRods && control.rods != 0) { - drawTexturedModalRect(guiLeft + 25, guiTop + 16, 176, 18, 18, 18); - } else if(control.rods > 0) { - drawTexturedModalRect(guiLeft + 25, guiTop + 16, 194, 18, 18, 18); - } + for(byte i = 0; i < 3; i++) + displays[i].drawNumber(control.getDisplayData()[i]); } - protected void keyTyped(char ch, int i) - { - super.keyTyped(ch, i); - - switch(ch) { - case '0': - mc.getSoundHandler().playSound(PositionedSoundRecord.func_147674_a(new ResourceLocation("gui.button.press"), 1.0F)); - PacketDispatcher.wrapper.sendToServer(new AuxButtonPacket(control.xCoord, control.yCoord, control.zCoord, 0, 0)); break; - case '1': - mc.getSoundHandler().playSound(PositionedSoundRecord.func_147674_a(new ResourceLocation("gui.button.press"), 1.0F)); - PacketDispatcher.wrapper.sendToServer(new AuxButtonPacket(control.xCoord, control.yCoord, control.zCoord, 10, 0)); break; - case '2': - mc.getSoundHandler().playSound(PositionedSoundRecord.func_147674_a(new ResourceLocation("gui.button.press"), 1.0F)); - PacketDispatcher.wrapper.sendToServer(new AuxButtonPacket(control.xCoord, control.yCoord, control.zCoord, 20, 0)); break; - case '3': - mc.getSoundHandler().playSound(PositionedSoundRecord.func_147674_a(new ResourceLocation("gui.button.press"), 1.0F)); - PacketDispatcher.wrapper.sendToServer(new AuxButtonPacket(control.xCoord, control.yCoord, control.zCoord, 30, 0)); break; - case '4': - mc.getSoundHandler().playSound(PositionedSoundRecord.func_147674_a(new ResourceLocation("gui.button.press"), 1.0F)); - PacketDispatcher.wrapper.sendToServer(new AuxButtonPacket(control.xCoord, control.yCoord, control.zCoord, 40, 0)); break; - case '5': - mc.getSoundHandler().playSound(PositionedSoundRecord.func_147674_a(new ResourceLocation("gui.button.press"), 1.0F)); - PacketDispatcher.wrapper.sendToServer(new AuxButtonPacket(control.xCoord, control.yCoord, control.zCoord, 50, 0)); break; - case '6': - mc.getSoundHandler().playSound(PositionedSoundRecord.func_147674_a(new ResourceLocation("gui.button.press"), 1.0F)); - PacketDispatcher.wrapper.sendToServer(new AuxButtonPacket(control.xCoord, control.yCoord, control.zCoord, 60, 0)); break; - case '7': - mc.getSoundHandler().playSound(PositionedSoundRecord.func_147674_a(new ResourceLocation("gui.button.press"), 1.0F)); - PacketDispatcher.wrapper.sendToServer(new AuxButtonPacket(control.xCoord, control.yCoord, control.zCoord, 70, 0)); break; - case '8': - mc.getSoundHandler().playSound(PositionedSoundRecord.func_147674_a(new ResourceLocation("gui.button.press"), 1.0F)); - PacketDispatcher.wrapper.sendToServer(new AuxButtonPacket(control.xCoord, control.yCoord, control.zCoord, 80, 0)); break; - case '9': - mc.getSoundHandler().playSound(PositionedSoundRecord.func_147674_a(new ResourceLocation("gui.button.press"), 1.0F)); - PacketDispatcher.wrapper.sendToServer(new AuxButtonPacket(control.xCoord, control.yCoord, control.zCoord, 90, 0)); break; - } - - } - - public void handleMouseInput() - { - super.handleMouseInput(); - int i = Mouse.getEventDWheel(); - - if(i != 0) { - if (i > 0) - { - i = 1; - } - - if (i < 0) - { - i = -1; - } - - int rods = control.rods + i; - - if(rods < 0) - rods = 0; - - if(rods > 100) - rods = 100; - - PacketDispatcher.wrapper.sendToServer(new AuxButtonPacket(control.xCoord, control.yCoord, control.zCoord, rods, 0)); - } - } + @Override + protected void keyTyped(char c, int i) { + + for(byte j = 0; j < 4; j++) { + if(this.fields[j].textboxKeyTyped(c, i)) + return; + } + + if(i == 1 || i == this.mc.gameSettings.keyBindInventory.getKeyCode()) { + this.mc.thePlayer.closeScreen(); + return; + } + + super.keyTyped(c, i); + } } diff --git a/src/main/java/com/hbm/inventory/gui/GUIReactorResearch.java b/src/main/java/com/hbm/inventory/gui/GUIReactorResearch.java index 4df76b5e6..bb5ca372a 100644 --- a/src/main/java/com/hbm/inventory/gui/GUIReactorResearch.java +++ b/src/main/java/com/hbm/inventory/gui/GUIReactorResearch.java @@ -51,6 +51,8 @@ public class GUIReactorResearch extends GuiInfoContainer { this.field = new GuiTextField(this.fontRendererObj, guiLeft + 8, guiTop + 99, 33, 16); this.field.setEnableBackgroundDrawing(false); this.field.setMaxStringLength(3); + + //this.field.setText((int) (reactor.level * 100) + ""); } @Override diff --git a/src/main/java/com/hbm/inventory/recipes/AssemblerRecipes.java b/src/main/java/com/hbm/inventory/recipes/AssemblerRecipes.java index 0c2345823..e8e4e74b9 100644 --- a/src/main/java/com/hbm/inventory/recipes/AssemblerRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/AssemblerRecipes.java @@ -213,7 +213,7 @@ public class AssemblerRecipes { makeRecipe(new ComparableStack(ModItems.tritium_deuterium_cake, 1), new AStack[] {new ComparableStack(ModItems.cell_deuterium, 6), new ComparableStack(ModItems.cell_tritium, 2), new OreDictStack(LI.ingot(), 4), },150); makeRecipe(new ComparableStack(ModItems.pellet_cluster, 1), new AStack[] {new OreDictStack(STEEL.plate(), 4), new ComparableStack(Blocks.tnt, 1), }, 50); makeRecipe(new ComparableStack(ModItems.pellet_buckshot, 1), new AStack[] {new OreDictStack(PB.nugget(), 6), }, 50); - makeRecipe(new ComparableStack(ModItems.australium_iii, 1), new AStack[] {new ComparableStack(ModItems.rod_australium, 1), new OreDictStack(STEEL.ingot(), 1), new OreDictStack(STEEL.plate(), 6), new OreDictStack(CU.plate(), 2), new ComparableStack(ModItems.wire_copper, 6), },150); + makeRecipe(new ComparableStack(ModItems.australium_iii, 1), new AStack[] {new ComparableStack(ModItems.nugget_australium, 6), new OreDictStack(STEEL.ingot(), 1), new OreDictStack(STEEL.plate(), 6), new OreDictStack(CU.plate(), 2), new ComparableStack(ModItems.wire_copper, 6), },150); makeRecipe(new ComparableStack(ModItems.magnetron, 1), new AStack[] {new OreDictStack(ALLOY.ingot(), 1), new OreDictStack(ALLOY.plate(), 2), new ComparableStack(ModItems.wire_tungsten, 1), new ComparableStack(ModItems.coil_tungsten, 1), },100); makeRecipe(new ComparableStack(ModItems.pellet_schrabidium, 1), new AStack[] {new OreDictStack(SA326.ingot(), 5), new OreDictStack(IRON.plate(), 2), }, 200); makeRecipe(new ComparableStack(ModItems.pellet_hes, 1), new AStack[] {new ComparableStack(ModItems.ingot_hes, 5), new OreDictStack(IRON.plate(), 2), }, 200); diff --git a/src/main/java/com/hbm/inventory/recipes/BreederRecipes.java b/src/main/java/com/hbm/inventory/recipes/BreederRecipes.java index ddd05da74..2d4af394f 100644 --- a/src/main/java/com/hbm/inventory/recipes/BreederRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/BreederRecipes.java @@ -11,7 +11,6 @@ import com.hbm.inventory.RecipesCommon.ComparableStack; import com.hbm.items.ModItems; import com.hbm.items.machine.ItemBreedingRod.*; - import net.minecraft.init.Blocks; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; @@ -36,6 +35,7 @@ public class BreederRecipes { recipes.put(new ComparableStack(ModItems.meteorite_sword_etched), new BreederRecipe(new ItemStack(ModItems.meteorite_sword_bred), 1000)); } + /** Sets recipes for single, dual, and quad rods **/ public static void setRecipe(BreedingRodType inputType, BreedingRodType outputType, int flux) { recipes.put(new ComparableStack(new ItemStack(ModItems.rod, 1, inputType.ordinal())), new BreederRecipe(new ItemStack(ModItems.rod, 1, outputType.ordinal()), flux)); recipes.put(new ComparableStack(new ItemStack(ModItems.rod_dual, 1, inputType.ordinal())), new BreederRecipe(new ItemStack(ModItems.rod_dual, 1, outputType.ordinal()), flux * 2)); @@ -58,7 +58,7 @@ public class BreederRecipes { if(stack == null) return null; - ComparableStack sta = new ComparableStack(stack); + ComparableStack sta = new ComparableStack(stack).makeSingular(); return BreederRecipes.recipes.get(sta); } diff --git a/src/main/java/com/hbm/inventory/recipes/SILEXRecipes.java b/src/main/java/com/hbm/inventory/recipes/SILEXRecipes.java index 5c6ffefb6..3ffbf8da8 100644 --- a/src/main/java/com/hbm/inventory/recipes/SILEXRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/SILEXRecipes.java @@ -84,15 +84,15 @@ public class SILEXRecipes { // UEU // recipes.put(new ComparableStack(ModItems.rbmk_pellet_ueu, 1, i), new SILEXRecipe(600, 100) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_u238), 87 - i * 6)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_u235), 9 - i * 2)) + .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_u238), 88 - i * 6)) + .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_u235), 8 - i * 2)) .addOut(new WeightedRandomObject(new ItemStack(ModItems.nuclear_waste_long_tiny, 1, ItemWasteLong.WasteClass.URANIUM235.ordinal()), 2 + 3 * i)) .addOut(new WeightedRandomObject(new ItemStack(ModItems.nuclear_waste_short_tiny, 1, ItemWasteShort.WasteClass.URANIUM235.ordinal()), 2 + 5 * i)) ); recipes.put(new ComparableStack(ModItems.rbmk_pellet_ueu, 1, i + 5), new SILEXRecipe(600, 100) .addOut(new WeightedRandomObject(new ItemStack(ModItems.powder_xe135_tiny), 1)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_u238), 87 - i * 6)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_u235), 8 - i * 2)) + .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_u238), 88 - i * 6)) + .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_u235), 7 - i * 2)) .addOut(new WeightedRandomObject(new ItemStack(ModItems.nuclear_waste_long_tiny, 1, ItemWasteLong.WasteClass.URANIUM235.ordinal()), 2 + 3 * i)) .addOut(new WeightedRandomObject(new ItemStack(ModItems.nuclear_waste_short_tiny, 1, ItemWasteShort.WasteClass.URANIUM235.ordinal()), 2 + 5 * i)) ); @@ -120,7 +120,7 @@ public class SILEXRecipes { .addOut(new WeightedRandomObject(new ItemStack(ModItems.nuclear_waste_long_tiny, 1, ItemWasteLong.WasteClass.URANIUM233.ordinal()), 4 + 8 * i)) .addOut(new WeightedRandomObject(new ItemStack(ModItems.nuclear_waste_short_tiny, 1, ItemWasteShort.WasteClass.URANIUM233.ordinal()), 6 + 12 * i)) ); - // MEU // + // HEU235 // recipes.put(new ComparableStack(ModItems.rbmk_pellet_heu235, 1, i), new SILEXRecipe(600, 100) .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_u235), 90 - i * 20)) .addOut(new WeightedRandomObject(new ItemStack(ModItems.nuclear_waste_long_tiny, 1, ItemWasteLong.WasteClass.URANIUM235.ordinal()), 4 + 8 * i)) diff --git a/src/main/java/com/hbm/items/ModItems.java b/src/main/java/com/hbm/items/ModItems.java index 42d58720d..a40681446 100644 --- a/src/main/java/com/hbm/items/ModItems.java +++ b/src/main/java/com/hbm/items/ModItems.java @@ -235,6 +235,7 @@ public class ModItems { public static Item nugget_neptunium; public static Item nugget_polonium; public static Item nugget_technetium; + public static Item nugget_cobalt; public static Item nugget_co60; public static Item nugget_sr90; public static Item nugget_au198; @@ -967,72 +968,6 @@ public class ModItems { public static Item rod_quad_empty; public static Item rod_quad; - public static Item rod_uranium; - public static Item rod_th232; - public static Item rod_u233; - public static Item rod_u235; - public static Item rod_u238; - public static Item rod_plutonium; - public static Item rod_pu238; - public static Item rod_pu239; - public static Item rod_pu240; - public static Item rod_neptunium; - public static Item rod_polonium; - public static Item rod_lead; - public static Item rod_schrabidium; - public static Item rod_solinium; - public static Item rod_euphemium; - public static Item rod_australium; - public static Item rod_weidanium; - public static Item rod_reiium; - public static Item rod_unobtainium; - public static Item rod_daffergon; - public static Item rod_verticium; - public static Item rod_balefire; - public static Item rod_balefire_blazing; - - public static Item rod_dual_uranium; - public static Item rod_dual_th232; - public static Item rod_dual_u233; - public static Item rod_dual_u235; - public static Item rod_dual_u238; - public static Item rod_dual_plutonium; - public static Item rod_dual_pu238; - public static Item rod_dual_pu239; - public static Item rod_dual_pu240; - public static Item rod_dual_neptunium; - public static Item rod_dual_polonium; - public static Item rod_dual_lead; - public static Item rod_dual_schrabidium; - public static Item rod_dual_solinium; - public static Item rod_dual_balefire; - public static Item rod_dual_balefire_blazing; - - public static Item rod_quad_uranium; - public static Item rod_quad_th232; - public static Item rod_quad_u233; - public static Item rod_quad_u235; - public static Item rod_quad_u238; - public static Item rod_quad_plutonium; - public static Item rod_quad_pu238; - public static Item rod_quad_pu239; - public static Item rod_quad_pu240; - public static Item rod_quad_neptunium; - public static Item rod_quad_polonium; - public static Item rod_quad_lead; - public static Item rod_quad_schrabidium; - public static Item rod_quad_solinium; - public static Item rod_quad_balefire; - public static Item rod_quad_balefire_blazing; - - public static Item rod_water; - public static Item rod_dual_water; - public static Item rod_quad_water; - - public static Item rod_coolant; - public static Item rod_dual_coolant; - public static Item rod_quad_coolant; - public static Item rod_zirnox_empty; public static Item rod_zirnox_natural_uranium_fuel; public static Item rod_zirnox_uranium_fuel; @@ -1163,9 +1098,6 @@ public class ModItems { public static Item nuclear_waste_tiny; public static Item nuclear_waste_vitrified; public static Item nuclear_waste_vitrified_tiny; - public static Item rod_waste; - public static Item rod_dual_waste; - public static Item rod_quad_waste; public static Item debris_graphite; public static Item debris_metal; @@ -1188,13 +1120,6 @@ public class ModItems { public static Item recycled_nuclear; public static Item recycled_misc; - public static Item rod_lithium; - public static Item rod_dual_lithium; - public static Item rod_quad_lithium; - public static Item rod_tritium; - public static Item rod_dual_tritium; - public static Item rod_quad_tritium; - public static Item test_nuke_igniter; public static Item test_nuke_propellant; public static Item test_nuke_tier1_shielding; @@ -1947,7 +1872,6 @@ public class ModItems { public static Item ingot_euphemium; public static Item nugget_euphemium; - public static Item rod_quad_euphemium; public static Item euphemium_helmet; public static Item euphemium_plate; public static Item euphemium_legs; @@ -2775,6 +2699,7 @@ public class ModItems { nugget_neptunium = new ItemHazard(ItemHazard.np237 * ItemHazard.nugget).setUnlocalizedName("nugget_neptunium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nugget_neptunium"); nugget_polonium = new ItemHazard(ItemHazard.po210 * ItemHazard.nugget, true).setUnlocalizedName("nugget_polonium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nugget_polonium"); nugget_technetium = new ItemHazard().addRadiation(ItemHazard.tc99 * ItemHazard.nugget).toItem().setUnlocalizedName("nugget_technetium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nugget_technetium"); + nugget_cobalt = new Item().setUnlocalizedName("nugget_cobalt").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nugget_cobalt"); nugget_co60 = new ItemHazard().addRadiation(ItemHazard.co60 * ItemHazard.nugget).addFire(5).toItem().setUnlocalizedName("nugget_co60").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nugget_co60"); nugget_sr90 = new Item().setUnlocalizedName("nugget_sr90").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nugget_sr90"); nugget_au198 = new ItemHazard().addRadiation(ItemHazard.au198 * ItemHazard.nugget).addFire(15).toItem().setUnlocalizedName("nugget_au198").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nugget_au198"); @@ -3490,69 +3415,11 @@ public class ModItems { recycled_misc = new Item().setUnlocalizedName("recycled_misc").setCreativeTab(null).setTextureName(RefStrings.MODID + ":recycled_misc"); rod_empty = new Item().setUnlocalizedName("rod_empty").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":rod_empty"); - rod = (ItemEnumMulti) new ItemBreedingRod().setUnlocalizedName("rod").setMaxStackSize(1).setContainerItem(ModItems.rod_empty).setCreativeTab(MainRegistry.controlTab); + rod = (ItemEnumMulti) new ItemBreedingRod().setUnlocalizedName("rod").setContainerItem(ModItems.rod_empty).setCreativeTab(MainRegistry.controlTab); rod_dual_empty = new Item().setUnlocalizedName("rod_dual_empty").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":rod_dual_empty"); - rod_dual = (ItemEnumMulti) new ItemBreedingRod().setUnlocalizedName("rod_dual").setMaxStackSize(1).setContainerItem(ModItems.rod_dual_empty).setCreativeTab(MainRegistry.controlTab); + rod_dual = (ItemEnumMulti) new ItemBreedingRod().setUnlocalizedName("rod_dual").setContainerItem(ModItems.rod_dual_empty).setCreativeTab(MainRegistry.controlTab); rod_quad_empty = new Item().setUnlocalizedName("rod_quad_empty").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":rod_quad_empty"); - rod_quad = (ItemEnumMulti) new ItemBreedingRod().setUnlocalizedName("rod_quad").setMaxStackSize(1).setContainerItem(ModItems.rod_quad_empty).setCreativeTab(MainRegistry.controlTab); - - rod_th232 = new ItemHazard().addRadiation(ItemHazard.th232 * ItemHazard.rod).toItem().setUnlocalizedName("rod_th232").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_empty).setTextureName(RefStrings.MODID + ":rod_th232"); - rod_uranium = new ItemHazard(ItemHazard.u * ItemHazard.rod).setUnlocalizedName("rod_uranium").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_empty).setTextureName(RefStrings.MODID + ":rod_uranium"); - rod_u233 = new ItemHazard(ItemHazard.u233 * ItemHazard.rod).setUnlocalizedName("rod_u233").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_empty).setTextureName(RefStrings.MODID + ":rod_u233"); - rod_u235 = new ItemHazard(ItemHazard.u235 * ItemHazard.rod).setUnlocalizedName("rod_u235").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_empty).setTextureName(RefStrings.MODID + ":rod_u235"); - rod_u238 = new ItemHazard(ItemHazard.u238 * ItemHazard.rod).setUnlocalizedName("rod_u238").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_empty).setTextureName(RefStrings.MODID + ":rod_u238"); - rod_plutonium = new ItemHazard(ItemHazard.pu * ItemHazard.rod).setUnlocalizedName("rod_plutonium").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_empty).setTextureName(RefStrings.MODID + ":rod_plutonium"); - rod_pu238 = new ItemHazard(ItemHazard.pu238 * ItemHazard.rod, true).setUnlocalizedName("rod_pu238").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_empty).setTextureName(RefStrings.MODID + ":rod_pu238"); - rod_pu239 = new ItemHazard(ItemHazard.pu239 * ItemHazard.rod).setUnlocalizedName("rod_pu239").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_empty).setTextureName(RefStrings.MODID + ":rod_pu239"); - rod_pu240 = new ItemHazard(ItemHazard.pu240 * ItemHazard.rod).setUnlocalizedName("rod_pu240").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_empty).setTextureName(RefStrings.MODID + ":rod_pu240"); - rod_neptunium = new ItemHazard(ItemHazard.np237 * ItemHazard.rod).setUnlocalizedName("rod_neptunium").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_empty).setTextureName(RefStrings.MODID + ":rod_neptunium"); - rod_polonium = new ItemHazard(ItemHazard.po210 * ItemHazard.rod, true).setUnlocalizedName("rod_polonium").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_empty).setTextureName(RefStrings.MODID + ":rod_polonium"); - rod_lead = new Item().setUnlocalizedName("rod_lead").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_empty).setTextureName(RefStrings.MODID + ":rod_lead"); - rod_schrabidium = new ItemHazard(ItemHazard.sa326 * ItemHazard.rod, false, true).setUnlocalizedName("rod_schrabidium").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_empty).setTextureName(RefStrings.MODID + ":rod_schrabidium"); - rod_solinium = new ItemHazard(ItemHazard.sa327 * ItemHazard.rod, false, true).setUnlocalizedName("rod_solinium").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_empty).setTextureName(RefStrings.MODID + ":rod_solinium"); - rod_euphemium = new ItemCustomLore().setUnlocalizedName("rod_euphemium").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_empty).setTextureName(RefStrings.MODID + ":rod_euphemium"); - rod_australium = new ItemCustomLore().setUnlocalizedName("rod_australium").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_empty).setTextureName(RefStrings.MODID + ":rod_australium"); - rod_weidanium = new ItemCustomLore().setUnlocalizedName("rod_weidanium").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_empty).setTextureName(RefStrings.MODID + ":rod_weidanium"); - rod_reiium = new ItemCustomLore().setUnlocalizedName("rod_reiium").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_empty).setTextureName(RefStrings.MODID + ":rod_reiium"); - rod_unobtainium = new ItemCustomLore().setUnlocalizedName("rod_unobtainium").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_empty).setTextureName(RefStrings.MODID + ":rod_unobtainium"); - rod_daffergon = new ItemCustomLore().setUnlocalizedName("rod_daffergon").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_empty).setTextureName(RefStrings.MODID + ":rod_daffergon"); - rod_verticium = new ItemCustomLore().setUnlocalizedName("rod_verticium").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_empty).setTextureName(RefStrings.MODID + ":rod_verticium"); - rod_balefire = new ItemHazard(150000F).setUnlocalizedName("rod_balefire").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_empty).setTextureName(RefStrings.MODID + ":rod_balefire"); - rod_balefire_blazing = new ItemHazard(250000F, true).setUnlocalizedName("rod_balefire_blazing").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_empty).setTextureName(RefStrings.MODID + ":rod_balefire_blazing"); - - rod_dual_th232 = new ItemHazard(ItemHazard.th232 * ItemHazard.rod_dual).setUnlocalizedName("rod_dual_th232").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_dual_empty).setTextureName(RefStrings.MODID + ":rod_dual_th232"); - rod_dual_uranium = new ItemHazard(ItemHazard.u * ItemHazard.rod_dual).setUnlocalizedName("rod_dual_uranium").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_dual_empty).setTextureName(RefStrings.MODID + ":rod_dual_uranium"); - rod_dual_u233 = new ItemHazard(ItemHazard.u233 * ItemHazard.rod_dual).setUnlocalizedName("rod_dual_u233").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_dual_empty).setTextureName(RefStrings.MODID + ":rod_dual_u233"); - rod_dual_u235 = new ItemHazard(ItemHazard.u235 * ItemHazard.rod_dual).setUnlocalizedName("rod_dual_u235").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_dual_empty).setTextureName(RefStrings.MODID + ":rod_dual_u235"); - rod_dual_u238 = new ItemHazard(ItemHazard.u238 * ItemHazard.rod_dual).setUnlocalizedName("rod_dual_u238").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_dual_empty).setTextureName(RefStrings.MODID + ":rod_dual_u238"); - rod_dual_plutonium = new ItemHazard(ItemHazard.pu * ItemHazard.rod_dual).setUnlocalizedName("rod_dual_plutonium").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_dual_empty).setTextureName(RefStrings.MODID + ":rod_dual_plutonium"); - rod_dual_pu238 = new ItemHazard(ItemHazard.pu238 * ItemHazard.rod_dual, true).setUnlocalizedName("rod_dual_pu238").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_dual_empty).setTextureName(RefStrings.MODID + ":rod_dual_pu238"); - rod_dual_pu239 = new ItemHazard(ItemHazard.pu239 * ItemHazard.rod_dual).setUnlocalizedName("rod_dual_pu239").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_dual_empty).setTextureName(RefStrings.MODID + ":rod_dual_pu239"); - rod_dual_pu240 = new ItemHazard(ItemHazard.pu240 * ItemHazard.rod_dual).setUnlocalizedName("rod_dual_pu240").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_dual_empty).setTextureName(RefStrings.MODID + ":rod_dual_pu240"); - rod_dual_neptunium = new ItemHazard(ItemHazard.np237 * ItemHazard.rod_dual).setUnlocalizedName("rod_dual_neptunium").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_dual_empty).setTextureName(RefStrings.MODID + ":rod_dual_neptunium"); - rod_dual_polonium = new ItemHazard(ItemHazard.po210 * ItemHazard.rod_dual, true).setUnlocalizedName("rod_dual_polonium").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_dual_empty).setTextureName(RefStrings.MODID + ":rod_dual_polonium"); - rod_dual_lead = new Item().setUnlocalizedName("rod_dual_lead").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_dual_empty).setTextureName(RefStrings.MODID + ":rod_dual_lead"); - rod_dual_schrabidium = new ItemHazard(ItemHazard.sa326 * ItemHazard.rod_dual, false, true).setUnlocalizedName("rod_dual_schrabidium").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_dual_empty).setTextureName(RefStrings.MODID + ":rod_dual_schrabidium"); - rod_dual_solinium = new ItemHazard(ItemHazard.sa327 * ItemHazard.rod_dual, false, true).setUnlocalizedName("rod_dual_solinium").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_dual_empty).setTextureName(RefStrings.MODID + ":rod_dual_solinium"); - rod_dual_balefire = new ItemHazard(300000F).setUnlocalizedName("rod_dual_balefire").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_dual_empty).setTextureName(RefStrings.MODID + ":rod_dual_balefire"); - rod_dual_balefire_blazing = new ItemHazard(500000F, true).setUnlocalizedName("rod_dual_balefire_blazing").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_dual_empty).setTextureName(RefStrings.MODID + ":rod_dual_balefire_blazing"); - - rod_quad_th232 = new ItemHazard(ItemHazard.th232 * ItemHazard.rod_quad).setUnlocalizedName("rod_quad_th232").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_quad_empty).setTextureName(RefStrings.MODID + ":rod_quad_th232"); - rod_quad_uranium = new ItemHazard(ItemHazard.u * ItemHazard.rod_quad).setUnlocalizedName("rod_quad_uranium").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_quad_empty).setTextureName(RefStrings.MODID + ":rod_quad_uranium"); - rod_quad_u233 = new ItemHazard(ItemHazard.u233 * ItemHazard.rod_quad).setUnlocalizedName("rod_quad_u233").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_quad_empty).setTextureName(RefStrings.MODID + ":rod_quad_u233"); - rod_quad_u235 = new ItemHazard(ItemHazard.u235 * ItemHazard.rod_quad).setUnlocalizedName("rod_quad_u235").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_quad_empty).setTextureName(RefStrings.MODID + ":rod_quad_u235"); - rod_quad_u238 = new ItemHazard(ItemHazard.u238 * ItemHazard.rod_quad).setUnlocalizedName("rod_quad_u238").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_quad_empty).setTextureName(RefStrings.MODID + ":rod_quad_u238"); - rod_quad_plutonium = new ItemHazard(ItemHazard.pu * ItemHazard.rod_quad).setUnlocalizedName("rod_quad_plutonium").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_quad_empty).setTextureName(RefStrings.MODID + ":rod_quad_plutonium"); - rod_quad_pu238 = new ItemHazard(ItemHazard.pu238 * ItemHazard.rod_quad, true).setUnlocalizedName("rod_quad_pu238").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_quad_empty).setTextureName(RefStrings.MODID + ":rod_quad_pu238"); - rod_quad_pu239 = new ItemHazard(ItemHazard.pu239 * ItemHazard.rod_quad).setUnlocalizedName("rod_quad_pu239").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_quad_empty).setTextureName(RefStrings.MODID + ":rod_quad_pu239"); - rod_quad_pu240 = new ItemHazard(ItemHazard.pu240 * ItemHazard.rod_quad).setUnlocalizedName("rod_quad_pu240").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_quad_empty).setTextureName(RefStrings.MODID + ":rod_quad_pu240"); - rod_quad_neptunium = new ItemHazard(ItemHazard.np237 * ItemHazard.rod_quad).setUnlocalizedName("rod_quad_neptunium").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_quad_empty).setTextureName(RefStrings.MODID + ":rod_quad_neptunium"); - rod_quad_polonium = new ItemHazard(ItemHazard.po210 * ItemHazard.rod_quad, true).setUnlocalizedName("rod_quad_polonium").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_quad_empty).setTextureName(RefStrings.MODID + ":rod_quad_polonium"); - rod_quad_lead = new Item().setUnlocalizedName("rod_quad_lead").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_quad_empty).setTextureName(RefStrings.MODID + ":rod_quad_lead"); - rod_quad_schrabidium = new ItemHazard(ItemHazard.sa326 * ItemHazard.rod_quad, false, true).setUnlocalizedName("rod_quad_schrabidium").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_quad_empty).setTextureName(RefStrings.MODID + ":rod_quad_schrabidium"); - rod_quad_solinium = new ItemHazard(ItemHazard.sa327 * ItemHazard.rod_quad, false, true).setUnlocalizedName("rod_quad_solinium").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_quad_empty).setTextureName(RefStrings.MODID + ":rod_quad_solinium"); - rod_quad_balefire = new ItemHazard(600000F).setUnlocalizedName("rod_quad_balefire").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_quad_empty).setTextureName(RefStrings.MODID + ":rod_quad_balefire"); - rod_quad_balefire_blazing = new ItemHazard(1000000F, true).setUnlocalizedName("rod_quad_balefire_blazing").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_quad_empty).setTextureName(RefStrings.MODID + ":rod_quad_balefire_blazing"); + rod_quad = (ItemEnumMulti) new ItemBreedingRod().setUnlocalizedName("rod_quad").setContainerItem(ModItems.rod_quad_empty).setCreativeTab(MainRegistry.controlTab); rod_zirnox_empty = new Item().setUnlocalizedName("rod_zirnox_empty").setMaxStackSize(64).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":rod_zirnox_empty"); rod_zirnox_natural_uranium_fuel = new ItemZirnoxRod(120000, 35).setUnlocalizedName("rod_zirnox_natural_uranium_fuel").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_zirnox_empty).setTextureName(RefStrings.MODID + ":rod_zirnox_natural_uranium_fuel"); @@ -3592,22 +3459,6 @@ public class ModItems { waste_plate_ra226be = new ItemDepletedFuel().setUnlocalizedName("waste_plate_ra226be").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":waste_plate_ra226be"); waste_plate_sa326 = new ItemDepletedFuel().setUnlocalizedName("waste_plate_sa326").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":waste_plate_sa326"); - rod_water = new ItemCustomLore().setUnlocalizedName("rod_water").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_empty).setTextureName(RefStrings.MODID + ":rod_water"); - rod_dual_water = new ItemCustomLore().setUnlocalizedName("rod_dual_water").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_dual_empty).setTextureName(RefStrings.MODID + ":rod_dual_water"); - rod_quad_water = new ItemCustomLore().setUnlocalizedName("rod_quad_water").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_quad_empty).setTextureName(RefStrings.MODID + ":rod_quad_water"); - - rod_coolant = new ItemCustomLore().setUnlocalizedName("rod_coolant").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_empty).setTextureName(RefStrings.MODID + ":rod_coolant"); - rod_dual_coolant = new ItemCustomLore().setUnlocalizedName("rod_dual_coolant").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_dual_empty).setTextureName(RefStrings.MODID + ":rod_dual_coolant"); - rod_quad_coolant = new ItemCustomLore().setUnlocalizedName("rod_quad_coolant").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_quad_empty).setTextureName(RefStrings.MODID + ":rod_quad_coolant"); - - rod_lithium = new ItemHazard().addHydroReactivity().toItem().setUnlocalizedName("rod_lithium").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_empty).setTextureName(RefStrings.MODID + ":rod_lithium"); - rod_dual_lithium = new ItemHazard().addHydroReactivity().toItem().setUnlocalizedName("rod_dual_lithium").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_dual_empty).setTextureName(RefStrings.MODID + ":rod_dual_lithium"); - rod_quad_lithium = new ItemHazard().addHydroReactivity().toItem().setUnlocalizedName("rod_quad_lithium").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_quad_empty).setTextureName(RefStrings.MODID + ":rod_quad_lithium"); - - rod_tritium = new ItemHazard(0.5F).setUnlocalizedName("rod_tritium").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_empty).setTextureName(RefStrings.MODID + ":rod_tritium"); - rod_dual_tritium = new ItemHazard(1F).setUnlocalizedName("rod_dual_tritium").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_dual_empty).setTextureName(RefStrings.MODID + ":rod_dual_tritium"); - rod_quad_tritium = new ItemHazard(2F).setUnlocalizedName("rod_quad_tritium").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_quad_empty).setTextureName(RefStrings.MODID + ":rod_quad_tritium"); - pile_rod_uranium = new ItemPileRod().setUnlocalizedName("pile_rod_uranium").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":pile_rod_uranium"); pile_rod_plutonium = new ItemPileRod().setUnlocalizedName("pile_rod_plutonium").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":pile_rod_plutonium"); pile_rod_source = new ItemPileRod().setUnlocalizedName("pile_rod_source").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":pile_rod_source"); @@ -3878,10 +3729,7 @@ public class ModItems { scrap = new Item().setUnlocalizedName("scrap").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":scrap"); scrap_nuclear = new Item().setUnlocalizedName("scrap_nuclear").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":scrap_nuclear"); containment_box = new ItemLeadBox().setUnlocalizedName("containment_box").setCreativeTab(null).setTextureName(RefStrings.MODID + ":containment_box"); - rod_waste = new ItemHazard(15F).setUnlocalizedName("rod_waste").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_empty).setTextureName(RefStrings.MODID + ":rod_waste"); - rod_dual_waste = new ItemHazard(30F).setUnlocalizedName("rod_dual_waste").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_dual_empty).setTextureName(RefStrings.MODID + ":rod_dual_waste"); - rod_quad_waste = new ItemHazard(60F).setUnlocalizedName("rod_quad_waste").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_quad_empty).setTextureName(RefStrings.MODID + ":rod_quad_waste"); - + debris_graphite = new Item().setUnlocalizedName("debris_graphite").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":debris_graphite"); debris_metal = new Item().setUnlocalizedName("debris_metal").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":debris_metal"); debris_fuel = new Item().setUnlocalizedName("debris_fuel").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":debris_fuel"); @@ -4696,7 +4544,6 @@ public class ModItems { ingot_euphemium = new ItemCustomLore().setUnlocalizedName("ingot_euphemium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_euphemium"); nugget_euphemium = new ItemCustomLore().setUnlocalizedName("nugget_euphemium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nugget_euphemium"); - rod_quad_euphemium = new ItemCustomLore().setUnlocalizedName("rod_quad_euphemium").setCreativeTab(MainRegistry.partsTab).setMaxStackSize(1).setContainerItem(ModItems.rod_quad_empty).setTextureName(RefStrings.MODID + ":rod_quad_euphemium"); watch = new ItemCustomLore().setUnlocalizedName("watch").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":watch"); apple_euphemium = new ItemAppleEuphemium(20, 100, false).setUnlocalizedName("apple_euphemium").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":apple_euphemium"); @@ -5923,6 +5770,7 @@ public class ModItems { GameRegistry.registerItem(nugget_am_mix, nugget_am_mix.getUnlocalizedName()); GameRegistry.registerItem(nugget_neptunium, nugget_neptunium.getUnlocalizedName()); GameRegistry.registerItem(nugget_polonium, nugget_polonium.getUnlocalizedName()); + GameRegistry.registerItem(nugget_cobalt, nugget_cobalt.getUnlocalizedName()); GameRegistry.registerItem(nugget_co60, nugget_co60.getUnlocalizedName()); GameRegistry.registerItem(nugget_sr90, nugget_sr90.getUnlocalizedName()); GameRegistry.registerItem(nugget_technetium, nugget_technetium.getUnlocalizedName()); @@ -6577,102 +6425,6 @@ public class ModItems { GameRegistry.registerItem(rod_quad_empty, rod_quad_empty.getUnlocalizedName()); GameRegistry.registerItem(rod_quad, rod_quad.getUnlocalizedName()); - //Fuel Rods - GameRegistry.registerItem(rod_uranium, rod_uranium.getUnlocalizedName()); - GameRegistry.registerItem(rod_dual_uranium, rod_dual_uranium.getUnlocalizedName()); - GameRegistry.registerItem(rod_quad_uranium, rod_quad_uranium.getUnlocalizedName()); - - GameRegistry.registerItem(rod_th232, rod_th232.getUnlocalizedName()); - GameRegistry.registerItem(rod_dual_th232, rod_dual_th232.getUnlocalizedName()); - GameRegistry.registerItem(rod_quad_th232, rod_quad_th232.getUnlocalizedName()); - - GameRegistry.registerItem(rod_u233, rod_u233.getUnlocalizedName()); - GameRegistry.registerItem(rod_dual_u233, rod_dual_u233.getUnlocalizedName()); - GameRegistry.registerItem(rod_quad_u233, rod_quad_u233.getUnlocalizedName()); - - GameRegistry.registerItem(rod_u235, rod_u235.getUnlocalizedName()); - GameRegistry.registerItem(rod_dual_u235, rod_dual_u235.getUnlocalizedName()); - GameRegistry.registerItem(rod_quad_u235, rod_quad_u235.getUnlocalizedName()); - - GameRegistry.registerItem(rod_u238, rod_u238.getUnlocalizedName()); - GameRegistry.registerItem(rod_dual_u238, rod_dual_u238.getUnlocalizedName()); - GameRegistry.registerItem(rod_quad_u238, rod_quad_u238.getUnlocalizedName()); - - GameRegistry.registerItem(rod_plutonium, rod_plutonium.getUnlocalizedName()); - GameRegistry.registerItem(rod_dual_plutonium, rod_dual_plutonium.getUnlocalizedName()); - GameRegistry.registerItem(rod_quad_plutonium, rod_quad_plutonium.getUnlocalizedName()); - - GameRegistry.registerItem(rod_pu238, rod_pu238.getUnlocalizedName()); - GameRegistry.registerItem(rod_dual_pu238, rod_dual_pu238.getUnlocalizedName()); - GameRegistry.registerItem(rod_quad_pu238, rod_quad_pu238.getUnlocalizedName()); - - GameRegistry.registerItem(rod_pu239, rod_pu239.getUnlocalizedName()); - GameRegistry.registerItem(rod_dual_pu239, rod_dual_pu239.getUnlocalizedName()); - GameRegistry.registerItem(rod_quad_pu239, rod_quad_pu239.getUnlocalizedName()); - - GameRegistry.registerItem(rod_pu240, rod_pu240.getUnlocalizedName()); - GameRegistry.registerItem(rod_dual_pu240, rod_dual_pu240.getUnlocalizedName()); - GameRegistry.registerItem(rod_quad_pu240, rod_quad_pu240.getUnlocalizedName()); - - GameRegistry.registerItem(rod_neptunium, rod_neptunium.getUnlocalizedName()); - GameRegistry.registerItem(rod_dual_neptunium, rod_dual_neptunium.getUnlocalizedName()); - GameRegistry.registerItem(rod_quad_neptunium, rod_quad_neptunium.getUnlocalizedName()); - - GameRegistry.registerItem(rod_polonium, rod_polonium.getUnlocalizedName()); - GameRegistry.registerItem(rod_dual_polonium, rod_dual_polonium.getUnlocalizedName()); - GameRegistry.registerItem(rod_quad_polonium, rod_quad_polonium.getUnlocalizedName()); - - GameRegistry.registerItem(rod_lead, rod_lead.getUnlocalizedName()); - GameRegistry.registerItem(rod_dual_lead, rod_dual_lead.getUnlocalizedName()); - GameRegistry.registerItem(rod_quad_lead, rod_quad_lead.getUnlocalizedName()); - - GameRegistry.registerItem(rod_schrabidium, rod_schrabidium.getUnlocalizedName()); - GameRegistry.registerItem(rod_dual_schrabidium, rod_dual_schrabidium.getUnlocalizedName()); - GameRegistry.registerItem(rod_quad_schrabidium, rod_quad_schrabidium.getUnlocalizedName()); - - GameRegistry.registerItem(rod_solinium, rod_solinium.getUnlocalizedName()); - GameRegistry.registerItem(rod_dual_solinium, rod_dual_solinium.getUnlocalizedName()); - GameRegistry.registerItem(rod_quad_solinium, rod_quad_solinium.getUnlocalizedName()); - - GameRegistry.registerItem(rod_water, rod_water.getUnlocalizedName()); - GameRegistry.registerItem(rod_dual_water, rod_dual_water.getUnlocalizedName()); - GameRegistry.registerItem(rod_quad_water, rod_quad_water.getUnlocalizedName()); - - GameRegistry.registerItem(rod_coolant, rod_coolant.getUnlocalizedName()); - GameRegistry.registerItem(rod_dual_coolant, rod_dual_coolant.getUnlocalizedName()); - GameRegistry.registerItem(rod_quad_coolant, rod_quad_coolant.getUnlocalizedName()); - - GameRegistry.registerItem(rod_lithium, rod_lithium.getUnlocalizedName()); - GameRegistry.registerItem(rod_dual_lithium, rod_dual_lithium.getUnlocalizedName()); - GameRegistry.registerItem(rod_quad_lithium, rod_quad_lithium.getUnlocalizedName()); - - GameRegistry.registerItem(rod_tritium, rod_tritium.getUnlocalizedName()); - GameRegistry.registerItem(rod_dual_tritium, rod_dual_tritium.getUnlocalizedName()); - GameRegistry.registerItem(rod_quad_tritium, rod_quad_tritium.getUnlocalizedName()); - - GameRegistry.registerItem(rod_balefire, rod_balefire.getUnlocalizedName()); - GameRegistry.registerItem(rod_dual_balefire, rod_dual_balefire.getUnlocalizedName()); - GameRegistry.registerItem(rod_quad_balefire, rod_quad_balefire.getUnlocalizedName()); - - GameRegistry.registerItem(rod_balefire_blazing, rod_balefire_blazing.getUnlocalizedName()); - GameRegistry.registerItem(rod_dual_balefire_blazing, rod_dual_balefire_blazing.getUnlocalizedName()); - GameRegistry.registerItem(rod_quad_balefire_blazing, rod_quad_balefire_blazing.getUnlocalizedName()); - - GameRegistry.registerItem(rod_euphemium, rod_euphemium.getUnlocalizedName()); - GameRegistry.registerItem(rod_australium, rod_australium.getUnlocalizedName()); - GameRegistry.registerItem(rod_weidanium, rod_weidanium.getUnlocalizedName()); - GameRegistry.registerItem(rod_reiium, rod_reiium.getUnlocalizedName()); - GameRegistry.registerItem(rod_unobtainium, rod_unobtainium.getUnlocalizedName()); - GameRegistry.registerItem(rod_daffergon, rod_daffergon.getUnlocalizedName()); - GameRegistry.registerItem(rod_verticium, rod_verticium.getUnlocalizedName()); - - //Nuclear Waste - GameRegistry.registerItem(rod_quad_euphemium, rod_quad_euphemium.getUnlocalizedName()); - - GameRegistry.registerItem(rod_waste, rod_waste.getUnlocalizedName()); - GameRegistry.registerItem(rod_dual_waste, rod_dual_waste.getUnlocalizedName()); - GameRegistry.registerItem(rod_quad_waste, rod_quad_waste.getUnlocalizedName()); - //ZIRNOX parts GameRegistry.registerItem(rod_zirnox_empty, rod_zirnox_empty.getUnlocalizedName()); GameRegistry.registerItem(rod_zirnox_natural_uranium_fuel, rod_zirnox_natural_uranium_fuel.getUnlocalizedName()); diff --git a/src/main/java/com/hbm/items/machine/ItemBreedingRod.java b/src/main/java/com/hbm/items/machine/ItemBreedingRod.java index 669f60693..76efdb7e6 100644 --- a/src/main/java/com/hbm/items/machine/ItemBreedingRod.java +++ b/src/main/java/com/hbm/items/machine/ItemBreedingRod.java @@ -8,8 +8,7 @@ public class ItemBreedingRod extends ItemEnumMulti { super(BreedingRodType.class, true, true); } - //TODO: Remove old rods - public static enum BreedingRodType { + public enum BreedingRodType { LITHIUM, TRITIUM, CO, diff --git a/src/main/java/com/hbm/items/machine/ItemReactorSensor.java b/src/main/java/com/hbm/items/machine/ItemReactorSensor.java index 3bc543c5f..833ee42a9 100644 --- a/src/main/java/com/hbm/items/machine/ItemReactorSensor.java +++ b/src/main/java/com/hbm/items/machine/ItemReactorSensor.java @@ -34,36 +34,6 @@ public class ItemReactorSensor extends Item { } - if (b == ModBlocks.reactor_hatch || b == ModBlocks.reactor_ejector - || b == ModBlocks.reactor_inserter) { - - int meta = world.getBlockMetadata(x, y, z); - - switch(meta) { - case 2: z += 2; break; - case 3: z -= 2; break; - case 4: x += 2; break; - case 5: x -= 2; break; - } - } - - b = world.getBlock(x, y, z); - - if (b == ModBlocks.reactor_computer) { - - if (stack.stackTagCompound == null) - stack.stackTagCompound = new NBTTagCompound(); - - stack.stackTagCompound.setInteger("x", x); - stack.stackTagCompound.setInteger("y", y); - stack.stackTagCompound.setInteger("z", z); - - world.playSoundAtEntity(player, "hbm:item.techBoop", 1.0F, 1.0F); - - player.swingItem(); - return true; - } - return false; } diff --git a/src/main/java/com/hbm/items/special/ItemCustomLore.java b/src/main/java/com/hbm/items/special/ItemCustomLore.java index 70274f8e5..cc3a1333e 100644 --- a/src/main/java/com/hbm/items/special/ItemCustomLore.java +++ b/src/main/java/com/hbm/items/special/ItemCustomLore.java @@ -96,12 +96,6 @@ public class ItemCustomLore extends Item { list.add("a great taste in shades of green."); } - if(this == ModItems.rod_quad_euphemium) - { - list.add("A quad fuel rod which contains a"); - list.add("very small ammount of a strange new element."); - } - if(this == ModItems.ingot_euphemium) { list.add("A very special and yet strange element."); @@ -128,21 +122,6 @@ public class ItemCustomLore extends Item { list.add("It stopped ticking at 2:34."); } - if(this == ModItems.rod_lithium) - { - list.add("Turns into Tritium Rod"); - } - - if(this == ModItems.rod_dual_lithium) - { - list.add("Turns into Dual Tritium Rod"); - } - - if(this == ModItems.rod_quad_lithium) - { - list.add("Turns into Quad Tritium Rod"); - } - if(this == ModItems.tritium_deuterium_cake) { list.add("Not actual cake, but great"); @@ -390,7 +369,7 @@ public class ItemCustomLore extends Item { public EnumRarity getRarity(ItemStack p_77613_1_) { if(this == ModItems.nugget_euphemium || this == ModItems.ingot_euphemium || - this == ModItems.rod_quad_euphemium || this == ModItems.plate_euphemium || + this == ModItems.plate_euphemium || this == ModItems.watch || this == ModItems.powder_iodine || this == ModItems.powder_thorium || this == ModItems.powder_neodymium || this == ModItems.powder_neptunium || this == ModItems.powder_astatine || @@ -402,8 +381,7 @@ public class ItemCustomLore extends Item { return EnumRarity.epic; } - if(this == ModItems.rod_schrabidium || this == ModItems.rod_dual_schrabidium || - this == ModItems.rod_quad_schrabidium || this == ModItems.ingot_schrabidium || + if(this == ModItems.ingot_schrabidium || this == ModItems.nugget_schrabidium || this == ModItems.plate_schrabidium || this == ModItems.cell_sas3 || this == ModItems.powder_schrabidium || this == ModItems.wire_schrabidium || this == ModItems.circuit_schrabidium || diff --git a/src/main/java/com/hbm/items/special/ItemStarterKit.java b/src/main/java/com/hbm/items/special/ItemStarterKit.java index 57fcc2351..3459aadb9 100644 --- a/src/main/java/com/hbm/items/special/ItemStarterKit.java +++ b/src/main/java/com/hbm/items/special/ItemStarterKit.java @@ -6,6 +6,7 @@ import com.hbm.blocks.ModBlocks; import com.hbm.handler.FluidTypeHandler.FluidType; import com.hbm.items.ModItems; import com.hbm.items.machine.ItemBattery; +import com.hbm.items.machine.ItemBreedingRod.BreedingRodType; import com.hbm.lib.Library; import cpw.mods.fml.relauncher.Side; @@ -509,16 +510,9 @@ public class ItemStarterKit extends Item { player.inventory.addItemStackToInventory(new ItemStack(Item.getItemFromBlock(ModBlocks.nuke_prototype), 1)); player.inventory.addItemStackToInventory(new ItemStack(ModItems.igniter, 1)); player.inventory.addItemStackToInventory(new ItemStack(ModItems.cell_sas3, 4)); - player.inventory.addItemStackToInventory(new ItemStack(ModItems.rod_quad_uranium, 1)); - player.inventory.addItemStackToInventory(new ItemStack(ModItems.rod_quad_uranium, 1)); - player.inventory.addItemStackToInventory(new ItemStack(ModItems.rod_quad_lead, 1)); - player.inventory.addItemStackToInventory(new ItemStack(ModItems.rod_quad_lead, 1)); - player.inventory.addItemStackToInventory(new ItemStack(ModItems.rod_quad_neptunium, 1)); - player.inventory.addItemStackToInventory(new ItemStack(ModItems.rod_quad_neptunium, 1)); - player.inventory.addItemStackToInventory(new ItemStack(ModItems.rod_quad_lead, 1)); - player.inventory.addItemStackToInventory(new ItemStack(ModItems.rod_quad_lead, 1)); - player.inventory.addItemStackToInventory(new ItemStack(ModItems.rod_quad_uranium, 1)); - player.inventory.addItemStackToInventory(new ItemStack(ModItems.rod_quad_uranium, 1)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.rod_quad, 4, BreedingRodType.URANIUM.ordinal())); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.rod_quad, 4, BreedingRodType.LEAD.ordinal())); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.rod_quad, 2, BreedingRodType.NP237.ordinal())); giveHaz(world, player, 2); } diff --git a/src/main/java/com/hbm/lib/HbmChestContents.java b/src/main/java/com/hbm/lib/HbmChestContents.java index 2fbfa68ba..445eed5f2 100644 --- a/src/main/java/com/hbm/lib/HbmChestContents.java +++ b/src/main/java/com/hbm/lib/HbmChestContents.java @@ -5,6 +5,7 @@ import java.util.Random; import com.hbm.blocks.ModBlocks; import com.hbm.items.ModItems; import com.hbm.items.machine.ItemBattery; +import com.hbm.items.machine.ItemBreedingRod.*; import net.minecraft.init.Items; import net.minecraft.item.Item; @@ -112,13 +113,13 @@ public class HbmChestContents { new WeightedRandomChestContent(ModItems.nugget_u238, 0, 3, 12, 5), new WeightedRandomChestContent(ModItems.nugget_pu240, 0, 3, 8, 5), new WeightedRandomChestContent(ModItems.nugget_neptunium, 0, 1, 4, 3), - new WeightedRandomChestContent(ModItems.rod_u238, 0, 1, 1, 3), - new WeightedRandomChestContent(ModItems.rod_neptunium, 0, 1, 1, 4), - new WeightedRandomChestContent(ModItems.rod_pu240, 0, 1, 1, 3), - new WeightedRandomChestContent(ModItems.rod_dual_u238, 0, 1, 1, 3), - new WeightedRandomChestContent(ModItems.rod_dual_pu240, 0, 1, 1, 3), - new WeightedRandomChestContent(ModItems.rod_quad_u238, 0, 1, 1, 3), - new WeightedRandomChestContent(ModItems.rod_quad_pu240, 0, 1, 1, 3), + new WeightedRandomChestContent(ModItems.rod, BreedingRodType.U238.ordinal(), 1, 1, 3), + new WeightedRandomChestContent(ModItems.rod, BreedingRodType.NP237.ordinal(), 1, 1, 4), + new WeightedRandomChestContent(ModItems.rod, BreedingRodType.RGP.ordinal(), 1, 1, 3), + new WeightedRandomChestContent(ModItems.rod_dual, BreedingRodType.U238.ordinal(), 1, 1, 3), + new WeightedRandomChestContent(ModItems.rod_dual, BreedingRodType.RGP.ordinal(), 1, 1, 3), + new WeightedRandomChestContent(ModItems.rod_quad, BreedingRodType.U238.ordinal(), 1, 1, 3), + new WeightedRandomChestContent(ModItems.rod_quad, BreedingRodType.RGP.ordinal(), 1, 1, 3), new WeightedRandomChestContent(ModItems.bottle_quantum, 0, 1, 1, 1), new WeightedRandomChestContent(ModItems.gas_mask_m65, 60, 1, 1, 5), new WeightedRandomChestContent(ModItems.hazmat_kit, 0, 1, 1, 1), @@ -129,18 +130,18 @@ public class HbmChestContents { new WeightedRandomChestContent(ModItems.nugget_u235, 0, 3, 12, 5), new WeightedRandomChestContent(ModItems.nugget_pu238, 0, 3, 12, 5), new WeightedRandomChestContent(ModItems.nugget_pu239, 0, 3, 12, 5), - new WeightedRandomChestContent(ModItems.rod_u235, 0, 1, 1, 3), - new WeightedRandomChestContent(ModItems.rod_pu239, 0, 1, 1, 3), - new WeightedRandomChestContent(ModItems.rod_dual_u235, 0, 1, 1, 3), - new WeightedRandomChestContent(ModItems.rod_dual_pu239, 0, 1, 1, 3), - new WeightedRandomChestContent(ModItems.rod_quad_u235, 0, 1, 1, 3), - new WeightedRandomChestContent(ModItems.rod_quad_pu239, 0, 1, 1, 3), + new WeightedRandomChestContent(ModItems.rod, BreedingRodType.U235.ordinal(), 1, 1, 3), + new WeightedRandomChestContent(ModItems.rod, BreedingRodType.PU239.ordinal(), 1, 1, 3), + new WeightedRandomChestContent(ModItems.rod_dual, BreedingRodType.U235.ordinal(), 1, 1, 3), + new WeightedRandomChestContent(ModItems.rod_dual, BreedingRodType.PU239.ordinal(), 1, 1, 3), + new WeightedRandomChestContent(ModItems.rod_quad, BreedingRodType.U235.ordinal(), 1, 1, 3), + new WeightedRandomChestContent(ModItems.rod_quad, BreedingRodType.PU239.ordinal(), 1, 1, 3), new WeightedRandomChestContent(ModItems.rod_zirnox_uranium_fuel, 0, 1, 1, 4), new WeightedRandomChestContent(ModItems.rod_zirnox_plutonium_fuel, 0, 1, 1, 4), new WeightedRandomChestContent(ModItems.rod_zirnox_mox_fuel, 0, 1, 1, 4), new WeightedRandomChestContent(ModItems.rod_zirnox_lithium, 0, 1, 1, 3), - new WeightedRandomChestContent(ModItems.rod_zirnox_th232, 0, 1, 1, 3), new WeightedRandomChestContent(ModItems.rod_zirnox_thorium_fuel, 0, 1, 1, 3), + new WeightedRandomChestContent(ModItems.rod_dual, BreedingRodType.THF.ordinal(), 1, 1, 3), new WeightedRandomChestContent(ModItems.rod_zirnox_tritium, 0, 1, 1, 1), new WeightedRandomChestContent(ModItems.rod_zirnox_u233_fuel, 0, 1, 1, 1), new WeightedRandomChestContent(ModItems.rod_zirnox_u235_fuel, 0, 1, 1, 1), @@ -167,7 +168,7 @@ public class HbmChestContents { new WeightedRandomChestContent(ModItems.gun_kit_1, 0, 2, 3, 4), new WeightedRandomChestContent(ModItems.gun_rpg, 0, 1, 1, 3), new WeightedRandomChestContent(ModItems.ammo_rocket, 0, 1, 6, 3), - new WeightedRandomChestContent(ModItems.nugget_uranium_fuel, 0, 1, 1, 2), + new WeightedRandomChestContent(ModItems.rod, BreedingRodType.U235.ordinal(), 1, 1, 2), new WeightedRandomChestContent(ModItems.billet_uranium_fuel, 0, 1, 1, 2), new WeightedRandomChestContent(ModItems.ingot_uranium_fuel, 0, 1, 1, 2), new WeightedRandomChestContent(ModItems.ammo_nuke_safe, 0, 1, 2, 1), diff --git a/src/main/java/com/hbm/main/ModEventHandlerClient.java b/src/main/java/com/hbm/main/ModEventHandlerClient.java index 8aabea2f9..53bd115d8 100644 --- a/src/main/java/com/hbm/main/ModEventHandlerClient.java +++ b/src/main/java/com/hbm/main/ModEventHandlerClient.java @@ -564,10 +564,10 @@ public class ModEventHandlerClient { } /// NUCLEAR FURNACE FUELS /// - int[] breeder = TileEntityNukeFurnace.getFuelValue(stack); + int breeder = TileEntityNukeFurnace.getFuelValue(stack); - if(breeder != null) { - list.add(EnumChatFormatting.YELLOW + I18nUtil.resolveKey("trait.furnace", (breeder[0] * breeder[1] * 5))); + if(breeder != 0) { + list.add(EnumChatFormatting.YELLOW + I18nUtil.resolveKey("trait.furnace", (breeder * 5))); } /// CUSTOM NUKE /// diff --git a/src/main/java/com/hbm/packet/AuxButtonPacket.java b/src/main/java/com/hbm/packet/AuxButtonPacket.java index 7ec3761c0..9eb382009 100644 --- a/src/main/java/com/hbm/packet/AuxButtonPacket.java +++ b/src/main/java/com/hbm/packet/AuxButtonPacket.java @@ -99,66 +99,6 @@ public class AuxButtonPacket implements IMessage { field.isOn = !field.isOn; } - /*if (te instanceof TileEntityReactorControl) { - TileEntityReactorControl control = (TileEntityReactorControl)te; - - if(m.id == 1) - control.auto = m.value == 1; - - if(control.linkY > -1) { - TileEntity reac = p.worldObj.getTileEntity(control.linkX, control.linkY, control.linkZ); - - if (reac instanceof TileEntityMachineReactorSmall) { - TileEntityMachineReactorSmall reactor = (TileEntityMachineReactorSmall)reac; - - if(m.id == 0) - reactor.retracting = m.value == 0; - - if(m.id == 2) { - FluidType type = FluidType.STEAM; - int fill = reactor.tanks[2].getFill(); - - switch(m.value) { - case 0: type = FluidType.STEAM; fill = (int)Math.floor(fill * 100); break; - case 1: type = FluidType.HOTSTEAM; fill = (int)Math.floor(fill / 10D); break; - case 2: type = FluidType.SUPERHOTSTEAM; fill = (int)Math.floor(fill / 10D); break; - } - - if(fill > reactor.tanks[2].getMaxFill()) - fill = reactor.tanks[2].getMaxFill(); - - reactor.tanks[2].setTankType(type); - reactor.tanks[2].setFill(fill); - } - } - - if (reac instanceof TileEntityMachineReactorLarge) { - TileEntityMachineReactorLarge reactor = (TileEntityMachineReactorLarge)reac; - - if(m.id == 0) { - reactor.rods = m.value; - } - - if(m.id == 2) { - FluidType type = FluidType.STEAM; - int fill = reactor.tanks[2].getFill(); - - switch(m.value) { - case 0: type = FluidType.STEAM; fill = (int)Math.floor(fill * 100); break; - case 1: type = FluidType.HOTSTEAM; fill = (int)Math.floor(fill / 10D); break; - case 2: type = FluidType.SUPERHOTSTEAM; fill = (int)Math.floor(fill / 10D); break; - } - - if(fill > reactor.tanks[2].getMaxFill()) - fill = reactor.tanks[2].getMaxFill(); - - reactor.tanks[2].setTankType(type); - reactor.tanks[2].setFill(fill); - } - } - } - }*/ - if (te instanceof TileEntityMachineReactorLarge) { TileEntityMachineReactorLarge reactor = (TileEntityMachineReactorLarge)te; diff --git a/src/main/java/com/hbm/packet/PacketDispatcher.java b/src/main/java/com/hbm/packet/PacketDispatcher.java index 2ef05a056..da1a20e05 100644 --- a/src/main/java/com/hbm/packet/PacketDispatcher.java +++ b/src/main/java/com/hbm/packet/PacketDispatcher.java @@ -73,8 +73,6 @@ public class PacketDispatcher { wrapper.registerMessage(LoopedEntitySoundPacket.Handler.class, LoopedEntitySoundPacket.class, i++, Side.CLIENT); //Entity sound packet that keeps client and server separated wrapper.registerMessage(TEFFPacket.Handler.class, TEFFPacket.class, i++, Side.CLIENT); - //Information packet for the reactor control block - wrapper.registerMessage(TEControlPacket.Handler.class, TEControlPacket.class, i++, Side.CLIENT); //Sends button information for ItemGunBase wrapper.registerMessage(GunButtonPacket.Handler.class, GunButtonPacket.class, i++, Side.SERVER); //Packet to send block break particles diff --git a/src/main/java/com/hbm/packet/TEControlPacket.java b/src/main/java/com/hbm/packet/TEControlPacket.java deleted file mode 100644 index 8ef4a53b2..000000000 --- a/src/main/java/com/hbm/packet/TEControlPacket.java +++ /dev/null @@ -1,138 +0,0 @@ -package com.hbm.packet; - -import com.hbm.tileentity.machine.TileEntityReactorControl; - -import cpw.mods.fml.common.network.simpleimpl.IMessage; -import cpw.mods.fml.common.network.simpleimpl.IMessageHandler; -import cpw.mods.fml.common.network.simpleimpl.MessageContext; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import io.netty.buffer.ByteBuf; -import net.minecraft.client.Minecraft; -import net.minecraft.tileentity.TileEntity; - -public class TEControlPacket implements IMessage { - - int x; - int y; - int z; - int hullHeat; - int coreHeat; - int fuel; - int water; - int cool; - int steam; - int maxWater; - int maxCool; - int maxSteam; - int compression; - int rods; - int maxRods; - boolean isOn; - boolean auto; - boolean isLinked; - - public TEControlPacket() { - - } - - public TEControlPacket(int x, int y, int z, int hullHeat, int coreHeat, int fuel, int water, int cool, int steam, int maxWater, int maxCool, int maxSteam, int compression, int rods, int maxRods, boolean isOn, boolean auto, boolean isLinked) { - this.x = x; - this.y = y; - this.z = z; - this.hullHeat = hullHeat; - this.coreHeat = coreHeat; - this.fuel = fuel; - this.water = water; - this.cool = cool; - this.steam = steam; - this.maxWater = maxWater; - this.maxCool = maxCool; - this.maxSteam = maxSteam; - this.compression = compression; - this.rods = rods; - this.maxRods = maxRods; - this.isOn = isOn; - this.auto = auto; - this.isLinked = isLinked; - } - - @Override - public void fromBytes(ByteBuf buf) { - x = buf.readInt(); - y = buf.readInt(); - z = buf.readInt(); - hullHeat = buf.readInt(); - coreHeat = buf.readInt(); - fuel = buf.readInt(); - water = buf.readInt(); - cool = buf.readInt(); - steam = buf.readInt(); - maxWater = buf.readInt(); - maxCool = buf.readInt(); - maxSteam = buf.readInt(); - compression = buf.readInt(); - rods = buf.readInt(); - maxRods = buf.readInt(); - isOn = buf.readBoolean(); - auto = buf.readBoolean(); - isLinked = buf.readBoolean(); - } - - @Override - public void toBytes(ByteBuf buf) { - buf.writeInt(x); - buf.writeInt(y); - buf.writeInt(z); - buf.writeInt(hullHeat); - buf.writeInt(coreHeat); - buf.writeInt(fuel); - buf.writeInt(water); - buf.writeInt(cool); - buf.writeInt(steam); - buf.writeInt(maxWater); - buf.writeInt(maxCool); - buf.writeInt(maxSteam); - buf.writeInt(compression); - buf.writeInt(rods); - buf.writeInt(maxRods); - buf.writeBoolean(isOn); - buf.writeBoolean(auto); - buf.writeBoolean(isLinked); - } - - public static class Handler implements IMessageHandler { - - @Override - @SideOnly(Side.CLIENT) - public IMessage onMessage(TEControlPacket m, MessageContext ctx) { - TileEntity te = Minecraft.getMinecraft().theWorld.getTileEntity(m.x, m.y, m.z); - - try { - - if(te instanceof TileEntityReactorControl) { - TileEntityReactorControl control = (TileEntityReactorControl)te; - - control.hullHeat = m.hullHeat; - control.coreHeat = m.coreHeat; - control.fuel = m.fuel; - control.water = m.water; - control.cool = m.cool; - control.steam = m.steam; - control.maxWater = m.maxWater; - control.maxCool = m.maxCool; - control.maxSteam = m.maxSteam; - control.compression = m.compression; - control.rods = m.rods; - control.maxRods = m.maxRods; - control.isOn = m.isOn; - control.auto = m.auto; - control.isLinked = m.isLinked; - } - - } catch (Exception x) { - } - return null; - } - } -} diff --git a/src/main/java/com/hbm/tileentity/bomb/TileEntityNukePrototype.java b/src/main/java/com/hbm/tileentity/bomb/TileEntityNukePrototype.java index eb5f9fd7f..f974d943e 100644 --- a/src/main/java/com/hbm/tileentity/bomb/TileEntityNukePrototype.java +++ b/src/main/java/com/hbm/tileentity/bomb/TileEntityNukePrototype.java @@ -1,6 +1,7 @@ package com.hbm.tileentity.bomb; import com.hbm.items.ModItems; +import com.hbm.items.machine.ItemBreedingRod.*; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -174,16 +175,16 @@ public class TileEntityNukePrototype extends TileEntity implements ISidedInvento if(slots[0] != null && slots[1] != null && slots[2] != null && slots[3] != null && slots[4] != null && slots[5] != null && slots[6] != null && slots[7] != null && slots[8] != null && slots[9] != null && slots[10] != null && slots[11] != null && slots[12] != null && slots[13] != null) if(slots[0].getItem() == ModItems.cell_sas3 && slots[1].getItem() == ModItems.cell_sas3 && - slots[2].getItem() == ModItems.rod_quad_uranium && - slots[3].getItem() == ModItems.rod_quad_uranium && - slots[4].getItem() == ModItems.rod_quad_lead && - slots[5].getItem() == ModItems.rod_quad_lead && - slots[6].getItem() == ModItems.rod_quad_neptunium && - slots[7].getItem() == ModItems.rod_quad_neptunium && - slots[8].getItem() == ModItems.rod_quad_lead && - slots[9].getItem() == ModItems.rod_quad_lead && - slots[10].getItem() == ModItems.rod_quad_uranium && - slots[11].getItem() == ModItems.rod_quad_uranium && + slots[2].isItemEqual(new ItemStack(ModItems.rod_quad, 1, BreedingRodType.URANIUM.ordinal())) && + slots[3].isItemEqual(new ItemStack(ModItems.rod_quad, 1, BreedingRodType.URANIUM.ordinal())) && + slots[4].isItemEqual(new ItemStack(ModItems.rod_quad, 1, BreedingRodType.LEAD.ordinal())) && + slots[5].isItemEqual(new ItemStack(ModItems.rod_quad, 1, BreedingRodType.LEAD.ordinal())) && + slots[6].isItemEqual(new ItemStack(ModItems.rod_quad, 1, BreedingRodType.NP237.ordinal())) && + slots[7].isItemEqual(new ItemStack(ModItems.rod_quad, 1, BreedingRodType.NP237.ordinal())) && + slots[8].isItemEqual(new ItemStack(ModItems.rod_quad, 1, BreedingRodType.LEAD.ordinal())) && + slots[9].isItemEqual(new ItemStack(ModItems.rod_quad, 1, BreedingRodType.LEAD.ordinal())) && + slots[10].isItemEqual(new ItemStack(ModItems.rod_quad, 1, BreedingRodType.URANIUM.ordinal())) && + slots[11].isItemEqual(new ItemStack(ModItems.rod_quad, 1, BreedingRodType.URANIUM.ordinal())) && slots[12].getItem() == ModItems.cell_sas3 && slots[13].getItem() == ModItems.cell_sas3) { diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineDeuterium.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineDeuterium.java index 814b0fff8..9930767dd 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineDeuterium.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineDeuterium.java @@ -6,6 +6,7 @@ import com.hbm.lib.Library; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Items; import net.minecraft.inventory.ISidedInventory; +import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagList; @@ -103,7 +104,7 @@ public class TileEntityMachineDeuterium extends TileEntity implements ISidedInve switch(i) { case 1: - if(stack.getItem() == ModItems.rod_water || stack.getItem() == ModItems.rod_dual_water || stack.getItem() == ModItems.rod_quad_water || stack.getItem() == Items.water_bucket) + if(stack.getItem() == Items.water_bucket) return true; break; case 2: @@ -283,30 +284,6 @@ public class TileEntityMachineDeuterium extends TileEntity implements ISidedInve } } - if (slots[1] != null && slots[1].getItem() == ModItems.rod_water && water + 250 <= maxFill) { - water += 250; - slots[1].stackSize--; - if (slots[1].stackSize == 0) { - this.slots[1] = this.slots[1].getItem().getContainerItem(this.slots[1]); - } - } - - if (slots[1] != null && slots[1].getItem() == ModItems.rod_dual_water && water + 500 <= maxFill) { - water += 500; - slots[1].stackSize--; - if (slots[1].stackSize == 0) { - this.slots[1] = this.slots[1].getItem().getContainerItem(this.slots[1]); - } - } - - if (slots[1] != null && slots[1].getItem() == ModItems.rod_quad_water && water + 1000 <= maxFill) { - water += 1000; - slots[1].stackSize--; - if (slots[1].stackSize == 0) { - this.slots[1] = this.slots[1].getItem().getContainerItem(this.slots[1]); - } - } - if (slots[1] != null && slots[1].getItem() == ModItems.inf_water) { water = maxFill; } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineGenerator.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineGenerator.java index 95ed346d1..0039c5c6a 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineGenerator.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineGenerator.java @@ -131,10 +131,10 @@ public class TileEntityMachineGenerator extends TileEntity implements ISidedInve if(itemStack.getItem() instanceof ItemFuelRod) return true; if(i == 9) - if(itemStack.getItem() == ModItems.rod_water || itemStack.getItem() == ModItems.rod_dual_water || itemStack.getItem() == ModItems.rod_quad_water || itemStack.getItem() == Items.water_bucket) + if(itemStack.getItem() == Items.water_bucket) return true; if(i == 10) - if(itemStack.getItem() == ModItems.rod_coolant || itemStack.getItem() == ModItems.rod_dual_coolant || itemStack.getItem() == ModItems.rod_quad_coolant) + if(itemStack.getItem() == ModItems.fluid_tank_full) return true; if(i == 11) if(itemStack.getItem() instanceof IBatteryItem) diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityNukeFurnace.java b/src/main/java/com/hbm/tileentity/machine/TileEntityNukeFurnace.java index b5d4641fe..e35b80f98 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityNukeFurnace.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityNukeFurnace.java @@ -5,7 +5,9 @@ import java.util.HashMap; import com.hbm.blocks.machine.MachineNukeFurnace; import com.hbm.inventory.RecipesCommon.ComparableStack; import com.hbm.inventory.recipes.BreederRecipes; +import com.hbm.inventory.recipes.BreederRecipes.BreederRecipe; import com.hbm.items.ModItems; +import com.hbm.items.machine.ItemBreedingRod.*; import com.hbm.items.special.ItemCustomLore; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.ISidedInventory; @@ -22,7 +24,7 @@ public class TileEntityNukeFurnace extends TileEntity implements ISidedInventory public int dualCookTime; public int dualPower; public static final int maxPower = 1000; - public static final int processingSpeed = 30; + public static final int processingSpeed = 25; private static final int[] slots_top = new int[] {1}; private static final int[] slots_bottom = new int[] {2, 0}; @@ -114,12 +116,9 @@ public class TileEntityNukeFurnace extends TileEntity implements ISidedInventory return 0; } else { - int[] power = getFuelValue(stack); + int power = getFuelValue(stack); - if(power == null) - return 0; - - return power[0] * power[1] * 5; + return power; } } @@ -350,7 +349,7 @@ public class TileEntityNukeFurnace extends TileEntity implements ISidedInventory } } - private static HashMap fuels = new HashMap(); + private static HashMap fuels = new HashMap(); //for the int array: [0] => level (1-4) [1] => amount of operations /* @@ -359,57 +358,22 @@ public class TileEntityNukeFurnace extends TileEntity implements ISidedInventory * Who even uses this furnace? Nobody, but it's better then removing it without prior approval */ public static void registerFuels() { - 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}); - - fuels.put(new ComparableStack(ModItems.rod_balefire), new int[] {2, 150}); - fuels.put(new ComparableStack(ModItems.rod_dual_balefire), new int[] {2, 300}); - fuels.put(new ComparableStack(ModItems.rod_quad_balefire), new int[] {2, 600}); - - fuels.put(new ComparableStack(ModItems.rod_balefire_blazing), new int[] {4, 75}); - fuels.put(new ComparableStack(ModItems.rod_dual_balefire_blazing), new int[] {4, 150}); - fuels.put(new ComparableStack(ModItems.rod_quad_balefire_blazing), new int[] {4, 300}); + setRecipe(BreedingRodType.TRITIUM, 5); + setRecipe(BreedingRodType.CO60, 10); + setRecipe(BreedingRodType.THF, 30); + setRecipe(BreedingRodType.U235, 50); + setRecipe(BreedingRodType.NP237, 30); + setRecipe(BreedingRodType.PU238, 20); + setRecipe(BreedingRodType.PU239, 50); + setRecipe(BreedingRodType.RGP, 30); + setRecipe(BreedingRodType.WASTE, 20); + } + + /** Sets power for single, dual, and quad rods **/ + public static void setRecipe(BreedingRodType type, int power) { + fuels.put(new ComparableStack(new ItemStack(ModItems.rod, 1, type.ordinal())), power); + fuels.put(new ComparableStack(new ItemStack(ModItems.rod_dual, 1, type.ordinal())), power * 2); + fuels.put(new ComparableStack(new ItemStack(ModItems.rod_quad, 1, type.ordinal())), power * 4); } /** @@ -417,14 +381,15 @@ public class TileEntityNukeFurnace extends TileEntity implements ISidedInventory * @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) { + public static int getFuelValue(ItemStack stack) { if(stack == null) - return null; + return 0; - ComparableStack sta = new ComparableStack(stack); - int[] ret = fuels.get(sta); + ComparableStack sta = new ComparableStack(stack).makeSingular(); + if(fuels.get(sta) != null) + return fuels.get(sta); - return ret; + return 0; } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityReactorControl.java b/src/main/java/com/hbm/tileentity/machine/TileEntityReactorControl.java index 1dd00a2f6..6ac1f8d42 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityReactorControl.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityReactorControl.java @@ -1,9 +1,14 @@ package com.hbm.tileentity.machine; import com.hbm.blocks.ModBlocks; +import com.hbm.blocks.machine.ReactorResearch; +import com.hbm.interfaces.IControlReceiver; import com.hbm.items.ModItems; +import com.hbm.packet.NBTControlPacket; import com.hbm.packet.PacketDispatcher; -import com.hbm.packet.TEControlPacket; +import com.hbm.tileentity.TileEntityMachineBase; +import com.hbm.tileentity.machine.rbmk.TileEntityRBMKControlAuto.RBMKFunction; +import com.hbm.tileentity.machine.rbmk.TileEntityRBMKControlManual.RBMKColor; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import net.minecraft.block.Block; @@ -14,111 +19,20 @@ import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagList; import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.MathHelper; +import net.minecraft.util.Vec3; -public class TileEntityReactorControl extends TileEntity implements ISidedInventory { +public class TileEntityReactorControl extends TileEntityMachineBase implements IControlReceiver { - private ItemStack slots[]; - - private static final int[] slots_top = new int[] {0}; - private static final int[] slots_bottom = new int[] {0}; - private static final int[] slots_side = new int[] {0}; - - private String customName; + private static final int[] slots_io = new int[] {0}; public TileEntityReactorControl() { - slots = new ItemStack[1]; - } - - @Override - public int getSizeInventory() { - return slots.length; - } - - @Override - public ItemStack getStackInSlot(int i) { - return slots[i]; - } - - @Override - public ItemStack getStackInSlotOnClosing(int i) { - if(slots[i] != null) - { - ItemStack itemStack = slots[i]; - slots[i] = null; - return itemStack; - } else { - return null; - } - } - - @Override - public void setInventorySlotContents(int i, ItemStack itemStack) { - slots[i] = itemStack; - if(itemStack != null && itemStack.stackSize > getInventoryStackLimit()) - { - itemStack.stackSize = getInventoryStackLimit(); - } - } - - @Override - public String getInventoryName() { - return this.hasCustomInventoryName() ? this.customName : "container.reactorControl"; - } - - @Override - public boolean hasCustomInventoryName() { - return this.customName != null && this.customName.length() > 0; - } - - public void setCustomName(String name) { - this.customName = name; - } - - @Override - public int getInventoryStackLimit() { - return 64; - } - - @Override - public boolean isUseableByPlayer(EntityPlayer player) { - if(worldObj.getTileEntity(xCoord, yCoord, zCoord) != this) - { - return false; - }else{ - return player.getDistanceSq(xCoord + 0.5D, yCoord + 0.5D, zCoord + 0.5D) <=64; - } + super(1); } @Override - public void openInventory() {} - @Override - public void closeInventory() {} - - @Override - public boolean isItemValidForSlot(int i, ItemStack stack) { - return false; - } - - @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; - } - ItemStack itemStack1 = slots[i].splitStack(j); - if (slots[i].stackSize == 0) - { - slots[i] = null; - } - - return itemStack1; - } else { - return null; - } + public String getName() { + return "container.reactorControl"; } @Override @@ -126,9 +40,12 @@ public class TileEntityReactorControl extends TileEntity implements ISidedInvent super.readFromNBT(nbt); NBTTagList list = nbt.getTagList("items", 10); - redstoned = nbt.getBoolean("red"); - auto = nbt.getBoolean("auto"); - lastRods = nbt.getInteger("lastRods"); + isLinked = nbt.getBoolean("isLinked"); + levelLower = nbt.getDouble("levelLower"); + levelUpper = nbt.getDouble("levelUpper"); + heatLower = nbt.getDouble("heatLower"); + heatUpper = nbt.getDouble("heatUpper"); + function = RodFunction.values()[nbt.getInteger("function")]; slots = new ItemStack[getSizeInventory()]; @@ -148,9 +65,13 @@ public class TileEntityReactorControl extends TileEntity implements ISidedInvent super.writeToNBT(nbt); NBTTagList list = new NBTTagList(); - nbt.setBoolean("red", redstoned); - nbt.setBoolean("auto", auto); - nbt.setInteger("lastRods", lastRods); + nbt.setBoolean("isLinked", isLinked); + nbt.setDouble("levelLower", levelLower); + nbt.setDouble("levelUpper", levelUpper); + nbt.setDouble("heatLower", heatLower); + nbt.setDouble("heatUpper", heatUpper); + nbt.setInteger("function", function.ordinal()); + for(int i = 0; i < slots.length; i++) { @@ -165,27 +86,153 @@ public class TileEntityReactorControl extends TileEntity implements ISidedInvent nbt.setTag("items", list); } + public TileEntityReactorResearch reactor; + + public boolean isLinked; + public int heat; + + public double levelLower; + public double levelUpper; + public double heatLower; + public double heatUpper; + public RodFunction function = RodFunction.LINEAR; + + //TODO: Remove all large reactor functionality for this @Override - public int[] getAccessibleSlotsFromSide(int p_94128_1_) - { - return p_94128_1_ == 0 ? slots_bottom : (p_94128_1_ == 1 ? slots_top : slots_side); - } + public void updateEntity() { + + if(!worldObj.isRemote) { + + isLinked = establishLink(); + + if(isLinked) { + this.heat = reactor.heat; + + double fauxLevel = 0; - @Override - public boolean canInsertItem(int i, ItemStack itemStack, int j) { - return false; + double lowerBound = Math.min(this.heatLower, this.heatUpper); + double upperBound = Math.max(this.heatLower, this.heatUpper); + + if(this.heat < lowerBound) { + fauxLevel = this.levelLower; + + } else if(this.heat > upperBound) { + fauxLevel = this.levelUpper; + + } else { + + switch(this.function) { + case LINEAR: + fauxLevel = (this.heat - this.heatLower) * ((this.levelUpper - this.levelLower) / (this.heatUpper - this.heatLower)) + this.levelLower; + break; + case QUAD: + fauxLevel = Math.pow((this.heat - this.heatLower) / (this.heatUpper - this.heatLower), 2) * (this.levelUpper - this.levelLower) + this.levelLower; + break; + case LOG: + fauxLevel = Math.pow((this.heat - this.heatUpper) / (this.heatLower - this.heatUpper), 2) * (this.levelLower - this.levelUpper) + this.levelUpper; + break; + default: + break; + } + } + + double level = MathHelper.clamp_double((fauxLevel * 0.01D), 0D, 1D); + + NBTTagCompound control = new NBTTagCompound(); + control.setDouble("level", level); + + PacketDispatcher.wrapper.sendToServer(new NBTControlPacket(control, reactor.xCoord, reactor.yCoord, reactor.zCoord)); + } + + NBTTagCompound data = new NBTTagCompound(); + data.setInteger("heat", heat); + data.setBoolean("isLinked", isLinked); + data.setDouble("levelLower", levelLower); + data.setDouble("levelUpper", levelUpper); + data.setDouble("heatLower", heatLower); + data.setDouble("heatUpper", heatUpper); + data.setInteger("function", function.ordinal()); + this.networkPack(data, 150); + } } + + public void networkUnpack(NBTTagCompound data) { + this.heat = data.getInteger("heat"); + isLinked = data.getBoolean("isLinked"); + levelLower = data.getDouble("levelLower"); + levelUpper = data.getDouble("levelUpper"); + heatLower = data.getDouble("heatLower"); + heatUpper = data.getDouble("heatUpper"); + function = RodFunction.values()[data.getInteger("function")]; + } + + private boolean establishLink() { + if(slots[0] != null && slots[0].getItem() == ModItems.reactor_sensor && slots[0].stackTagCompound != null) { + int xCoord = slots[0].stackTagCompound.getInteger("x"); + int yCoord = slots[0].stackTagCompound.getInteger("y"); + int zCoord = slots[0].stackTagCompound.getInteger("z"); + + Block b = worldObj.getBlock(xCoord, yCoord, zCoord); + + if(b == ModBlocks.reactor_research) { + + int[] pos = ((ReactorResearch) ModBlocks.reactor_research).findCore(worldObj, xCoord, yCoord, zCoord); + + if(pos != null) { - @Override - public boolean canExtractItem(int i, ItemStack itemStack, int j) { + TileEntity tile = worldObj.getTileEntity(pos[0], pos[1], pos[2]); + + if(tile instanceof TileEntityReactorResearch) { + reactor = (TileEntityReactorResearch) tile; + + return true; + } + } + } + } + return false; } - public int linkX; - public int linkY; - public int linkZ; + public int[] getDisplayData() { + if(reactor != null) { + int[] data = new int[3]; + data[0] = (int) reactor.level * 100; + data[1] = reactor.totalFlux; + data[2] = (int) Math.round((this.heat) * 0.00002 * 980 + 20); + return data; + } else { + return new int[] { 0, 0, 0 }; + } + } - public int hullHeat; + @Override + public void receiveControl(NBTTagCompound data) { + + if(data.hasKey("function")) { + this.function = RodFunction.values()[data.getInteger("function")]; + } else { + this.levelLower = data.getDouble("levelLower"); + this.levelUpper = data.getDouble("levelUpper"); + this.heatLower = data.getDouble("heatLower"); + this.heatUpper = data.getDouble("heatUpper"); + } + + this.markDirty(); + } + + @Override + public boolean hasPermission(EntityPlayer player) { + return Vec3.createVectorHelper(xCoord - player.posX, yCoord - player.posY, zCoord - player.posZ).lengthVector() < 20; + } + + public enum RodFunction { + LINEAR, + QUAD, + LOG + } + + /*public int hullHeat; public int coreHeat; public int fuel; public int water; @@ -199,14 +246,14 @@ public class TileEntityReactorControl extends TileEntity implements ISidedInvent public int maxRods; public boolean isOn; public boolean auto; - public boolean isLinked; + public boolean isLinkd; public boolean redstoned; - private int lastRods = 100; + private int lastRods = 100;*/ - @Override + /*@Override public void updateEntity() { - /*if(!worldObj.isRemote) + if(!worldObj.isRemote) { if(slots[0] != null && slots[0].getItem() == ModItems.reactor_sensor && slots[0].stackTagCompound != null) @@ -352,6 +399,6 @@ public class TileEntityReactorControl extends TileEntity implements ISidedInvent } PacketDispatcher.wrapper.sendToAllAround(new TEControlPacket(xCoord, yCoord, zCoord, hullHeat, coreHeat, fuel, water, cool, steam, maxWater, maxCool, maxSteam, compression, rods, maxRods, isOn, auto, isLinked), new TargetPoint(worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 30)); - }*/ - } + } + }*/ } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityReactorResearch.java b/src/main/java/com/hbm/tileentity/machine/TileEntityReactorResearch.java index 9c8df327c..324fc2005 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityReactorResearch.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityReactorResearch.java @@ -48,6 +48,7 @@ public class TileEntityReactorResearch extends TileEntityMachineBase implements public double targetLevel; public int heat; + public byte water; public final int maxHeat = 50000; public int[] slotFlux = new int[12]; public int totalFlux = 0; @@ -84,6 +85,7 @@ public class TileEntityReactorResearch extends TileEntityMachineBase implements public void readFromNBT(NBTTagCompound nbt) { super.readFromNBT(nbt); heat = nbt.getInteger("heat"); + water = nbt.getByte("water"); level = nbt.getDouble("level"); targetLevel = nbt.getDouble("targetLevel"); } @@ -92,6 +94,7 @@ public class TileEntityReactorResearch extends TileEntityMachineBase implements public void writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); nbt.setInteger("heat", heat); + nbt.setByte("water", water); nbt.setDouble("level", level); nbt.setDouble("targetLevel", targetLevel); } @@ -122,11 +125,9 @@ public class TileEntityReactorResearch extends TileEntityMachineBase implements if(level > 0) { reaction(); } - - //getInteractions(); - + if(this.heat > 0) { - byte water = getWater(); + water = getWater(); if(water > 0) { this.heat -= (this.heat * (float) 0.07 * water / 12); @@ -142,7 +143,6 @@ public class TileEntityReactorResearch extends TileEntityMachineBase implements this.explode(); } - //change to 3D rad like demon-core if(level > 0 && heat > 0 && !(blocksRad(xCoord + 1, yCoord + 1, zCoord) && blocksRad(xCoord - 1, yCoord + 1, zCoord) && blocksRad(xCoord, yCoord + 1, zCoord + 1) && blocksRad(xCoord, yCoord + 1, zCoord - 1))) { float rad = (float) heat / (float) maxHeat * 50F; ChunkRadiationManager.proxy.incrementRad(worldObj, xCoord, yCoord, zCoord, rad); @@ -150,6 +150,7 @@ public class TileEntityReactorResearch extends TileEntityMachineBase implements NBTTagCompound data = new NBTTagCompound(); data.setInteger("heat", heat); + data.setByte("water", water); data.setDouble("level", level); data.setDouble("targetLevel", targetLevel); data.setIntArray("slotFlux", slotFlux); @@ -160,13 +161,14 @@ public class TileEntityReactorResearch extends TileEntityMachineBase implements public void networkUnpack(NBTTagCompound data) { this.heat = data.getInteger("heat"); + this.water = data.getByte("water"); this.level = data.getDouble("level"); this.targetLevel = data.getDouble("targetLevel"); this.slotFlux = data.getIntArray("slotFlux"); this.totalFlux = data.getInteger("totalFlux"); } - private byte getWater() { + public byte getWater() { byte water = 0; for(byte d = 0; d < 6; d++) { @@ -332,9 +334,6 @@ public class TileEntityReactorResearch extends TileEntityMachineBase implements public void receiveControl(NBTTagCompound data) { if(data.hasKey("level")) { this.setTarget(data.getDouble("level")); - - if(targetLevel != level) - this.worldObj.playSoundEffect(this.xCoord, this.yCoord, this.zCoord, "hbm:block.reactorStop", 1.0F, 1.0F); } this.markDirty(); diff --git a/src/main/resources/assets/hbm/lang/en_US.lang b/src/main/resources/assets/hbm/lang/en_US.lang index 4618cf716..f102ddce5 100644 --- a/src/main/resources/assets/hbm/lang/en_US.lang +++ b/src/main/resources/assets/hbm/lang/en_US.lang @@ -908,6 +908,7 @@ item.billet_balefire_gold.name=Flashgold Billet item.billet_beryllium.name=Beryllium Billet item.billet_bismuth.name=Bismuth Billet item.billet_co60.name=Cobalt-60 Billet +item.billet_cobalt.name=Cobalt Billet item.billet_hes.name=Highly Enriched Schrabidium Fuel Billet item.billet_les.name=Low Enriched Schrabidium Fuel Billet item.billet_mox_fuel.name=MOX Fuel Billet @@ -2045,6 +2046,7 @@ item.nugget_australium_lesser.name=Lesser Australium Nugget item.nugget_beryllium.name=Beryllium Nugget item.nugget_bismuth.name=Bismuth Nugget item.nugget_co60.name=Cobalt-60 Nugget +item.nugget_cobalt.name=Cobalt Nugget item.nugget_daffergon.name=Daffergon Nugget item.nugget_desh.name=Desh Nugget item.nugget_dineutronium.name=Dineutronium Nugget diff --git a/src/main/resources/assets/hbm/textures/gui/gui_reactor_control.png b/src/main/resources/assets/hbm/textures/gui/gui_reactor_control.png index 0d5e3040d..131ae6fdb 100644 Binary files a/src/main/resources/assets/hbm/textures/gui/gui_reactor_control.png and b/src/main/resources/assets/hbm/textures/gui/gui_reactor_control.png differ diff --git a/src/main/resources/assets/hbm/textures/items/nugget_cobalt.png b/src/main/resources/assets/hbm/textures/items/nugget_cobalt.png new file mode 100644 index 000000000..a1697fdaf Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/nugget_cobalt.png differ