From ee74a4f65ef23218122eabfb090ae402b1bf3063 Mon Sep 17 00:00:00 2001 From: Vaern Date: Tue, 11 Jan 2022 21:04:46 -0800 Subject: [PATCH 1/4] changed spicy lead, added pu238be plate fuel, rebalancing i'm slightly tilted, since i had to change pb-200 to pb-209, but on the other hand it allows for it to be spicy af --- .../java/com/hbm/crafting/MineralRecipes.java | 6 +-- .../java/com/hbm/hazard/HazardRegistry.java | 6 ++- .../com/hbm/inventory/OreDictManager.java | 4 +- .../inventory/recipes/CentrifugeRecipes.java | 6 +++ .../inventory/recipes/FuelPoolRecipes.java | 1 + .../hbm/inventory/recipes/SILEXRecipes.java | 10 +++-- .../inventory/recipes/anvil/AnvilRecipes.java | 1 + src/main/java/com/hbm/items/ModItems.java | 41 +++++++++++------- .../java/com/hbm/main/CraftingManager.java | 1 + .../machine/TileEntityReactorResearch.java | 1 + .../machine/TileEntityStorageDrum.java | 6 ++- src/main/resources/assets/hbm/lang/en_US.lang | 17 +++++--- .../hbm/textures/items/battery_sc_lead.png | Bin 0 -> 298 bytes .../hbm/textures/items/billet_pb200.png | Bin 264 -> 0 bytes .../hbm/textures/items/billet_pb209.png | Bin 0 -> 397 bytes .../assets/hbm/textures/items/ingot_pb200.png | Bin 280 -> 0 bytes .../assets/hbm/textures/items/ingot_pb209.png | Bin 0 -> 538 bytes .../hbm/textures/items/nugget_pb200.png | Bin 248 -> 0 bytes .../hbm/textures/items/nugget_pb209.png | Bin 0 -> 303 bytes .../hbm/textures/items/pellet_rtg_lead.png | Bin 2544 -> 2782 bytes .../hbm/textures/items/plate_fuel_pu238be.png | Bin 0 -> 280 bytes .../textures/items/waste_plate_pu238be.png | Bin 0 -> 326 bytes 22 files changed, 65 insertions(+), 35 deletions(-) create mode 100644 src/main/resources/assets/hbm/textures/items/battery_sc_lead.png delete mode 100644 src/main/resources/assets/hbm/textures/items/billet_pb200.png create mode 100644 src/main/resources/assets/hbm/textures/items/billet_pb209.png delete mode 100644 src/main/resources/assets/hbm/textures/items/ingot_pb200.png create mode 100644 src/main/resources/assets/hbm/textures/items/ingot_pb209.png delete mode 100644 src/main/resources/assets/hbm/textures/items/nugget_pb200.png create mode 100644 src/main/resources/assets/hbm/textures/items/nugget_pb209.png create mode 100644 src/main/resources/assets/hbm/textures/items/plate_fuel_pu238be.png create mode 100644 src/main/resources/assets/hbm/textures/items/waste_plate_pu238be.png diff --git a/src/main/java/com/hbm/crafting/MineralRecipes.java b/src/main/java/com/hbm/crafting/MineralRecipes.java index fe321ebed..d50969699 100644 --- a/src/main/java/com/hbm/crafting/MineralRecipes.java +++ b/src/main/java/com/hbm/crafting/MineralRecipes.java @@ -58,7 +58,7 @@ public class MineralRecipes { add1To9Pair(ModItems.ingot_co60, ModItems.nugget_co60); add1To9Pair(ModItems.ingot_sr90, ModItems.nugget_sr90); add1To9Pair(ModItems.ingot_au198, ModItems.nugget_au198); - add1To9Pair(ModItems.ingot_pb200, ModItems.nugget_pb200); + add1To9Pair(ModItems.ingot_pb209, ModItems.nugget_pb209); add1To9Pair(ModItems.ingot_ra226, ModItems.nugget_ra226); add1To9Pair(ModItems.ingot_pu241, ModItems.nugget_pu241); @@ -104,7 +104,7 @@ public class MineralRecipes { addBillet(ModItems.billet_polonium, ModItems.ingot_polonium, ModItems.nugget_polonium, "nuggetPolonium"); addBillet(ModItems.billet_technetium, ModItems.ingot_technetium, ModItems.nugget_technetium, "nuggetTechnetium"); addBillet(ModItems.billet_au198, ModItems.ingot_au198, ModItems.nugget_au198, "nuggetGold198"); - addBillet(ModItems.billet_pb200, ModItems.ingot_pb200, ModItems.nugget_pb200, "nuggetLead200"); + addBillet(ModItems.billet_pb209, ModItems.ingot_pb209, ModItems.nugget_pb209, "nuggetLead200"); addBillet(ModItems.billet_ra226, ModItems.ingot_ra226, ModItems.nugget_ra226, "nuggetRa226"); addBillet(ModItems.billet_schrabidium, ModItems.ingot_schrabidium, ModItems.nugget_schrabidium, "nuggetSchrabidium"); addBillet(ModItems.billet_solinium, ModItems.ingot_solinium, ModItems.nugget_solinium, "nuggetSolinium"); @@ -205,7 +205,7 @@ public class MineralRecipes { GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.pellet_rtg_weak), new Object[] { ModItems.billet_u238, ModItems.billet_u238, ModItems.billet_pu238, "plateIron" })); GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.pellet_rtg_strontium), new Object[] { ModItems.billet_sr90, ModItems.billet_sr90, ModItems.billet_sr90, "plateIron" })); GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.pellet_rtg_polonium), new Object[] { ModItems.billet_polonium, ModItems.billet_polonium, ModItems.billet_polonium, "plateIron" })); - GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.pellet_rtg_lead), new Object[] { ModItems.billet_pb200, ModItems.billet_pb200, ModItems.billet_pb200, "plateIron" })); + GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.pellet_rtg_lead), new Object[] { ModItems.billet_pb209, ModItems.billet_pb209, ModItems.billet_pb209, "plateIron" })); GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.pellet_rtg_gold), new Object[] { ModItems.billet_au198, ModItems.billet_au198, ModItems.billet_au198, "plateIron" })); GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.pellet_rtg_americium), new Object[] { ModItems.billet_am241, ModItems.billet_am241, ModItems.billet_am241, "plateIron" })); diff --git a/src/main/java/com/hbm/hazard/HazardRegistry.java b/src/main/java/com/hbm/hazard/HazardRegistry.java index 909caa30e..fcf062d4d 100644 --- a/src/main/java/com/hbm/hazard/HazardRegistry.java +++ b/src/main/java/com/hbm/hazard/HazardRegistry.java @@ -25,6 +25,7 @@ public class HazardRegistry { //XE135 9h β− aaaaaaaaaaaaaaaa //CS137 30a β− 020.00Rad/s Spicy //AU198 64h β− 500.00Rad/s 2 much spice :( + //PB209 3h β− 5,000.00Rad/s mama mia my face is melting off //AT209 5h β+ like 2k or sth idk bruv //PO210 138d α 075.00Rad/s Spicy //RA226 1,600a α 007.50Rad/s @@ -64,7 +65,7 @@ public class HazardRegistry { public static final float xe135 = 1250.0F; public static final float cs137 = 20.0F; public static final float au198 = 500.0F; - public static final float pb200 = 1500.0F; + public static final float pb209 = 5000.0F; public static final float at209 = 2000.0F; public static final float po210 = 75.0F; public static final float ra226 = 7.5F; @@ -246,6 +247,7 @@ public class HazardRegistry { registerOtherFuel(plate_fuel_pu239, pu239 * ingot, pu239 * ingot * 100, false); registerOtherFuel(plate_fuel_sa326, sa326 * ingot, sa326 * ingot * 100, true); registerOtherFuel(plate_fuel_ra226be, rabe * ingot, po210 * nugget * 3, false); + registerOtherFuel(plate_fuel_pu238be, pube * ingot, pu238 * nugget, false); registerOtherWaste(waste_plate_u233, u233 * ingot * 100); registerOtherWaste(waste_plate_u235, u235 * ingot * 100); @@ -313,7 +315,7 @@ public class HazardRegistry { HazardSystem.register(pellet_rtg_weak, makeData(RADIATION, (pu238 + (u238 * 2)) * billet)); HazardSystem.register(pellet_rtg_strontium, makeData(RADIATION, sr90 * rtg)); HazardSystem.register(pellet_rtg_polonium, new HazardData().addEntry(RADIATION, po210 * rtg).addEntry(HOT, 3F)); - HazardSystem.register(pellet_rtg_lead, new HazardData().addEntry(RADIATION, pb200 * rtg).addEntry(HOT, 7F)); + HazardSystem.register(pellet_rtg_lead, new HazardData().addEntry(RADIATION, pb209 * rtg).addEntry(HOT, 7F)); HazardSystem.register(pellet_rtg_gold, new HazardData().addEntry(RADIATION, au198 * rtg).addEntry(HOT, 5F)); HazardSystem.register(pellet_rtg_americium, makeData(RADIATION, am241 * rtg)); diff --git a/src/main/java/com/hbm/inventory/OreDictManager.java b/src/main/java/com/hbm/inventory/OreDictManager.java index e69742a4a..5e5103594 100644 --- a/src/main/java/com/hbm/inventory/OreDictManager.java +++ b/src/main/java/com/hbm/inventory/OreDictManager.java @@ -114,7 +114,7 @@ public class OreDictManager { public static final DictFrame RA226 = new DictFrame("Radium226", "Ra226"); public static final DictFrame CO60 = new DictFrame("Cobalt60", "Co60"); public static final DictFrame AU198 = new DictFrame("Gold198", "Au198"); - public static final DictFrame PB200 = new DictFrame("Lead200", "Pb200"); + public static final DictFrame PB209 = new DictFrame("Lead200", "Pb200"); public static final DictFrame SA326 = new DictFrame("Schrabidium"); public static final DictFrame SA327 = new DictFrame("Solinium"); public static final DictFrame SBD = new DictFrame("Schrabidate"); @@ -249,7 +249,7 @@ public class OreDictManager { RA226 .rad(HazardRegistry.ra226) .nugget(nugget_ra226) .billet(billet_ra226) .ingot(ingot_ra226) .dust(powder_ra226) .block(block_ra226); CO60 .rad(HazardRegistry.co60) .hot(1) .nugget(nugget_co60) .billet(billet_co60) .ingot(ingot_co60) .dust(powder_co60); AU198 .rad(HazardRegistry.au198) .hot(5) .nugget(nugget_au198) .billet(billet_au198) .ingot(ingot_au198) .dust(powder_au198); - PB200 .rad(HazardRegistry.pb200) .hot(7) .nugget(nugget_pb200) .billet(billet_pb200) .ingot(ingot_pb200); + PB209 .rad(HazardRegistry.pb209) .hot(7) .nugget(nugget_pb209) .billet(billet_pb209) .ingot(ingot_pb209); SA326 .rad(HazardRegistry.sa326) .blinding(3F) .nugget(nugget_schrabidium) .billet(billet_schrabidium) .ingot(ingot_schrabidium) .dust(powder_schrabidium) .plate(plate_schrabidium) .block(block_schrabidium) .ore(ore_schrabidium, ore_gneiss_schrabidium, ore_nether_schrabidium); SA327 .rad(HazardRegistry.sa327) .blinding(3F) .nugget(nugget_solinium) .billet(billet_solinium) .ingot(ingot_solinium) .block(block_solinium); SBD .rad(HazardRegistry.sb) .blinding(1F) .ingot(ingot_schrabidate) .dust(powder_schrabidate) .block(block_schrabidate); diff --git a/src/main/java/com/hbm/inventory/recipes/CentrifugeRecipes.java b/src/main/java/com/hbm/inventory/recipes/CentrifugeRecipes.java index 3a35e56f8..924aac9c4 100644 --- a/src/main/java/com/hbm/inventory/recipes/CentrifugeRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/CentrifugeRecipes.java @@ -77,6 +77,12 @@ public class CentrifugeRecipes { new ItemStack(ModItems.powder_cs137_tiny, 1), new ItemStack(ModItems.nuclear_waste_tiny, 4) }); + recipes.put(new ComparableStack(ModItems.waste_plate_pu238be), new ItemStack[] { + new ItemStack(ModItems.nugget_beryllium, 1), + new ItemStack(ModItems.nugget_pu238, 1), + new ItemStack(ModItems.powder_coal_tiny, 2), + new ItemStack(ModItems.nugget_lead, 2) }); + recipes.put(new ComparableStack(ModItems.waste_plate_pu239), new ItemStack[] { new ItemStack(ModItems.nugget_pu240, 2), new ItemStack(ModItems.nugget_technetium, 1), diff --git a/src/main/java/com/hbm/inventory/recipes/FuelPoolRecipes.java b/src/main/java/com/hbm/inventory/recipes/FuelPoolRecipes.java index ef3d35914..aeb2926d1 100644 --- a/src/main/java/com/hbm/inventory/recipes/FuelPoolRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/FuelPoolRecipes.java @@ -26,5 +26,6 @@ public class FuelPoolRecipes { 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)); + recipes.put(new ComparableStack(new ItemStack(ModItems.waste_plate_pu238be, 1, 1)), new ItemStack(ModItems.waste_plate_pu238be)); } } diff --git a/src/main/java/com/hbm/inventory/recipes/SILEXRecipes.java b/src/main/java/com/hbm/inventory/recipes/SILEXRecipes.java index b14675639..2a47758b3 100644 --- a/src/main/java/com/hbm/inventory/recipes/SILEXRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/SILEXRecipes.java @@ -217,19 +217,21 @@ public class SILEXRecipes { // LEAUS // recipes.put(new ComparableStack(ModItems.rbmk_pellet_leaus, 1, i), new SILEXRecipe(600, 100) .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_australium_lesser), 90 - i * 20)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_pb200), 10 + 20 * i)) ); + .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_lead), 5 + 10 * i)) + .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_pb209), 5 + 10 * i)) ); recipes.put(new ComparableStack(ModItems.rbmk_pellet_leaus, 1, i + 5), new SILEXRecipe(600, 100) .addOut(new WeightedRandomObject(new ItemStack(ModItems.powder_xe135_tiny), 1)) .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_australium_lesser), 89 - i * 20)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_pb200), 10 + 20 * i)) ); + .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_lead), 5 + 10 * i)) + .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_pb209), 5 + 10 * i)) ); // HEAUS // recipes.put(new ComparableStack(ModItems.rbmk_pellet_heaus, 1, i), new SILEXRecipe(600, 100) .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_australium_lesser), 90 - i * 20)) .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_au198), 5 + 10 * i)) .addOut(new WeightedRandomObject(new ItemStack(Items.gold_nugget), 3 + 6 * i)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_pb200), 2 + 4 * i)) ); + .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_pb209), 2 + 4 * i)) ); recipes.put(new ComparableStack(ModItems.rbmk_pellet_heaus, 1, i + 5), new SILEXRecipe(600, 100) @@ -237,7 +239,7 @@ public class SILEXRecipes { .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_australium_lesser), 89 - i * 20)) .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_au198), 5 + 10 * i)) .addOut(new WeightedRandomObject(new ItemStack(Items.gold_nugget), 3 + 6 * i)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_pb200), 2 + 4 * i)) ); + .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_pb209), 2 + 4 * i)) ); // BALEFIRE // recipes.put(new ComparableStack(ModItems.rbmk_pellet_balefire, 1, i), new SILEXRecipe(400, 100) 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 f56fbef3e..623067584 100644 --- a/src/main/java/com/hbm/inventory/recipes/anvil/AnvilRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/anvil/AnvilRecipes.java @@ -280,6 +280,7 @@ public class AnvilRecipes { 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)); + constructionRecipes.add(new AnvilConstructionRecipe(new ComparableStack(ModItems.billet_pu238be, 1), new AnvilOutput(new ItemStack(ModItems.plate_fuel_pu238be))).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 c379435d1..3a81b446c 100644 --- a/src/main/java/com/hbm/items/ModItems.java +++ b/src/main/java/com/hbm/items/ModItems.java @@ -84,7 +84,7 @@ public class ModItems { public static Item ingot_co60; public static Item ingot_sr90; public static Item ingot_au198; - public static Item ingot_pb200; + public static Item ingot_pb209; public static Item ingot_ra226; public static Item ingot_titanium; public static Item ingot_cobalt; @@ -191,7 +191,7 @@ public class ModItems { public static Item billet_co60; public static Item billet_sr90; public static Item billet_au198; - public static Item billet_pb200; + public static Item billet_pb209; public static Item billet_ra226; public static Item billet_schrabidium; public static Item billet_solinium; @@ -241,7 +241,7 @@ public class ModItems { public static Item nugget_co60; public static Item nugget_sr90; public static Item nugget_au198; - public static Item nugget_pb200; + public static Item nugget_pb209; public static Item nugget_ra226; public static Item plate_titanium; public static Item plate_aluminium; @@ -1007,8 +1007,9 @@ 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 waste_plate_ra226be; + public static Item waste_plate_pu238be; public static Item pile_rod_uranium; public static Item pile_rod_plutonium; @@ -1019,8 +1020,9 @@ 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 plate_fuel_ra226be; + public static Item plate_fuel_pu238be; public static Item rbmk_lid; public static Item rbmk_lid_glass; @@ -1810,6 +1812,7 @@ public class ModItems { public static Item battery_sc_polonium; public static Item battery_sc_gold; public static Item battery_sc_americium; + public static Item battery_sc_lead; public static Item battery_su; public static Item battery_su_l; @@ -2500,7 +2503,7 @@ public class ModItems { ingot_co60 = new Item().setUnlocalizedName("ingot_co60").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_co60"); ingot_sr90 = new Item().setUnlocalizedName("ingot_sr90").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_sr90"); ingot_au198 = new Item().setUnlocalizedName("ingot_au198").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_au198"); - ingot_pb200 = new Item().setUnlocalizedName("ingot_pb200").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_pb200"); + ingot_pb209 = new Item().setUnlocalizedName("ingot_pb209").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_pb209"); ingot_ra226 = new Item().setUnlocalizedName("ingot_ra226").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_ra226"); ingot_titanium = new Item().setUnlocalizedName("ingot_titanium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_titanium"); ingot_cobalt = new Item().setUnlocalizedName("ingot_cobalt").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_cobalt"); @@ -2597,7 +2600,7 @@ public class ModItems { billet_co60 = new Item().setUnlocalizedName("billet_co60").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":billet_co60"); billet_sr90 = new Item().setUnlocalizedName("billet_sr90").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":billet_sr90"); billet_au198 = new Item().setUnlocalizedName("billet_au198").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":billet_au198"); - billet_pb200 = new Item().setUnlocalizedName("billet_pb200").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":billet_pb200"); + billet_pb209 = new Item().setUnlocalizedName("billet_pb209").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":billet_pb209"); billet_ra226 = new Item().setUnlocalizedName("billet_ra226").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":billet_ra226"); billet_schrabidium = new Item().setUnlocalizedName("billet_schrabidium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":billet_schrabidium"); billet_solinium = new Item().setUnlocalizedName("billet_solinium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":billet_solinium"); @@ -2709,7 +2712,7 @@ public class ModItems { nugget_co60 = new Item().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 Item().setUnlocalizedName("nugget_au198").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nugget_au198"); - nugget_pb200 = new Item().setUnlocalizedName("nugget_pb200").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nugget_pb200"); + nugget_pb209 = new Item().setUnlocalizedName("nugget_pb209").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nugget_pb209"); nugget_ra226 = new Item().setUnlocalizedName("nugget_ra226").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nugget_ra226"); plate_titanium = new Item().setUnlocalizedName("plate_titanium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":plate_titanium"); plate_aluminium = new Item().setUnlocalizedName("plate_aluminium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":plate_aluminium"); @@ -3059,7 +3062,7 @@ public class ModItems { pellet_rtg_polonium = new ItemRTGPellet(25).setUnlocalizedName("pellet_rtg_polonium").setCreativeTab(MainRegistry.controlTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":pellet_rtg_polonium"); pellet_rtg_actinium = new ItemRTGPellet(20).setUnlocalizedName("pellet_rtg_actinium").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":pellet_rtg_actinium"); pellet_rtg_strontium = new ItemRTGPellet(15).setUnlocalizedName("pellet_rtg_strontium").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":pellet_rtg_strontium"); - pellet_rtg_lead = new ItemRTGPellet(200).setUnlocalizedName("pellet_rtg_lead").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":pellet_rtg_lead"); + pellet_rtg_lead = new ItemRTGPellet(250).setUnlocalizedName("pellet_rtg_lead").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":pellet_rtg_lead"); pellet_rtg_gold = new ItemRTGPellet(150).setUnlocalizedName("pellet_rtg_gold").setCreativeTab(MainRegistry.controlTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":pellet_rtg_gold"); pellet_rtg_americium = new ItemRTGPellet(15).setUnlocalizedName("pellet_rtg_americium").setCreativeTab(MainRegistry.controlTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":pellet_rtg_americium"); pellet_rtg_berkelium = new ItemRTGPellet(20).setUnlocalizedName("pellet_rtg_berkelium").setCreativeTab(MainRegistry.controlTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":pellet_rtg_berkelium"); @@ -3464,8 +3467,9 @@ 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"); + waste_plate_ra226be = new ItemDepletedFuel().setUnlocalizedName("waste_plate_ra226be").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":waste_plate_ra226be"); + waste_plate_pu238be = new ItemDepletedFuel().setUnlocalizedName("waste_plate_pu238be").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":waste_plate_pu238be"); 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"); @@ -3476,8 +3480,9 @@ 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_sa326 = new ItemPlateFuel(2000000).setFunction(FunctionEnum.LINEAR, 80).setUnlocalizedName("plate_fuel_sa326").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":plate_fuel_sa326"); 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"); + plate_fuel_pu238be = new ItemPlateFuel(1000000).setFunction(FunctionEnum.PASSIVE, 50).setUnlocalizedName("plate_fuel_pu238be").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":plate_fuel_pu238be"); rbmk_lid = new ItemRBMKLid().setUnlocalizedName("rbmk_lid").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":rbmk_lid"); rbmk_lid_glass = new ItemRBMKLid().setUnlocalizedName("rbmk_lid_glass").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":rbmk_lid_glass"); @@ -4406,7 +4411,8 @@ public class ModItems { battery_sc_polonium = new ItemSelfcharger(500).setUnlocalizedName("battery_sc_polonium").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":battery_sc_polonium"); battery_sc_gold = new ItemSelfcharger(2500).setUnlocalizedName("battery_sc_gold").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":battery_sc_gold"); battery_sc_americium = new ItemSelfcharger(10000).setUnlocalizedName("battery_sc_americium").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":battery_sc_americium"); - + battery_sc_lead = new ItemSelfcharger(20000).setUnlocalizedName("battery_sc_lead").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":battery_sc_lead"); + battery_potato = new ItemBattery(1000, 0, 100).setUnlocalizedName("battery_potato").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":battery_potato"); battery_potatos = new ItemPotatos(500000, 0, 100).setUnlocalizedName("battery_potatos").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":battery_potatos"); battery_su = new ItemBattery(50000, 0, 1000).setUnlocalizedName("battery_su").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":battery_su"); @@ -5470,7 +5476,7 @@ public class ModItems { GameRegistry.registerItem(ingot_co60, ingot_co60.getUnlocalizedName()); GameRegistry.registerItem(ingot_sr90, ingot_sr90.getUnlocalizedName()); GameRegistry.registerItem(ingot_au198, ingot_au198.getUnlocalizedName()); - GameRegistry.registerItem(ingot_pb200, ingot_pb200.getUnlocalizedName()); + GameRegistry.registerItem(ingot_pb209, ingot_pb209.getUnlocalizedName()); GameRegistry.registerItem(ingot_ra226, ingot_ra226.getUnlocalizedName()); GameRegistry.registerItem(ingot_titanium, ingot_titanium.getUnlocalizedName()); GameRegistry.registerItem(ingot_copper, ingot_copper.getUnlocalizedName()); @@ -5565,7 +5571,7 @@ public class ModItems { GameRegistry.registerItem(billet_co60, billet_co60.getUnlocalizedName()); GameRegistry.registerItem(billet_sr90, billet_sr90.getUnlocalizedName()); GameRegistry.registerItem(billet_au198, billet_au198.getUnlocalizedName()); - GameRegistry.registerItem(billet_pb200, billet_pb200.getUnlocalizedName()); + GameRegistry.registerItem(billet_pb209, billet_pb209.getUnlocalizedName()); GameRegistry.registerItem(billet_ra226, billet_ra226.getUnlocalizedName()); GameRegistry.registerItem(billet_schrabidium, billet_schrabidium.getUnlocalizedName()); GameRegistry.registerItem(billet_solinium, billet_solinium.getUnlocalizedName()); @@ -5785,7 +5791,7 @@ public class ModItems { GameRegistry.registerItem(nugget_sr90, nugget_sr90.getUnlocalizedName()); GameRegistry.registerItem(nugget_technetium, nugget_technetium.getUnlocalizedName()); GameRegistry.registerItem(nugget_au198, nugget_au198.getUnlocalizedName()); - GameRegistry.registerItem(nugget_pb200, nugget_pb200.getUnlocalizedName()); + GameRegistry.registerItem(nugget_pb209, nugget_pb209.getUnlocalizedName()); GameRegistry.registerItem(nugget_ra226, nugget_ra226.getUnlocalizedName()); GameRegistry.registerItem(nugget_lead, nugget_lead.getUnlocalizedName()); GameRegistry.registerItem(nugget_bismuth, nugget_bismuth.getUnlocalizedName()); @@ -6235,6 +6241,7 @@ public class ModItems { GameRegistry.registerItem(battery_sc_polonium, battery_sc_polonium.getUnlocalizedName()); GameRegistry.registerItem(battery_sc_gold, battery_sc_gold.getUnlocalizedName()); GameRegistry.registerItem(battery_sc_americium, battery_sc_americium.getUnlocalizedName()); + GameRegistry.registerItem(battery_sc_lead, battery_sc_lead.getUnlocalizedName()); GameRegistry.registerItem(hev_battery, hev_battery.getUnlocalizedName()); GameRegistry.registerItem(fusion_core, fusion_core.getUnlocalizedName()); GameRegistry.registerItem(energy_core, energy_core.getUnlocalizedName()); @@ -6476,6 +6483,7 @@ public class ModItems { 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()); + GameRegistry.registerItem(waste_plate_pu238be, waste_plate_pu238be.getUnlocalizedName()); //Pile parts GameRegistry.registerItem(pile_rod_uranium, pile_rod_uranium.getUnlocalizedName()); @@ -6488,8 +6496,9 @@ 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()); + GameRegistry.registerItem(plate_fuel_ra226be, plate_fuel_ra226be.getUnlocalizedName()); + GameRegistry.registerItem(plate_fuel_pu238be, plate_fuel_pu238be.getUnlocalizedName()); //RBMK parts GameRegistry.registerItem(rbmk_lid, rbmk_lid.getUnlocalizedName()); diff --git a/src/main/java/com/hbm/main/CraftingManager.java b/src/main/java/com/hbm/main/CraftingManager.java index 0c12ef230..260f129df 100644 --- a/src/main/java/com/hbm/main/CraftingManager.java +++ b/src/main/java/com/hbm/main/CraftingManager.java @@ -514,6 +514,7 @@ public class CraftingManager { addRecipeAuto(new ItemStack(ModItems.battery_sc_polonium), new Object[] { "NBN", "PCP", "NBN", 'N', TC99.nugget(), 'B', PO210.billet(), 'P', POLYMER.ingot(), 'C', ModItems.battery_sc_plutonium }); addRecipeAuto(new ItemStack(ModItems.battery_sc_gold), new Object[] { "NBN", "PCP", "NBN", 'N', TA.nugget(), 'B', AU198.billet(), 'P', POLYMER.ingot(), 'C', ModItems.battery_sc_polonium }); addRecipeAuto(new ItemStack(ModItems.battery_sc_americium), new Object[] { "NBN", "PCP", "NBN", 'N', TA.nugget(), 'B', AM241.billet(), 'P', POLYMER.ingot(), 'C', ModItems.battery_sc_gold }); + addRecipeAuto(new ItemStack(ModItems.battery_sc_lead), new Object[] { "NBN", "PCP", "NBN", 'N', TA.nugget(), 'B', PB209.billet(), 'P', POLYMER.ingot(), 'C', ModItems.battery_sc_americium }); addRecipeAuto(new ItemStack(ModItems.wiring_red_copper, 1), new Object[] { "PPP", "PIP", "PPP", 'P', STEEL.plate(), 'I', STEEL.ingot() }); addRecipeAuto(new ItemStack(ModItems.tank_waste, 1), new Object[] { "PTP", "PTP", "PTP", 'T', ModItems.tank_steel, 'P', STEEL.plate() }); diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityReactorResearch.java b/src/main/java/com/hbm/tileentity/machine/TileEntityReactorResearch.java index 324fc2005..5950b7a9c 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityReactorResearch.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityReactorResearch.java @@ -67,6 +67,7 @@ public class TileEntityReactorResearch extends TileEntityMachineBase implements 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)); + fuelMap.put(new ComparableStack(ModItems.plate_fuel_pu238be), new ItemStack(ModItems.waste_plate_pu238be, 1, 1)); } public String getName() { diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityStorageDrum.java b/src/main/java/com/hbm/tileentity/machine/TileEntityStorageDrum.java index 4a068d500..e26bdd442 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityStorageDrum.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityStorageDrum.java @@ -98,9 +98,13 @@ public class TileEntityStorageDrum extends TileEntityMachineBase implements IFlu slots[i] = new ItemStack(ModItems.nuclear_waste_short_depleted_tiny, 1, meta); } - if((item == ModItems.ingot_au198 || item == ModItems.ingot_pb200) && worldObj.rand.nextInt(VersatileConfig.getShortDecayChance() / 100) == 0) { + if(item == ModItems.ingot_au198 && worldObj.rand.nextInt(VersatileConfig.getShortDecayChance() / 100) == 0) { slots[i] = new ItemStack(ModItems.nugget_mercury, 1, meta); } + + if(item == ModItems.nugget_pb209 && worldObj.rand.nextInt(VersatileConfig.getShortDecayChance() / 50) == 0) { + slots[i] = new ItemStack(ModItems.nugget_bismuth, 1, meta); + } } } diff --git a/src/main/resources/assets/hbm/lang/en_US.lang b/src/main/resources/assets/hbm/lang/en_US.lang index d643fc06b..dc7b32866 100644 --- a/src/main/resources/assets/hbm/lang/en_US.lang +++ b/src/main/resources/assets/hbm/lang/en_US.lang @@ -873,6 +873,7 @@ item.battery_red_cell_24.name=24-Fold Redstone Power Cell item.battery_red_cell_6.name=Sixfold Redstone Power Cell item.battery_sc_americium.name=Self-Charging Americium-241 Battery item.battery_sc_gold.name=Self-Charging Gold-198 Battery +item.battery_sc_lead.name=Self-Charging Lead-209 Battery item.battery_sc_plutonium.name=Self-Charging Plutonium-238 Battery item.battery_sc_polonium.name=Self-Charging Polonium-210 Battery item.battery_sc_technetium.name=Self-Charging Technetium-99 Battery @@ -915,7 +916,7 @@ item.billet_mox_fuel.name=MOX Fuel Billet item.billet_neptunium.name=Neptunium Billet item.billet_neptunium_fuel.name=Neptunium Fuel Billet item.billet_nuclear_waste.name=Nuclear Waste Billet -item.billet_pb200.name=Lead-200 Billet +item.billet_pb209.name=Lead-209 Billet item.billet_po210be.name=Po210Be Billet item.billet_polonium.name=Polonium-210 Billet item.billet_pu_mix.name=Reactor Grade Plutonium Billet @@ -1697,7 +1698,7 @@ item.ingot_neptunium.name=Neptunium Ingot item.ingot_neptunium_fuel.name=Neptunium Fuel Ingot item.ingot_niobium.name=Niobium Ingot item.ingot_osmiridium.name=Osmiridium Ingot -item.ingot_pb200.name=Lead-200 Ingot +item.ingot_pb209.name=Lead-209 Ingot item.ingot_phosphorus.name=Bar of White Phosphorus item.ingot_plutonium.name=Plutonium Ingot item.ingot_plutonium_fuel.name=Ingot of Plutonium Fuel @@ -2061,7 +2062,7 @@ item.nugget_mox_fuel.name=Nugget of MOX Fuel item.nugget_neptunium.name=Neptunium Nugget item.nugget_neptunium_fuel.name=Neptunium Fuel Nugget item.nugget_osmiridium.name=Osmiridium Nugget -item.nugget_pb200.name=Lead-200 Nugget +item.nugget_pb209.name=Lead-209 Nugget item.nugget_plutonium.name=Plutonium Nugget item.nugget_plutonium_fuel.name=Nugget of Plutonium Fuel item.nugget_polonium.name=Polonium-210 Nugget @@ -2165,8 +2166,8 @@ item.pellet_rtg_americium.name=Americium-241 RTG Pellet item.pellet_rtg_americium.desc=Rare and reliable, good old Americium! item.pellet_rtg_berkelium.name=Berkelium RTG Pellet item.pellet_rtg_berkelium.desc= -item.pellet_rtg_lead.name=Lead-200 RTG Pellet -item.pellet_rtg_lead.desc=EXTREMELY DEADLY - LIMIT EXPOSURE +item.pellet_rtg_lead.name=Lead-209 RTG Pellet +item.pellet_rtg_lead.desc=Exposure will result in imminient death. item.pellet_rtg_gold.name=Gold-198 RTG Pellet item.pellet_rtg_gold.desc=Made from a rare, highly unstable gold isotope. item.pellet_rtg_polonium.name=Polonium-210 RTG Pellet @@ -2204,7 +2205,8 @@ 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_mox.name=HEMOX Plate Fuel +item.plate_fuel_mox.name=MOX Plate Fuel +item.plate_fuel_pu238be.name=Pu238Be Plate Fuel item.plate_fuel_pu239.name=HEP-239 Plate Fuel item.plate_fuel_ra226be.name=Ra226Be Plate Fuel item.plate_fuel_sa326.name=HES-326 Plate Fuel @@ -2858,7 +2860,8 @@ item.warhead_thermo_exo.name=Exothermic Warhead item.warhead_volcano.name=Tectonic Warhead 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_mox.name=Depleted MOX Plate Fuel +item.waste_plate_pu238be.name=Depleted Pu238Be Plate Fuel item.waste_plate_pu239.name=Depleted HEP-239 Plate Fuel item.waste_plate_ra226be.name=Depleted Ra226Be Plate Fuel item.waste_plate_sa326.name=Depleted HES-326 Plate Fuel diff --git a/src/main/resources/assets/hbm/textures/items/battery_sc_lead.png b/src/main/resources/assets/hbm/textures/items/battery_sc_lead.png new file mode 100644 index 0000000000000000000000000000000000000000..1e1d8032cb2a169090e8e7c936552623f414a85d GIT binary patch literal 298 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJV{wqX6T`Z5GB1G~mUKs7M+SzC z{oH>NS%G}Z0G|+7MMXs*Q$a!D|9=K!W8+z~W;HZ4EMC00qoc#!-F?lPH4`UJ^z-v` zaB#4+w2bfw^|tnKFt7z`v5R^x2&9Bdg8YL2V*rLtwRbpx(wqezk;M!Qe1}1p@p%4< z6rfZ#j>= TnbF%;pfwDhu6{1-oD!MNS%G}H0G|+7At5Ealo5!`z^kney32Xlaf%g+C;*Ok1d zrOIdbY~-I<^VFQ<()wL4SHB48he@+pDa^R#;8kI;bVg+J=7OWrSGw<{i=^lXXjMD9 sy@)ct!C0MtY2{buzZ3aaOtqdVUctt;_FrvRF3=(dPgg&ebxsLQ0OgQY0ssI2 diff --git a/src/main/resources/assets/hbm/textures/items/billet_pb209.png b/src/main/resources/assets/hbm/textures/items/billet_pb209.png new file mode 100644 index 0000000000000000000000000000000000000000..bafc80a5feed0abd8550771042a3c66aac7a1806 GIT binary patch literal 397 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJV{wqX6T`Z5GB1G~mUKs7M+SzC z{oH>NS%LhV0G|+71%7EoerYv+>3EmG1ebu4h!k~xX=Q%tSl6IL=YX>CNyKMB8wRq_zr?FMQ3ogOJi%RYyb85fZn*C7Kfv^AB15{QpP0{vN5xfJuS%O9^*@=@ z@#EqhW{X8vC4BGLMr6-S;+5W4|CGOFvhumNv!2T&=X^X_26P33r>mdKI;Vst0GxH3 AkpKVy literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/items/ingot_pb200.png b/src/main/resources/assets/hbm/textures/items/ingot_pb200.png deleted file mode 100644 index 9852d1996606cee65f3b73f7a4d735c167e4d54b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 280 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJV{wqX6T`Z5GB1G~mUKs7M+SzC z{oH>NS%G}T0G|+7At5jba4#P2(ImO6lzf5VfJ32`QbnN z?65Bn4$j#mEwSP6$@v>z^&4!yHsR^gd#7(KTbFDQUR}ZOuS~r>b+3L`0^3usRYKQ+mNIy{ L`njxgN@xNAFYRSB diff --git a/src/main/resources/assets/hbm/textures/items/ingot_pb209.png b/src/main/resources/assets/hbm/textures/items/ingot_pb209.png new file mode 100644 index 0000000000000000000000000000000000000000..da3866c490860e1a3020a14b761a64855cd90a29 GIT binary patch literal 538 zcmV+#0_FXQP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGizW@LZzX3P}QzQTY0k26!K~y+T)sfpP zL{SvRzkO!NC}&O#Q+U9H8MzcjNnSj7Ac;5EKTfXAU!d^f(x41dM!AG2(}-r6Gil7W z);?#3PAL_NAX-yy>=)IO)jhX-YFLor5XYkTWL zFg!gqiL+=Fg))osvNF|4btO|a5fnAb1^j-zItm~QoS2!LM>3s;lZ(zyPB1z=jOgKk zH4+2aEF832eRX`KSv4#yg^&>fCV>@RFSf(m5cNitY-{u@XkvT}$45tKY6`%S$*>g` zLLp=cdN$K!Vtq1~%LQH6vAnVh5ilxcPq0fRxY5AS5Ef@=)g-2A<{_4sy5^KfB(Sx! zYZ&Va!K`gGllu65eu&rCVii%O<)=}g0;V=@xODd&6 z7DM)*Rgk?^QU^-r@)+wMK`Qx#NH`3Q&YZaV1br(u>1*$mrJAmmef@iVoZ>I~@(OhE c^SF5dZ~o-3gr1_MvH$=807*qoM6N<$g4e0&mjD0& literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/items/nugget_pb200.png b/src/main/resources/assets/hbm/textures/items/nugget_pb200.png deleted file mode 100644 index a8e996dc7a696860085a57f0ced5fbe23cb164cc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 248 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJV{wqX6T`Z5GB1G~mUKs7M+SzC z{oH>NS%G}T0G|+7At5<4GpCf4f@RA#m6bIG1jINv`1txpGBfl42dZIU(Ei(c97u7O z1o;L3hXV#Lf5uNhVa@`N$YKTtzJnmlxMO1WTcDt)r;B5VM)2Izo_q%kIG7!-E&1`E zKQE*sWYN4=lWmy}P5ke0B$CVHiWk?FBf&xuXOBxCFj}7@T_a<#llfbmfZ)~nYr41X dU$B?K{B#MYu;1pjeLzDQJYD@<);T3K0RS$CQtAKz diff --git a/src/main/resources/assets/hbm/textures/items/nugget_pb209.png b/src/main/resources/assets/hbm/textures/items/nugget_pb209.png new file mode 100644 index 0000000000000000000000000000000000000000..10d702001c28d1f46c9dac9b384d9bf7d72275c1 GIT binary patch literal 303 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBufG}g$wN6f;;1N$3#}EtuWC_+CjavJ^)brM@{6CK^?EgZi z2u9^8Zj1_N|IK^HV>WFX&-Hb&$reSAR1R zJnPuZB4V4aGO)U`F3=R57asiZ?5uQ~Z1s1; zJ%9estk7>bkiUR?Uj3gVAD-PVH;@)TkjZd@`~ScH$v^%*whn3Fd61IwJHDf{zrchk w^nfTMYr$@Dc?Yu=kp^p?4i=HB#zsbl$h)>HXGjKb0Q!f))78&qol`;+0L?acCjbBd literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/items/pellet_rtg_lead.png b/src/main/resources/assets/hbm/textures/items/pellet_rtg_lead.png index ccf1a118a90ec3daaa88f3c5fc82e60562b11632..af923ffba231e2b7767b933cbb4ace4a93f5a1cd 100644 GIT binary patch delta 403 zcmew$d{1=4CdT^70X`wFvI5cy{L%^nGD`f?YW&g(Zh?ITRlNmOJ%!ck{L(7?(#rhO zNp1nX`IUY7l?m>FJ%u%j{L*WtFIqEWu@DnqlxN7AX$#g(nw#tzux|3))zcTny9ceA zws7r~`D>@lOK=M?5K|Cl-fa3lwMM6=LKS zW#o->57H4+WME*p$>}Z(qzp@f{DS|J2pHsN`6+IG%(#-heyXR7V~9p@?77oIO$Iy; zfm|J30jrwaRxM%`mCyM1|8AHSIYToOC7e}6gs$W9g9+SS8c6@nR<0vhodz^hBdo*+v>}G zudJTu@o3%^Xqd-X&8*Gx_V33p_D8RO*!Io%!eluCZ!b0e89y{IpZK|$jTvYm NgQu&X%Q~loCIInbKpy}A diff --git a/src/main/resources/assets/hbm/textures/items/plate_fuel_pu238be.png b/src/main/resources/assets/hbm/textures/items/plate_fuel_pu238be.png new file mode 100644 index 0000000000000000000000000000000000000000..939726e383600fc4642758cf31dc68d601640ed0 GIT binary patch literal 280 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJV{wqX6T`Z5GB1G~mUKs7M+SzC z{oH>NS%G}T0G|-o=z0cA2Qzg;mGJ10to-zt~8uROad&^h(Uw0rAWkGF`NSSb`~ z+asWx^-=iF1nnmEi=SVZP1yW?eU8xYpZo#e`9*yH9rk&~yR@5~C#gaR6b1~Qu6{1- HoD!MNS%G}Z0G|+7BMSp1Z3W*zuehY>zzBa&Uysb3G!H+w;PAlMgs7=AC%bq!I(azA zsmXZwyEU~n>KJNSIamO77j4P-1EhpYg8YL2V*rLtwRbpx(wqezk;M!QeEUI|(SkKt z1t?hV>Ealo5nOuiAm0%M4wehA0$gsbjs5>Wx!mQl^W>)r=Zpom|68?xgYER2LB|$V zF4J+~ITb6cJgXNs~0i2Kj$ew_ xE6@1dXVb7>Wvh^-!izbTjK5FuuX**CeO57#SD)&vCZH1-JYD@<);T3K0RR_Jcnkml literal 0 HcmV?d00001 From 1d2a0765432b44f70597dfef6996611bdb7d55ef Mon Sep 17 00:00:00 2001 From: Vaern Date: Tue, 11 Jan 2022 21:08:39 -0800 Subject: [PATCH 2/4] Last-minute balancing changes UFFR convinced me --- src/main/java/com/hbm/items/ModItems.java | 6 +++--- src/main/java/com/hbm/main/CraftingManager.java | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/hbm/items/ModItems.java b/src/main/java/com/hbm/items/ModItems.java index 3a81b446c..0ae42e7f7 100644 --- a/src/main/java/com/hbm/items/ModItems.java +++ b/src/main/java/com/hbm/items/ModItems.java @@ -1811,8 +1811,8 @@ public class ModItems { public static Item battery_sc_plutonium; public static Item battery_sc_polonium; public static Item battery_sc_gold; - public static Item battery_sc_americium; public static Item battery_sc_lead; + public static Item battery_sc_americium; public static Item battery_su; public static Item battery_su_l; @@ -4410,8 +4410,8 @@ public class ModItems { battery_sc_plutonium = new ItemSelfcharger(100).setUnlocalizedName("battery_sc_plutonium").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":battery_sc_plutonium"); battery_sc_polonium = new ItemSelfcharger(500).setUnlocalizedName("battery_sc_polonium").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":battery_sc_polonium"); battery_sc_gold = new ItemSelfcharger(2500).setUnlocalizedName("battery_sc_gold").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":battery_sc_gold"); + battery_sc_lead = new ItemSelfcharger(5000).setUnlocalizedName("battery_sc_lead").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":battery_sc_lead"); battery_sc_americium = new ItemSelfcharger(10000).setUnlocalizedName("battery_sc_americium").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":battery_sc_americium"); - battery_sc_lead = new ItemSelfcharger(20000).setUnlocalizedName("battery_sc_lead").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":battery_sc_lead"); battery_potato = new ItemBattery(1000, 0, 100).setUnlocalizedName("battery_potato").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":battery_potato"); battery_potatos = new ItemPotatos(500000, 0, 100).setUnlocalizedName("battery_potatos").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":battery_potatos"); @@ -6240,8 +6240,8 @@ public class ModItems { GameRegistry.registerItem(battery_sc_plutonium, battery_sc_plutonium.getUnlocalizedName()); GameRegistry.registerItem(battery_sc_polonium, battery_sc_polonium.getUnlocalizedName()); GameRegistry.registerItem(battery_sc_gold, battery_sc_gold.getUnlocalizedName()); - GameRegistry.registerItem(battery_sc_americium, battery_sc_americium.getUnlocalizedName()); GameRegistry.registerItem(battery_sc_lead, battery_sc_lead.getUnlocalizedName()); + GameRegistry.registerItem(battery_sc_americium, battery_sc_americium.getUnlocalizedName()); GameRegistry.registerItem(hev_battery, hev_battery.getUnlocalizedName()); GameRegistry.registerItem(fusion_core, fusion_core.getUnlocalizedName()); GameRegistry.registerItem(energy_core, energy_core.getUnlocalizedName()); diff --git a/src/main/java/com/hbm/main/CraftingManager.java b/src/main/java/com/hbm/main/CraftingManager.java index 260f129df..a68b2b89a 100644 --- a/src/main/java/com/hbm/main/CraftingManager.java +++ b/src/main/java/com/hbm/main/CraftingManager.java @@ -513,8 +513,8 @@ public class CraftingManager { addRecipeAuto(new ItemStack(ModItems.battery_sc_plutonium), new Object[] { "NBN", "PCP", "NBN", 'N', TC99.nugget(), 'B', PU238.billet(), 'P', PB.plate(), 'C', ModItems.battery_sc_technetium }); addRecipeAuto(new ItemStack(ModItems.battery_sc_polonium), new Object[] { "NBN", "PCP", "NBN", 'N', TC99.nugget(), 'B', PO210.billet(), 'P', POLYMER.ingot(), 'C', ModItems.battery_sc_plutonium }); addRecipeAuto(new ItemStack(ModItems.battery_sc_gold), new Object[] { "NBN", "PCP", "NBN", 'N', TA.nugget(), 'B', AU198.billet(), 'P', POLYMER.ingot(), 'C', ModItems.battery_sc_polonium }); - addRecipeAuto(new ItemStack(ModItems.battery_sc_americium), new Object[] { "NBN", "PCP", "NBN", 'N', TA.nugget(), 'B', AM241.billet(), 'P', POLYMER.ingot(), 'C', ModItems.battery_sc_gold }); - addRecipeAuto(new ItemStack(ModItems.battery_sc_lead), new Object[] { "NBN", "PCP", "NBN", 'N', TA.nugget(), 'B', PB209.billet(), 'P', POLYMER.ingot(), 'C', ModItems.battery_sc_americium }); + addRecipeAuto(new ItemStack(ModItems.battery_sc_lead), new Object[] { "NBN", "PCP", "NBN", 'N', TA.nugget(), 'B', PB209.billet(), 'P', POLYMER.ingot(), 'C', ModItems.battery_sc_gold }); + addRecipeAuto(new ItemStack(ModItems.battery_sc_americium), new Object[] { "NBN", "PCP", "NBN", 'N', TA.nugget(), 'B', AM241.billet(), 'P', POLYMER.ingot(), 'C', ModItems.battery_sc_lead }); addRecipeAuto(new ItemStack(ModItems.wiring_red_copper, 1), new Object[] { "PPP", "PIP", "PPP", 'P', STEEL.plate(), 'I', STEEL.ingot() }); addRecipeAuto(new ItemStack(ModItems.tank_waste, 1), new Object[] { "PTP", "PTP", "PTP", 'T', ModItems.tank_steel, 'P', STEEL.plate() }); From 78d97fa2b9613fd8864c82407840dc783de52552 Mon Sep 17 00:00:00 2001 From: Vaern Date: Thu, 13 Jan 2022 20:30:29 -0800 Subject: [PATCH 3/4] WIP RTG shit --- src/main/java/com/hbm/blocks/ModBlocks.java | 34 +++---- .../hbm/blocks/generic/BlockCoalBurning.java | 4 +- .../hbm/blocks/generic/BlockNetherCoal.java | 3 +- .../com/hbm/blocks/generic/BlockOutgas.java | 38 ++----- .../java/com/hbm/config/MachineConfig.java | 4 +- src/main/java/com/hbm/items/ModItems.java | 27 +++-- .../com/hbm/items/machine/ItemRTGPellet.java | 95 ++++++++++++++---- .../items/machine/ItemRTGPelletDepleted.java | 18 ++++ .../machine/TileEntityDiFurnaceRTG.java | 17 +--- .../machine/TileEntityMachineIGenerator.java | 17 +--- .../machine/TileEntityMachineRTG.java | 32 ++---- .../machine/TileEntityRtgFurnace.java | 8 +- src/main/java/com/hbm/util/RTGUtil.java | 76 ++++++++++++++ .../items/pellet_rtg_depleted.lead.png | Bin 0 -> 5946 bytes .../items/pellet_rtg_depleted.mercury.png | Bin 0 -> 5983 bytes .../items/pellet_rtg_depleted.neptunium.png | Bin 0 -> 6042 bytes .../items/pellet_rtg_depleted.zirconium.png | Bin 0 -> 5980 bytes 17 files changed, 239 insertions(+), 134 deletions(-) create mode 100644 src/main/java/com/hbm/items/machine/ItemRTGPelletDepleted.java create mode 100644 src/main/java/com/hbm/util/RTGUtil.java create mode 100644 src/main/resources/assets/hbm/textures/items/pellet_rtg_depleted.lead.png create mode 100644 src/main/resources/assets/hbm/textures/items/pellet_rtg_depleted.mercury.png create mode 100644 src/main/resources/assets/hbm/textures/items/pellet_rtg_depleted.neptunium.png create mode 100644 src/main/resources/assets/hbm/textures/items/pellet_rtg_depleted.zirconium.png diff --git a/src/main/java/com/hbm/blocks/ModBlocks.java b/src/main/java/com/hbm/blocks/ModBlocks.java index 9f6aa727a..6fa1b500c 100644 --- a/src/main/java/com/hbm/blocks/ModBlocks.java +++ b/src/main/java/com/hbm/blocks/ModBlocks.java @@ -1230,8 +1230,8 @@ public class ModBlocks { test_ct = new TestCT(Material.iron).setBlockName("test_ct").setCreativeTab(null).setHardness(2.5F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":test_ct"); test_rail = new TestRail(Material.iron).setBlockName("test_rail").setCreativeTab(null).setHardness(2.5F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":test_rail"); - ore_uranium = new BlockOutgas(Material.rock, true, 5, false).setBlockName("ore_uranium").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_uranium"); - ore_uranium_scorched = new BlockOutgas(Material.rock, true, 5, false).setBlockName("ore_uranium_scorched").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_uranium_scorched"); + ore_uranium = new BlockOutgas(Material.rock, gas_radon, true, 5, true).setBlockName("ore_uranium").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_uranium"); + ore_uranium_scorched = new BlockOutgas(Material.rock, gas_radon, true, 5, true).setBlockName("ore_uranium_scorched").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_uranium_scorched"); ore_titanium = new BlockGeneric(Material.rock).setBlockName("ore_titanium").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_titanium"); ore_sulfur = new BlockOre(Material.rock).setBlockName("ore_sulfur").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_sulfur"); ore_thorium = new BlockGeneric(Material.rock).setBlockName("ore_thorium").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_thorium"); @@ -1245,7 +1245,7 @@ public class ModBlocks { ore_schrabidium = new BlockOre(Material.rock, 0.1F, 0.5F).setBlockName("ore_schrabidium").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(600.0F).setBlockTextureName(RefStrings.MODID + ":ore_schrabidium"); ore_beryllium = new BlockGeneric(Material.rock).setBlockName("ore_beryllium").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(15.0F).setBlockTextureName(RefStrings.MODID + ":ore_beryllium"); ore_lignite = new BlockOre(Material.rock).setBlockName("ore_lignite").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(15.0F).setBlockTextureName(RefStrings.MODID + ":ore_lignite"); - ore_asbestos = new BlockOutgas(Material.rock, true, 5, true).setBlockName("ore_asbestos").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(15.0F).setBlockTextureName(RefStrings.MODID + ":ore_asbestos"); + ore_asbestos = new BlockOutgas(Material.rock, gas_asbestos, true, 5, true).setBlockName("ore_asbestos").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(15.0F).setBlockTextureName(RefStrings.MODID + ":ore_asbestos"); ore_coal_oil = new BlockCoalOil(Material.rock).setBlockName("ore_coal_oil").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(15.0F).setBlockTextureName(RefStrings.MODID + ":ore_coal_oil"); ore_coal_oil_burning = new BlockCoalBurning(Material.rock).setBlockName("ore_coal_oil_burning").setCreativeTab(MainRegistry.blockTab).setLightLevel(10F/15F).setHardness(5.0F).setResistance(15.0F).setBlockTextureName(RefStrings.MODID + ":ore_coal_oil_burning"); @@ -1256,8 +1256,8 @@ public class ModBlocks { ore_nether_coal = new BlockNetherCoal(Material.rock, false, 5, true).setBlockName("ore_nether_coal").setCreativeTab(MainRegistry.blockTab).setLightLevel(10F/15F).setHardness(0.4F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_nether_coal"); ore_nether_smoldering = new BlockSmolder(Material.rock).setBlockName("ore_nether_smoldering").setCreativeTab(MainRegistry.blockTab).setLightLevel(1F).setHardness(0.4F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_nether_smoldering"); - ore_nether_uranium = new BlockOutgas(Material.rock, true, 5, false).setBlockName("ore_nether_uranium").setCreativeTab(MainRegistry.blockTab).setHardness(0.4F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_nether_uranium"); - ore_nether_uranium_scorched = new BlockOutgas(Material.rock, true, 5, false).setBlockName("ore_nether_uranium_scorched").setCreativeTab(MainRegistry.blockTab).setHardness(0.4F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_nether_uranium_scorched"); + ore_nether_uranium = new BlockOutgas(Material.rock, gas_radon, true, 5, true).setBlockName("ore_nether_uranium").setCreativeTab(MainRegistry.blockTab).setHardness(0.4F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_nether_uranium"); + ore_nether_uranium_scorched = new BlockOutgas(Material.rock, gas_radon, true, 5, true).setBlockName("ore_nether_uranium_scorched").setCreativeTab(MainRegistry.blockTab).setHardness(0.4F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_nether_uranium_scorched"); ore_nether_plutonium = new BlockGeneric(Material.rock).setBlockName("ore_nether_plutonium").setCreativeTab(MainRegistry.blockTab).setHardness(0.4F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_nether_plutonium"); ore_nether_tungsten = new BlockGeneric(Material.rock).setBlockName("ore_nether_tungsten").setCreativeTab(MainRegistry.blockTab).setHardness(0.4F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_nether_tungsten"); ore_nether_sulfur = new BlockOre(Material.rock).setBlockName("ore_nether_sulfur").setCreativeTab(MainRegistry.blockTab).setHardness(0.4F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_nether_sulfur"); @@ -1279,10 +1279,10 @@ public class ModBlocks { stone_gneiss = new BlockGeneric(Material.rock).setBlockName("stone_gneiss").setCreativeTab(MainRegistry.blockTab).setHardness(1.5F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":stone_gneiss_var"); ore_gneiss_iron = new BlockOre(Material.rock).setBlockName("ore_gneiss_iron").setCreativeTab(MainRegistry.blockTab).setHardness(1.5F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_gneiss_iron"); ore_gneiss_gold = new BlockOre(Material.rock).setBlockName("ore_gneiss_gold").setCreativeTab(MainRegistry.blockTab).setHardness(1.5F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_gneiss_gold"); - ore_gneiss_uranium = new BlockOutgas(Material.rock, true, 5, false).setBlockName("ore_gneiss_uranium").setCreativeTab(MainRegistry.blockTab).setHardness(1.5F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_gneiss_uranium"); - ore_gneiss_uranium_scorched = new BlockOutgas(Material.rock, true, 5, false).setBlockName("ore_gneiss_uranium_scorched").setCreativeTab(MainRegistry.blockTab).setHardness(1.5F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_gneiss_uranium_scorched"); + ore_gneiss_uranium = new BlockOutgas(Material.rock, gas_radon, true, 5, true).setBlockName("ore_gneiss_uranium").setCreativeTab(MainRegistry.blockTab).setHardness(1.5F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_gneiss_uranium"); + ore_gneiss_uranium_scorched = new BlockOutgas(Material.rock, gas_radon, true, 5, true).setBlockName("ore_gneiss_uranium_scorched").setCreativeTab(MainRegistry.blockTab).setHardness(1.5F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_gneiss_uranium_scorched"); ore_gneiss_copper = new BlockOre(Material.rock).setBlockName("ore_gneiss_copper").setCreativeTab(MainRegistry.blockTab).setHardness(1.5F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_gneiss_copper"); - ore_gneiss_asbestos = new BlockOutgas(Material.rock, true, 5, true).setBlockName("ore_gneiss_asbestos").setCreativeTab(MainRegistry.blockTab).setHardness(1.5F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_gneiss_asbestos"); + ore_gneiss_asbestos = new BlockOutgas(Material.rock, gas_asbestos, true, 5, true).setBlockName("ore_gneiss_asbestos").setCreativeTab(MainRegistry.blockTab).setHardness(1.5F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_gneiss_asbestos"); ore_gneiss_lithium = new BlockOre(Material.rock).setBlockName("ore_gneiss_lithium").setCreativeTab(MainRegistry.blockTab).setHardness(1.5F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_gneiss_lithium"); ore_gneiss_schrabidium = new BlockOre(Material.rock).setBlockName("ore_gneiss_schrabidium").setCreativeTab(MainRegistry.blockTab).setHardness(1.5F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_gneiss_schrabidium"); ore_gneiss_rare = new BlockOre(Material.rock).setBlockName("ore_gneiss_rare").setCreativeTab(MainRegistry.blockTab).setHardness(1.5F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_gneiss_rare"); @@ -1313,7 +1313,7 @@ public class ModBlocks { basalt = new BlockGeneric(Material.rock).setBlockName("basalt").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":basalt"); basalt_sulfur = new BlockOre(Material.rock).setBlockName("basalt_sulfur").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":basalt_sulfur"); basalt_fluorite = new BlockOre(Material.rock).setBlockName("basalt_fluorite").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":basalt_fluorite"); - basalt_asbestos = new BlockOutgas(Material.rock, true, 5, true).setBlockName("basalt_asbestos").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":basalt_asbestos"); + basalt_asbestos = new BlockOutgas(Material.rock, gas_asbestos, true, 5, true).setBlockName("basalt_asbestos").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":basalt_asbestos"); basalt_gem = new BlockCluster(Material.rock).setBlockName("basalt_gem").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":basalt_gem"); basalt_smooth = new BlockGeneric(Material.rock).setBlockName("basalt_smooth").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":basalt_smooth"); basalt_brick = new BlockGeneric(Material.rock).setBlockName("basalt_brick").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":basalt_brick"); @@ -1380,9 +1380,9 @@ public class ModBlocks { block_waste = new BlockNuclearWaste().makeBeaconable().setDisplayEffect(ExtDisplayEffect.RADFOG).setBlockName("block_waste").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_waste"); block_waste_painted = new BlockNuclearWaste().makeBeaconable().setDisplayEffect(ExtDisplayEffect.RADFOG).setBlockName("block_waste_painted").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_waste_painted"); block_waste_vitrified = new BlockNuclearWaste().makeBeaconable().setDisplayEffect(ExtDisplayEffect.RADFOG).setBlockName("block_waste_vitrified").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_waste_vitrified"); - ancient_scrap = new BlockOutgas(Material.iron, true, 1, true, true).setBlockName("ancient_scrap").setCreativeTab(MainRegistry.blockTab).setHardness(100.0F).setResistance(6000.0F).setBlockTextureName(RefStrings.MODID + ":ancient_scrap"); + ancient_scrap = new BlockOutgas(Material.iron, gas_radon_tomb, true, 1, true, true).setBlockName("ancient_scrap").setCreativeTab(MainRegistry.blockTab).setHardness(100.0F).setResistance(6000.0F).setBlockTextureName(RefStrings.MODID + ":ancient_scrap"); block_corium = new BlockHazard(Material.iron).setBlockName("block_corium").setCreativeTab(MainRegistry.blockTab).setHardness(100.0F).setResistance(6000.0F).setBlockTextureName(RefStrings.MODID + ":block_corium"); - block_corium_cobble = new BlockOutgas(Material.iron, true, 1, true, true).setBlockName("block_corium_cobble").setCreativeTab(MainRegistry.blockTab).setHardness(100.0F).setResistance(6000.0F).setBlockTextureName(RefStrings.MODID + ":block_corium_cobble"); + block_corium_cobble = new BlockOutgas(Material.iron, gas_radon, true, 1, true, true).setBlockName("block_corium_cobble").setCreativeTab(MainRegistry.blockTab).setHardness(100.0F).setResistance(6000.0F).setBlockTextureName(RefStrings.MODID + ":block_corium_cobble"); block_scrap = new BlockFalling(Material.sand).setBlockName("block_scrap").setCreativeTab(MainRegistry.blockTab).setHardness(2.5F).setResistance(5.0F).setStepSound(Block.soundTypeGravel).setBlockTextureName(RefStrings.MODID + ":block_scrap"); block_electrical_scrap = new BlockFalling(Material.iron).setBlockName("block_electrical_scrap").setCreativeTab(MainRegistry.blockTab).setHardness(2.5F).setResistance(5.0F).setStepSound(Block.soundTypeMetal).setBlockTextureName(RefStrings.MODID + ":electrical_scrap_alt2"); block_beryllium = new BlockBeaconable(Material.iron).setBlockName("block_beryllium").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_beryllium"); @@ -1404,7 +1404,7 @@ public class ModBlocks { block_yellowcake = new BlockHazardFalling().makeBeaconable().setBlockName("block_yellowcake").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeSand).setHardness(5.0F).setResistance(600.0F).setBlockTextureName(RefStrings.MODID + ":block_yellowcake"); block_insulator = new BlockRotatablePillar(Material.cloth, RefStrings.MODID + ":block_insulator_top").setBlockName("block_insulator").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeCloth).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_insulator_side"); block_fiberglass = new BlockRotatablePillar(Material.cloth, RefStrings.MODID + ":block_fiberglass_top").setBlockName("block_fiberglass").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeCloth).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_fiberglass_side"); - block_asbestos = new BlockOutgas(Material.cloth, true, 5, true).setBlockName("block_asbestos").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeCloth).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_asbestos"); + block_asbestos = new BlockOutgas(Material.cloth, gas_asbestos, true, 5, true).setBlockName("block_asbestos").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeCloth).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_asbestos"); block_cobalt = new BlockBeaconable(Material.iron).setBlockName("block_cobalt").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_cobalt"); block_lithium = new BlockLithium(Material.iron).setBlockName("block_lithium").setStepSound(Block.soundTypeMetal).setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_lithium"); block_zirconium = new BlockBeaconable(Material.iron).setBlockName("block_zirconium").setStepSound(Block.soundTypeMetal).setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_zirconium"); @@ -1449,7 +1449,7 @@ public class ModBlocks { deco_steel = new BlockDecoCT(Material.iron).setBlockName("deco_steel").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":deco_steel"); deco_lead = new BlockDecoCT(Material.iron).setBlockName("deco_lead").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":deco_lead"); deco_beryllium = new BlockDecoCT(Material.iron).setBlockName("deco_beryllium").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":deco_beryllium"); - deco_asbestos = new BlockOutgas(Material.cloth, true, 5, true).setBlockName("deco_asbestos").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":deco_asbestos"); + deco_asbestos = new BlockOutgas(Material.cloth, gas_asbestos, true, 5, true).setBlockName("deco_asbestos").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":deco_asbestos"); deco_rbmk = new BlockGeneric(Material.iron).setBlockName("deco_rbmk").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":rbmk/rbmk_side"); deco_rbmk_smooth = new BlockGeneric(Material.iron).setBlockName("deco_rbmk_smooth").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":rbmk/rbmk_top"); @@ -1494,7 +1494,7 @@ public class ModBlocks { brick_compound = new BlockGeneric(Material.rock).setBlockName("brick_compound").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(10000.0F).setBlockTextureName(RefStrings.MODID + ":brick_compound"); cmb_brick = new BlockGeneric(Material.rock).setBlockName("cmb_brick").setCreativeTab(MainRegistry.blockTab).setHardness(25.0F).setResistance(6000.0F).setBlockTextureName(RefStrings.MODID + ":cmb_brick"); cmb_brick_reinforced = new BlockGeneric(Material.rock).setBlockName("cmb_brick_reinforced").setCreativeTab(MainRegistry.blockTab).setHardness(25.0F).setResistance(60000.0F).setBlockTextureName(RefStrings.MODID + ":cmb_brick_reinforced"); - brick_asbestos = new BlockOutgas(Material.rock, true, 5, true).setBlockName("brick_asbestos").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(1000.0F).setBlockTextureName(RefStrings.MODID + ":brick_asbestos"); + brick_asbestos = new BlockOutgas(Material.rock, gas_asbestos, true, 5, true).setBlockName("brick_asbestos").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(1000.0F).setBlockTextureName(RefStrings.MODID + ":brick_asbestos"); ducrete_smooth = new BlockGeneric(Material.rock).setBlockName("ducrete_smooth").setCreativeTab(MainRegistry.blockTab).setHardness(20.0F).setResistance(8000.0F).setBlockTextureName(RefStrings.MODID + ":ducrete"); @@ -1502,9 +1502,9 @@ public class ModBlocks { brick_ducrete = new BlockGeneric(Material.rock).setBlockName("brick_ducrete").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(12000.0F).setBlockTextureName(RefStrings.MODID + ":brick_ducrete"); reinforced_ducrete = new BlockGeneric(Material.rock).setBlockName("reinforced_ducrete").setCreativeTab(MainRegistry.blockTab).setHardness(20.0F).setResistance(24000.0F).setBlockTextureName(RefStrings.MODID + ":reinforced_ducrete"); - tile_lab = new BlockOutgas(Material.rock, false, 5, true).setBlockName("tile_lab").setStepSound(Block.soundTypeGlass).setCreativeTab(MainRegistry.blockTab).setHardness(1.0F).setResistance(20.0F).setBlockTextureName(RefStrings.MODID + ":tile_lab"); - tile_lab_cracked = new BlockOutgas(Material.rock, false, 5, true).setBlockName("tile_lab_cracked").setStepSound(Block.soundTypeGlass).setCreativeTab(MainRegistry.blockTab).setHardness(1.0F).setResistance(20.0F).setBlockTextureName(RefStrings.MODID + ":tile_lab_cracked"); - tile_lab_broken = new BlockOutgas(Material.rock, true, 5, true).setBlockName("tile_lab_broken").setStepSound(Block.soundTypeGlass).setCreativeTab(MainRegistry.blockTab).setHardness(1.0F).setResistance(20.0F).setBlockTextureName(RefStrings.MODID + ":tile_lab_broken"); + tile_lab = new BlockOutgas(Material.rock, gas_asbestos, false, 5, true).setBlockName("tile_lab").setStepSound(Block.soundTypeGlass).setCreativeTab(MainRegistry.blockTab).setHardness(1.0F).setResistance(20.0F).setBlockTextureName(RefStrings.MODID + ":tile_lab"); + tile_lab_cracked = new BlockOutgas(Material.rock, gas_asbestos, false, 5, true).setBlockName("tile_lab_cracked").setStepSound(Block.soundTypeGlass).setCreativeTab(MainRegistry.blockTab).setHardness(1.0F).setResistance(20.0F).setBlockTextureName(RefStrings.MODID + ":tile_lab_cracked"); + tile_lab_broken = new BlockOutgas(Material.rock, gas_asbestos, true, 5, true).setBlockName("tile_lab_broken").setStepSound(Block.soundTypeGlass).setCreativeTab(MainRegistry.blockTab).setHardness(1.0F).setResistance(20.0F).setBlockTextureName(RefStrings.MODID + ":tile_lab_broken"); siege_shield = new SiegeShield(Material.iron).setBlockName("siege_shield").setCreativeTab(MainRegistry.blockTab).setBlockUnbreakable().setResistance(900.0F); siege_internal = new SiegeInternal(Material.iron).setBlockName("siege_internal").setCreativeTab(MainRegistry.blockTab).setBlockUnbreakable().setResistance(60.0F); diff --git a/src/main/java/com/hbm/blocks/generic/BlockCoalBurning.java b/src/main/java/com/hbm/blocks/generic/BlockCoalBurning.java index 312c9c310..4296c00f4 100644 --- a/src/main/java/com/hbm/blocks/generic/BlockCoalBurning.java +++ b/src/main/java/com/hbm/blocks/generic/BlockCoalBurning.java @@ -2,6 +2,8 @@ package com.hbm.blocks.generic; import java.util.Random; +import com.hbm.blocks.ModBlocks; + import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.Block; @@ -15,7 +17,7 @@ import net.minecraftforge.common.util.ForgeDirection; public class BlockCoalBurning extends BlockOutgas { public BlockCoalBurning(Material mat) { - super(mat, false, 1, false); + super(mat, ModBlocks.gas_monoxide, false, 1, false); this.setTickRandomly(true); } diff --git a/src/main/java/com/hbm/blocks/generic/BlockNetherCoal.java b/src/main/java/com/hbm/blocks/generic/BlockNetherCoal.java index 0e33d9f9a..fce2759df 100644 --- a/src/main/java/com/hbm/blocks/generic/BlockNetherCoal.java +++ b/src/main/java/com/hbm/blocks/generic/BlockNetherCoal.java @@ -2,6 +2,7 @@ package com.hbm.blocks.generic; import java.util.Random; +import com.hbm.blocks.ModBlocks; import com.hbm.items.ModItems; import cpw.mods.fml.relauncher.Side; @@ -15,7 +16,7 @@ import net.minecraftforge.common.util.ForgeDirection; public class BlockNetherCoal extends BlockOutgas { public BlockNetherCoal(Material mat, boolean randomTick, int rate, boolean onBreak) { - super(mat, randomTick, rate, onBreak); + super(mat, ModBlocks.gas_monoxide, randomTick, rate, onBreak); } @Override diff --git a/src/main/java/com/hbm/blocks/generic/BlockOutgas.java b/src/main/java/com/hbm/blocks/generic/BlockOutgas.java index b560957a8..51e2a1890 100644 --- a/src/main/java/com/hbm/blocks/generic/BlockOutgas.java +++ b/src/main/java/com/hbm/blocks/generic/BlockOutgas.java @@ -3,6 +3,7 @@ package com.hbm.blocks.generic; import java.util.Random; import com.hbm.blocks.ModBlocks; +import com.hbm.blocks.gas.BlockGasBase; import net.minecraft.block.Block; import net.minecraft.block.material.Material; @@ -13,14 +14,16 @@ import net.minecraftforge.common.util.ForgeDirection; public class BlockOutgas extends BlockOre { + Block gas; boolean randomTick; int rate; boolean onBreak; boolean onNeighbour; - public BlockOutgas(Material mat, boolean randomTick, int rate, boolean onBreak) { + public BlockOutgas(Material mat, Block gas, boolean randomTick, int rate, boolean onBreak) { super(mat); + this.gas = gas; this.setTickRandomly(randomTick); this.randomTick = randomTick; this.rate = rate; @@ -28,42 +31,17 @@ public class BlockOutgas extends BlockOre { this.onNeighbour = false; } - public BlockOutgas(Material mat, boolean randomTick, int rate, boolean onBreak, boolean onNeighbour) { - this(mat, randomTick, rate, onBreak); + public BlockOutgas(Material mat, Block gas, boolean randomTick, int rate, boolean onBreak, boolean onNeighbour) { + this(mat, gas, randomTick, rate, onBreak); this.onNeighbour = onNeighbour; } - public int tickRate(World p_149738_1_) { + public int tickRate(World world) { return rate; } protected Block getGas() { - - if(this == ModBlocks.ore_uranium || this == ModBlocks.ore_uranium_scorched || - this == ModBlocks.ore_gneiss_uranium || this == ModBlocks.ore_gneiss_uranium_scorched || - this == ModBlocks.ore_nether_uranium || this == ModBlocks.ore_nether_uranium_scorched) { - return ModBlocks.gas_radon; - } - - if(this == ModBlocks.block_corium_cobble) - return ModBlocks.gas_radon; - - if(this == ModBlocks.ancient_scrap) - return ModBlocks.gas_radon_tomb; - - if(this == ModBlocks.ore_coal_oil_burning || this == ModBlocks.ore_nether_coal) { - return ModBlocks.gas_monoxide; - } - - if(this == ModBlocks.ore_asbestos || this == ModBlocks.ore_gneiss_asbestos || - this == ModBlocks.block_asbestos || this == ModBlocks.deco_asbestos || - this == ModBlocks.brick_asbestos || this == ModBlocks.tile_lab || - this == ModBlocks.tile_lab_cracked || this == ModBlocks.tile_lab_broken || - this == ModBlocks.basalt_asbestos) { - return ModBlocks.gas_asbestos; - } - - return Blocks.air; + return this.gas; } @Override diff --git a/src/main/java/com/hbm/config/MachineConfig.java b/src/main/java/com/hbm/config/MachineConfig.java index 1913db635..a173c5509 100644 --- a/src/main/java/com/hbm/config/MachineConfig.java +++ b/src/main/java/com/hbm/config/MachineConfig.java @@ -5,14 +5,14 @@ import net.minecraftforge.common.config.Configuration; public class MachineConfig { public static boolean scaleRTGPower = false; - public static boolean doRTGsDecay = false; + public static boolean doRTGsDecay = true; public static void loadFromConfig(Configuration config) { final String CATEGORY_MACHINE = "09_machines"; scaleRTGPower = CommonConfig.createConfigBool(config, CATEGORY_MACHINE, "9.00_scaleRTGPower", "Should RTG/Betavoltaic fuel power scale down as it decays?", false); - doRTGsDecay = CommonConfig.createConfigBool(config, CATEGORY_MACHINE, "9.01_doRTGsDecay", "Should RTG/Betavoltaic fuel decay at all?", false); + doRTGsDecay = CommonConfig.createConfigBool(config, CATEGORY_MACHINE, "9.01_doRTGsDecay", "Should RTG/Betavoltaic fuel decay at all?", true); } } diff --git a/src/main/java/com/hbm/items/ModItems.java b/src/main/java/com/hbm/items/ModItems.java index 0ae42e7f7..dbe2f1979 100644 --- a/src/main/java/com/hbm/items/ModItems.java +++ b/src/main/java/com/hbm/items/ModItems.java @@ -7,6 +7,7 @@ import com.hbm.handler.ToolAbility.LuckAbility; import com.hbm.handler.WeaponAbility; import com.hbm.handler.FluidTypeHandler.FluidType; import com.hbm.handler.guncfg.*; +import com.hbm.interfaces.ICustomWarhead.SaltedFuel.HalfLifeType; import com.hbm.items.armor.*; import com.hbm.items.bomb.*; import com.hbm.items.food.*; @@ -14,6 +15,7 @@ import com.hbm.items.machine.*; import com.hbm.items.machine.ItemMachineUpgrade.UpgradeType; import com.hbm.items.machine.ItemPlateFuel.FunctionEnum; import com.hbm.items.machine.ItemRBMKRod.EnumBurnFunc; +import com.hbm.items.machine.ItemRTGPelletDepleted.DepletedRTGMaterial; import com.hbm.items.machine.ItemStamp.StampType; import com.hbm.items.special.*; import com.hbm.items.special.ItemPlasticScrap.ScrapType; @@ -26,6 +28,7 @@ import com.hbm.main.MainRegistry; import com.hbm.potion.HbmPotion; import com.hbm.tileentity.machine.rbmk.IRBMKFluxReceiver.NType; import com.hbm.util.EnchantmentUtil; +import com.hbm.util.RTGUtil; import api.hbm.block.IToolable.ToolType; import cpw.mods.fml.common.registry.GameRegistry; @@ -709,6 +712,8 @@ public class ModItems { public static Item thermo_element; public static Item limiter; + public static Item pellet_rtg_depleted; + public static Item pellet_rtg; public static Item pellet_rtg_radium; public static Item pellet_rtg_weak; @@ -719,7 +724,7 @@ public class ModItems { public static Item pellet_rtg_gold; public static Item pellet_rtg_americium; public static Item pellet_rtg_berkelium; - + public static Item tritium_deuterium_cake; public static Item pellet_schrabidium; @@ -3056,16 +3061,19 @@ public class ModItems { wiring_red_copper = new ItemWiring().setUnlocalizedName("wiring_red_copper").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":wiring_red_copper"); - pellet_rtg = new ItemRTGPellet(10).setUnlocalizedName("pellet_rtg").setCreativeTab(MainRegistry.controlTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":pellet_rtg"); - pellet_rtg_radium = new ItemRTGPellet(3).setUnlocalizedName("pellet_rtg_radium").setCreativeTab(MainRegistry.controlTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":pellet_rtg_radium"); - pellet_rtg_weak = new ItemRTGPellet(5).setUnlocalizedName("pellet_rtg_weak").setCreativeTab(MainRegistry.controlTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":pellet_rtg_weak"); - pellet_rtg_polonium = new ItemRTGPellet(25).setUnlocalizedName("pellet_rtg_polonium").setCreativeTab(MainRegistry.controlTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":pellet_rtg_polonium"); + pellet_rtg_depleted = new ItemRTGPelletDepleted().setUnlocalizedName("pellet_rtg_depleted").setCreativeTab(MainRegistry.controlTab); //TODO: add localization; uncrafting recipes; make radiation scale with depletion for rtgs + + pellet_rtg = new ItemRTGPellet(10).setDecays(DepletedRTGMaterial.LEAD, (long) (RTGUtil.getLifespan(87.7F, HalfLifeType.MEDIUM, false) * 1.5)).setUnlocalizedName("pellet_rtg").setCreativeTab(MainRegistry.controlTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":pellet_rtg"); + pellet_rtg_radium = new ItemRTGPellet(3).setDecays(DepletedRTGMaterial.LEAD, (long) (RTGUtil.getLifespan(16.0F, HalfLifeType.LONG, false) * 1.5)).setUnlocalizedName("pellet_rtg_radium").setCreativeTab(MainRegistry.controlTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":pellet_rtg_radium"); + pellet_rtg_weak = new ItemRTGPellet(5).setDecays(DepletedRTGMaterial.LEAD, (long) (RTGUtil.getLifespan(1.0F, HalfLifeType.LONG, false) * 1.5)).setUnlocalizedName("pellet_rtg_weak").setCreativeTab(MainRegistry.controlTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":pellet_rtg_weak"); + pellet_rtg_polonium = new ItemRTGPellet(25).setDecays(DepletedRTGMaterial.LEAD, (long) (RTGUtil.getLifespan(16.0F, HalfLifeType.LONG, false) * 1.5)).setUnlocalizedName("pellet_rtg_polonium").setCreativeTab(MainRegistry.controlTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":pellet_rtg_polonium"); pellet_rtg_actinium = new ItemRTGPellet(20).setUnlocalizedName("pellet_rtg_actinium").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":pellet_rtg_actinium"); - pellet_rtg_strontium = new ItemRTGPellet(15).setUnlocalizedName("pellet_rtg_strontium").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":pellet_rtg_strontium"); - pellet_rtg_lead = new ItemRTGPellet(250).setUnlocalizedName("pellet_rtg_lead").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":pellet_rtg_lead"); - pellet_rtg_gold = new ItemRTGPellet(150).setUnlocalizedName("pellet_rtg_gold").setCreativeTab(MainRegistry.controlTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":pellet_rtg_gold"); - pellet_rtg_americium = new ItemRTGPellet(15).setUnlocalizedName("pellet_rtg_americium").setCreativeTab(MainRegistry.controlTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":pellet_rtg_americium"); + pellet_rtg_strontium = new ItemRTGPellet(15).setDecays(DepletedRTGMaterial.ZIRCONIUM, (long) (RTGUtil.getLifespan(16.0F, HalfLifeType.LONG, false) * 1.5)).setUnlocalizedName("pellet_rtg_strontium").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":pellet_rtg_strontium"); + pellet_rtg_lead = new ItemRTGPellet(250).setDecays(DepletedRTGMaterial.BISMUTH, (long) (RTGUtil.getLifespan(0.13F, HalfLifeType.SHORT, false) * 1.5)).setUnlocalizedName("pellet_rtg_lead").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":pellet_rtg_lead"); + pellet_rtg_gold = new ItemRTGPellet(150).setDecays(DepletedRTGMaterial.MERCURY, (long) (RTGUtil.getLifespan(2.7F, HalfLifeType.SHORT, false) * 1.5)).setUnlocalizedName("pellet_rtg_gold").setCreativeTab(MainRegistry.controlTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":pellet_rtg_gold"); + pellet_rtg_americium = new ItemRTGPellet(15).setDecays(DepletedRTGMaterial.NEPTUNIUM, (long) (RTGUtil.getLifespan(470.0F, HalfLifeType.MEDIUM, false) * 1.5)).setUnlocalizedName("pellet_rtg_americium").setCreativeTab(MainRegistry.controlTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":pellet_rtg_americium"); pellet_rtg_berkelium = new ItemRTGPellet(20).setUnlocalizedName("pellet_rtg_berkelium").setCreativeTab(MainRegistry.controlTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":pellet_rtg_berkelium"); + tritium_deuterium_cake = new ItemCustomLore().setUnlocalizedName("tritium_deuterium_cake").setCreativeTab(MainRegistry.controlTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":tritium_deuterium_cake"); piston_selenium = new Item().setUnlocalizedName("piston_selenium").setCreativeTab(MainRegistry.controlTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":piston_selenium"); @@ -6085,6 +6093,7 @@ public class ModItems { GameRegistry.registerItem(pellet_rtg_gold, pellet_rtg_gold.getUnlocalizedName()); GameRegistry.registerItem(pellet_rtg_americium, pellet_rtg_americium.getUnlocalizedName()); GameRegistry.registerItem(pellet_rtg_berkelium, pellet_rtg_berkelium.getUnlocalizedName()); + GameRegistry.registerItem(pellet_rtg_depleted, pellet_rtg_depleted.getUnlocalizedName()); GameRegistry.registerItem(tritium_deuterium_cake, tritium_deuterium_cake.getUnlocalizedName()); GameRegistry.registerItem(pellet_cluster, pellet_cluster.getUnlocalizedName()); GameRegistry.registerItem(pellet_buckshot, pellet_buckshot.getUnlocalizedName()); diff --git a/src/main/java/com/hbm/items/machine/ItemRTGPellet.java b/src/main/java/com/hbm/items/machine/ItemRTGPellet.java index 895fa3267..8911464f6 100644 --- a/src/main/java/com/hbm/items/machine/ItemRTGPellet.java +++ b/src/main/java/com/hbm/items/machine/ItemRTGPellet.java @@ -7,19 +7,23 @@ import javax.annotation.CheckForNull; import javax.annotation.Nonnull; import com.google.common.collect.ImmutableSet; +import com.hbm.config.MachineConfig; import com.hbm.items.ModItems; +import com.hbm.items.machine.ItemRTGPelletDepleted.DepletedRTGMaterial; import com.hbm.tileentity.IRadioisotopeFuel; +import com.hbm.util.BobMathUtil; import com.hbm.util.I18nUtil; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.ChatComponentText; import net.minecraft.util.ChatStyle; import net.minecraft.util.EnumChatFormatting; import net.minecraft.world.World; -public class ItemRTGPellet extends Item implements IRadioisotopeFuel { +public class ItemRTGPellet extends Item { private short heat = 0; private boolean doesDecay = false; @@ -52,34 +56,73 @@ public class ItemRTGPellet extends Item implements IRadioisotopeFuel { "In the 1920s, uranium was considered a useless byproduct of the production of radium.", "The Manhattan Project referred to refined natural uranium as tuballoy, enriched uranium as oralloy, and depleted uranium as depletalloy." }; - - @Override - public ItemRTGPellet setDecays(@Nonnull ItemStack itemIn, long life) { + + public ItemRTGPellet setDecays(DepletedRTGMaterial mat, long life) { doesDecay = true; - decayItem = itemIn; + decayItem = new ItemStack(ModItems.pellet_rtg_depleted, 1, mat.ordinal()); lifespan = life; return this; } - @Override public long getMaxLifespan() { return lifespan; } - @Override public short getHeat() { return heat; } @CheckForNull - @Override public ItemStack getDecayItem() { return decayItem == null ? null : decayItem.copy(); } - @Override public boolean getDoesDecay() { - return doesDecay; + return this.doesDecay; + } + + public static ItemStack handleDecay(ItemStack stack, ItemRTGPellet instance) { + if (instance.getDoesDecay() && MachineConfig.doRTGsDecay) { + if (instance.getLifespan(stack) <= 0) + return instance.getDecayItem(); + else + instance.decay(stack); + } + + return stack; + } + + public void decay(ItemStack stack) { + if (stack != null && stack.getItem() instanceof ItemRTGPellet) { + if (!((ItemRTGPellet) stack.getItem()).getDoesDecay()) + return; + if (stack.hasTagCompound()) + stack.stackTagCompound.setLong("PELLET_DEPLETION", getLifespan(stack) - 1); + else { + stack.stackTagCompound = new NBTTagCompound(); + stack.stackTagCompound.setLong("PELLET_DEPLETION", getMaxLifespan()); + } + } + } + + public long getLifespan(ItemStack stack) + { + if (stack != null && stack.getItem() instanceof ItemRTGPellet) + { + if (stack.hasTagCompound()) + return stack.stackTagCompound.getLong("PELLET_DEPLETION"); + else + { + stack.stackTagCompound = new NBTTagCompound(); + stack.stackTagCompound.setLong("PELLET_DEPLETION", getMaxLifespan()); + return getMaxLifespan(); + } + } + return 0; + } + + public static short getScaledPower(ItemRTGPellet fuel, ItemStack stack) { + return (short) Math.ceil(fuel.getHeat() * (fuel.getLifespan(stack) * fuel.getMaxLifespan())); } @Override @@ -93,21 +136,35 @@ public class ItemRTGPellet extends Item implements IRadioisotopeFuel { return stack; } - @Override - public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean bool) { - super.addInformation(stack, player, list, bool); - list.add(I18nUtil.resolveKey(this.getUnlocalizedName() + ".desc")); - IRadioisotopeFuel.addTooltip(list, stack, bool); - } - @Override public boolean showDurabilityBar(ItemStack stack) { return getDoesDecay() && getLifespan(stack) != getMaxLifespan(); } - + @Override public double getDurabilityForDisplay(ItemStack stack) { - return IRadioisotopeFuel.getDuraBar(stack); + final ItemRTGPellet instance = (ItemRTGPellet) stack.getItem(); + return 1D - (double)instance.getLifespan(stack) / (double)instance.getMaxLifespan(); + } + + @Override + public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean bool) { + super.addInformation(stack, player, list, bool); + list.add(I18nUtil.resolveKey(this.getUnlocalizedName().concat(".desc"))); + final ItemRTGPellet instance = (ItemRTGPellet) stack.getItem(); + list.add(I18nUtil.resolveKey("desc.item.rtgHeat", instance.getDoesDecay() && MachineConfig.scaleRTGPower ? getScaledPower(instance, stack) : instance.getHeat())); + if (instance.getDoesDecay()) { + list.add(I18nUtil.resolveKey("desc.item.rtgDecay", I18nUtil.resolveKey(instance.getDecayItem().getUnlocalizedName() + ".name"), instance.getDecayItem().stackSize)); + list.add(BobMathUtil.toPercentage(instance.getLifespan(stack), instance.getMaxLifespan())); + if (bool) { + list.add("EXTENDED INFO:"); + list.add(String.format("%s / %s ticks", instance.getLifespan(stack), instance.getMaxLifespan())); + final String[] timeLeft = BobMathUtil.ticksToDate(instance.getLifespan(stack)); + final String[] maxLife = BobMathUtil.ticksToDate(instance.getMaxLifespan()); + list.add(String.format("Time remaining: %s y, %s d, %s h", (Object[]) timeLeft)); + list.add(String.format("Maximum life: %s y, %s d, %s h", (Object[]) maxLife)); + } + } } public String getData() { diff --git a/src/main/java/com/hbm/items/machine/ItemRTGPelletDepleted.java b/src/main/java/com/hbm/items/machine/ItemRTGPelletDepleted.java new file mode 100644 index 000000000..f6d932e70 --- /dev/null +++ b/src/main/java/com/hbm/items/machine/ItemRTGPelletDepleted.java @@ -0,0 +1,18 @@ +package com.hbm.items.machine; + +import com.hbm.items.ItemEnumMulti; + +public class ItemRTGPelletDepleted extends ItemEnumMulti { + + public ItemRTGPelletDepleted() { + super(DepletedRTGMaterial.class, true, true); + } + + public enum DepletedRTGMaterial { + BISMUTH, + MERCURY, + NEPTUNIUM, + LEAD, + ZIRCONIUM; + } +} diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityDiFurnaceRTG.java b/src/main/java/com/hbm/tileentity/machine/TileEntityDiFurnaceRTG.java index 24972417a..9129571bc 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityDiFurnaceRTG.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityDiFurnaceRTG.java @@ -3,14 +3,13 @@ package com.hbm.tileentity.machine; import com.hbm.blocks.machine.MachineDiFurnaceRTG; import com.hbm.inventory.recipes.MachineRecipes; import com.hbm.items.machine.ItemRTGPellet; -import com.hbm.tileentity.IRTGUser; -import com.hbm.tileentity.IRadioisotopeFuel; +import com.hbm.util.RTGUtil; import com.hbm.tileentity.TileEntityMachineBase; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; -public class TileEntityDiFurnaceRTG extends TileEntityMachineBase implements IRTGUser +public class TileEntityDiFurnaceRTG extends TileEntityMachineBase { public short progress; private short processSpeed = 0; @@ -125,7 +124,7 @@ public class TileEntityDiFurnaceRTG extends TileEntityMachineBase implements IRT } public boolean hasPower() { - processSpeed = (short) updateRTGs(slots, rtgIn); + processSpeed = (short) RTGUtil.updateRTGs(slots, rtgIn); return processSpeed >= 15; } @@ -170,14 +169,4 @@ public class TileEntityDiFurnaceRTG extends TileEntityMachineBase implements IRT return "container.diFurnaceRTG"; } - @Override - public int getHeat() { - return processSpeed; - } - - @Override - public Class getDesiredClass() { - return ItemRTGPellet.class; - } - } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineIGenerator.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineIGenerator.java index 041ebd41d..03905f44d 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineIGenerator.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineIGenerator.java @@ -12,6 +12,7 @@ import com.hbm.items.ModItems; import com.hbm.items.machine.ItemRTGPellet; import com.hbm.lib.Library; import com.hbm.tileentity.TileEntityMachineBase; +import com.hbm.util.RTGUtil; import api.hbm.energy.IEnergyGenerator; import cpw.mods.fml.relauncher.Side; @@ -31,6 +32,7 @@ public class TileEntityMachineIGenerator extends TileEntityMachineBase implement public int spin; public int[] burn = new int[4]; public boolean hasRTG = false; + public int[] RTGSlots = new int[]{ 11, 12, 13, 14, 15, 16, 17, 18, 19, 20 }; @SideOnly(Side.CLIENT) public float rotation; @@ -123,19 +125,8 @@ public class TileEntityMachineIGenerator extends TileEntityMachineBase implement } // RTG /// - this.hasRTG = false; - for(int i = 11; i < 21; i++) { - if(slots[i] != null && slots[i].getItem() instanceof ItemRTGPellet) { - ItemRTGPellet pellet = (ItemRTGPellet) slots[i].getItem(); - this.spin += pellet.getHeat() * 10; - this.hasRTG = true; - - if(slots[i].getItem() == ModItems.pellet_rtg_gold || slots[i].getItem() == ModItems.pellet_rtg_lead) { - if(worldObj.rand.nextInt(60*60*20) == 0) - slots[i] = null; - } - } - } + this.hasRTG = RTGUtil.hasHeat(slots, RTGSlots); + this.spin += RTGUtil.updateRTGs(slots, RTGSlots) * 10; if(this.spin > 0) { diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineRTG.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineRTG.java index 11879d478..db46d6d85 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineRTG.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineRTG.java @@ -7,6 +7,7 @@ import com.hbm.items.machine.ItemRTGPellet; import com.hbm.lib.Library; import com.hbm.packet.AuxElectricityPacket; import com.hbm.packet.PacketDispatcher; +import com.hbm.util.RTGUtil; import api.hbm.energy.IEnergyGenerator; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; @@ -27,9 +28,7 @@ public class TileEntityMachineRTG extends TileEntity implements ISidedInventory, public long power; public final long powerMax = 100000; - 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 }; + public static final int[] slot_io = new int[] { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14 }; private String customName; @@ -105,10 +104,7 @@ public class TileEntityMachineRTG extends TileEntity implements ISidedInventory, @Override public boolean isItemValidForSlot(int i, ItemStack itemStack) { - - if(itemStack.getItem() != null && (itemStack.getItem() == ModItems.pellet_rtg || itemStack.getItem() == ModItems.pellet_rtg_weak)) - return true; - return false; + return itemStack.getItem() instanceof ItemRTGPellet; } @Override @@ -174,9 +170,8 @@ public class TileEntityMachineRTG extends TileEntity implements ISidedInventory, } @Override - public int[] getAccessibleSlotsFromSide(int p_94128_1_) - { - return p_94128_1_ == 0 ? slots_bottom : (p_94128_1_ == 1 ? slots_top : slots_side); + public int[] getAccessibleSlotsFromSide(int p_94128_1_){ + return slot_io; } @Override @@ -202,7 +197,7 @@ public class TileEntityMachineRTG extends TileEntity implements ISidedInventory, } public boolean hasHeat() { - return heat > 0; + return RTGUtil.hasHeat(slots, slot_io); } @Override @@ -213,20 +208,7 @@ public class TileEntityMachineRTG extends TileEntity implements ISidedInventory, for(ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) this.sendPower(worldObj, xCoord + dir.offsetX, yCoord + dir.offsetY, zCoord + dir.offsetZ, dir.getOpposite()); - heat = 0; - - for(int i = 0; i < slots.length; i++) { - - if(slots[i] != null && slots[i].getItem() instanceof ItemRTGPellet) { - - heat += ((ItemRTGPellet)slots[i].getItem()).getHeat(); - - if(slots[i].getItem() == ModItems.pellet_rtg_gold || slots[i].getItem() == ModItems.pellet_rtg_lead) { - if(worldObj.rand.nextInt(60*60*20) == 0) - slots[i] = null; - } - } - } + heat = RTGUtil.updateRTGs(slots, slot_io); if(heat > heatMax) heat = heatMax; diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityRtgFurnace.java b/src/main/java/com/hbm/tileentity/machine/TileEntityRtgFurnace.java index 08162fc08..a14b1e6a8 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityRtgFurnace.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityRtgFurnace.java @@ -11,13 +11,15 @@ import net.minecraft.tileentity.TileEntity; import com.hbm.blocks.machine.MachineRtgFurnace; import com.hbm.items.ModItems; +import com.hbm.items.machine.ItemRTGPellet; +import com.hbm.util.RTGUtil; public class TileEntityRtgFurnace extends TileEntity implements ISidedInventory { private ItemStack slots[]; public int dualCookTime; - public static final int processingSpeed = 100; + public static final int processingSpeed = 1000; private static final int[] slots_top = new int[] {0}; private static final int[] slots_bottom = new int[] {4}; @@ -104,7 +106,7 @@ public class TileEntityRtgFurnace extends TileEntity implements ISidedInventory for(int i = 1; i <= 3; i++) { - if(!(slots[i] != null && (slots[i].getItem() == ModItems.pellet_rtg || slots[i].getItem() == ModItems.pellet_rtg_polonium))) + if(!(slots[i] != null && (slots[i].getItem() instanceof ItemRTGPellet))) return false; } @@ -262,7 +264,7 @@ public class TileEntityRtgFurnace extends TileEntity implements ISidedInventory { if(hasPower() && canProcess()) { - dualCookTime++; + dualCookTime += RTGUtil.updateRTGs(slots, slots_side); if(this.dualCookTime == TileEntityRtgFurnace.processingSpeed) { diff --git a/src/main/java/com/hbm/util/RTGUtil.java b/src/main/java/com/hbm/util/RTGUtil.java new file mode 100644 index 000000000..377723842 --- /dev/null +++ b/src/main/java/com/hbm/util/RTGUtil.java @@ -0,0 +1,76 @@ +package com.hbm.util; + +import com.hbm.config.MachineConfig; +import com.hbm.interfaces.ICustomWarhead.SaltedFuel.HalfLifeType; +import com.hbm.items.machine.ItemRTGPellet; + +import net.minecraft.item.ItemStack; + +public class RTGUtil { + + public static short getPower(ItemRTGPellet fuel, ItemStack stack) + { + return MachineConfig.scaleRTGPower ? ItemRTGPellet.getScaledPower(fuel, stack) : fuel.getHeat(); + } + + public static boolean hasHeat(ItemStack[] inventory, int[] rtgSlots) { + int heat = 0; + for(int slot : rtgSlots) { + + if(inventory[slot] == null) + continue; + + if(!(inventory[slot].getItem() instanceof ItemRTGPellet)) + continue; + + final ItemRTGPellet pellet = (ItemRTGPellet) inventory[slot].getItem(); + heat += getPower(pellet, inventory[slot]); + } + + return heat > 0; + } + + public static int updateRTGs(ItemStack[] inventory, int[] rtgSlots) { + int newHeat = 0; + for(int slot : rtgSlots) { + + if(inventory[slot] == null) + continue; + + if(!(inventory[slot].getItem() instanceof ItemRTGPellet)) + continue; + + final ItemRTGPellet pellet = (ItemRTGPellet) inventory[slot].getItem(); + newHeat += getPower(pellet, inventory[slot]); + inventory[slot] = ItemRTGPellet.handleDecay(inventory[slot], pellet); + } + + return newHeat; + + } + + /** + * Gets the lifespan of an RTG based on half-life + * @author UFFR + * @param halfLife The half-life + * @param type Half-life units: {@link#HalfLifeType} + * @param realYears Whether or not to use 365 days per year instead of 100 to calculate time + * @return The half-life calculated into Minecraft ticks + */ + public static long getLifespan(float halfLife, HalfLifeType type, boolean realYears) { + float life = 0; + switch (type) + { + case LONG: + life = (48000 * (realYears ? 365 : 100) * 100) * halfLife; + break; + case MEDIUM: + life = (48000 * (realYears ? 365 : 100)) * halfLife; + break; + case SHORT: + life = 48000 * halfLife; + break; + } + return (long) life; + } +} diff --git a/src/main/resources/assets/hbm/textures/items/pellet_rtg_depleted.lead.png b/src/main/resources/assets/hbm/textures/items/pellet_rtg_depleted.lead.png new file mode 100644 index 0000000000000000000000000000000000000000..a2b4f94dae265f6dffcbccc1ac461f487d789e2e GIT binary patch literal 5946 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 Zty2Iq(!KeG^<{h?fKU+PSL`z literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/items/pellet_rtg_depleted.mercury.png b/src/main/resources/assets/hbm/textures/items/pellet_rtg_depleted.mercury.png new file mode 100644 index 0000000000000000000000000000000000000000..b036133c8a2d24354e98702ecaf275904a55dabe GIT binary patch literal 5983 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 Gr~VrpMa*LW literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/items/pellet_rtg_depleted.neptunium.png b/src/main/resources/assets/hbm/textures/items/pellet_rtg_depleted.neptunium.png new file mode 100644 index 0000000000000000000000000000000000000000..2ef8832a66f540aecbe9dd36bc74c36d49861267 GIT binary patch literal 6042 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 IX-?)p0c-Zi0ssI2 literal 0 HcmV?d00001 From c7b7106f9776d16e7bdd387a0737aaebc71a36f6 Mon Sep 17 00:00:00 2001 From: Vaern Date: Fri, 14 Jan 2022 19:11:10 -0800 Subject: [PATCH 4/4] RTG Decay you don't play game so they are easy do you --- src/main/java/com/hbm/blocks/ModBlocks.java | 34 ++++++++--------- .../hbm/blocks/generic/BlockCoalBurning.java | 2 +- .../hbm/blocks/generic/BlockNetherCoal.java | 2 +- .../com/hbm/blocks/generic/BlockOutgas.java | 36 ++++++++++++++---- .../java/com/hbm/config/MachineConfig.java | 5 +++ .../java/com/hbm/config/VersatileConfig.java | 4 ++ .../java/com/hbm/hazard/HazardRegistry.java | 33 +++++++++++----- .../modifier/HazardModifierRTGRadiation.java | 30 +++++++++++++++ .../com/hbm/inventory/OreDictManager.java | 2 +- .../hbm/inventory/recipes/SILEXRecipes.java | 8 ++-- .../inventory/recipes/anvil/AnvilRecipes.java | 16 +++++++- src/main/java/com/hbm/items/ModItems.java | 10 ++--- .../com/hbm/items/machine/ItemRTGPellet.java | 2 +- .../machine/TileEntityDiFurnace.java | 9 +++-- .../machine/TileEntityReactorControl.java | 6 +-- .../machine/TileEntityRtgFurnace.java | 12 ++---- src/main/java/com/hbm/util/RTGUtil.java | 10 ++--- src/main/resources/assets/hbm/lang/en_US.lang | 6 +++ .../items/pellet_rtg_depleted.bismuth.png | Bin 0 -> 473 bytes 19 files changed, 154 insertions(+), 73 deletions(-) create mode 100644 src/main/java/com/hbm/hazard/modifier/HazardModifierRTGRadiation.java create mode 100644 src/main/resources/assets/hbm/textures/items/pellet_rtg_depleted.bismuth.png diff --git a/src/main/java/com/hbm/blocks/ModBlocks.java b/src/main/java/com/hbm/blocks/ModBlocks.java index 6fa1b500c..b8ed67088 100644 --- a/src/main/java/com/hbm/blocks/ModBlocks.java +++ b/src/main/java/com/hbm/blocks/ModBlocks.java @@ -1230,8 +1230,8 @@ public class ModBlocks { test_ct = new TestCT(Material.iron).setBlockName("test_ct").setCreativeTab(null).setHardness(2.5F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":test_ct"); test_rail = new TestRail(Material.iron).setBlockName("test_rail").setCreativeTab(null).setHardness(2.5F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":test_rail"); - ore_uranium = new BlockOutgas(Material.rock, gas_radon, true, 5, true).setBlockName("ore_uranium").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_uranium"); - ore_uranium_scorched = new BlockOutgas(Material.rock, gas_radon, true, 5, true).setBlockName("ore_uranium_scorched").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_uranium_scorched"); + ore_uranium = new BlockOutgas(Material.rock, true, 5, true).setBlockName("ore_uranium").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_uranium"); + ore_uranium_scorched = new BlockOutgas(Material.rock, true, 5, true).setBlockName("ore_uranium_scorched").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_uranium_scorched"); ore_titanium = new BlockGeneric(Material.rock).setBlockName("ore_titanium").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_titanium"); ore_sulfur = new BlockOre(Material.rock).setBlockName("ore_sulfur").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_sulfur"); ore_thorium = new BlockGeneric(Material.rock).setBlockName("ore_thorium").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_thorium"); @@ -1245,7 +1245,7 @@ public class ModBlocks { ore_schrabidium = new BlockOre(Material.rock, 0.1F, 0.5F).setBlockName("ore_schrabidium").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(600.0F).setBlockTextureName(RefStrings.MODID + ":ore_schrabidium"); ore_beryllium = new BlockGeneric(Material.rock).setBlockName("ore_beryllium").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(15.0F).setBlockTextureName(RefStrings.MODID + ":ore_beryllium"); ore_lignite = new BlockOre(Material.rock).setBlockName("ore_lignite").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(15.0F).setBlockTextureName(RefStrings.MODID + ":ore_lignite"); - ore_asbestos = new BlockOutgas(Material.rock, gas_asbestos, true, 5, true).setBlockName("ore_asbestos").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(15.0F).setBlockTextureName(RefStrings.MODID + ":ore_asbestos"); + ore_asbestos = new BlockOutgas(Material.rock, true, 5, true).setBlockName("ore_asbestos").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(15.0F).setBlockTextureName(RefStrings.MODID + ":ore_asbestos"); ore_coal_oil = new BlockCoalOil(Material.rock).setBlockName("ore_coal_oil").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(15.0F).setBlockTextureName(RefStrings.MODID + ":ore_coal_oil"); ore_coal_oil_burning = new BlockCoalBurning(Material.rock).setBlockName("ore_coal_oil_burning").setCreativeTab(MainRegistry.blockTab).setLightLevel(10F/15F).setHardness(5.0F).setResistance(15.0F).setBlockTextureName(RefStrings.MODID + ":ore_coal_oil_burning"); @@ -1256,8 +1256,8 @@ public class ModBlocks { ore_nether_coal = new BlockNetherCoal(Material.rock, false, 5, true).setBlockName("ore_nether_coal").setCreativeTab(MainRegistry.blockTab).setLightLevel(10F/15F).setHardness(0.4F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_nether_coal"); ore_nether_smoldering = new BlockSmolder(Material.rock).setBlockName("ore_nether_smoldering").setCreativeTab(MainRegistry.blockTab).setLightLevel(1F).setHardness(0.4F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_nether_smoldering"); - ore_nether_uranium = new BlockOutgas(Material.rock, gas_radon, true, 5, true).setBlockName("ore_nether_uranium").setCreativeTab(MainRegistry.blockTab).setHardness(0.4F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_nether_uranium"); - ore_nether_uranium_scorched = new BlockOutgas(Material.rock, gas_radon, true, 5, true).setBlockName("ore_nether_uranium_scorched").setCreativeTab(MainRegistry.blockTab).setHardness(0.4F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_nether_uranium_scorched"); + ore_nether_uranium = new BlockOutgas(Material.rock, true, 5, true).setBlockName("ore_nether_uranium").setCreativeTab(MainRegistry.blockTab).setHardness(0.4F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_nether_uranium"); + ore_nether_uranium_scorched = new BlockOutgas(Material.rock, true, 5, true).setBlockName("ore_nether_uranium_scorched").setCreativeTab(MainRegistry.blockTab).setHardness(0.4F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_nether_uranium_scorched"); ore_nether_plutonium = new BlockGeneric(Material.rock).setBlockName("ore_nether_plutonium").setCreativeTab(MainRegistry.blockTab).setHardness(0.4F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_nether_plutonium"); ore_nether_tungsten = new BlockGeneric(Material.rock).setBlockName("ore_nether_tungsten").setCreativeTab(MainRegistry.blockTab).setHardness(0.4F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_nether_tungsten"); ore_nether_sulfur = new BlockOre(Material.rock).setBlockName("ore_nether_sulfur").setCreativeTab(MainRegistry.blockTab).setHardness(0.4F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_nether_sulfur"); @@ -1279,10 +1279,10 @@ public class ModBlocks { stone_gneiss = new BlockGeneric(Material.rock).setBlockName("stone_gneiss").setCreativeTab(MainRegistry.blockTab).setHardness(1.5F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":stone_gneiss_var"); ore_gneiss_iron = new BlockOre(Material.rock).setBlockName("ore_gneiss_iron").setCreativeTab(MainRegistry.blockTab).setHardness(1.5F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_gneiss_iron"); ore_gneiss_gold = new BlockOre(Material.rock).setBlockName("ore_gneiss_gold").setCreativeTab(MainRegistry.blockTab).setHardness(1.5F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_gneiss_gold"); - ore_gneiss_uranium = new BlockOutgas(Material.rock, gas_radon, true, 5, true).setBlockName("ore_gneiss_uranium").setCreativeTab(MainRegistry.blockTab).setHardness(1.5F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_gneiss_uranium"); - ore_gneiss_uranium_scorched = new BlockOutgas(Material.rock, gas_radon, true, 5, true).setBlockName("ore_gneiss_uranium_scorched").setCreativeTab(MainRegistry.blockTab).setHardness(1.5F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_gneiss_uranium_scorched"); + ore_gneiss_uranium = new BlockOutgas(Material.rock, true, 5, true).setBlockName("ore_gneiss_uranium").setCreativeTab(MainRegistry.blockTab).setHardness(1.5F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_gneiss_uranium"); + ore_gneiss_uranium_scorched = new BlockOutgas(Material.rock, true, 5, true).setBlockName("ore_gneiss_uranium_scorched").setCreativeTab(MainRegistry.blockTab).setHardness(1.5F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_gneiss_uranium_scorched"); ore_gneiss_copper = new BlockOre(Material.rock).setBlockName("ore_gneiss_copper").setCreativeTab(MainRegistry.blockTab).setHardness(1.5F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_gneiss_copper"); - ore_gneiss_asbestos = new BlockOutgas(Material.rock, gas_asbestos, true, 5, true).setBlockName("ore_gneiss_asbestos").setCreativeTab(MainRegistry.blockTab).setHardness(1.5F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_gneiss_asbestos"); + ore_gneiss_asbestos = new BlockOutgas(Material.rock, true, 5, true).setBlockName("ore_gneiss_asbestos").setCreativeTab(MainRegistry.blockTab).setHardness(1.5F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_gneiss_asbestos"); ore_gneiss_lithium = new BlockOre(Material.rock).setBlockName("ore_gneiss_lithium").setCreativeTab(MainRegistry.blockTab).setHardness(1.5F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_gneiss_lithium"); ore_gneiss_schrabidium = new BlockOre(Material.rock).setBlockName("ore_gneiss_schrabidium").setCreativeTab(MainRegistry.blockTab).setHardness(1.5F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_gneiss_schrabidium"); ore_gneiss_rare = new BlockOre(Material.rock).setBlockName("ore_gneiss_rare").setCreativeTab(MainRegistry.blockTab).setHardness(1.5F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_gneiss_rare"); @@ -1313,7 +1313,7 @@ public class ModBlocks { basalt = new BlockGeneric(Material.rock).setBlockName("basalt").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":basalt"); basalt_sulfur = new BlockOre(Material.rock).setBlockName("basalt_sulfur").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":basalt_sulfur"); basalt_fluorite = new BlockOre(Material.rock).setBlockName("basalt_fluorite").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":basalt_fluorite"); - basalt_asbestos = new BlockOutgas(Material.rock, gas_asbestos, true, 5, true).setBlockName("basalt_asbestos").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":basalt_asbestos"); + basalt_asbestos = new BlockOutgas(Material.rock, true, 5, true).setBlockName("basalt_asbestos").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":basalt_asbestos"); basalt_gem = new BlockCluster(Material.rock).setBlockName("basalt_gem").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":basalt_gem"); basalt_smooth = new BlockGeneric(Material.rock).setBlockName("basalt_smooth").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":basalt_smooth"); basalt_brick = new BlockGeneric(Material.rock).setBlockName("basalt_brick").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":basalt_brick"); @@ -1380,9 +1380,9 @@ public class ModBlocks { block_waste = new BlockNuclearWaste().makeBeaconable().setDisplayEffect(ExtDisplayEffect.RADFOG).setBlockName("block_waste").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_waste"); block_waste_painted = new BlockNuclearWaste().makeBeaconable().setDisplayEffect(ExtDisplayEffect.RADFOG).setBlockName("block_waste_painted").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_waste_painted"); block_waste_vitrified = new BlockNuclearWaste().makeBeaconable().setDisplayEffect(ExtDisplayEffect.RADFOG).setBlockName("block_waste_vitrified").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_waste_vitrified"); - ancient_scrap = new BlockOutgas(Material.iron, gas_radon_tomb, true, 1, true, true).setBlockName("ancient_scrap").setCreativeTab(MainRegistry.blockTab).setHardness(100.0F).setResistance(6000.0F).setBlockTextureName(RefStrings.MODID + ":ancient_scrap"); + ancient_scrap = new BlockOutgas(Material.iron, true, 1, true, true).setBlockName("ancient_scrap").setCreativeTab(MainRegistry.blockTab).setHardness(100.0F).setResistance(6000.0F).setBlockTextureName(RefStrings.MODID + ":ancient_scrap"); block_corium = new BlockHazard(Material.iron).setBlockName("block_corium").setCreativeTab(MainRegistry.blockTab).setHardness(100.0F).setResistance(6000.0F).setBlockTextureName(RefStrings.MODID + ":block_corium"); - block_corium_cobble = new BlockOutgas(Material.iron, gas_radon, true, 1, true, true).setBlockName("block_corium_cobble").setCreativeTab(MainRegistry.blockTab).setHardness(100.0F).setResistance(6000.0F).setBlockTextureName(RefStrings.MODID + ":block_corium_cobble"); + block_corium_cobble = new BlockOutgas(Material.iron, true, 1, true, true).setBlockName("block_corium_cobble").setCreativeTab(MainRegistry.blockTab).setHardness(100.0F).setResistance(6000.0F).setBlockTextureName(RefStrings.MODID + ":block_corium_cobble"); block_scrap = new BlockFalling(Material.sand).setBlockName("block_scrap").setCreativeTab(MainRegistry.blockTab).setHardness(2.5F).setResistance(5.0F).setStepSound(Block.soundTypeGravel).setBlockTextureName(RefStrings.MODID + ":block_scrap"); block_electrical_scrap = new BlockFalling(Material.iron).setBlockName("block_electrical_scrap").setCreativeTab(MainRegistry.blockTab).setHardness(2.5F).setResistance(5.0F).setStepSound(Block.soundTypeMetal).setBlockTextureName(RefStrings.MODID + ":electrical_scrap_alt2"); block_beryllium = new BlockBeaconable(Material.iron).setBlockName("block_beryllium").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_beryllium"); @@ -1404,7 +1404,7 @@ public class ModBlocks { block_yellowcake = new BlockHazardFalling().makeBeaconable().setBlockName("block_yellowcake").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeSand).setHardness(5.0F).setResistance(600.0F).setBlockTextureName(RefStrings.MODID + ":block_yellowcake"); block_insulator = new BlockRotatablePillar(Material.cloth, RefStrings.MODID + ":block_insulator_top").setBlockName("block_insulator").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeCloth).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_insulator_side"); block_fiberglass = new BlockRotatablePillar(Material.cloth, RefStrings.MODID + ":block_fiberglass_top").setBlockName("block_fiberglass").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeCloth).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_fiberglass_side"); - block_asbestos = new BlockOutgas(Material.cloth, gas_asbestos, true, 5, true).setBlockName("block_asbestos").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeCloth).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_asbestos"); + block_asbestos = new BlockOutgas(Material.cloth, true, 5, true).setBlockName("block_asbestos").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeCloth).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_asbestos"); block_cobalt = new BlockBeaconable(Material.iron).setBlockName("block_cobalt").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_cobalt"); block_lithium = new BlockLithium(Material.iron).setBlockName("block_lithium").setStepSound(Block.soundTypeMetal).setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_lithium"); block_zirconium = new BlockBeaconable(Material.iron).setBlockName("block_zirconium").setStepSound(Block.soundTypeMetal).setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_zirconium"); @@ -1449,7 +1449,7 @@ public class ModBlocks { deco_steel = new BlockDecoCT(Material.iron).setBlockName("deco_steel").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":deco_steel"); deco_lead = new BlockDecoCT(Material.iron).setBlockName("deco_lead").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":deco_lead"); deco_beryllium = new BlockDecoCT(Material.iron).setBlockName("deco_beryllium").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":deco_beryllium"); - deco_asbestos = new BlockOutgas(Material.cloth, gas_asbestos, true, 5, true).setBlockName("deco_asbestos").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":deco_asbestos"); + deco_asbestos = new BlockOutgas(Material.cloth, true, 5, true).setBlockName("deco_asbestos").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":deco_asbestos"); deco_rbmk = new BlockGeneric(Material.iron).setBlockName("deco_rbmk").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":rbmk/rbmk_side"); deco_rbmk_smooth = new BlockGeneric(Material.iron).setBlockName("deco_rbmk_smooth").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":rbmk/rbmk_top"); @@ -1494,7 +1494,7 @@ public class ModBlocks { brick_compound = new BlockGeneric(Material.rock).setBlockName("brick_compound").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(10000.0F).setBlockTextureName(RefStrings.MODID + ":brick_compound"); cmb_brick = new BlockGeneric(Material.rock).setBlockName("cmb_brick").setCreativeTab(MainRegistry.blockTab).setHardness(25.0F).setResistance(6000.0F).setBlockTextureName(RefStrings.MODID + ":cmb_brick"); cmb_brick_reinforced = new BlockGeneric(Material.rock).setBlockName("cmb_brick_reinforced").setCreativeTab(MainRegistry.blockTab).setHardness(25.0F).setResistance(60000.0F).setBlockTextureName(RefStrings.MODID + ":cmb_brick_reinforced"); - brick_asbestos = new BlockOutgas(Material.rock, gas_asbestos, true, 5, true).setBlockName("brick_asbestos").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(1000.0F).setBlockTextureName(RefStrings.MODID + ":brick_asbestos"); + brick_asbestos = new BlockOutgas(Material.rock, true, 5, true).setBlockName("brick_asbestos").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(1000.0F).setBlockTextureName(RefStrings.MODID + ":brick_asbestos"); ducrete_smooth = new BlockGeneric(Material.rock).setBlockName("ducrete_smooth").setCreativeTab(MainRegistry.blockTab).setHardness(20.0F).setResistance(8000.0F).setBlockTextureName(RefStrings.MODID + ":ducrete"); @@ -1502,9 +1502,9 @@ public class ModBlocks { brick_ducrete = new BlockGeneric(Material.rock).setBlockName("brick_ducrete").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(12000.0F).setBlockTextureName(RefStrings.MODID + ":brick_ducrete"); reinforced_ducrete = new BlockGeneric(Material.rock).setBlockName("reinforced_ducrete").setCreativeTab(MainRegistry.blockTab).setHardness(20.0F).setResistance(24000.0F).setBlockTextureName(RefStrings.MODID + ":reinforced_ducrete"); - tile_lab = new BlockOutgas(Material.rock, gas_asbestos, false, 5, true).setBlockName("tile_lab").setStepSound(Block.soundTypeGlass).setCreativeTab(MainRegistry.blockTab).setHardness(1.0F).setResistance(20.0F).setBlockTextureName(RefStrings.MODID + ":tile_lab"); - tile_lab_cracked = new BlockOutgas(Material.rock, gas_asbestos, false, 5, true).setBlockName("tile_lab_cracked").setStepSound(Block.soundTypeGlass).setCreativeTab(MainRegistry.blockTab).setHardness(1.0F).setResistance(20.0F).setBlockTextureName(RefStrings.MODID + ":tile_lab_cracked"); - tile_lab_broken = new BlockOutgas(Material.rock, gas_asbestos, true, 5, true).setBlockName("tile_lab_broken").setStepSound(Block.soundTypeGlass).setCreativeTab(MainRegistry.blockTab).setHardness(1.0F).setResistance(20.0F).setBlockTextureName(RefStrings.MODID + ":tile_lab_broken"); + tile_lab = new BlockOutgas(Material.rock, false, 5, true).setBlockName("tile_lab").setStepSound(Block.soundTypeGlass).setCreativeTab(MainRegistry.blockTab).setHardness(1.0F).setResistance(20.0F).setBlockTextureName(RefStrings.MODID + ":tile_lab"); + tile_lab_cracked = new BlockOutgas(Material.rock, false, 5, true).setBlockName("tile_lab_cracked").setStepSound(Block.soundTypeGlass).setCreativeTab(MainRegistry.blockTab).setHardness(1.0F).setResistance(20.0F).setBlockTextureName(RefStrings.MODID + ":tile_lab_cracked"); + tile_lab_broken = new BlockOutgas(Material.rock, true, 5, true).setBlockName("tile_lab_broken").setStepSound(Block.soundTypeGlass).setCreativeTab(MainRegistry.blockTab).setHardness(1.0F).setResistance(20.0F).setBlockTextureName(RefStrings.MODID + ":tile_lab_broken"); siege_shield = new SiegeShield(Material.iron).setBlockName("siege_shield").setCreativeTab(MainRegistry.blockTab).setBlockUnbreakable().setResistance(900.0F); siege_internal = new SiegeInternal(Material.iron).setBlockName("siege_internal").setCreativeTab(MainRegistry.blockTab).setBlockUnbreakable().setResistance(60.0F); diff --git a/src/main/java/com/hbm/blocks/generic/BlockCoalBurning.java b/src/main/java/com/hbm/blocks/generic/BlockCoalBurning.java index 4296c00f4..7a8167446 100644 --- a/src/main/java/com/hbm/blocks/generic/BlockCoalBurning.java +++ b/src/main/java/com/hbm/blocks/generic/BlockCoalBurning.java @@ -17,7 +17,7 @@ import net.minecraftforge.common.util.ForgeDirection; public class BlockCoalBurning extends BlockOutgas { public BlockCoalBurning(Material mat) { - super(mat, ModBlocks.gas_monoxide, false, 1, false); + super(mat, false, 1, false); this.setTickRandomly(true); } diff --git a/src/main/java/com/hbm/blocks/generic/BlockNetherCoal.java b/src/main/java/com/hbm/blocks/generic/BlockNetherCoal.java index fce2759df..a92ad77f9 100644 --- a/src/main/java/com/hbm/blocks/generic/BlockNetherCoal.java +++ b/src/main/java/com/hbm/blocks/generic/BlockNetherCoal.java @@ -16,7 +16,7 @@ import net.minecraftforge.common.util.ForgeDirection; public class BlockNetherCoal extends BlockOutgas { public BlockNetherCoal(Material mat, boolean randomTick, int rate, boolean onBreak) { - super(mat, ModBlocks.gas_monoxide, randomTick, rate, onBreak); + super(mat, randomTick, rate, onBreak); } @Override diff --git a/src/main/java/com/hbm/blocks/generic/BlockOutgas.java b/src/main/java/com/hbm/blocks/generic/BlockOutgas.java index 51e2a1890..61b42f7b3 100644 --- a/src/main/java/com/hbm/blocks/generic/BlockOutgas.java +++ b/src/main/java/com/hbm/blocks/generic/BlockOutgas.java @@ -14,16 +14,14 @@ import net.minecraftforge.common.util.ForgeDirection; public class BlockOutgas extends BlockOre { - Block gas; boolean randomTick; int rate; boolean onBreak; boolean onNeighbour; - public BlockOutgas(Material mat, Block gas, boolean randomTick, int rate, boolean onBreak) { + public BlockOutgas(Material mat, boolean randomTick, int rate, boolean onBreak) { super(mat); - this.gas = gas; this.setTickRandomly(randomTick); this.randomTick = randomTick; this.rate = rate; @@ -31,8 +29,8 @@ public class BlockOutgas extends BlockOre { this.onNeighbour = false; } - public BlockOutgas(Material mat, Block gas, boolean randomTick, int rate, boolean onBreak, boolean onNeighbour) { - this(mat, gas, randomTick, rate, onBreak); + public BlockOutgas(Material mat, boolean randomTick, int rate, boolean onBreak, boolean onNeighbour) { + this(mat, randomTick, rate, onBreak); this.onNeighbour = onNeighbour; } @@ -41,7 +39,31 @@ public class BlockOutgas extends BlockOre { } protected Block getGas() { - return this.gas; + if(this == ModBlocks.ore_uranium || this == ModBlocks.ore_uranium_scorched || + this == ModBlocks.ore_gneiss_uranium || this == ModBlocks.ore_gneiss_uranium_scorched || + this == ModBlocks.ore_nether_uranium || this == ModBlocks.ore_nether_uranium_scorched) { + return ModBlocks.gas_radon; + } + + if(this == ModBlocks.block_corium_cobble) + return ModBlocks.gas_radon; + + if(this == ModBlocks.ancient_scrap) + return ModBlocks.gas_radon_tomb; + + if(this == ModBlocks.ore_coal_oil_burning || this == ModBlocks.ore_nether_coal) { + return ModBlocks.gas_monoxide; + } + + if(this == ModBlocks.ore_asbestos || this == ModBlocks.ore_gneiss_asbestos || + this == ModBlocks.block_asbestos || this == ModBlocks.deco_asbestos || + this == ModBlocks.brick_asbestos || this == ModBlocks.tile_lab || + this == ModBlocks.tile_lab_cracked || this == ModBlocks.tile_lab_broken || + this == ModBlocks.basalt_asbestos) { + return ModBlocks.gas_asbestos; + } + + return Blocks.air; } @Override @@ -74,7 +96,7 @@ public class BlockOutgas extends BlockOre { public void dropBlockAsItemWithChance(World world, int x, int y, int z, int meta, float chance, int fortune) { if(onBreak) { - world.setBlock(x, y, z, getGas()); + world.setBlock(x, y, z, this.getGas()); } super.dropBlockAsItemWithChance(world, x, y, z, meta, chance, fortune); diff --git a/src/main/java/com/hbm/config/MachineConfig.java b/src/main/java/com/hbm/config/MachineConfig.java index a173c5509..2ce702d73 100644 --- a/src/main/java/com/hbm/config/MachineConfig.java +++ b/src/main/java/com/hbm/config/MachineConfig.java @@ -13,6 +13,11 @@ public class MachineConfig { scaleRTGPower = CommonConfig.createConfigBool(config, CATEGORY_MACHINE, "9.00_scaleRTGPower", "Should RTG/Betavoltaic fuel power scale down as it decays?", false); doRTGsDecay = CommonConfig.createConfigBool(config, CATEGORY_MACHINE, "9.01_doRTGsDecay", "Should RTG/Betavoltaic fuel decay at all?", true); + + if(VersatileConfig.rtgDecay()) { + scaleRTGPower = true; + doRTGsDecay = true; + } } } diff --git a/src/main/java/com/hbm/config/VersatileConfig.java b/src/main/java/com/hbm/config/VersatileConfig.java index c46bc73bd..27c4b03bc 100644 --- a/src/main/java/com/hbm/config/VersatileConfig.java +++ b/src/main/java/com/hbm/config/VersatileConfig.java @@ -39,6 +39,10 @@ public class VersatileConfig { public static boolean hasPotionSickness(EntityLivingBase entity) { return entity.isPotionActive(HbmPotion.potionsickness); } + + public static boolean rtgDecay() { + return GeneralConfig.enable528; + } static int minute = 60 * 20; static int hour = 60 * minute; diff --git a/src/main/java/com/hbm/hazard/HazardRegistry.java b/src/main/java/com/hbm/hazard/HazardRegistry.java index fcf062d4d..b8b71b314 100644 --- a/src/main/java/com/hbm/hazard/HazardRegistry.java +++ b/src/main/java/com/hbm/hazard/HazardRegistry.java @@ -9,6 +9,7 @@ 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.items.machine.ItemRTGPelletDepleted.DepletedRTGMaterial; import com.hbm.util.Compat; import com.hbm.util.Compat.ReikaIsotope; @@ -25,7 +26,7 @@ public class HazardRegistry { //XE135 9h β− aaaaaaaaaaaaaaaa //CS137 30a β− 020.00Rad/s Spicy //AU198 64h β− 500.00Rad/s 2 much spice :( - //PB209 3h β− 5,000.00Rad/s mama mia my face is melting off + //PB209 3h β− 10,000.00Rad/s mama mia my face is melting off //AT209 5h β+ like 2k or sth idk bruv //PO210 138d α 075.00Rad/s Spicy //RA226 1,600a α 007.50Rad/s @@ -65,7 +66,7 @@ public class HazardRegistry { public static final float xe135 = 1250.0F; public static final float cs137 = 20.0F; public static final float au198 = 500.0F; - public static final float pb209 = 5000.0F; + public static final float pb209 = 10000.0F; public static final float at209 = 2000.0F; public static final float po210 = 75.0F; public static final float ra226 = 7.5F; @@ -310,14 +311,15 @@ public class HazardRegistry { HazardSystem.register(billet_ra226be, makeData(RADIATION, rabe * billet)); HazardSystem.register(billet_pu238be, makeData(RADIATION, pube * billet)); - HazardSystem.register(pellet_rtg, new HazardData().addEntry(RADIATION, pu238 * rtg).addEntry(HOT, 4F)); - HazardSystem.register(pellet_rtg_radium, makeData(RADIATION, ra226 * rtg)); - HazardSystem.register(pellet_rtg_weak, makeData(RADIATION, (pu238 + (u238 * 2)) * billet)); - HazardSystem.register(pellet_rtg_strontium, makeData(RADIATION, sr90 * rtg)); - HazardSystem.register(pellet_rtg_polonium, new HazardData().addEntry(RADIATION, po210 * rtg).addEntry(HOT, 3F)); - HazardSystem.register(pellet_rtg_lead, new HazardData().addEntry(RADIATION, pb209 * rtg).addEntry(HOT, 7F)); - HazardSystem.register(pellet_rtg_gold, new HazardData().addEntry(RADIATION, au198 * rtg).addEntry(HOT, 5F)); - HazardSystem.register(pellet_rtg_americium, makeData(RADIATION, am241 * rtg)); + registerRTGPellet(pellet_rtg, pu238 * rtg, 0, 4F); + registerRTGPellet(pellet_rtg_radium, ra226 * rtg, 0); + registerRTGPellet(pellet_rtg_weak, (pu238 + (u238 * 2)) * billet, 0); + registerRTGPellet(pellet_rtg_strontium, sr90 * rtg, 0); + registerRTGPellet(pellet_rtg_polonium, po210 * rtg, 0, 3F); + registerRTGPellet(pellet_rtg_lead, pb209 * rtg, 0, 7F, 5F); + registerRTGPellet(pellet_rtg_gold, au198 * rtg, 0, 5F); + registerRTGPellet(pellet_rtg_americium, am241 * rtg, 0); + HazardSystem.register(new ItemStack(pellet_rtg_depleted, 1, DepletedRTGMaterial.NEPTUNIUM.ordinal()), makeData(RADIATION, np237 * rtg)); registerBreedingRodRadiation(BreedingRodType.TRITIUM, 0.001F); registerBreedingRodRadiation(BreedingRodType.CO60, co60); @@ -464,6 +466,17 @@ public class HazardRegistry { HazardSystem.register(fuel, data); } + private static void registerRTGPellet(Item pellet, float base, float target) { registerRTGPellet(pellet, base, target, 0, 0); } + private static void registerRTGPellet(Item pellet, float base, float target, float hot) { registerRTGPellet(pellet, base, target, hot, 0); } + + private static void registerRTGPellet(Item pellet, float base, float target, float hot, float blinding) { + HazardData data = new HazardData(); + data.addEntry(new HazardEntry(RADIATION, base).addMod(new HazardModifierRTGRadiation(target))); + if(hot > 0) data.addEntry(new HazardEntry(HOT, hot)); + if(blinding > 0) data.addEntry(new HazardEntry(BLINDING, hot)); + HazardSystem.register(pellet, data); + } + private static void registerOtherWaste(Item waste, float base) { HazardSystem.register(new ItemStack(waste, 1, 0), makeData(RADIATION, base * 0.75F)); diff --git a/src/main/java/com/hbm/hazard/modifier/HazardModifierRTGRadiation.java b/src/main/java/com/hbm/hazard/modifier/HazardModifierRTGRadiation.java new file mode 100644 index 000000000..3770848f3 --- /dev/null +++ b/src/main/java/com/hbm/hazard/modifier/HazardModifierRTGRadiation.java @@ -0,0 +1,30 @@ +package com.hbm.hazard.modifier; + +import com.hbm.items.machine.ItemRTGPellet; + +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.item.ItemStack; + +public class HazardModifierRTGRadiation extends HazardModifier { + + float target; + + public HazardModifierRTGRadiation(float target) { + this.target = target; + } + + @Override + public float modify(ItemStack stack, EntityLivingBase holder, float level) { + + if(stack.getItem() instanceof ItemRTGPellet) { + ItemRTGPellet fuel = (ItemRTGPellet) stack.getItem(); + double depletion = fuel.getDurabilityForDisplay(stack); + + level = (float) (level + (this.target - level) * depletion); + + } + + return level; + } + +} diff --git a/src/main/java/com/hbm/inventory/OreDictManager.java b/src/main/java/com/hbm/inventory/OreDictManager.java index 5e5103594..c9ac16a93 100644 --- a/src/main/java/com/hbm/inventory/OreDictManager.java +++ b/src/main/java/com/hbm/inventory/OreDictManager.java @@ -249,7 +249,7 @@ public class OreDictManager { RA226 .rad(HazardRegistry.ra226) .nugget(nugget_ra226) .billet(billet_ra226) .ingot(ingot_ra226) .dust(powder_ra226) .block(block_ra226); CO60 .rad(HazardRegistry.co60) .hot(1) .nugget(nugget_co60) .billet(billet_co60) .ingot(ingot_co60) .dust(powder_co60); AU198 .rad(HazardRegistry.au198) .hot(5) .nugget(nugget_au198) .billet(billet_au198) .ingot(ingot_au198) .dust(powder_au198); - PB209 .rad(HazardRegistry.pb209) .hot(7) .nugget(nugget_pb209) .billet(billet_pb209) .ingot(ingot_pb209); + PB209 .rad(HazardRegistry.pb209) .blinding(3F) .hot(7) .nugget(nugget_pb209) .billet(billet_pb209) .ingot(ingot_pb209); SA326 .rad(HazardRegistry.sa326) .blinding(3F) .nugget(nugget_schrabidium) .billet(billet_schrabidium) .ingot(ingot_schrabidium) .dust(powder_schrabidium) .plate(plate_schrabidium) .block(block_schrabidium) .ore(ore_schrabidium, ore_gneiss_schrabidium, ore_nether_schrabidium); SA327 .rad(HazardRegistry.sa327) .blinding(3F) .nugget(nugget_solinium) .billet(billet_solinium) .ingot(ingot_solinium) .block(block_solinium); SBD .rad(HazardRegistry.sb) .blinding(1F) .ingot(ingot_schrabidate) .dust(powder_schrabidate) .block(block_schrabidate); diff --git a/src/main/java/com/hbm/inventory/recipes/SILEXRecipes.java b/src/main/java/com/hbm/inventory/recipes/SILEXRecipes.java index 2a47758b3..1f3076313 100644 --- a/src/main/java/com/hbm/inventory/recipes/SILEXRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/SILEXRecipes.java @@ -217,14 +217,14 @@ public class SILEXRecipes { // LEAUS // recipes.put(new ComparableStack(ModItems.rbmk_pellet_leaus, 1, i), new SILEXRecipe(600, 100) .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_australium_lesser), 90 - i * 20)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_lead), 5 + 10 * i)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_pb209), 5 + 10 * i)) ); + .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_lead), 6 + 12 * i)) + .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_pb209), 4 + 8 * i)) ); recipes.put(new ComparableStack(ModItems.rbmk_pellet_leaus, 1, i + 5), new SILEXRecipe(600, 100) .addOut(new WeightedRandomObject(new ItemStack(ModItems.powder_xe135_tiny), 1)) .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_australium_lesser), 89 - i * 20)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_lead), 5 + 10 * i)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_pb209), 5 + 10 * i)) ); + .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_lead), 6 + 12 * i)) + .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_pb209), 4 + 8 * i)) ); // HEAUS // recipes.put(new ComparableStack(ModItems.rbmk_pellet_heaus, 1, i), new SILEXRecipe(600, 100) 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 623067584..cc04c4988 100644 --- a/src/main/java/com/hbm/inventory/recipes/anvil/AnvilRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/anvil/AnvilRecipes.java @@ -13,6 +13,7 @@ import com.hbm.inventory.RecipesCommon.ComparableStack; import com.hbm.inventory.RecipesCommon.OreDictStack; import com.hbm.inventory.recipes.AssemblerRecipes; import com.hbm.items.ModItems; +import com.hbm.items.machine.ItemRTGPelletDepleted.DepletedRTGMaterial; import net.minecraft.block.Block; import net.minecraft.init.Blocks; @@ -594,8 +595,19 @@ public class AnvilRecipes { new AnvilOutput(new ItemStack(ModBlocks.rbmk_blank, 1)), new AnvilOutput(new ItemStack(ModBlocks.crate_steel, 2)) }).setTier(4)); - - + + //RTG + constructionRecipes.add(new AnvilConstructionRecipe(new ComparableStack(new ItemStack(ModItems.pellet_rtg_depleted, 1, DepletedRTGMaterial.BISMUTH.ordinal())), new AnvilOutput[] { + new AnvilOutput(new ItemStack(ModItems.billet_bismuth, 3)), new AnvilOutput(new ItemStack(ModItems.plate_iron, 1)) }).setTier(3)); + constructionRecipes.add(new AnvilConstructionRecipe(new ComparableStack(new ItemStack(ModItems.pellet_rtg_depleted, 1, DepletedRTGMaterial.LEAD.ordinal())), new AnvilOutput[] { + new AnvilOutput(new ItemStack(ModItems.nugget_lead, 18)), new AnvilOutput(new ItemStack(ModItems.plate_iron, 1)) }).setTier(3)); + constructionRecipes.add(new AnvilConstructionRecipe(new ComparableStack(new ItemStack(ModItems.pellet_rtg_depleted, 1, DepletedRTGMaterial.MERCURY.ordinal())), new AnvilOutput[] { + new AnvilOutput(new ItemStack(ModItems.nugget_mercury, 2)), new AnvilOutput(new ItemStack(ModItems.plate_iron, 1)) }).setTier(3)); + constructionRecipes.add(new AnvilConstructionRecipe(new ComparableStack(new ItemStack(ModItems.pellet_rtg_depleted, 1, DepletedRTGMaterial.NEPTUNIUM.ordinal())), new AnvilOutput[] { + new AnvilOutput(new ItemStack(ModItems.billet_neptunium, 3)), new AnvilOutput(new ItemStack(ModItems.plate_iron, 1)) }).setTier(3)); + constructionRecipes.add(new AnvilConstructionRecipe(new ComparableStack(new ItemStack(ModItems.pellet_rtg_depleted, 1, DepletedRTGMaterial.ZIRCONIUM.ordinal())), new AnvilOutput[] { + new AnvilOutput(new ItemStack(ModItems.billet_zirconium, 3)), new AnvilOutput(new ItemStack(ModItems.plate_iron, 1)) }).setTier(3)); + if(!GeneralConfig.enable528) { constructionRecipes.add(new AnvilConstructionRecipe( diff --git a/src/main/java/com/hbm/items/ModItems.java b/src/main/java/com/hbm/items/ModItems.java index dbe2f1979..537583db0 100644 --- a/src/main/java/com/hbm/items/ModItems.java +++ b/src/main/java/com/hbm/items/ModItems.java @@ -3066,14 +3066,14 @@ public class ModItems { pellet_rtg = new ItemRTGPellet(10).setDecays(DepletedRTGMaterial.LEAD, (long) (RTGUtil.getLifespan(87.7F, HalfLifeType.MEDIUM, false) * 1.5)).setUnlocalizedName("pellet_rtg").setCreativeTab(MainRegistry.controlTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":pellet_rtg"); pellet_rtg_radium = new ItemRTGPellet(3).setDecays(DepletedRTGMaterial.LEAD, (long) (RTGUtil.getLifespan(16.0F, HalfLifeType.LONG, false) * 1.5)).setUnlocalizedName("pellet_rtg_radium").setCreativeTab(MainRegistry.controlTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":pellet_rtg_radium"); pellet_rtg_weak = new ItemRTGPellet(5).setDecays(DepletedRTGMaterial.LEAD, (long) (RTGUtil.getLifespan(1.0F, HalfLifeType.LONG, false) * 1.5)).setUnlocalizedName("pellet_rtg_weak").setCreativeTab(MainRegistry.controlTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":pellet_rtg_weak"); - pellet_rtg_polonium = new ItemRTGPellet(25).setDecays(DepletedRTGMaterial.LEAD, (long) (RTGUtil.getLifespan(16.0F, HalfLifeType.LONG, false) * 1.5)).setUnlocalizedName("pellet_rtg_polonium").setCreativeTab(MainRegistry.controlTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":pellet_rtg_polonium"); + pellet_rtg_polonium = new ItemRTGPellet(25).setDecays(DepletedRTGMaterial.LEAD, (long) (RTGUtil.getLifespan(138.0F, HalfLifeType.SHORT, false) * 1.5)).setUnlocalizedName("pellet_rtg_polonium").setCreativeTab(MainRegistry.controlTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":pellet_rtg_polonium"); pellet_rtg_actinium = new ItemRTGPellet(20).setUnlocalizedName("pellet_rtg_actinium").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":pellet_rtg_actinium"); - pellet_rtg_strontium = new ItemRTGPellet(15).setDecays(DepletedRTGMaterial.ZIRCONIUM, (long) (RTGUtil.getLifespan(16.0F, HalfLifeType.LONG, false) * 1.5)).setUnlocalizedName("pellet_rtg_strontium").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":pellet_rtg_strontium"); - pellet_rtg_lead = new ItemRTGPellet(250).setDecays(DepletedRTGMaterial.BISMUTH, (long) (RTGUtil.getLifespan(0.13F, HalfLifeType.SHORT, false) * 1.5)).setUnlocalizedName("pellet_rtg_lead").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":pellet_rtg_lead"); + pellet_rtg_strontium = new ItemRTGPellet(15).setDecays(DepletedRTGMaterial.ZIRCONIUM, (long) (RTGUtil.getLifespan(29.0F, HalfLifeType.MEDIUM, false) * 1.5)).setUnlocalizedName("pellet_rtg_strontium").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":pellet_rtg_strontium"); + pellet_rtg_lead = new ItemRTGPellet(300).setDecays(DepletedRTGMaterial.BISMUTH, (long) (RTGUtil.getLifespan(0.3F, HalfLifeType.SHORT, false) * 1.5)).setUnlocalizedName("pellet_rtg_lead").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":pellet_rtg_lead"); pellet_rtg_gold = new ItemRTGPellet(150).setDecays(DepletedRTGMaterial.MERCURY, (long) (RTGUtil.getLifespan(2.7F, HalfLifeType.SHORT, false) * 1.5)).setUnlocalizedName("pellet_rtg_gold").setCreativeTab(MainRegistry.controlTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":pellet_rtg_gold"); - pellet_rtg_americium = new ItemRTGPellet(15).setDecays(DepletedRTGMaterial.NEPTUNIUM, (long) (RTGUtil.getLifespan(470.0F, HalfLifeType.MEDIUM, false) * 1.5)).setUnlocalizedName("pellet_rtg_americium").setCreativeTab(MainRegistry.controlTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":pellet_rtg_americium"); + pellet_rtg_americium = new ItemRTGPellet(15).setDecays(DepletedRTGMaterial.NEPTUNIUM, (long) (RTGUtil.getLifespan(4.7F, HalfLifeType.LONG, false) * 1.5)).setUnlocalizedName("pellet_rtg_americium").setCreativeTab(MainRegistry.controlTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":pellet_rtg_americium"); pellet_rtg_berkelium = new ItemRTGPellet(20).setUnlocalizedName("pellet_rtg_berkelium").setCreativeTab(MainRegistry.controlTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":pellet_rtg_berkelium"); - + tritium_deuterium_cake = new ItemCustomLore().setUnlocalizedName("tritium_deuterium_cake").setCreativeTab(MainRegistry.controlTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":tritium_deuterium_cake"); piston_selenium = new Item().setUnlocalizedName("piston_selenium").setCreativeTab(MainRegistry.controlTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":piston_selenium"); diff --git a/src/main/java/com/hbm/items/machine/ItemRTGPellet.java b/src/main/java/com/hbm/items/machine/ItemRTGPellet.java index 8911464f6..03dc0d041 100644 --- a/src/main/java/com/hbm/items/machine/ItemRTGPellet.java +++ b/src/main/java/com/hbm/items/machine/ItemRTGPellet.java @@ -122,7 +122,7 @@ public class ItemRTGPellet extends Item { } public static short getScaledPower(ItemRTGPellet fuel, ItemStack stack) { - return (short) Math.ceil(fuel.getHeat() * (fuel.getLifespan(stack) * fuel.getMaxLifespan())); + return (short) Math.ceil(fuel.getHeat() * ((double)fuel.getLifespan(stack) / (double)fuel.getMaxLifespan())); } @Override diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityDiFurnace.java b/src/main/java/com/hbm/tileentity/machine/TileEntityDiFurnace.java index a535fdb73..279812b36 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityDiFurnace.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityDiFurnace.java @@ -3,6 +3,8 @@ package com.hbm.tileentity.machine; import com.hbm.blocks.machine.MachineDiFurnace; import com.hbm.inventory.recipes.MachineRecipes; import com.hbm.items.ModItems; +import com.hbm.items.machine.ItemRTGPellet; +import com.hbm.util.RTGUtil; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Blocks; @@ -331,9 +333,10 @@ public class TileEntityDiFurnace extends TileEntity implements ISidedInventory { trigger = false; } - if (this.slots[2] != null && this.slots[2].getItem() == ModItems.pellet_rtg) { - - this.dualPower = maxPower; + if (this.slots[2] != null && (this.slots[2].getItem() instanceof ItemRTGPellet)) { + this.dualPower += RTGUtil.updateRTGs(slots, new int[] { 2 }); + if(this.dualPower > maxPower) + this.dualPower = maxPower; } if(trigger) diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityReactorControl.java b/src/main/java/com/hbm/tileentity/machine/TileEntityReactorControl.java index 543152963..3fc148613 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityReactorControl.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityReactorControl.java @@ -4,8 +4,6 @@ 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.tileentity.TileEntityMachineBase; import com.hbm.tileentity.machine.rbmk.TileEntityRBMKControlAuto.RBMKFunction; import com.hbm.tileentity.machine.rbmk.TileEntityRBMKControlManual.RBMKColor; @@ -127,9 +125,7 @@ public class TileEntityReactorControl extends TileEntityMachineBase implements I double level = MathHelper.clamp_double((fauxLevel * 0.01D), 0D, 1D); if(level != this.level) { - NBTTagCompound control = new NBTTagCompound(); - control.setDouble("level", level); - PacketDispatcher.wrapper.sendToServer(new NBTControlPacket(control, reactor.xCoord, reactor.yCoord, reactor.zCoord)); + reactor.setTarget(level); } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityRtgFurnace.java b/src/main/java/com/hbm/tileentity/machine/TileEntityRtgFurnace.java index a14b1e6a8..1062d3a9d 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityRtgFurnace.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityRtgFurnace.java @@ -103,14 +103,7 @@ public class TileEntityRtgFurnace extends TileEntity implements ISidedInventory } public boolean isLoaded() { - - for(int i = 1; i <= 3; i++) { - - if(!(slots[i] != null && (slots[i].getItem() instanceof ItemRTGPellet))) - return false; - } - - return true; + return RTGUtil.hasHeat(slots, slots_side); } @Override @@ -266,7 +259,7 @@ public class TileEntityRtgFurnace extends TileEntity implements ISidedInventory { dualCookTime += RTGUtil.updateRTGs(slots, slots_side); - if(this.dualCookTime == TileEntityRtgFurnace.processingSpeed) + if(this.dualCookTime >= TileEntityRtgFurnace.processingSpeed) { this.dualCookTime = 0; this.processItem(); @@ -274,6 +267,7 @@ public class TileEntityRtgFurnace extends TileEntity implements ISidedInventory } }else{ dualCookTime = 0; + RTGUtil.updateRTGs(slots, slots_side); } boolean trigger = true; diff --git a/src/main/java/com/hbm/util/RTGUtil.java b/src/main/java/com/hbm/util/RTGUtil.java index 377723842..904ea9f46 100644 --- a/src/main/java/com/hbm/util/RTGUtil.java +++ b/src/main/java/com/hbm/util/RTGUtil.java @@ -14,20 +14,16 @@ public class RTGUtil { } public static boolean hasHeat(ItemStack[] inventory, int[] rtgSlots) { - int heat = 0; for(int slot : rtgSlots) { if(inventory[slot] == null) continue; - if(!(inventory[slot].getItem() instanceof ItemRTGPellet)) - continue; - - final ItemRTGPellet pellet = (ItemRTGPellet) inventory[slot].getItem(); - heat += getPower(pellet, inventory[slot]); + if(inventory[slot].getItem() instanceof ItemRTGPellet) + return true; } - return heat > 0; + return false; } public static int updateRTGs(ItemStack[] inventory, int[] rtgSlots) { diff --git a/src/main/resources/assets/hbm/lang/en_US.lang b/src/main/resources/assets/hbm/lang/en_US.lang index dc7b32866..028e5b89a 100644 --- a/src/main/resources/assets/hbm/lang/en_US.lang +++ b/src/main/resources/assets/hbm/lang/en_US.lang @@ -473,6 +473,7 @@ death.attack.tau=%1$s was riddeled by %2$s using negatively charged tauons. death.attack.tauBlast=%1$s charged the XVL1456 for too long and was blown into pieces. death.attack.teleporter=%1$s was teleported into nothingness. +desc.item.rtgDecay=Decays to: %s desc.item.rtgHeat=Power Level: %s desc.item.wasteCooling=Cool in a Spent Fuel Pool Drum desc.gui.rtgBFurnace.desc=Requires at least 15 heat to process$The more heat on top of that, the faster it runs$Heat going over maximum speed will have no effect$Gold-198 may decay into Mercury @@ -2166,6 +2167,11 @@ item.pellet_rtg_americium.name=Americium-241 RTG Pellet item.pellet_rtg_americium.desc=Rare and reliable, good old Americium! item.pellet_rtg_berkelium.name=Berkelium RTG Pellet item.pellet_rtg_berkelium.desc= +item.pellet_rtg_depleted.bismuth.name=Depleted Bismuth RTG Pellet +item.pellet_rtg_depleted.lead.name=Depleted Lead RTG Pellet +item.pellet_rtg_depleted.neptunium.name=Depleted Neptunium RTG Pellet +item.pellet_rtg_depleted.mercury.name=Depleted Mercury RTG Pellet +item.pellet_rtg_depleted.zirconium.name=Depleted Zirconium RTG Pellet item.pellet_rtg_lead.name=Lead-209 RTG Pellet item.pellet_rtg_lead.desc=Exposure will result in imminient death. item.pellet_rtg_gold.name=Gold-198 RTG Pellet diff --git a/src/main/resources/assets/hbm/textures/items/pellet_rtg_depleted.bismuth.png b/src/main/resources/assets/hbm/textures/items/pellet_rtg_depleted.bismuth.png new file mode 100644 index 0000000000000000000000000000000000000000..eb4a43efd6b8ac167d9db9055ed8fe6a9dd4b634 GIT binary patch literal 473 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJV{wqX6T`Z5GB1G~mUKs7M+SzC z{oH>NS%LhS0X`wF0XC67Hjxbly;TLh{VfZN3wqsbBHLRQPFcLMW%9z7xeE(=TWnk+ zTY48xS-Ww{#+7q6PFc9HrLDKX#yfKQl#M+LTQ&lP*G^eDw`Jkf7MsX`ll$*XnY(de zUrTRC!Ld90_aDEr|IX#r8>ig4zW>gh{V}DLhI-!VsZ9m-y;tw-FRF}5u8c`-s|@tS8=iVG$Fe8RdMbTxn^afqoK174|8D*>(cw;V z>8Xm!b^3=6Y+ZS4+rHBH3twu#vp=}obcgGMqFV)Da(IJA+w@uT8ystxuT50heW*KT QHqccJp00i_>zopr0B1Af^#A|> literal 0 HcmV?d00001