diff --git a/src/main/java/com/hbm/blocks/machine/ReactorZirnox.java b/src/main/java/com/hbm/blocks/machine/ReactorZirnox.java index 4aaaccea7..39c65cc59 100644 --- a/src/main/java/com/hbm/blocks/machine/ReactorZirnox.java +++ b/src/main/java/com/hbm/blocks/machine/ReactorZirnox.java @@ -29,7 +29,7 @@ public class ReactorZirnox extends BlockDummyable { if(meta >= 12) return new TileEntityReactorZirnox(); if(meta >= 6) - return new TileEntityProxyCombo(false, true, true); + return new TileEntityProxyCombo(true, true, true); return null; } @@ -75,6 +75,8 @@ public class ReactorZirnox extends BlockDummyable { this.makeExtra(world, x + dir.offsetX * o + rot.offsetX * 2, y + 3, z + dir.offsetZ * o + rot.offsetZ * 2); this.makeExtra(world, x + dir.offsetX * o + rot.offsetX * -2, y + 1, z + dir.offsetZ * o + rot.offsetZ * -2); this.makeExtra(world, x + dir.offsetX * o + rot.offsetX * -2, y + 3, z + dir.offsetZ * o + rot.offsetZ * -2); + //i still don't know why the ports were such an issue all those months ago + this.makeExtra(world, x + dir.offsetX * o, y + 4, z + dir.offsetZ * o); } } \ No newline at end of file diff --git a/src/main/java/com/hbm/crafting/RodRecipes.java b/src/main/java/com/hbm/crafting/RodRecipes.java index 834b6849c..91b675b0a 100644 --- a/src/main/java/com/hbm/crafting/RodRecipes.java +++ b/src/main/java/com/hbm/crafting/RodRecipes.java @@ -31,6 +31,7 @@ public class RodRecipes { 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.rod_zirnox_zfb_mox), new Object[] { ModItems.rod_zirnox_empty, ModItems.billet_mox_fuel, ZR.billet() }); 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 }); @@ -40,6 +41,7 @@ public class RodRecipes { CraftingManager.addShapelessAuto(new ItemStack(ModItems.waste_u233, 2, 1), new Object[] { ModItems.rod_zirnox_u233_fuel_depleted }); CraftingManager.addShapelessAuto(new ItemStack(ModItems.waste_u235, 2, 1), new Object[] { ModItems.rod_zirnox_u235_fuel_depleted }); CraftingManager.addShapelessAuto(new ItemStack(ModItems.waste_schrabidium, 2, 1), new Object[] { ModItems.rod_zirnox_les_fuel_depleted }); + CraftingManager.addShapelessAuto(new ItemStack(ModItems.waste_zfb_mox, 2, 1), new Object[] { ModItems.rod_zirnox_zfb_mox_depleted }); //Breeding Rods CraftingManager.addRecipeAuto(new ItemStack(ModItems.rod_empty, 16), new Object[] { "SSS", "L L", "SSS", 'S', STEEL.plate(), 'L', PB.plate() }); diff --git a/src/main/java/com/hbm/hazard/HazardRegistry.java b/src/main/java/com/hbm/hazard/HazardRegistry.java index 8d396fafe..f9acfc360 100644 --- a/src/main/java/com/hbm/hazard/HazardRegistry.java +++ b/src/main/java/com/hbm/hazard/HazardRegistry.java @@ -222,6 +222,7 @@ public class HazardRegistry { registerOtherFuel(rod_zirnox_u235_fuel, u235 * rod_dual, wst * rod_dual * 11F, false); registerOtherFuel(rod_zirnox_les_fuel, saf * rod_dual, wst * rod_dual * 15F, false); registerOtherFuel(rod_zirnox_lithium, 0, 0.001F * rod_dual, false); + registerOtherFuel(rod_zirnox_zfb_mox, mox * rod_dual, wst * rod_dual * 5F, false); HazardSystem.register(rod_zirnox_natural_uranium_fuel_depleted, makeData(RADIATION, wst * rod_dual * 11.5F)); HazardSystem.register(rod_zirnox_uranium_fuel_depleted, makeData(RADIATION, wst * rod_dual * 10F)); @@ -232,6 +233,7 @@ public class HazardRegistry { HazardSystem.register(rod_zirnox_u235_fuel_depleted, makeData(RADIATION, wst * rod_dual * 11F)); HazardSystem.register(rod_zirnox_les_fuel_depleted, makeData().addEntry(RADIATION, wst * rod_dual * 15F).addEntry(BLINDING, 20F)); HazardSystem.register(rod_zirnox_tritium, makeData(RADIATION, 0.001F * rod_dual)); + HazardSystem.register(rod_zirnox_zfb_mox_depleted, makeData(RADIATION, wst * rod_dual * 5F)); registerOtherWaste(waste_natural_uranium, wst * billet * 11.5F); registerOtherWaste(waste_uranium, wst * billet * 10F); @@ -241,6 +243,7 @@ public class HazardRegistry { registerOtherWaste(waste_u233, wst * billet * 10F); registerOtherWaste(waste_u235, wst * billet * 11F); registerOtherWaste(waste_schrabidium, wst * billet * 15F); + registerOtherWaste(waste_zfb_mox, wst * billet * 5F); registerOtherFuel(pellet_schrabidium, sa326 * ingot * 5, wst * ingot * 100, true); registerOtherFuel(pellet_hes, saf * ingot * 5, wst * ingot * 75, true); diff --git a/src/main/java/com/hbm/hazard/modifier/HazardModifierFuelRadiation.java b/src/main/java/com/hbm/hazard/modifier/HazardModifierFuelRadiation.java index c95a1e213..bc1584e9d 100644 --- a/src/main/java/com/hbm/hazard/modifier/HazardModifierFuelRadiation.java +++ b/src/main/java/com/hbm/hazard/modifier/HazardModifierFuelRadiation.java @@ -18,7 +18,7 @@ float target; if(stack.getItem() instanceof ItemFuelRod) { ItemFuelRod fuel = (ItemFuelRod) stack.getItem(); - double depletion = fuel.getDurabilityForDisplay(stack); + double depletion = Math.pow(fuel.getDurabilityForDisplay(stack), 0.4D); level = (float) (level + (this.target - level) * depletion); diff --git a/src/main/java/com/hbm/inventory/recipes/CentrifugeRecipes.java b/src/main/java/com/hbm/inventory/recipes/CentrifugeRecipes.java index cc18449b7..a48ff6e2f 100644 --- a/src/main/java/com/hbm/inventory/recipes/CentrifugeRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/CentrifugeRecipes.java @@ -71,9 +71,15 @@ public class CentrifugeRecipes { recipes.put(new ComparableStack(ModItems.waste_schrabidium), new ItemStack[] { new ItemStack(ModItems.nugget_beryllium, 2), new ItemStack(ModItems.nugget_pu239, 1), - new ItemStack(ModItems.nuclear_waste_tiny, 2), + new ItemStack(ModItems.nuclear_waste_tiny, 1), new ItemStack(ModItems.nuclear_waste_tiny, 2) }); + recipes.put(new ComparableStack(ModItems.waste_zfb_mox), new ItemStack[] { + new ItemStack(ModItems.nugget_zirconium, 3), + new ItemStack(ModItems.nugget_technetium, 1), + new ItemStack(ModItems.nugget_pu_mix, 1), + new ItemStack(ModItems.nuclear_waste_tiny, 1) }); + recipes.put(new ComparableStack(ModItems.waste_plate_mox), new ItemStack[] { new ItemStack(ModItems.powder_sr90_tiny, 1), new ItemStack(ModItems.nugget_pu_mix, 3), diff --git a/src/main/java/com/hbm/inventory/recipes/FuelPoolRecipes.java b/src/main/java/com/hbm/inventory/recipes/FuelPoolRecipes.java index 43ef32c73..2e80c2bb4 100644 --- a/src/main/java/com/hbm/inventory/recipes/FuelPoolRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/FuelPoolRecipes.java @@ -29,6 +29,7 @@ public class FuelPoolRecipes extends SerializableRecipe { recipes.put(new ComparableStack(ModItems.waste_u233, 1, 1), new ItemStack(ModItems.waste_u233)); recipes.put(new ComparableStack(ModItems.waste_u235, 1, 1), new ItemStack(ModItems.waste_u235)); recipes.put(new ComparableStack(ModItems.waste_schrabidium, 1, 1), new ItemStack(ModItems.waste_schrabidium)); + recipes.put(new ComparableStack(ModItems.waste_zfb_mox, 1, 1), new ItemStack(ModItems.waste_zfb_mox)); recipes.put(new ComparableStack(ModItems.waste_plate_u233, 1, 1), new ItemStack(ModItems.waste_plate_u233)); recipes.put(new ComparableStack(ModItems.waste_plate_u235, 1, 1), new ItemStack(ModItems.waste_plate_u235)); recipes.put(new ComparableStack(ModItems.waste_plate_mox, 1, 1), new ItemStack(ModItems.waste_plate_mox)); diff --git a/src/main/java/com/hbm/items/ModItems.java b/src/main/java/com/hbm/items/ModItems.java index e4439e4e3..a28ded22a 100644 --- a/src/main/java/com/hbm/items/ModItems.java +++ b/src/main/java/com/hbm/items/ModItems.java @@ -1031,6 +1031,7 @@ public class ModItems { public static Item rod_zirnox_les_fuel; public static Item rod_zirnox_lithium; public static Item rod_zirnox_tritium; + public static Item rod_zirnox_zfb_mox; public static Item rod_zirnox_natural_uranium_fuel_depleted; public static Item rod_zirnox_uranium_fuel_depleted; @@ -1040,6 +1041,7 @@ public class ModItems { public static Item rod_zirnox_u233_fuel_depleted; public static Item rod_zirnox_u235_fuel_depleted; public static Item rod_zirnox_les_fuel_depleted; + public static Item rod_zirnox_zfb_mox_depleted; public static Item waste_natural_uranium; public static Item waste_uranium; @@ -1049,6 +1051,7 @@ public class ModItems { public static Item waste_u233; public static Item waste_u235; public static Item waste_schrabidium; + public static Item waste_zfb_mox; //TODO: remind me to smite these useless waste items and condense em like the rbmk waste public static Item waste_plate_u233; public static Item waste_plate_u235; @@ -3584,18 +3587,19 @@ public class ModItems { 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(125000, 30).setUnlocalizedName("rod_zirnox_natural_uranium_fuel").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_zirnox_empty).setTextureName(RefStrings.MODID + ":rod_zirnox_natural_uranium_fuel"); - rod_zirnox_uranium_fuel = new ItemZirnoxRod(100000, 50).setUnlocalizedName("rod_zirnox_uranium_fuel").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_zirnox_empty).setTextureName(RefStrings.MODID + ":rod_zirnox_uranium_fuel"); + rod_zirnox_natural_uranium_fuel = new ItemZirnoxRod(250000, 30).setUnlocalizedName("rod_zirnox_natural_uranium_fuel").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_zirnox_empty).setTextureName(RefStrings.MODID + ":rod_zirnox_natural_uranium_fuel"); + rod_zirnox_uranium_fuel = new ItemZirnoxRod(200000, 50).setUnlocalizedName("rod_zirnox_uranium_fuel").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_zirnox_empty).setTextureName(RefStrings.MODID + ":rod_zirnox_uranium_fuel"); rod_zirnox_th232 = new ItemZirnoxBreedingRod(20000, 0).setUnlocalizedName("rod_zirnox_th232").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":rod_zirnox_th232"); - rod_zirnox_thorium_fuel = new ItemZirnoxRod(120000, 40).setUnlocalizedName("rod_zirnox_thorium_fuel").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":rod_zirnox_thorium_fuel"); - rod_zirnox_mox_fuel = new ItemZirnoxRod(80000, 75).setUnlocalizedName("rod_zirnox_mox_fuel").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":rod_zirnox_mox_fuel"); - rod_zirnox_plutonium_fuel = new ItemZirnoxRod(85000, 65).setUnlocalizedName("rod_zirnox_plutonium_fuel").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":rod_zirnox_plutonium_fuel"); - rod_zirnox_u233_fuel = new ItemZirnoxRod(87500, 80).setUnlocalizedName("rod_zirnox_u233_fuel").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":rod_zirnox_u233_fuel"); - rod_zirnox_u235_fuel = new ItemZirnoxRod(85000, 85).setUnlocalizedName("rod_zirnox_u235_fuel").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":rod_zirnox_u235_fuel"); + rod_zirnox_thorium_fuel = new ItemZirnoxRod(200000, 40).setUnlocalizedName("rod_zirnox_thorium_fuel").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":rod_zirnox_thorium_fuel"); + rod_zirnox_mox_fuel = new ItemZirnoxRod(165000, 75).setUnlocalizedName("rod_zirnox_mox_fuel").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":rod_zirnox_mox_fuel"); + rod_zirnox_plutonium_fuel = new ItemZirnoxRod(175000, 65).setUnlocalizedName("rod_zirnox_plutonium_fuel").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":rod_zirnox_plutonium_fuel"); + rod_zirnox_u233_fuel = new ItemZirnoxRod(150000, 100).setUnlocalizedName("rod_zirnox_u233_fuel").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":rod_zirnox_u233_fuel"); + rod_zirnox_u235_fuel = new ItemZirnoxRod(165000, 85).setUnlocalizedName("rod_zirnox_u235_fuel").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":rod_zirnox_u235_fuel"); rod_zirnox_les_fuel = new ItemZirnoxRod(150000, 150).setUnlocalizedName("rod_zirnox_les_fuel").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":rod_zirnox_les_fuel"); rod_zirnox_lithium = new ItemZirnoxBreedingRod(20000, 0).setUnlocalizedName("rod_zirnox_lithium").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":rod_zirnox_lithium"); - rod_zirnox_tritium = new Item().setUnlocalizedName("rod_zirnox_tritium").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_zirnox_empty).setTextureName(RefStrings.MODID + ":rod_zirnox_tritium"); - + rod_zirnox_tritium = new Item().setUnlocalizedName("rod_zirnox_tritium").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_zirnox_empty).setTextureName(RefStrings.MODID + ":rod_zirnox_tritium"); + rod_zirnox_zfb_mox = new ItemZirnoxRod(50000, 35).setUnlocalizedName("rod_zirnox_zfb_mox").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":rod_zirnox_zfb_mox"); + rod_zirnox_natural_uranium_fuel_depleted = new Item().setUnlocalizedName("rod_zirnox_natural_uranium_fuel_depleted").setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_zirnox_empty).setTextureName(RefStrings.MODID + ":rod_zirnox_uranium_fuel_depleted"); rod_zirnox_uranium_fuel_depleted = new Item().setUnlocalizedName("rod_zirnox_uranium_fuel_depleted").setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_zirnox_empty).setTextureName(RefStrings.MODID + ":rod_zirnox_uranium_fuel_depleted"); rod_zirnox_thorium_fuel_depleted = new Item().setUnlocalizedName("rod_zirnox_thorium_fuel_depleted").setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_zirnox_empty).setTextureName(RefStrings.MODID + ":rod_zirnox_thorium_fuel_depleted"); @@ -3604,7 +3608,8 @@ public class ModItems { rod_zirnox_u233_fuel_depleted = new Item().setUnlocalizedName("rod_zirnox_u233_fuel_depleted").setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_zirnox_empty).setTextureName(RefStrings.MODID + ":rod_zirnox_u233_fuel_depleted"); rod_zirnox_u235_fuel_depleted = new Item().setUnlocalizedName("rod_zirnox_u235_fuel_depleted").setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_zirnox_empty).setTextureName(RefStrings.MODID + ":rod_zirnox_u235_fuel_depleted"); rod_zirnox_les_fuel_depleted = new Item().setUnlocalizedName("rod_zirnox_les_fuel_depleted").setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_zirnox_empty).setTextureName(RefStrings.MODID + ":rod_zirnox_les_fuel_depleted"); - + rod_zirnox_zfb_mox_depleted = new Item().setUnlocalizedName("rod_zirnox_zfb_mox_depleted").setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_zirnox_empty).setTextureName(RefStrings.MODID + ":rod_zirnox_zfb_mox_depleted"); + waste_natural_uranium = new ItemDepletedFuel().setUnlocalizedName("waste_natural_uranium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":waste_uranium"); waste_uranium = new ItemDepletedFuel().setUnlocalizedName("waste_uranium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":waste_uranium"); waste_thorium = new ItemDepletedFuel().setUnlocalizedName("waste_thorium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":waste_thorium"); @@ -3613,6 +3618,7 @@ public class ModItems { waste_u233 = new ItemDepletedFuel().setUnlocalizedName("waste_u233").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":waste_uranium"); waste_u235 = new ItemDepletedFuel().setUnlocalizedName("waste_u235").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":waste_uranium"); waste_schrabidium = new ItemDepletedFuel().setUnlocalizedName("waste_schrabidium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":waste_schrabidium"); + waste_zfb_mox = new ItemDepletedFuel().setUnlocalizedName("waste_zfb_mox").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":waste_zfb_mox"); waste_plate_u233 = new ItemDepletedFuel().setUnlocalizedName("waste_plate_u233").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":waste_plate_uranium"); waste_plate_u235 = new ItemDepletedFuel().setUnlocalizedName("waste_plate_u235").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":waste_plate_uranium"); @@ -6779,7 +6785,8 @@ public class ModItems { GameRegistry.registerItem(rod_zirnox_les_fuel, rod_zirnox_les_fuel.getUnlocalizedName()); GameRegistry.registerItem(rod_zirnox_lithium, rod_zirnox_lithium.getUnlocalizedName()); GameRegistry.registerItem(rod_zirnox_tritium, rod_zirnox_tritium.getUnlocalizedName()); - + GameRegistry.registerItem(rod_zirnox_zfb_mox, rod_zirnox_zfb_mox.getUnlocalizedName()); + GameRegistry.registerItem(rod_zirnox_natural_uranium_fuel_depleted, rod_zirnox_natural_uranium_fuel_depleted.getUnlocalizedName()); GameRegistry.registerItem(rod_zirnox_uranium_fuel_depleted, rod_zirnox_uranium_fuel_depleted.getUnlocalizedName()); GameRegistry.registerItem(rod_zirnox_thorium_fuel_depleted, rod_zirnox_thorium_fuel_depleted.getUnlocalizedName()); @@ -6788,6 +6795,7 @@ public class ModItems { GameRegistry.registerItem(rod_zirnox_u233_fuel_depleted, rod_zirnox_u233_fuel_depleted.getUnlocalizedName()); GameRegistry.registerItem(rod_zirnox_u235_fuel_depleted, rod_zirnox_u235_fuel_depleted.getUnlocalizedName()); GameRegistry.registerItem(rod_zirnox_les_fuel_depleted, rod_zirnox_les_fuel_depleted.getUnlocalizedName()); + GameRegistry.registerItem(rod_zirnox_zfb_mox_depleted, rod_zirnox_zfb_mox_depleted.getUnlocalizedName()); //Depleted Fuel GameRegistry.registerItem(waste_natural_uranium, waste_natural_uranium.getUnlocalizedName()); @@ -6798,6 +6806,7 @@ public class ModItems { GameRegistry.registerItem(waste_u233, waste_u233.getUnlocalizedName()); GameRegistry.registerItem(waste_u235, waste_u235.getUnlocalizedName()); GameRegistry.registerItem(waste_schrabidium, waste_schrabidium.getUnlocalizedName()); + GameRegistry.registerItem(waste_zfb_mox, waste_zfb_mox.getUnlocalizedName()); GameRegistry.registerItem(waste_plate_u233, waste_plate_u233.getUnlocalizedName()); GameRegistry.registerItem(waste_plate_u235, waste_plate_u235.getUnlocalizedName()); diff --git a/src/main/java/com/hbm/items/machine/ItemFuelRod.java b/src/main/java/com/hbm/items/machine/ItemFuelRod.java index 3fa3cd46e..f443fca48 100644 --- a/src/main/java/com/hbm/items/machine/ItemFuelRod.java +++ b/src/main/java/com/hbm/items/machine/ItemFuelRod.java @@ -38,7 +38,7 @@ public class ItemFuelRod extends Item { } public boolean showDurabilityBar(ItemStack stack) { - return true; + return getDurabilityForDisplay(stack) > 0D; } public double getDurabilityForDisplay(ItemStack stack) { diff --git a/src/main/java/com/hbm/items/machine/ItemZirnoxBreedingRod.java b/src/main/java/com/hbm/items/machine/ItemZirnoxBreedingRod.java index 039e5e399..c0623d2d2 100644 --- a/src/main/java/com/hbm/items/machine/ItemZirnoxBreedingRod.java +++ b/src/main/java/com/hbm/items/machine/ItemZirnoxBreedingRod.java @@ -3,6 +3,7 @@ package com.hbm.items.machine; import java.util.List; import com.hbm.util.BobMathUtil; +import com.hbm.util.I18nUtil; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; @@ -17,8 +18,10 @@ public class ItemZirnoxBreedingRod extends ItemZirnoxRod { @Override public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) { - list.add(EnumChatFormatting.YELLOW + "[ZIRNOX Breeding Rod]"); - list.add(EnumChatFormatting.DARK_AQUA + " Place next to fuel rods to breed"); - list.add(EnumChatFormatting.DARK_AQUA + " Lasts " + BobMathUtil.getShortNumber(lifeTime) + " ticks"); + String[] descLocs = I18nUtil.resolveKeyArray("desc.item.zirnoxBreedingRod", BobMathUtil.getShortNumber(lifeTime)); + + for(String loc : descLocs) { + list.add(loc); + } } } \ No newline at end of file diff --git a/src/main/java/com/hbm/items/machine/ItemZirnoxRod.java b/src/main/java/com/hbm/items/machine/ItemZirnoxRod.java index cf590c18d..5ef69303a 100644 --- a/src/main/java/com/hbm/items/machine/ItemZirnoxRod.java +++ b/src/main/java/com/hbm/items/machine/ItemZirnoxRod.java @@ -3,6 +3,7 @@ package com.hbm.items.machine; import java.util.List; import com.hbm.util.BobMathUtil; +import com.hbm.util.I18nUtil; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; @@ -20,8 +21,10 @@ public class ItemZirnoxRod extends ItemFuelRod { @Override public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) { - list.add(EnumChatFormatting.YELLOW + "[ZIRNOX Fuel Rod]"); - list.add(EnumChatFormatting.DARK_AQUA + " Generates " + heat + " heat per tick"); - list.add(EnumChatFormatting.DARK_AQUA + " Lasts " + BobMathUtil.getShortNumber(lifeTime) + " ticks"); + String[] descLocs = I18nUtil.resolveKeyArray("desc.item.zirnoxRod", heat, BobMathUtil.getShortNumber(lifeTime)); + + for(String loc : descLocs) { + list.add(loc); + } } } \ No newline at end of file diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineIGenerator.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineIGenerator.java index 04191a8f6..2da830617 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineIGenerator.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineIGenerator.java @@ -99,14 +99,14 @@ public class TileEntityMachineIGenerator extends TileEntityMachineBase implement if(burnTime > 0) { - if(fuel.getItem() == Items.coal) + if(fuel.getItem() == Items.coal) //1200 (1600) burnTime *= 1.5; - if(fuel.getItem() == ModItems.solid_fuel) + if(fuel.getItem() == ModItems.solid_fuel) //3200 (3200) burnTime *= 2; - if(fuel.getItem() == ModItems.solid_fuel_presto) + if(fuel.getItem() == ModItems.solid_fuel_presto) //16000 (8000) + burnTime *= 4; + if(fuel.getItem() == ModItems.solid_fuel_presto_triplet) //80000 (40000) burnTime *= 4; - if(fuel.getItem() == ModItems.solid_fuel_presto_triplet) - burnTime *= 10; burn[i] = burnTime; diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityReactorZirnox.java b/src/main/java/com/hbm/tileentity/machine/TileEntityReactorZirnox.java index 6ba80cbdb..95f38fdc4 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityReactorZirnox.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityReactorZirnox.java @@ -32,8 +32,10 @@ import api.hbm.fluid.IFluidStandardTransceiver; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.IInventory; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.Vec3; import net.minecraftforge.common.util.ForgeDirection; @@ -59,6 +61,8 @@ public class TileEntityReactorZirnox extends TileEntityMachineBase implements IF public FluidTank steam; public FluidTank carbonDioxide; public FluidTank water; + + private static final int[] slots_io = new int[] { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23 }; public static final HashMap fuelMap = new HashMap(); static { @@ -72,6 +76,7 @@ public class TileEntityReactorZirnox extends TileEntityMachineBase implements IF fuelMap.put(new ComparableStack(ModItems.rod_zirnox_u235_fuel), new ItemStack(ModItems.rod_zirnox_u235_fuel_depleted)); fuelMap.put(new ComparableStack(ModItems.rod_zirnox_les_fuel), new ItemStack(ModItems.rod_zirnox_les_fuel_depleted)); fuelMap.put(new ComparableStack(ModItems.rod_zirnox_lithium), new ItemStack(ModItems.rod_zirnox_tritium)); + fuelMap.put(new ComparableStack(ModItems.rod_zirnox_zfb_mox), new ItemStack(ModItems.rod_zirnox_zfb_mox_depleted)); } public TileEntityReactorZirnox() { @@ -85,6 +90,21 @@ public class TileEntityReactorZirnox extends TileEntityMachineBase implements IF public String getName() { return "container.zirnox"; } + + @Override + public int[] getAccessibleSlotsFromSide(int side) { + return slots_io; + } + + @Override + public boolean isItemValidForSlot(int i, ItemStack stack) { + return i < 24 && stack.getItem() instanceof ItemZirnoxRod; + } + + @Override + public boolean canExtractItem(int i, ItemStack stack, int j) { + return i < 24 && !(stack.getItem() instanceof ItemZirnoxRod); + } @Override public void readFromNBT(NBTTagCompound nbt) { @@ -176,12 +196,11 @@ public class TileEntityReactorZirnox extends TileEntityMachineBase implements IF if(worldObj.getTotalWorldTime() % 20 == 0) { this.updateConnections(); } - + carbonDioxide.loadTank(24, 26, slots); water.loadTank(25, 27, slots); - + if(isOn) { - for(int i = 0; i < 24; i++) { if(slots[i] != null) { @@ -245,9 +264,6 @@ public class TileEntityReactorZirnox extends TileEntityMachineBase implements IF } private boolean hasFuelRod(int id) { - if(id > 23) - return false; - if(slots[id] != null) { if(!(slots[id].getItem() instanceof ItemZirnoxBreedingRod)) { return slots[id].getItem() instanceof ItemZirnoxRod; @@ -276,13 +292,10 @@ public class TileEntityReactorZirnox extends TileEntityMachineBase implements IF // itemstack in slots[id] has to contain ItemZirnoxRod private void decay(int id) { - if(id > 23) - return; - int decay = getNeighbourCount(id); if(!(slots[id].getItem() instanceof ItemZirnoxBreedingRod)) { - decay = getNeighbourCount(id) + 1; + decay++; } for(int i = 0; i < decay; i++) { @@ -290,7 +303,7 @@ public class TileEntityReactorZirnox extends TileEntityMachineBase implements IF this.heat += rod.heat; ItemZirnoxRod.setLifeTime(slots[id], ItemZirnoxRod.getLifeTime(slots[id]) + 1); - if(ItemZirnoxRod.getLifeTime(slots[id]) > ((ItemZirnoxRod) slots[id].getItem()).lifeTime) { + if(ItemZirnoxRod.getLifeTime(slots[id]) > rod.lifeTime) { slots[id] = fuelMap.get(new ComparableStack(getStackInSlot(id))).copy(); break; } diff --git a/src/main/resources/assets/hbm/lang/en_US.lang b/src/main/resources/assets/hbm/lang/en_US.lang index 2b8c84b50..f93d66595 100644 --- a/src/main/resources/assets/hbm/lang/en_US.lang +++ b/src/main/resources/assets/hbm/lang/en_US.lang @@ -567,6 +567,8 @@ desc.item.pileRod=§eUse on drilled graphite to insert$§eUse screwdriver to ext desc.item.rtgDecay=Decays to: %s desc.item.rtgHeat=Power Level: %s desc.item.wasteCooling=Cool in a Spent Fuel Pool Drum +desc.item.zirnoxBreedingRod=§2[ZIRNOX Breeding Rod]$§ePlace next to fuel rods to breed$§eLasts %d ticks +desc.item.zirnoxRod=§a[ZIRNOX Fuel Rod]$§eGenerates %1$d heat per tick$§eLasts %2$d ticks desc.gui.assembler.warning=§cError:§r This machine requires an assembly template! desc.gui.chemplant.warning=§cError:§r This machine requires an chemistry template! desc.gui.gasCent.enrichment=§2Enrichment§r$Uranium enrichment requires cascades.$Two-centrifuge cascades will give$uranium fuel, four-centrifuge cascades$will give total separation. @@ -2909,25 +2911,27 @@ item.rod_waste.name=Nuclear Waste Rod item.rod_water.name=Water Cell item.rod_weidanium.name=Weidanium Rod item.rod_zirnox_empty.name=Empty ZIRNOX Rod -item.rod_zirnox_natural_uranium_fuel.name= ZIRNOX Natural Uranium Fuel Rod -item.rod_zirnox_uranium_fuel.name= ZIRNOX Uranium Fuel Rod -item.rod_zirnox_th232.name= ZIRNOX Thorium-232 Rod -item.rod_zirnox_thorium_fuel.name= ZIRNOX Thorium Fuel Rod -item.rod_zirnox_mox_fuel.name= ZIRNOX MOX Fuel Rod -item.rod_zirnox_plutonium_fuel.name= ZIRNOX Plutonium Fuel Rod -item.rod_zirnox_u233_fuel.name= ZIRNOX Uranium-233 Fuel Rod -item.rod_zirnox_u235_fuel.name= ZIRNOX Uranium-235 Fuel Rod -item.rod_zirnox_les_fuel.name= ZIRNOX LES Fuel Rod -item.rod_zirnox_lithium.name= ZIRNOX Lithium Rod -item.rod_zirnox_tritium.name= ZIRNOX Tritium Rod -item.rod_zirnox_natural_uranium_fuel_depleted.name= Depleted ZIRNOX Natural Uranium Fuel Rod +item.rod_zirnox_natural_uranium_fuel.name=ZIRNOX Natural Uranium Fuel Rod +item.rod_zirnox_uranium_fuel.name=ZIRNOX Uranium Fuel Rod +item.rod_zirnox_th232.name=ZIRNOX Thorium-232 Rod +item.rod_zirnox_thorium_fuel.name=ZIRNOX Thorium Fuel Rod +item.rod_zirnox_mox_fuel.name=ZIRNOX MOX Fuel Rod +item.rod_zirnox_plutonium_fuel.name=ZIRNOX Plutonium Fuel Rod +item.rod_zirnox_u233_fuel.name=ZIRNOX Uranium-233 Fuel Rod +item.rod_zirnox_u235_fuel.name=ZIRNOX Uranium-235 Fuel Rod +item.rod_zirnox_les_fuel.name=ZIRNOX LES Fuel Rod +item.rod_zirnox_lithium.name=ZIRNOX Lithium Rod +item.rod_zirnox_tritium.name=ZIRNOX Tritium Rod +item.rod_zirnox_zfb_mox.name=ZIRNOX ZFB MOX Fuel Rod +item.rod_zirnox_natural_uranium_fuel_depleted.name=Depleted ZIRNOX Natural Uranium Fuel Rod item.rod_zirnox_uranium_fuel_depleted.name= Depleted ZIRNOX Uranium Fuel Rod item.rod_zirnox_thorium_fuel_depleted.name= Depleted ZIRNOX Thorium Fuel Rod -item.rod_zirnox_mox_fuel_depleted.name= Depleted ZIRNOX MOX Fuel Rod -item.rod_zirnox_plutonium_fuel_depleted.name= Depleted ZIRNOX Plutonium Fuel Rod -item.rod_zirnox_u233_fuel_depleted.name= Depleted ZIRNOX Uranium-233 Fuel Rod -item.rod_zirnox_u235_fuel_depleted.name= Depleted ZIRNOX Uranium-235 Fuel Rod -item.rod_zirnox_les_fuel_depleted.name= Depleted ZIRNOX LES Fuel Rod +item.rod_zirnox_mox_fuel_depleted.name=Depleted ZIRNOX MOX Fuel Rod +item.rod_zirnox_plutonium_fuel_depleted.name=Depleted ZIRNOX Plutonium Fuel Rod +item.rod_zirnox_u233_fuel_depleted.name=Depleted ZIRNOX Uranium-233 Fuel Rod +item.rod_zirnox_u235_fuel_depleted.name=Depleted ZIRNOX Uranium-235 Fuel Rod +item.rod_zirnox_les_fuel_depleted.name=Depleted ZIRNOX LES Fuel Rod +item.rod_zirnox_zfb_mox_depleted.name=Depleted ZIRNOX ZFB MOX Fuel Rod item.rotor_steel.name=Large Steel Rotor item.rpa_boots.name=Remnants Power Armor Boots item.rpa_helmet.name=Remnants Power Armor Helmet @@ -3230,6 +3234,7 @@ item.waste_thorium.name=Depleted Thorium Fuel item.waste_u235.name=Depleted Uranium-235 Fuel item.waste_u233.name=Depleted Uranium-233 Fuel item.waste_uranium.name=Depleted Uranium Fuel +item.waste_zfb_mox.name=Depleted ZFB MOX Fuel item.watch.name=Broken Pocket Watch item.watch.desc=A small blue pocket watch.$It's glass has a few cracks in it,$and some shards are missing.$It stopped ticking at 2:34. item.weapon_bat.name=Richard's Default diff --git a/src/main/resources/assets/hbm/textures/items/rod_zirnox_zfb_mox.png b/src/main/resources/assets/hbm/textures/items/rod_zirnox_zfb_mox.png new file mode 100644 index 000000000..55d0c2f82 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/rod_zirnox_zfb_mox.png differ diff --git a/src/main/resources/assets/hbm/textures/items/rod_zirnox_zfb_mox_depleted.png b/src/main/resources/assets/hbm/textures/items/rod_zirnox_zfb_mox_depleted.png new file mode 100644 index 000000000..822ca968b Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/rod_zirnox_zfb_mox_depleted.png differ diff --git a/src/main/resources/assets/hbm/textures/items/waste_zfb_mox.png b/src/main/resources/assets/hbm/textures/items/waste_zfb_mox.png new file mode 100644 index 000000000..9273a2cdb Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/waste_zfb_mox.png differ diff --git a/src/main/resources/assets/hbm/textures/models/zirnox.png b/src/main/resources/assets/hbm/textures/models/zirnox.png index ac902bf57..e71f22c3f 100644 Binary files a/src/main/resources/assets/hbm/textures/models/zirnox.png and b/src/main/resources/assets/hbm/textures/models/zirnox.png differ diff --git a/src/main/resources/assets/hbm/textures/models/zirnox_destroyed.png b/src/main/resources/assets/hbm/textures/models/zirnox_destroyed.png index d2efd7075..ca439722f 100644 Binary files a/src/main/resources/assets/hbm/textures/models/zirnox_destroyed.png and b/src/main/resources/assets/hbm/textures/models/zirnox_destroyed.png differ