diff --git a/src/main/java/com/hbm/hazard/HazardRegistry.java b/src/main/java/com/hbm/hazard/HazardRegistry.java index e834e124b..af19f345c 100644 --- a/src/main/java/com/hbm/hazard/HazardRegistry.java +++ b/src/main/java/com/hbm/hazard/HazardRegistry.java @@ -226,12 +226,14 @@ public class HazardRegistry { registerOtherFuel(plate_fuel_mox, mox * ingot, mox * ingot * 100); registerOtherFuel(plate_fuel_pu239, pu239 * ingot, pu239 * ingot * 100); registerOtherFuel(plate_fuel_sa326, sa326 * ingot, sa326 * ingot * 100); + registerOtherFuel(plate_fuel_ra226be, rabe * ingot, rabe * ingot * 100); registerOtherWaste(waste_plate_u233, u233 * ingot * 100); registerOtherWaste(waste_plate_u235, u235 * ingot * 100); registerOtherWaste(waste_plate_mox, mox * ingot * 100); registerOtherWaste(waste_plate_pu239, pu239 * ingot * 100); registerOtherWaste(waste_plate_sa326, sa326 * ingot * 100); + registerOtherWaste(waste_plate_ra226be, rabe * ingot * 100); HazardSystem.register(debris_graphite, new HazardData().addEntry(RADIATION, 70F).addEntry(HOT, 5F)); HazardSystem.register(debris_metal, makeData(RADIATION, 5F)); diff --git a/src/main/java/com/hbm/inventory/container/ContainerMachineReactorBreeding.java b/src/main/java/com/hbm/inventory/container/ContainerMachineReactorBreeding.java index 7ee94bdfd..301b93487 100644 --- a/src/main/java/com/hbm/inventory/container/ContainerMachineReactorBreeding.java +++ b/src/main/java/com/hbm/inventory/container/ContainerMachineReactorBreeding.java @@ -47,7 +47,7 @@ public class ContainerMachineReactorBreeding extends Container { return null; } - } else if (!this.mergeItemStack(stack, 1, 2, false)) { + } else if (!this.mergeItemStack(stack, 0, 1, false)) { return null; } diff --git a/src/main/java/com/hbm/inventory/container/ContainerReactorResearch.java b/src/main/java/com/hbm/inventory/container/ContainerReactorResearch.java index b68cb561a..730a983b4 100644 --- a/src/main/java/com/hbm/inventory/container/ContainerReactorResearch.java +++ b/src/main/java/com/hbm/inventory/container/ContainerReactorResearch.java @@ -20,12 +20,12 @@ private TileEntityReactorResearch reactor; this.addSlotToContainer(new Slot(tedf, 0, 95, 22)); this.addSlotToContainer(new Slot(tedf, 1, 131, 22)); this.addSlotToContainer(new Slot(tedf, 2, 77, 40)); - this.addSlotToContainer(new Slot(tedf, 3, 112, 40)); + this.addSlotToContainer(new Slot(tedf, 3, 113, 40)); this.addSlotToContainer(new Slot(tedf, 4, 149, 40)); this.addSlotToContainer(new Slot(tedf, 5, 95, 58)); this.addSlotToContainer(new Slot(tedf, 6, 131, 58)); this.addSlotToContainer(new Slot(tedf, 7, 77, 76)); - this.addSlotToContainer(new Slot(tedf, 8, 112, 76)); + this.addSlotToContainer(new Slot(tedf, 8, 113, 76)); this.addSlotToContainer(new Slot(tedf, 9, 149, 76)); this.addSlotToContainer(new Slot(tedf, 10, 95, 94)); this.addSlotToContainer(new Slot(tedf, 11, 131, 94)); diff --git a/src/main/java/com/hbm/inventory/gui/GUIReactorResearch.java b/src/main/java/com/hbm/inventory/gui/GUIReactorResearch.java index 72fac911b..4df76b5e6 100644 --- a/src/main/java/com/hbm/inventory/gui/GUIReactorResearch.java +++ b/src/main/java/com/hbm/inventory/gui/GUIReactorResearch.java @@ -114,6 +114,9 @@ public class GUIReactorResearch extends GuiInfoContainer { for(int x = 0; x < 3; x++) for(int y = 0; y < 3; y++) drawTexturedModalRect(guiLeft + 81 + 36 * x, guiTop + 26 + 36 * y, 176, 0, 8, 8); + for(int x = 0; x < 2; x++) + for(int y = 0; y < 2; y++) + drawTexturedModalRect(guiLeft + 99 + 36 * x, guiTop + 44 + 36 * y, 176, 0, 8, 8); } if(timer > 0) { diff --git a/src/main/java/com/hbm/inventory/recipes/CentrifugeRecipes.java b/src/main/java/com/hbm/inventory/recipes/CentrifugeRecipes.java index 520f7dd49..ce212cd0d 100644 --- a/src/main/java/com/hbm/inventory/recipes/CentrifugeRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/CentrifugeRecipes.java @@ -55,7 +55,7 @@ public class CentrifugeRecipes { recipes.put(new ComparableStack(ModItems.waste_u233), new ItemStack[] { new ItemStack(ModItems.nugget_u235, 1), - new ItemStack(ModItems.nugget_u235, 1), + new ItemStack(ModItems.nugget_neptunium, 1), new ItemStack(ModItems.nugget_technetium, 1), new ItemStack(ModItems.nuclear_waste_tiny, 3) }); @@ -71,6 +71,42 @@ public class CentrifugeRecipes { new ItemStack(ModItems.nuclear_waste_tiny, 2), new ItemStack(ModItems.nuclear_waste_tiny, 2) }); + recipes.put(new ComparableStack(ModItems.waste_plate_mox), new ItemStack[] { + new ItemStack(ModItems.nugget_technetium, 1), //strontium-90 here + new ItemStack(ModItems.nugget_pu_mix, 3), + new ItemStack(ModItems.powder_cs137_tiny, 1), + new ItemStack(ModItems.nuclear_waste_tiny, 4) }); + + recipes.put(new ComparableStack(ModItems.waste_plate_pu239), new ItemStack[] { + new ItemStack(ModItems.nugget_pu240), + new ItemStack(ModItems.nugget_technetium, 1), + new ItemStack(ModItems.powder_cs137_tiny, 2), + new ItemStack(ModItems.nuclear_waste_tiny, 2) }); + + recipes.put(new ComparableStack(ModItems.waste_plate_ra226be), new ItemStack[] { + new ItemStack(ModItems.nugget_beryllium, 2), + new ItemStack(ModItems.nugget_polonium, 3), + new ItemStack(ModItems.powder_coal_tiny, 2), + new ItemStack(ModItems.nugget_lead, 2) }); + + recipes.put(new ComparableStack(ModItems.waste_plate_sa326), new ItemStack[] { + new ItemStack(ModItems.nugget_solinium, 1), + new ItemStack(ModItems.powder_neodymium_tiny,1), + new ItemStack(ModItems.nugget_tantalium, 1), + new ItemStack(ModItems.nuclear_waste_tiny, 6) }); + + recipes.put(new ComparableStack(ModItems.waste_plate_u233), new ItemStack[] { + new ItemStack(ModItems.nugget_u235, 1), + new ItemStack(ModItems.powder_i131_tiny, 1), + new ItemStack(ModItems.nugget_technetium, 1), //strontium-90 here + new ItemStack(ModItems.nuclear_waste_tiny, 6) }); + + recipes.put(new ComparableStack(ModItems.waste_plate_u235), new ItemStack[] { + new ItemStack(ModItems.nugget_neptunium, 1), + new ItemStack(ModItems.nugget_pu238, 1), + new ItemStack(ModItems.nugget_technetium, 1), + new ItemStack(ModItems.nuclear_waste_tiny, 6) }); + recipes.put(new ComparableStack(ModItems.powder_cloud), new ItemStack[] { new ItemStack(ModItems.powder_copper, 1), new ItemStack(ModItems.sulfur, 1), diff --git a/src/main/java/com/hbm/inventory/recipes/FuelPoolRecipes.java b/src/main/java/com/hbm/inventory/recipes/FuelPoolRecipes.java index 10aa0e13d..ef3d35914 100644 --- a/src/main/java/com/hbm/inventory/recipes/FuelPoolRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/FuelPoolRecipes.java @@ -25,5 +25,6 @@ public class FuelPoolRecipes { recipes.put(new ComparableStack(new ItemStack(ModItems.waste_plate_mox, 1, 1)), new ItemStack(ModItems.waste_plate_mox)); recipes.put(new ComparableStack(new ItemStack(ModItems.waste_plate_pu239, 1, 1)), new ItemStack(ModItems.waste_plate_pu239)); recipes.put(new ComparableStack(new ItemStack(ModItems.waste_plate_sa326, 1, 1)), new ItemStack(ModItems.waste_plate_sa326)); + recipes.put(new ComparableStack(new ItemStack(ModItems.waste_plate_ra226be, 1, 1)), new ItemStack(ModItems.waste_plate_ra226be)); } } diff --git a/src/main/java/com/hbm/inventory/recipes/anvil/AnvilRecipes.java b/src/main/java/com/hbm/inventory/recipes/anvil/AnvilRecipes.java index 67856d445..36afb42cc 100644 --- a/src/main/java/com/hbm/inventory/recipes/anvil/AnvilRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/anvil/AnvilRecipes.java @@ -259,6 +259,7 @@ public class AnvilRecipes { constructionRecipes.add(new AnvilConstructionRecipe(new ComparableStack(ModItems.ingot_mox_fuel, 1), new AnvilOutput(new ItemStack(ModItems.plate_fuel_mox))).setTier(4)); constructionRecipes.add(new AnvilConstructionRecipe(new ComparableStack(ModItems.ingot_pu239, 1), new AnvilOutput(new ItemStack(ModItems.plate_fuel_pu239))).setTier(4)); constructionRecipes.add(new AnvilConstructionRecipe(new ComparableStack(ModItems.ingot_schrabidium, 1), new AnvilOutput(new ItemStack(ModItems.plate_fuel_sa326))).setTier(4)); + constructionRecipes.add(new AnvilConstructionRecipe(new ComparableStack(ModItems.billet_ra226be, 1), new AnvilOutput(new ItemStack(ModItems.plate_fuel_ra226be))).setTier(4)); } public static void registerConstructionAmmo() { diff --git a/src/main/java/com/hbm/items/ModItems.java b/src/main/java/com/hbm/items/ModItems.java index 38d8c974c..d928c0ecf 100644 --- a/src/main/java/com/hbm/items/ModItems.java +++ b/src/main/java/com/hbm/items/ModItems.java @@ -1057,6 +1057,7 @@ public class ModItems { public static Item waste_plate_u235; public static Item waste_plate_mox; public static Item waste_plate_pu239; + public static Item waste_plate_ra226be; public static Item waste_plate_sa326; public static Item pile_rod_uranium; @@ -1068,6 +1069,7 @@ public class ModItems { public static Item plate_fuel_u235; public static Item plate_fuel_mox; public static Item plate_fuel_pu239; + public static Item plate_fuel_ra226be; public static Item plate_fuel_sa326; public static Item rbmk_lid; @@ -3565,6 +3567,7 @@ public class ModItems { waste_plate_u235 = new ItemDepletedFuel().setUnlocalizedName("waste_plate_u235").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":waste_plate_uranium"); waste_plate_mox = new ItemDepletedFuel().setUnlocalizedName("waste_plate_mox").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":waste_plate_mox"); waste_plate_pu239 = new ItemDepletedFuel().setUnlocalizedName("waste_plate_pu239").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":waste_plate_mox"); + 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"); @@ -3592,6 +3595,7 @@ public class ModItems { plate_fuel_u235 = new ItemPlateFuel(2200000).setFunction(FunctionEnum.SQUARE_ROOT, 40).setUnlocalizedName("plate_fuel_u235").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":plate_fuel_u235"); plate_fuel_mox = new ItemPlateFuel(2400000).setFunction(FunctionEnum.LOGARITHM, 50).setUnlocalizedName("plate_fuel_mox").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":plate_fuel_mox"); plate_fuel_pu239 = new ItemPlateFuel(2000000).setFunction(FunctionEnum.NEGATIVE_QUADRATIC, 25).setUnlocalizedName("plate_fuel_pu239").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":plate_fuel_pu239"); + plate_fuel_ra226be = new ItemPlateFuel(1300000).setFunction(FunctionEnum.PASSIVE, 30).setUnlocalizedName("plate_fuel_ra226be").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":plate_fuel_ra226be"); plate_fuel_sa326 = new ItemPlateFuel(2000000).setFunction(FunctionEnum.LINEAR, 60).setUnlocalizedName("plate_fuel_sa326").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":plate_fuel_sa326"); rbmk_lid = new ItemRBMKLid().setUnlocalizedName("rbmk_lid").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":rbmk_lid"); @@ -6673,6 +6677,7 @@ public class ModItems { GameRegistry.registerItem(waste_plate_u235, waste_plate_u235.getUnlocalizedName()); GameRegistry.registerItem(waste_plate_mox, waste_plate_mox.getUnlocalizedName()); GameRegistry.registerItem(waste_plate_pu239, waste_plate_pu239.getUnlocalizedName()); + GameRegistry.registerItem(waste_plate_ra226be, waste_plate_ra226be.getUnlocalizedName()); GameRegistry.registerItem(waste_plate_sa326, waste_plate_sa326.getUnlocalizedName()); //Pile parts @@ -6686,6 +6691,7 @@ public class ModItems { GameRegistry.registerItem(plate_fuel_u235, plate_fuel_u235.getUnlocalizedName()); GameRegistry.registerItem(plate_fuel_mox, plate_fuel_mox.getUnlocalizedName()); GameRegistry.registerItem(plate_fuel_pu239, plate_fuel_pu239.getUnlocalizedName()); + GameRegistry.registerItem(plate_fuel_ra226be, plate_fuel_ra226be.getUnlocalizedName()); GameRegistry.registerItem(plate_fuel_sa326, plate_fuel_sa326.getUnlocalizedName()); //RBMK parts diff --git a/src/main/java/com/hbm/items/machine/ItemPlateFuel.java b/src/main/java/com/hbm/items/machine/ItemPlateFuel.java index 65d70519e..c9b873db0 100644 --- a/src/main/java/com/hbm/items/machine/ItemPlateFuel.java +++ b/src/main/java/com/hbm/items/machine/ItemPlateFuel.java @@ -41,29 +41,35 @@ public class ItemPlateFuel extends ItemFuelRod { LOGARITHM(), SQUARE_ROOT(), NEGATIVE_QUADRATIC(), - LINEAR(); + LINEAR(), + PASSIVE(); private FunctionEnum() { } } public String getFunctionDesc() { switch(this.function) { - case LOGARITHM: return "log10(x + 1) * 0.5 * " + reactivity; - case SQUARE_ROOT: return "sqrt(x) * " + reactivity + " / 10"; - case NEGATIVE_QUADRATIC: return "[x - (x² / 10000)] / 100 * " + reactivity; - case LINEAR: return "x / 100 * " + reactivity; + case LOGARITHM: return "f(x) = log10(x + 1) * 0.5 * " + reactivity; + case SQUARE_ROOT: return "f(x) = sqrt(x) * " + reactivity + " / 10"; + case NEGATIVE_QUADRATIC: return "f(x) = [x - (x² / 10000)] / 100 * " + reactivity; + case LINEAR: return "f(x) = x / 100 * " + reactivity; + case PASSIVE: return "f(x) = " + reactivity; default: return "x"; } } public int react(World world, ItemStack stack, int flux) { - setLifeTime(stack, getLifeTime(stack) + flux); + if(this.function != FunctionEnum.PASSIVE) + setLifeTime(stack, getLifeTime(stack) + flux); switch(this.function) { case LOGARITHM: return (int) (Math.log10(flux + 1) * 0.5D * reactivity); case SQUARE_ROOT: return (int) (Math.sqrt(flux) * this.reactivity / 10); case NEGATIVE_QUADRATIC: return (int) (Math.max(flux - (flux * flux / 10000) / 100 * reactivity, 0)); case LINEAR: return (int) (flux / 100 * reactivity); + case PASSIVE: + setLifeTime(stack, getLifeTime(stack) + reactivity); + return reactivity; default: return 0; } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineReactorBreeding.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineReactorBreeding.java index bd98b28b0..613acc242 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineReactorBreeding.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineReactorBreeding.java @@ -40,7 +40,7 @@ public class TileEntityMachineReactorBreeding extends TileEntityMachineBase { if(canProcess()) { - progress += 0.005F * (this.flux / BreederRecipes.getOutput(slots[0]).flux); + progress += 0.0025F * (this.flux / BreederRecipes.getOutput(slots[0]).flux); if(this.progress >= 1.0F) { this.progress = 0F; diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityReactorResearch.java b/src/main/java/com/hbm/tileentity/machine/TileEntityReactorResearch.java index c227a12c3..9c8df327c 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityReactorResearch.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityReactorResearch.java @@ -65,6 +65,7 @@ public class TileEntityReactorResearch extends TileEntityMachineBase implements fuelMap.put(new ComparableStack(ModItems.plate_fuel_mox), new ItemStack(ModItems.waste_plate_mox, 1, 1)); fuelMap.put(new ComparableStack(ModItems.plate_fuel_pu239), new ItemStack(ModItems.waste_plate_pu239, 1, 1)); fuelMap.put(new ComparableStack(ModItems.plate_fuel_sa326), new ItemStack(ModItems.waste_plate_sa326, 1, 1)); + fuelMap.put(new ComparableStack(ModItems.plate_fuel_ra226be), new ItemStack(ModItems.waste_plate_ra226be, 1, 1)); } public String getName() { @@ -260,7 +261,7 @@ public class TileEntityReactorResearch extends TileEntityMachineBase implements if(slots[i].getItem() instanceof ItemPlateFuel) { ItemPlateFuel rod = (ItemPlateFuel) slots[i].getItem(); - int outFlux = rod.react(worldObj, slots[i], slotFlux[i] + 1); + int outFlux = rod.react(worldObj, slots[i], slotFlux[i]); this.heat += outFlux * 2; slotFlux[i] = 0; totalFlux += outFlux; diff --git a/src/main/resources/assets/hbm/lang/en_US.lang b/src/main/resources/assets/hbm/lang/en_US.lang index a8ff71e01..320f68387 100644 --- a/src/main/resources/assets/hbm/lang/en_US.lang +++ b/src/main/resources/assets/hbm/lang/en_US.lang @@ -2186,11 +2186,12 @@ item.plate_dalekanium.name=Angry Metal item.plate_desh.name=Desh Compound Plate item.plate_dineutronium.name=Dineutronium Compound Plate item.plate_euphemium.name=Euphemium Compound Plate -item.plate_fuel_u233.name=HEU-233 Plate Fuel -item.plate_fuel_u235.name=HEU-235 Plate Fuel item.plate_fuel_mox.name=HEMOX Plate Fuel item.plate_fuel_pu239.name=HEP-239 Plate Fuel +item.plate_fuel_ra226be.name=Ra-226Be Plate Fuel item.plate_fuel_sa326.name=HES-326 Plate Fuel +item.plate_fuel_u233.name=HEU-233 Plate Fuel +item.plate_fuel_u235.name=HEU-235 Plate Fuel item.plate_gold.name=Gold Plate item.plate_iron.name=Iron Plate item.plate_kevlar.name=Kevlar-Ceramic Compound @@ -2794,6 +2795,7 @@ item.waste_mox.name=Depleted MOX Fuel item.waste_natural_uranium.name=Depleted Natural Uranium Fuel item.waste_plate_mox.name=Depleted HEMOX Plate Fuel item.waste_plate_pu239.name=Depleted HEP-239 Plate Fuel +item.waste_plate_ra226be.name=Depleted Ra-226Be Plate Fuel item.waste_plate_sa326.name=Depleted HES-326 Plate Fuel item.waste_plate_u233.name=Depleted HEU-233 Plate Fuel item.waste_plate_u235.name=Depleted HEU-235 Plate Fuel diff --git a/src/main/resources/assets/hbm/textures/gui/reactors/gui_research_reactor.png b/src/main/resources/assets/hbm/textures/gui/reactors/gui_research_reactor.png index 28a2a9127..5046aa3af 100644 Binary files a/src/main/resources/assets/hbm/textures/gui/reactors/gui_research_reactor.png and b/src/main/resources/assets/hbm/textures/gui/reactors/gui_research_reactor.png differ diff --git a/src/main/resources/assets/hbm/textures/items/plate_fuel_ra226be.png b/src/main/resources/assets/hbm/textures/items/plate_fuel_ra226be.png new file mode 100644 index 000000000..1b4d8b7af Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/plate_fuel_ra226be.png differ diff --git a/src/main/resources/assets/hbm/textures/items/waste_plate_ra226be.png b/src/main/resources/assets/hbm/textures/items/waste_plate_ra226be.png new file mode 100644 index 000000000..cb2ea1956 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/waste_plate_ra226be.png differ