diff --git a/assets/hbm/lang/de_DE.lang b/assets/hbm/lang/de_DE.lang index 85f2e4868..5cd2a086a 100644 --- a/assets/hbm/lang/de_DE.lang +++ b/assets/hbm/lang/de_DE.lang @@ -274,6 +274,9 @@ tile.red_wire_coated.name=Geschirmtes rotes Kupferkabel tile.machine_deuterium.name=Deuteriumextraktor container.machine_deuterium=Deuteriumextraktor tile.machine_battery.name=Energiespeicherblock +tile.machine_lithium_battery.name=Li-Ion-Energiespeicherblock +tile.machine_schrabidium_battery.name=Schrabidium-Energiespeicherblock +tile.machine_dineutronium_battery.name=Spark Energiespeicherblock container.battery=Energiespeicher tile.machine_coal_off.name=Kohlegenerator tile.machine_coal_on.name=Kohlegenerator @@ -1060,6 +1063,7 @@ item.gun_bolt_action_green.name=Dream-Repetiergewehr (Grün) item.gun_lever_action_sonata.name=Flipped Mare's Leg item.gun_lever_action_sonata_2.name=§cSonatas Mikrophon§r item.gun_b92.name=§9B92 Energiepistole§r +item.gun_b93.name=§cB93 Energiemod§r item.gun_xvl1456.name=XVL1456 Tau-Kanone Prototyp item.gun_osipr.name=Standartausrüstung für Sicherheitskräfte item.gun_immolator.name=Der Immolator diff --git a/assets/hbm/lang/en_US.lang b/assets/hbm/lang/en_US.lang index 381159f7f..8e4462912 100644 --- a/assets/hbm/lang/en_US.lang +++ b/assets/hbm/lang/en_US.lang @@ -274,6 +274,9 @@ tile.red_wire_coated.name=Coated Red Copper Cable tile.machine_deuterium.name=Deuterium Extractor container.machine_deuterium=Deuterium Extractor tile.machine_battery.name=Energy Storage Block +tile.machine_lithium_battery.name=Li-Ion Energy Storage Block +tile.machine_schrabidium_battery.name=Schrabidium Energy Storage Block +tile.machine_dineutronium_battery.name=Spark Energy Storage Block container.battery=Energy Storage tile.machine_coal_off.name=Coal Generator tile.machine_coal_on.name=Coal Generator @@ -1059,6 +1062,7 @@ item.gun_bolt_action_green.name=Dream Bolt-Action Rifle (Green) item.gun_lever_action_sonata.name=Flipped Mare's Leg item.gun_lever_action_sonata_2.name=§cSonata's Microphone§r item.gun_b92.name=§9B92 Energy Pistol§r +item.gun_b93.name=§cB93 Energy Mod§r item.gun_xvl1456.name=XVL1456 Tau Cannon Prototype item.gun_osipr.name=Overwatch Standard Issue Pulse Rifle item.gun_immolator.name=The Immolator diff --git a/assets/hbm/textures/blocks/machine_transformer_iron.png b/assets/hbm/textures/blocks/machine_transformer_iron.png new file mode 100644 index 000000000..c6364015f Binary files /dev/null and b/assets/hbm/textures/blocks/machine_transformer_iron.png differ diff --git a/assets/hbm/textures/blocks/machine_transformer_top_iron.png b/assets/hbm/textures/blocks/machine_transformer_top_iron.png new file mode 100644 index 000000000..450ef9b08 Binary files /dev/null and b/assets/hbm/textures/blocks/machine_transformer_top_iron.png differ diff --git a/assets/hbm/textures/items/singularity_spark.png b/assets/hbm/textures/items/singularity_spark.png new file mode 100644 index 000000000..d3083e756 Binary files /dev/null and b/assets/hbm/textures/items/singularity_spark.png differ diff --git a/assets/hbm/textures/items/singularity_spark_alt.png b/assets/hbm/textures/items/singularity_spark_alt.png new file mode 100644 index 000000000..26e5efcee Binary files /dev/null and b/assets/hbm/textures/items/singularity_spark_alt.png differ diff --git a/assets/hbm/textures/items/singularity_special.png b/assets/hbm/textures/items/singularity_special.png new file mode 100644 index 000000000..7ff724e9d Binary files /dev/null and b/assets/hbm/textures/items/singularity_special.png differ diff --git a/assets/hbm/textures/models/ModelB93.png b/assets/hbm/textures/models/ModelB93.png index d99251499..0861b9bfc 100644 Binary files a/assets/hbm/textures/models/ModelB93.png and b/assets/hbm/textures/models/ModelB93.png differ diff --git a/com/hbm/blocks/ModBlocks.java b/com/hbm/blocks/ModBlocks.java index 17599df79..501ec5d42 100644 --- a/com/hbm/blocks/ModBlocks.java +++ b/com/hbm/blocks/ModBlocks.java @@ -545,7 +545,7 @@ public class ModBlocks { ore_oil = new BlockOre(Material.rock).setBlockName("ore_oil").setCreativeTab(MainRegistry.tabBlock).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_oil"); ore_oil_empty = new BlockGeneric(Material.rock).setBlockName("ore_oil_empty").setCreativeTab(MainRegistry.tabBlock).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_oil_empty"); - ore_oil_sand = new BlockGeneric(Material.sand).setBlockName("ore_oil_sand").setCreativeTab(MainRegistry.tabBlock).setStepSound(Block.soundTypeSand).setHardness(0.5F).setResistance(1.0F).setBlockTextureName(RefStrings.MODID + ":ore_oil_sand_alt"); + ore_oil_sand = new BlockFalling(Material.sand).setBlockName("ore_oil_sand").setCreativeTab(MainRegistry.tabBlock).setStepSound(Block.soundTypeSand).setHardness(0.5F).setResistance(1.0F).setBlockTextureName(RefStrings.MODID + ":ore_oil_sand_alt"); ore_tikite = new BlockGeneric(Material.rock).setBlockName("ore_tikite").setCreativeTab(MainRegistry.tabBlock).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_tikite_alt"); diff --git a/com/hbm/blocks/machine/MachineBattery.java b/com/hbm/blocks/machine/MachineBattery.java index e78884c13..f6a5b8497 100644 --- a/com/hbm/blocks/machine/MachineBattery.java +++ b/com/hbm/blocks/machine/MachineBattery.java @@ -31,7 +31,7 @@ public class MachineBattery extends BlockContainer { private final Random field_149933_a = new Random(); private Random rand; private static boolean keepInventory; - private long maxPower; + public long maxPower; @SideOnly(Side.CLIENT) private IIcon iconFront; @@ -140,7 +140,7 @@ public class MachineBattery extends BlockContainer { @Override public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) { - return new TileEntityMachineBattery(maxPower); + return new TileEntityMachineBattery(); } @Override diff --git a/com/hbm/inventory/MachineRecipes.java b/com/hbm/inventory/MachineRecipes.java index dcb58fd8c..1ae61b2fd 100644 --- a/com/hbm/inventory/MachineRecipes.java +++ b/com/hbm/inventory/MachineRecipes.java @@ -1386,13 +1386,13 @@ public class MachineRecipes { } else { setRecipe(theWholeThing.get(i).item, new ItemStack(ModItems.scrap)); } - } else if (s.length() > 3 && s.substring(0, 3).equals("rod")) { + /*} else if (s.length() > 3 && s.substring(0, 3).equals("rod")) { ItemStack stack = canFindDustByName(s.substring(3)); if (stack != null) { setRecipe(theWholeThing.get(i).item, new ItemStack(stack.getItem(), 2, stack.getItemDamage())); } else { setRecipe(theWholeThing.get(i).item, new ItemStack(ModItems.scrap)); - } + }*/ } else if (s.length() > 5 && s.substring(0, 5).equals("block")) { ItemStack stack = canFindDustByName(s.substring(5)); if (stack != null) { @@ -1590,6 +1590,8 @@ public class MachineRecipes { public ArrayList getBatteries() { ArrayList fuels = new ArrayList(); + fuels.add(new ItemStack(ModItems.battery_potato)); + fuels.add(new ItemStack(ModItems.battery_potatos)); fuels.add(new ItemStack(ModItems.battery_su)); fuels.add(new ItemStack(ModItems.battery_su_l)); fuels.add(new ItemStack(ModItems.battery_generic)); @@ -1611,6 +1613,10 @@ public class MachineRecipes { fuels.add(new ItemStack(ModItems.battery_spark)); fuels.add(new ItemStack(ModItems.battery_spark_cell_6)); fuels.add(new ItemStack(ModItems.battery_spark_cell_25)); + fuels.add(new ItemStack(ModItems.battery_spark_cell_100)); + fuels.add(new ItemStack(ModItems.battery_spark_cell_1000)); + fuels.add(new ItemStack(ModItems.battery_spark_cell_10000)); + fuels.add(new ItemStack(ModItems.battery_spark_cell_power)); fuels.add(new ItemStack(ModItems.fusion_core)); fuels.add(new ItemStack(ModItems.energy_core)); return fuels; @@ -2365,6 +2371,27 @@ public class MachineRecipes { list.add(new ItemStack(ModItems.ingot_red_copper, 2)); list.add(new ItemStack(ModItems.wire_red_copper, 4)); break; + case BATTERY_L: + list.add(new ItemStack(ModItems.ingot_polymer, 4)); + list.add(new ItemStack(ModItems.powder_cobalt, 12)); + list.add(new ItemStack(ModItems.powder_lithium, 12)); + list.add(new ItemStack(ModItems.ingot_advanced_alloy, 2)); + list.add(new ItemStack(ModItems.wire_red_copper, 4)); + break; + case BATTERY_S: + list.add(new ItemStack(ModItems.ingot_desh, 4)); + list.add(new ItemStack(ModItems.powder_neptunium, 12)); + list.add(new ItemStack(ModItems.powder_schrabidium, 12)); + list.add(new ItemStack(ModItems.ingot_schrabidium, 2)); + list.add(new ItemStack(ModItems.wire_schrabidium, 4)); + break; + case BATTERY_D: + list.add(new ItemStack(ModItems.ingot_dineutronium, 24)); + list.add(new ItemStack(ModItems.powder_spark_mix, 12)); + list.add(new ItemStack(ModItems.battery_spark_cell_1000, 1)); + list.add(new ItemStack(ModItems.ingot_combine_steel, 32)); + list.add(new ItemStack(ModItems.coil_magnetized_tungsten, 8)); + break; case HE_TO_RF: list.add(new ItemStack(ModItems.ingot_steel, 4)); list.add(new ItemStack(ModItems.plate_steel, 4)); @@ -3625,6 +3652,15 @@ public class MachineRecipes { case BATTERY: output = new ItemStack(ModBlocks.machine_battery, 1); break; + case BATTERY_L: + output = new ItemStack(ModBlocks.machine_lithium_battery, 1); + break; + case BATTERY_S: + output = new ItemStack(ModBlocks.machine_schrabidium_battery, 1); + break; + case BATTERY_D: + output = new ItemStack(ModBlocks.machine_dineutronium_battery, 1); + break; case HE_TO_RF: output = new ItemStack(ModBlocks.machine_converter_he_rf, 1); break; diff --git a/com/hbm/items/ModItems.java b/com/hbm/items/ModItems.java index ea6d103c1..b04acbdca 100644 --- a/com/hbm/items/ModItems.java +++ b/com/hbm/items/ModItems.java @@ -457,6 +457,7 @@ public class ModItems { public static Item singularity_counter_resonant; public static Item singularity_super_heated; public static Item black_hole; + public static Item singularity_spark; public static Item crystal_xen; public static Item inf_water; @@ -1571,6 +1572,7 @@ public class ModItems { singularity_counter_resonant = new ItemDrop().setUnlocalizedName("singularity_counter_resonant").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.nuclear_waste).setTextureName(RefStrings.MODID + ":singularity_alt"); singularity_super_heated = new ItemDrop().setUnlocalizedName("singularity_super_heated").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.nuclear_waste).setTextureName(RefStrings.MODID + ":singularity_5"); black_hole = new ItemDrop().setUnlocalizedName("black_hole").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.nuclear_waste).setTextureName(RefStrings.MODID + ":singularity_4"); + singularity_spark = new ItemDrop().setUnlocalizedName("singularity_spark").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.nuclear_waste).setTextureName(RefStrings.MODID + ":singularity_spark_alt"); pellet_antimatter = new ItemDrop().setUnlocalizedName("pellet_antimatter").setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.cell_empty).setTextureName(RefStrings.MODID + ":pellet_antimatter"); crystal_xen = new ItemDrop().setUnlocalizedName("crystal_xen").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":crystal_xen"); inf_water = new Item().setUnlocalizedName("inf_water").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":inf_water"); @@ -1966,40 +1968,40 @@ public class ModItems { n2_charge = new ItemN2().setUnlocalizedName("n2_charge").setMaxStackSize(1).setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":n2_charge"); - battery_generic = new ItemBattery(50).setUnlocalizedName("battery_generic").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":battery_generic"); - battery_advanced = new ItemBattery(200).setUnlocalizedName("battery_advanced").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":battery_advanced"); - battery_lithium = new ItemBattery(2500).setUnlocalizedName("battery_lithium").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":battery_lithium"); - battery_schrabidium = new ItemBattery(10000).setUnlocalizedName("battery_schrabidium").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":battery_schrabidium"); - battery_spark = new ItemBattery(1000000).setUnlocalizedName("battery_spark").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":battery_spark"); + battery_generic = new ItemBattery(50, 1, 1).setUnlocalizedName("battery_generic").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":battery_generic"); + battery_advanced = new ItemBattery(200, 5, 5).setUnlocalizedName("battery_advanced").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":battery_advanced"); + battery_lithium = new ItemBattery(2500, 10, 10).setUnlocalizedName("battery_lithium").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":battery_lithium"); + battery_schrabidium = new ItemBattery(10000, 50, 50).setUnlocalizedName("battery_schrabidium").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":battery_schrabidium"); + battery_spark = new ItemBattery(1000000, 20000, 20000).setUnlocalizedName("battery_spark").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":battery_spark"); battery_creative = new Item().setUnlocalizedName("battery_creative").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":battery_creative"); - battery_red_cell = new ItemBattery(150).setUnlocalizedName("battery_red_cell").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":battery_red_cell"); - battery_red_cell_6 = new ItemBattery(150 * 6).setUnlocalizedName("battery_red_cell_6").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":battery_red_cell_6"); - battery_red_cell_24 = new ItemBattery(150 * 24).setUnlocalizedName("battery_red_cell_24").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":battery_red_cell_24"); - battery_advanced_cell = new ItemBattery(600).setUnlocalizedName("battery_advanced_cell").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":battery_advanced_cell"); - battery_advanced_cell_4 = new ItemBattery(600 * 4).setUnlocalizedName("battery_advanced_cell_4").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":battery_advanced_cell_4"); - battery_advanced_cell_12 = new ItemBattery(600 * 12).setUnlocalizedName("battery_advanced_cell_12").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":battery_advanced_cell_12"); - battery_lithium_cell = new ItemBattery(7500).setUnlocalizedName("battery_lithium_cell").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":battery_lithium_cell"); - battery_lithium_cell_3 = new ItemBattery(7500 * 3).setUnlocalizedName("battery_lithium_cell_3").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":battery_lithium_cell_3"); - battery_lithium_cell_6 = new ItemBattery(7500 * 6).setUnlocalizedName("battery_lithium_cell_6").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":battery_lithium_cell_6"); - battery_schrabidium_cell = new ItemBattery(30000).setUnlocalizedName("battery_schrabidium_cell").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":battery_schrabidium_cell"); - battery_schrabidium_cell_2 = new ItemBattery(30000 * 2).setUnlocalizedName("battery_schrabidium_cell_2").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":battery_schrabidium_cell_2"); - battery_schrabidium_cell_4 = new ItemBattery(30000 * 4).setUnlocalizedName("battery_schrabidium_cell_4").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":battery_schrabidium_cell_4"); - battery_spark_cell_6 = new ItemBattery(1000000 * 6).setUnlocalizedName("battery_spark_cell_6").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":battery_spark_cell_6"); - battery_spark_cell_25 = new ItemBattery(1000000 * 25).setUnlocalizedName("battery_spark_cell_25").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":battery_spark_cell_25"); - battery_spark_cell_100 = new ItemBattery(1000000L * 100L).setUnlocalizedName("battery_spark_cell_100").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":battery_spark_cell_100"); - battery_spark_cell_1000 = new ItemBattery(1000000L * 1000L).setUnlocalizedName("battery_spark_cell_1000").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":battery_spark_cell_1000"); - battery_spark_cell_2500 = new ItemBattery(1000000L * 2500L).setUnlocalizedName("battery_spark_cell_2500").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":battery_spark_cell_2500"); - battery_spark_cell_10000 = new ItemBattery(1000000L * 10000L).setUnlocalizedName("battery_spark_cell_10000").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":battery_spark_cell_10000"); - battery_spark_cell_power = new ItemBattery(1000000L * 1000000L).setUnlocalizedName("battery_spark_cell_power").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":battery_spark_cell_power"); + battery_red_cell = new ItemBattery(150, 1, 1).setUnlocalizedName("battery_red_cell").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":battery_red_cell"); + battery_red_cell_6 = new ItemBattery(150 * 6, 1, 1).setUnlocalizedName("battery_red_cell_6").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":battery_red_cell_6"); + battery_red_cell_24 = new ItemBattery(150 * 24, 1, 1).setUnlocalizedName("battery_red_cell_24").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":battery_red_cell_24"); + battery_advanced_cell = new ItemBattery(600, 5, 5).setUnlocalizedName("battery_advanced_cell").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":battery_advanced_cell"); + battery_advanced_cell_4 = new ItemBattery(600 * 4, 5, 5).setUnlocalizedName("battery_advanced_cell_4").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":battery_advanced_cell_4"); + battery_advanced_cell_12 = new ItemBattery(600 * 12, 5, 5).setUnlocalizedName("battery_advanced_cell_12").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":battery_advanced_cell_12"); + battery_lithium_cell = new ItemBattery(7500, 10, 10).setUnlocalizedName("battery_lithium_cell").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":battery_lithium_cell"); + battery_lithium_cell_3 = new ItemBattery(7500 * 3, 10, 10).setUnlocalizedName("battery_lithium_cell_3").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":battery_lithium_cell_3"); + battery_lithium_cell_6 = new ItemBattery(7500 * 6, 10, 10).setUnlocalizedName("battery_lithium_cell_6").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":battery_lithium_cell_6"); + battery_schrabidium_cell = new ItemBattery(30000, 50, 50).setUnlocalizedName("battery_schrabidium_cell").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":battery_schrabidium_cell"); + battery_schrabidium_cell_2 = new ItemBattery(30000 * 2, 50, 50).setUnlocalizedName("battery_schrabidium_cell_2").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":battery_schrabidium_cell_2"); + battery_schrabidium_cell_4 = new ItemBattery(30000 * 4, 50, 50).setUnlocalizedName("battery_schrabidium_cell_4").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":battery_schrabidium_cell_4"); + battery_spark_cell_6 = new ItemBattery(1000000 * 6, 20000, 20000).setUnlocalizedName("battery_spark_cell_6").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":battery_spark_cell_6"); + battery_spark_cell_25 = new ItemBattery(1000000 * 25, 20000, 20000).setUnlocalizedName("battery_spark_cell_25").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":battery_spark_cell_25"); + battery_spark_cell_100 = new ItemBattery(1000000L * 100L, 20000, 20000).setUnlocalizedName("battery_spark_cell_100").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":battery_spark_cell_100"); + battery_spark_cell_1000 = new ItemBattery(1000000L * 1000L, 200000, 200000).setUnlocalizedName("battery_spark_cell_1000").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":battery_spark_cell_1000"); + battery_spark_cell_2500 = new ItemBattery(1000000L * 2500L, 200000, 200000).setUnlocalizedName("battery_spark_cell_2500").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":battery_spark_cell_2500"); + battery_spark_cell_10000 = new ItemBattery(1000000L * 10000L, 2000000, 2000000).setUnlocalizedName("battery_spark_cell_10000").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":battery_spark_cell_10000"); + battery_spark_cell_power = new ItemBattery(1000000L * 1000000L, 2000000, 2000000).setUnlocalizedName("battery_spark_cell_power").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":battery_spark_cell_power"); - battery_potato = new ItemBattery(1).setUnlocalizedName("battery_potato").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":battery_potato"); - battery_potatos = new ItemPotatos(50).setUnlocalizedName("battery_potatos").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":battery_potatos"); - battery_su = new ItemBattery(15).setUnlocalizedName("battery_su").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":battery_su"); - battery_su_l = new ItemBattery(35).setUnlocalizedName("battery_su_l").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":battery_su_l"); - fusion_core = new ItemBattery(200000).setUnlocalizedName("fusion_core").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":fusion_core"); + battery_potato = new ItemBattery(1, 0, 1).setUnlocalizedName("battery_potato").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":battery_potato"); + battery_potatos = new ItemPotatos(50, 0, 1).setUnlocalizedName("battery_potatos").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":battery_potatos"); + battery_su = new ItemBattery(15, 0, 1).setUnlocalizedName("battery_su").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":battery_su"); + battery_su_l = new ItemBattery(35, 0, 1).setUnlocalizedName("battery_su_l").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":battery_su_l"); + fusion_core = new ItemBattery(200000, 0, 25).setUnlocalizedName("fusion_core").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":fusion_core"); fusion_core_infinite = new Item().setUnlocalizedName("fusion_core_infinite").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":fusion_core_infinite"); - energy_core = new ItemBattery(100000).setUnlocalizedName("energy_core").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":energy_core"); + energy_core = new ItemBattery(100000, 0, 10).setUnlocalizedName("energy_core").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":energy_core"); fuse = new ItemCustomLore().setUnlocalizedName("fuse").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":fuse"); redcoil_capacitor = new ItemCapacitor(10).setUnlocalizedName("redcoil_capacitor").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":redcoil_capacitor"); titanium_filter = new ItemCapacitor(72000).setUnlocalizedName("titanium_filter").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":titanium_filter"); @@ -2007,17 +2009,17 @@ public class ModItems { overfuse = new ItemCustomLore().setUnlocalizedName("overfuse").setMaxStackSize(1).setFull3D().setTextureName(RefStrings.MODID + ":overfuse"); dynosphere_base = new Item().setUnlocalizedName("dynosphere_base").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":dynosphere_base"); - dynosphere_desh = new ItemBattery(10000L).setUnlocalizedName("dynosphere_desh").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":dynosphere_desh"); + dynosphere_desh = new ItemBattery(10000L, 100, 0).setUnlocalizedName("dynosphere_desh").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":dynosphere_desh"); dynosphere_desh_charged = new Item().setUnlocalizedName("dynosphere_desh_charged").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":dynosphere_desh_charged"); - dynosphere_schrabidium = new ItemBattery(1000000L).setUnlocalizedName("dynosphere_schrabidium").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":dynosphere_schrabidium"); + dynosphere_schrabidium = new ItemBattery(1000000L, 1000, 0).setUnlocalizedName("dynosphere_schrabidium").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":dynosphere_schrabidium"); dynosphere_schrabidium_charged = new Item().setUnlocalizedName("dynosphere_schrabidium_charged").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":dynosphere_schrabidium_charged"); - dynosphere_euphemium = new ItemBattery(100000000L).setUnlocalizedName("dynosphere_euphemium").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":dynosphere_euphemium"); + dynosphere_euphemium = new ItemBattery(100000000L, 10000, 0).setUnlocalizedName("dynosphere_euphemium").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":dynosphere_euphemium"); dynosphere_euphemium_charged = new Item().setUnlocalizedName("dynosphere_euphemium_charged").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":dynosphere_euphemium_charged"); - dynosphere_dineutronium = new ItemBattery(10000000000L).setUnlocalizedName("dynosphere_dineutronium").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":dynosphere_dineutronium"); + dynosphere_dineutronium = new ItemBattery(10000000000L, 100000, 0).setUnlocalizedName("dynosphere_dineutronium").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":dynosphere_dineutronium"); dynosphere_dineutronium_charged = new Item().setUnlocalizedName("dynosphere_dineutronium_charged").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":dynosphere_dineutronium_charged"); - factory_core_titanium = new ItemBattery(70400).setUnlocalizedName("factory_core_titanium").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":factory_core_titanium"); - factory_core_advanced = new ItemBattery(41600).setUnlocalizedName("factory_core_advanced").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":factory_core_advanced"); + factory_core_titanium = new ItemBattery(70400, 10, 0).setUnlocalizedName("factory_core_titanium").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":factory_core_titanium"); + factory_core_advanced = new ItemBattery(41600, 10, 0).setUnlocalizedName("factory_core_advanced").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":factory_core_advanced"); ams_focus_blank = new Item().setUnlocalizedName("ams_focus_blank").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":ams_focus_blank"); ams_focus_limiter = new ItemCustomLore().setUnlocalizedName("ams_focus_limiter").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":ams_focus_limiter"); @@ -2766,6 +2768,7 @@ public class ModItems { GameRegistry.registerItem(singularity_counter_resonant, singularity_counter_resonant.getUnlocalizedName()); GameRegistry.registerItem(singularity_super_heated, singularity_super_heated.getUnlocalizedName()); GameRegistry.registerItem(black_hole, black_hole.getUnlocalizedName()); + GameRegistry.registerItem(singularity_spark, singularity_spark.getUnlocalizedName()); GameRegistry.registerItem(crystal_xen, crystal_xen.getUnlocalizedName()); GameRegistry.registerItem(pellet_antimatter, pellet_antimatter.getUnlocalizedName()); diff --git a/com/hbm/items/special/ItemBattery.java b/com/hbm/items/special/ItemBattery.java index aba981f31..9d2effab2 100644 --- a/com/hbm/items/special/ItemBattery.java +++ b/com/hbm/items/special/ItemBattery.java @@ -12,11 +12,15 @@ import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; public class ItemBattery extends Item { - - private long maxCharge; - public ItemBattery(long dura) { + private long maxCharge; + private long chargeRate; + private long dischargeRate; + + public ItemBattery(long dura, long chargeRate, long dischargeRate) { this.maxCharge = dura; + this.chargeRate = chargeRate; + this.dischargeRate = dischargeRate; } @Override @@ -117,6 +121,14 @@ public class ItemBattery extends Item { return maxCharge; } + public long getChargeRate() { + return chargeRate; + } + + public long getDischargeRate() { + return dischargeRate; + } + public static long getMaxChargeStatic(ItemStack stack) { return ((ItemBattery)stack.getItem()).maxCharge; } diff --git a/com/hbm/items/special/ItemDrop.java b/com/hbm/items/special/ItemDrop.java index 94da4ed94..0ef839b4e 100644 --- a/com/hbm/items/special/ItemDrop.java +++ b/com/hbm/items/special/ItemDrop.java @@ -4,6 +4,7 @@ import java.util.List; import com.hbm.entity.effect.EntityBlackHole; import com.hbm.entity.effect.EntityCloudFleija; +import com.hbm.entity.effect.EntityRagingVortex; import com.hbm.entity.effect.EntityVortex; import com.hbm.entity.logic.EntityNukeExplosionAdvanced; import com.hbm.entity.logic.EntityNukeExplosionMK3; @@ -115,6 +116,15 @@ public class ItemDrop extends Item { entityItem.worldObj.spawnEntityInWorld(bl); } } + if (stack.getItem() != null && stack.getItem() == ModItems.singularity_spark) { + if (!entityItem.worldObj.isRemote) { + EntityRagingVortex bl = new EntityRagingVortex(entityItem.worldObj, 3.5F); + bl.posX = entityItem.posX ; + bl.posY = entityItem.posY ; + bl.posZ = entityItem.posZ ; + entityItem.worldObj.spawnEntityInWorld(bl); + } + } if (stack.getItem() != null && stack.getItem() == ModItems.crystal_xen) { if (!entityItem.worldObj.isRemote) { ExplosionChaos.floater(entityItem.worldObj, (int)entityItem.posX, (int)entityItem.posY, (int)entityItem.posZ, 25, 75); diff --git a/com/hbm/items/special/ItemPotatos.java b/com/hbm/items/special/ItemPotatos.java index 45530ec82..41b426246 100644 --- a/com/hbm/items/special/ItemPotatos.java +++ b/com/hbm/items/special/ItemPotatos.java @@ -8,8 +8,8 @@ import net.minecraft.world.World; public class ItemPotatos extends ItemBattery { - public ItemPotatos(long dura) { - super(dura); + public ItemPotatos(long dura, long chargeRate, long dischargeRate) { + super(dura, chargeRate, dischargeRate); } @Override diff --git a/com/hbm/items/tool/ItemAssemblyTemplate.java b/com/hbm/items/tool/ItemAssemblyTemplate.java index 9f2171a82..b05f9e96e 100644 --- a/com/hbm/items/tool/ItemAssemblyTemplate.java +++ b/com/hbm/items/tool/ItemAssemblyTemplate.java @@ -142,6 +142,9 @@ public class ItemAssemblyTemplate extends Item { CYCLOTRON, RT_GENERATOR, BATTERY, + BATTERY_L, + BATTERY_S, + BATTERY_D, HE_TO_RF, RF_TO_HE, SHREDDER, @@ -577,6 +580,12 @@ public class ItemAssemblyTemplate extends Item { return 200; case BATTERY: return 200; + case BATTERY_L: + return 400; + case BATTERY_S: + return 800; + case BATTERY_D: + return 1600; case HE_TO_RF: return 150; case RF_TO_HE: diff --git a/com/hbm/lib/Library.java b/com/hbm/lib/Library.java index f25d8e52d..a4f41cd69 100644 --- a/com/hbm/lib/Library.java +++ b/com/hbm/lib/Library.java @@ -542,159 +542,13 @@ public class Library { public static long chargeItemsFromTE(ItemStack[] slots, int index, long power, long maxPower) { - if(power - 100 >= 0 && slots[index] != null && slots[index].getItem() == ModItems.battery_generic && ItemBattery.getCharge(slots[index]) < ((ItemBattery)slots[index].getItem()).getMaxCharge()) - { - power -= 100; - ((ItemBattery)slots[index].getItem()).chargeBattery(slots[index], 1); - } - if(power - 100 >= 0 && slots[index] != null && slots[index].getItem() == ModItems.battery_red_cell && ItemBattery.getCharge(slots[index]) < ((ItemBattery)slots[index].getItem()).getMaxCharge()) - { - power -= 100; - ((ItemBattery)slots[index].getItem()).chargeBattery(slots[index], 1); - } - if(power - 100 >= 0 && slots[index] != null && slots[index].getItem() == ModItems.battery_red_cell_6 && ItemBattery.getCharge(slots[index]) < ((ItemBattery)slots[index].getItem()).getMaxCharge()) - { - power -= 100; - ((ItemBattery)slots[index].getItem()).chargeBattery(slots[index], 1); - } - if(power - 100 >= 0 && slots[index] != null && slots[index].getItem() == ModItems.battery_red_cell_24 && ItemBattery.getCharge(slots[index]) < ((ItemBattery)slots[index].getItem()).getMaxCharge()) - { - power -= 100; - ((ItemBattery)slots[index].getItem()).chargeBattery(slots[index], 1); - } - - for(int i = 0; i < 5; i++) - if(power - 100 >= 0 && slots[index] != null && slots[index].getItem() == ModItems.battery_advanced && ItemBattery.getCharge(slots[index]) < ((ItemBattery)slots[index].getItem()).getMaxCharge()) - { - power -= 100; - ((ItemBattery)slots[index].getItem()).chargeBattery(slots[index], 1); - } else break; - for(int i = 0; i < 5; i++) - if(power - 100 >= 0 && slots[index] != null && slots[index].getItem() == ModItems.battery_advanced_cell && ItemBattery.getCharge(slots[index]) < ((ItemBattery)slots[index].getItem()).getMaxCharge()) - { - power -= 100; - ((ItemBattery)slots[index].getItem()).chargeBattery(slots[index], 1); - } else break; - for(int i = 0; i < 5; i++) - if(power - 100 >= 0 && slots[index] != null && slots[index].getItem() == ModItems.battery_advanced_cell_4 && ItemBattery.getCharge(slots[index]) < ((ItemBattery)slots[index].getItem()).getMaxCharge()) - { - power -= 100; - ((ItemBattery)slots[index].getItem()).chargeBattery(slots[index], 1); - } else break; - for(int i = 0; i < 5; i++) - if(power - 100 >= 0 && slots[index] != null && slots[index].getItem() == ModItems.battery_advanced_cell_12 && ItemBattery.getCharge(slots[index]) < ((ItemBattery)slots[index].getItem()).getMaxCharge()) - { - power -= 100; - ((ItemBattery)slots[index].getItem()).chargeBattery(slots[index], 1); - } else break; - - for(int i = 0; i < 10; i++) - if(power - 100 >= 0 && slots[index] != null && slots[index].getItem() == ModItems.battery_lithium && ItemBattery.getCharge(slots[index]) < ((ItemBattery)slots[index].getItem()).getMaxCharge()) - { - power -= 100; - ((ItemBattery)slots[index].getItem()).chargeBattery(slots[index], 1); - } else break; - for(int i = 0; i < 10; i++) - if(power - 100 >= 0 && slots[index] != null && slots[index].getItem() == ModItems.battery_lithium_cell && ItemBattery.getCharge(slots[index]) < ((ItemBattery)slots[index].getItem()).getMaxCharge()) - { - power -= 100; - ((ItemBattery)slots[index].getItem()).chargeBattery(slots[index], 1); - } else break; - for(int i = 0; i < 10; i++) - if(power - 100 >= 0 && slots[index] != null && slots[index].getItem() == ModItems.battery_lithium_cell_3 && ItemBattery.getCharge(slots[index]) < ((ItemBattery)slots[index].getItem()).getMaxCharge()) - { - power -= 100; - ((ItemBattery)slots[index].getItem()).chargeBattery(slots[index], 1); - } else break; - for(int i = 0; i < 10; i++) - if(power - 100 >= 0 && slots[index] != null && slots[index].getItem() == ModItems.battery_lithium_cell_6 && ItemBattery.getCharge(slots[index]) < ((ItemBattery)slots[index].getItem()).getMaxCharge()) - { - power -= 100; - ((ItemBattery)slots[index].getItem()).chargeBattery(slots[index], 1); - } else break; - - for(int i = 0; i < 50; i++) - if(power - 100 >= 0 && slots[index] != null && slots[index].getItem() == ModItems.battery_schrabidium && ItemBattery.getCharge(slots[index]) < ((ItemBattery)slots[index].getItem()).getMaxCharge()) - { - power -= 100; - ((ItemBattery)slots[index].getItem()).chargeBattery(slots[index], 1); - } else break; - for(int i = 0; i < 50; i++) - if(power - 100 >= 0 && slots[index] != null && slots[index].getItem() == ModItems.battery_schrabidium_cell && ItemBattery.getCharge(slots[index]) < ((ItemBattery)slots[index].getItem()).getMaxCharge()) - { - power -= 100; - ((ItemBattery)slots[index].getItem()).chargeBattery(slots[index], 1); - } else break; - for(int i = 0; i < 50; i++) - if(power - 100 >= 0 && slots[index] != null && slots[index].getItem() == ModItems.battery_schrabidium_cell_2 && ItemBattery.getCharge(slots[index]) < ((ItemBattery)slots[index].getItem()).getMaxCharge()) - { - power -= 100; - ((ItemBattery)slots[index].getItem()).chargeBattery(slots[index], 1); - } else break; - for(int i = 0; i < 50; i++) - if(power - 100 >= 0 && slots[index] != null && slots[index].getItem() == ModItems.battery_schrabidium_cell_4 && ItemBattery.getCharge(slots[index]) < ((ItemBattery)slots[index].getItem()).getMaxCharge()) - { - power -= 100; - ((ItemBattery)slots[index].getItem()).chargeBattery(slots[index], 1); - } else break; - - for(int i = 0; i < 20000; i++) - if(power - 100 >= 0 && slots[index] != null && slots[index].getItem() == ModItems.battery_spark && ItemBattery.getCharge(slots[index]) < ((ItemBattery)slots[index].getItem()).getMaxCharge()) - { - power -= 100; - ((ItemBattery)slots[index].getItem()).chargeBattery(slots[index], 1); - } else break; - for(int i = 0; i < 20000; i++) - if(power - 100 >= 0 && slots[index] != null && slots[index].getItem() == ModItems.battery_spark_cell_6 && ItemBattery.getCharge(slots[index]) < ((ItemBattery)slots[index].getItem()).getMaxCharge()) - { - power -= 100; - ((ItemBattery)slots[index].getItem()).chargeBattery(slots[index], 1); - } else break; - for(int i = 0; i < 20000; i++) - if(power - 100 >= 0 && slots[index] != null && slots[index].getItem() == ModItems.battery_spark_cell_25 && ItemBattery.getCharge(slots[index]) < ((ItemBattery)slots[index].getItem()).getMaxCharge()) - { - power -= 100; - ((ItemBattery)slots[index].getItem()).chargeBattery(slots[index], 1); - } else break; - - for(int i = 0; i < 100; i++) - if(power - 100 >= 0 && slots[index] != null && slots[index].getItem() == ModItems.dynosphere_desh && ItemBattery.getCharge(slots[index]) < ((ItemBattery)slots[index].getItem()).getMaxCharge()) - { - power -= 100; - ((ItemBattery)slots[index].getItem()).chargeBattery(slots[index], 1); - } else break; - for(int i = 0; i < 1000; i++) - if(power - 100 >= 0 && slots[index] != null && slots[index].getItem() == ModItems.dynosphere_schrabidium && ItemBattery.getCharge(slots[index]) < ((ItemBattery)slots[index].getItem()).getMaxCharge()) - { - power -= 100; - ((ItemBattery)slots[index].getItem()).chargeBattery(slots[index], 1); - } else break; - for(int i = 0; i < 10000; i++) - if(power - 100 >= 0 && slots[index] != null && slots[index].getItem() == ModItems.dynosphere_euphemium && ItemBattery.getCharge(slots[index]) < ((ItemBattery)slots[index].getItem()).getMaxCharge()) - { - power -= 100; - ((ItemBattery)slots[index].getItem()).chargeBattery(slots[index], 1); - } else break; - for(int i = 0; i < 100000; i++) - if(power - 100 >= 0 && slots[index] != null && slots[index].getItem() == ModItems.dynosphere_dineutronium && ItemBattery.getCharge(slots[index]) < ((ItemBattery)slots[index].getItem()).getMaxCharge()) - { - power -= 100; - ((ItemBattery)slots[index].getItem()).chargeBattery(slots[index], 1); - } else break; - - for(int i = 0; i < 10; i++) - if(power - 100 >= 0 && slots[index] != null && slots[index].getItem() == ModItems.factory_core_titanium && ItemBattery.getCharge(slots[index]) < ((ItemBattery)slots[index].getItem()).getMaxCharge()) - { - power -= 100; - ((ItemBattery)slots[index].getItem()).chargeBattery(slots[index], 1); - } else break; - - for(int i = 0; i < 10; i++) - if(power - 100 >= 0 && slots[index] != null && slots[index].getItem() == ModItems.factory_core_advanced && ItemBattery.getCharge(slots[index]) < ((ItemBattery)slots[index].getItem()).getMaxCharge()) - { - power -= 100; - ((ItemBattery)slots[index].getItem()).chargeBattery(slots[index], 1); - } else break; + if(slots[index] != null && slots[index].getItem() instanceof ItemBattery) + for(int i = 0; i < ((ItemBattery)slots[index].getItem()).getChargeRate(); i++) + if(power - 100 >= 0 && ItemBattery.getCharge(slots[index]) < ((ItemBattery)slots[index].getItem()).getMaxCharge()) + { + power -= 100; + ((ItemBattery)slots[index].getItem()).chargeBattery(slots[index], 1); + } else break; for(int i = 0; i < 50; i++) if(power - 1 >= 0 && slots[index] != null && slots[index].getItem() == ModItems.elec_sword && slots[index].getItemDamage() > 0) @@ -747,156 +601,14 @@ public class Library { { return maxPower; } - - if(power + 100 <= maxPower && slots[index] != null && slots[index].getItem() == ModItems.battery_su && ItemBattery.getCharge(slots[index]) > 0) - { - power += 100; - ((ItemBattery)slots[index].getItem()).dischargeBattery(slots[index], 1); - } - if(power + 100 <= maxPower && slots[index] != null && slots[index].getItem() == ModItems.battery_su_l && ItemBattery.getCharge(slots[index]) > 0) - { - power += 100; - ((ItemBattery)slots[index].getItem()).dischargeBattery(slots[index], 1); - } - if(power + 100 <= maxPower && slots[index] != null && slots[index].getItem() == ModItems.battery_potato && ItemBattery.getCharge(slots[index]) > 0) - { - power += 100; - ((ItemBattery)slots[index].getItem()).dischargeBattery(slots[index], 1); - } - if(power + 100 <= maxPower && slots[index] != null && slots[index].getItem() == ModItems.battery_potatos && ItemBattery.getCharge(slots[index]) > 0) - { - power += 100; - ((ItemBattery)slots[index].getItem()).dischargeBattery(slots[index], 1); - } - - if(power + 100 <= maxPower && slots[index] != null && slots[index].getItem() == ModItems.battery_generic && ItemBattery.getCharge(slots[index]) > 0) - { - power += 100; - ((ItemBattery)slots[index].getItem()).dischargeBattery(slots[index], 1); - } - if(power + 100 <= maxPower && slots[index] != null && slots[index].getItem() == ModItems.battery_red_cell && ItemBattery.getCharge(slots[index]) > 0) - { - power += 100; - ((ItemBattery)slots[index].getItem()).dischargeBattery(slots[index], 1); - } - if(power + 100 <= maxPower && slots[index] != null && slots[index].getItem() == ModItems.battery_red_cell_6 && ItemBattery.getCharge(slots[index]) > 0) - { - power += 100; - ((ItemBattery)slots[index].getItem()).dischargeBattery(slots[index], 1); - } - if(power + 100 <= maxPower && slots[index] != null && slots[index].getItem() == ModItems.battery_red_cell_24 && ItemBattery.getCharge(slots[index]) > 0) - { - power += 100; - ((ItemBattery)slots[index].getItem()).dischargeBattery(slots[index], 1); - } - - for(int i = 0; i < 5; i++) - if(power + 100 <= maxPower && slots[index] != null && slots[index].getItem() == ModItems.battery_advanced && ItemBattery.getCharge(slots[index]) > 0) - { - power += 100; - ((ItemBattery)slots[index].getItem()).dischargeBattery(slots[index], 1); - } else break; - for(int i = 0; i < 5; i++) - if(power + 100 <= maxPower && slots[index] != null && slots[index].getItem() == ModItems.battery_advanced_cell && ItemBattery.getCharge(slots[index]) > 0) - { - power += 100; - ((ItemBattery)slots[index].getItem()).dischargeBattery(slots[index], 1); - } else break; - for(int i = 0; i < 5; i++) - if(power + 100 <= maxPower && slots[index] != null && slots[index].getItem() == ModItems.battery_advanced_cell_4 && ItemBattery.getCharge(slots[index]) > 0) - { - power += 100; - ((ItemBattery)slots[index].getItem()).dischargeBattery(slots[index], 1); - } else break; - for(int i = 0; i < 5; i++) - if(power + 100 <= maxPower && slots[index] != null && slots[index].getItem() == ModItems.battery_advanced_cell_12 && ItemBattery.getCharge(slots[index]) > 0) - { - power += 100; - ((ItemBattery)slots[index].getItem()).dischargeBattery(slots[index], 1); - } else break; - - for(int i = 0; i < 10; i++) - if(power + 100 <= maxPower && slots[index] != null && slots[index].getItem() == ModItems.battery_lithium && ItemBattery.getCharge(slots[index]) > 0) - { - power += 100; - ((ItemBattery)slots[index].getItem()).dischargeBattery(slots[index], 1); - } else break; - for(int i = 0; i < 10; i++) - if(power + 100 <= maxPower && slots[index] != null && slots[index].getItem() == ModItems.battery_lithium_cell && ItemBattery.getCharge(slots[index]) > 0) - { - power += 100; - ((ItemBattery)slots[index].getItem()).dischargeBattery(slots[index], 1); - } else break; - for(int i = 0; i < 10; i++) - if(power + 100 <= maxPower && slots[index] != null && slots[index].getItem() == ModItems.battery_lithium_cell_3 && ItemBattery.getCharge(slots[index]) > 0) - { - power += 100; - ((ItemBattery)slots[index].getItem()).dischargeBattery(slots[index], 1); - } else break; - for(int i = 0; i < 10; i++) - if(power + 100 <= maxPower && slots[index] != null && slots[index].getItem() == ModItems.battery_lithium_cell_6 && ItemBattery.getCharge(slots[index]) > 0) - { - power += 100; - ((ItemBattery)slots[index].getItem()).dischargeBattery(slots[index], 1); - } else break; - - for(int i = 0; i < 50; i++) - if(power + 100 <= maxPower && slots[index] != null && slots[index].getItem() == ModItems.battery_schrabidium && ItemBattery.getCharge(slots[index]) > 0) - { - power += 100; - ((ItemBattery)slots[index].getItem()).dischargeBattery(slots[index], 1); - } else break; - for(int i = 0; i < 50; i++) - if(power + 100 <= maxPower && slots[index] != null && slots[index].getItem() == ModItems.battery_schrabidium_cell && ItemBattery.getCharge(slots[index]) > 0) - { - power += 100; - ((ItemBattery)slots[index].getItem()).dischargeBattery(slots[index], 1); - } else break; - for(int i = 0; i < 50; i++) - if(power + 100 <= maxPower && slots[index] != null && slots[index].getItem() == ModItems.battery_schrabidium_cell_2 && ItemBattery.getCharge(slots[index]) > 0) - { - power += 100; - ((ItemBattery)slots[index].getItem()).dischargeBattery(slots[index], 1); - } else break; - for(int i = 0; i < 50; i++) - if(power + 100 <= maxPower && slots[index] != null && slots[index].getItem() == ModItems.battery_schrabidium_cell_4 && ItemBattery.getCharge(slots[index]) > 0) - { - power += 100; - ((ItemBattery)slots[index].getItem()).dischargeBattery(slots[index], 1); - } else break; - - for(int i = 0; i < 20000; i++) - if(power + 100 <= maxPower && slots[index] != null && slots[index].getItem() == ModItems.battery_spark && ItemBattery.getCharge(slots[index]) > 0) - { - power += 100; - ((ItemBattery)slots[index].getItem()).dischargeBattery(slots[index], 1); - } else break; - for(int i = 0; i < 20000; i++) - if(power + 100 <= maxPower && slots[index] != null && slots[index].getItem() == ModItems.battery_spark_cell_6 && ItemBattery.getCharge(slots[index]) > 0) - { - power += 100; - ((ItemBattery)slots[index].getItem()).dischargeBattery(slots[index], 1); - } else break; - for(int i = 0; i < 20000; i++) - if(power + 100 <= maxPower && slots[index] != null && slots[index].getItem() == ModItems.battery_spark_cell_25 && ItemBattery.getCharge(slots[index]) > 0) - { - power += 100; - ((ItemBattery)slots[index].getItem()).dischargeBattery(slots[index], 1); - } else break; - for(int i = 0; i < 25; i++) - if(power + 100 <= maxPower && slots[index] != null && slots[index].getItem() == ModItems.fusion_core && ItemBattery.getCharge(slots[index]) > 0) - { - power += 100; - ((ItemBattery)slots[index].getItem()).dischargeBattery(slots[index], 1); - } else break; - - for(int i = 0; i < 10; i++) - if(power + 100 <= maxPower && slots[index] != null && slots[index].getItem() == ModItems.energy_core && ItemBattery.getCharge(slots[index]) > 0) - { - power += 100; - ((ItemBattery)slots[index].getItem()).dischargeBattery(slots[index], 1); - } else break; + if(slots[index] != null && slots[index].getItem() instanceof ItemBattery) + for(int i = 0; i < ((ItemBattery)slots[index].getItem()).getDischargeRate(); i++) + if(power + 100 <= maxPower && ItemBattery.getCharge(slots[index]) > 0) + { + power += 100; + ((ItemBattery)slots[index].getItem()).dischargeBattery(slots[index], 1); + } else break; return power; } @@ -1079,43 +791,26 @@ public class Library { if(!newTact) { + //TODO: fix energy distr. quirks + int size = that.getList().size(); if(size > 0) { - - ///EXPERIMENTAL START/// - - List requestList = new ArrayList(); - - for(IConsumer consume : that.getList()) { + long part = that.getSPower() / size; + for(IConsumer consume : that.getList()) + { if(consume.getPower() < consume.getMaxPower()) - requestList.add(consume); - } - - if(requestList.size() > 0) { - - ///EXPERIMENTAL END/// - - - long part = that.getSPower() / size; - for(IConsumer consume : requestList) { - if(consume.getPower() < consume.getMaxPower()) + if(consume.getMaxPower() - consume.getPower() >= part) { - if(consume.getMaxPower() - consume.getPower() >= part) - { - that.setSPower(that.getSPower()-part); - consume.setPower(consume.getPower() + part); - } else { - that.setSPower(that.getSPower() - (consume.getMaxPower() - consume.getPower())); - consume.setPower(consume.getMaxPower()); - } + that.setSPower(that.getSPower()-part); + consume.setPower(consume.getPower() + part); + } else { + that.setSPower(that.getSPower() - (consume.getMaxPower() - consume.getPower())); + consume.setPower(consume.getMaxPower()); } } - - // } - // } that.clearList(); } diff --git a/com/hbm/main/CraftingManager.java b/com/hbm/main/CraftingManager.java index 7d5a8eea8..bfd8926b9 100644 --- a/com/hbm/main/CraftingManager.java +++ b/com/hbm/main/CraftingManager.java @@ -913,6 +913,11 @@ public class CraftingManager { GameRegistry.addRecipe(new ShapedOreRecipe(ItemBattery.getEmptyBattery(ModItems.battery_schrabidium_cell_4), new Object[] { "WPW", "BWB", "WPW", 'W', ModItems.wire_schrabidium, 'P', "plateSchrabidium", 'B', ItemBattery.getEmptyBattery(ModItems.battery_schrabidium_cell_2) })); GameRegistry.addRecipe(new ShapedOreRecipe(ItemBattery.getEmptyBattery(ModItems.battery_spark_cell_6), new Object[] { "BBW", "BBP", "BBW", 'W', ModItems.wire_magnetized_tungsten, 'P', "plateDineutronium", 'B', ItemBattery.getEmptyBattery(ModItems.battery_spark) })); GameRegistry.addRecipe(new ShapedOreRecipe(ItemBattery.getEmptyBattery(ModItems.battery_spark_cell_25), new Object[] { " WW", "PCC", "BCC", 'W', ModItems.wire_magnetized_tungsten, 'P', "plateDineutronium", 'B', ItemBattery.getEmptyBattery(ModItems.battery_spark), 'C', ItemBattery.getEmptyBattery(ModItems.battery_spark_cell_6) })); + GameRegistry.addRecipe(new ShapedOreRecipe(ItemBattery.getEmptyBattery(ModItems.battery_spark_cell_100), new Object[] { "W W", "BPB", "BPB", 'W', ModItems.wire_magnetized_tungsten, 'P', "plateDineutronium", 'B', ItemBattery.getEmptyBattery(ModItems.battery_spark_cell_25) })); + GameRegistry.addRecipe(new ShapedOreRecipe(ItemBattery.getEmptyBattery(ModItems.battery_spark_cell_1000), new Object[] { "CCC", "CSC", "CCC", 'S', ModItems.singularity_spark, 'C', ItemBattery.getEmptyBattery(ModItems.battery_spark_cell_100) })); + GameRegistry.addRecipe(new ShapedOreRecipe(ItemBattery.getEmptyBattery(ModItems.battery_spark_cell_2500), new Object[] { "CVC", "PSP", "CVC", 'S', ModItems.singularity_spark, 'C', ItemBattery.getEmptyBattery(ModItems.battery_spark_cell_100), 'V', ItemBattery.getEmptyBattery(ModItems.battery_spark_cell_1000), 'P', ModItems.plate_dineutronium })); + GameRegistry.addRecipe(new ShapedOreRecipe(ItemBattery.getEmptyBattery(ModItems.battery_spark_cell_10000), new Object[] { "PVP", "VSV", "PVP", 'S', ModItems.singularity_spark, 'V', ItemBattery.getEmptyBattery(ModItems.battery_spark_cell_2500), 'P', ModItems.plate_dineutronium })); + GameRegistry.addRecipe(new ShapedOreRecipe(ItemBattery.getEmptyBattery(ModItems.battery_spark_cell_power), new Object[] { "CCC", "CSC", "CCC", 'S', ModItems.singularity_spark, 'C', ItemBattery.getEmptyBattery(ModItems.battery_spark_cell_10000) })); GameRegistry.addRecipe(new ShapedOreRecipe(ItemBattery.getFullBattery(ModItems.battery_su), new Object[] { "P", "R", "C", 'P', Items.paper, 'R', "dustRedstone", 'C', "dustCoal" })); GameRegistry.addRecipe(new ShapedOreRecipe(ItemBattery.getFullBattery(ModItems.battery_su), new Object[] { "P", "C", "R", 'P', Items.paper, 'R', "dustRedstone", 'C', "dustCoal" })); @@ -1146,7 +1151,12 @@ public class CraftingManager { GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.meteor_remote), new Object[] { "nuggetSchrabidium", ModItems.fragment_meteorite, ModItems.crate_caller })); GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.crate_caller), new Object[] { "nuggetSchrabidium", ModItems.crowbar, ModItems.detonator })); GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.catalyst_clay), new Object[] { "dustIron", Items.clay_ball })); - GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.catalyst_clay, 4), new Object[] { "dustAluminum", "dustRedstone", Items.clay_ball })); + GameRegistry.addRecipe(new ItemStack(ModItems.singularity_spark, 1), new Object[] { "XAX", "BCB", "XAX", 'X', ModItems.plate_dineutronium, 'A', ModItems.singularity_counter_resonant, 'B', ModItems.singularity_super_heated, 'C', ModItems.black_hole }); + GameRegistry.addRecipe(new ItemStack(ModItems.singularity_spark, 1), new Object[] { "XBX", "ACA", "XBX", 'X', ModItems.plate_dineutronium, 'A', ModItems.singularity_counter_resonant, 'B', ModItems.singularity_super_heated, 'C', ModItems.black_hole }); + GameRegistry.addRecipe(new ItemStack(ModItems.ams_core_sing, 1), new Object[] { "EAE", "ASA", "EAE", 'E', ModItems.plate_euphemium, 'A', ModItems.cell_anti_schrabidium, 'S', ModItems.singularity }); + GameRegistry.addRecipe(new ItemStack(ModItems.ams_core_wormhole, 1), new Object[] { "DPD", "PSP", "DPD", 'D', ModItems.plate_dineutronium, 'P', ModItems.powder_spark_mix, 'S', ModItems.singularity }); + GameRegistry.addRecipe(new ItemStack(ModItems.ams_core_eyeofharmony, 1), new Object[] { "ALA", "LSL", "ALA", 'A', ModItems.plate_dalekanium, 'L', new ItemStack(ModItems.fluid_barrel_full, 1, FluidType.LAVA.getID()), 'S', ModItems.black_hole }); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.ams_core_thingy), new Object[] { "NSN", "NGN", "N N", 'N', "nuggetGold", 'G', "ingotGold", 'S', ModItems.battery_spark_cell_10000 })); GameRegistry.addShapelessRecipe(new ItemStack(Items.paper, 1), new Object[] { new ItemStack(ModItems.assembly_template, 1, OreDictionary.WILDCARD_VALUE) }); GameRegistry.addShapelessRecipe(new ItemStack(Items.paper, 1), new Object[] { new ItemStack(ModItems.chemistry_template, 1, OreDictionary.WILDCARD_VALUE) }); diff --git a/com/hbm/potion/PotionEffectRadiation.java b/com/hbm/potion/PotionEffectRadiation.java new file mode 100644 index 000000000..de76fbd81 --- /dev/null +++ b/com/hbm/potion/PotionEffectRadiation.java @@ -0,0 +1,80 @@ +package com.hbm.potion; + +import java.util.Random; + +import com.hbm.blocks.ModBlocks; +import com.hbm.blocks.bomb.BlockTaint; +import com.hbm.lib.Library; +import com.hbm.lib.ModDamageSource; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.client.Minecraft; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.potion.Potion; +import net.minecraft.potion.PotionEffect; +import net.minecraft.util.DamageSource; +import net.minecraft.util.ResourceLocation; + +public class PotionEffectRadiation extends Potion { + + public static PotionEffectRadiation instance = new PotionEffectRadiation(Library.getFirstNullIndex(1, Potion.potionTypes), true, 8700200); + Random rand = new Random(); + + public PotionEffectRadiation(int p_i1573_1_, boolean p_i1573_2_, int p_i1573_3_) { + super(p_i1573_1_, p_i1573_2_, p_i1573_3_); + this.setPotionName("potion.hbm_radiation"); + this.setIconIndex(1, 0); + } + + @Override + @SideOnly(Side.CLIENT) + public int getStatusIconIndex() { + ResourceLocation loc = new ResourceLocation("hbm","textures/gui/potions.png"); + Minecraft.getMinecraft().renderEngine.bindTexture(loc); + return super.getStatusIconIndex(); + } + + + public void performEffect(EntityLivingBase entity, int level) + { + if(entity.getHealth() > entity.getMaxHealth() - (level + 1)) + entity.attackEntityFrom(ModDamageSource.radiation, 1); + + /*if(level > 15) { + if(rand.nextInt(10) == 0) + entity.addPotionEffect(new PotionEffect(Potion.confusion.id, 5 * 20, 0)); + if(rand.nextInt(20) == 0) + entity.addPotionEffect(new PotionEffect(Potion.moveSlowdown.id, 5 * 20, 3)); + if(rand.nextInt(20) == 0) + entity.addPotionEffect(new PotionEffect(Potion.weakness.id, 5 * 20, 3)); + if(rand.nextInt(20) == 0) + entity.addPotionEffect(new PotionEffect(Potion.digSlowdown.id, 5 * 20, 2)); + if(rand.nextInt(30) == 0) + entity.addPotionEffect(new PotionEffect(Potion.wither.id, 3 * 20, 4)); + } else if(level > 10) { + if(rand.nextInt(10) == 0) + entity.addPotionEffect(new PotionEffect(Potion.confusion.id, 5 * 20, 0)); + if(rand.nextInt(20) == 0) + entity.addPotionEffect(new PotionEffect(Potion.moveSlowdown.id, 5 * 20, 3)); + if(rand.nextInt(20) == 0) + entity.addPotionEffect(new PotionEffect(Potion.weakness.id, 5 * 20, 3)); + if(rand.nextInt(20) == 0) + entity.addPotionEffect(new PotionEffect(Potion.digSlowdown.id, 5 * 20, 2)); + } else if(level > 4) { + if(rand.nextInt(10) == 0) + entity.addPotionEffect(new PotionEffect(Potion.confusion.id, 5 * 20, 0)); + if(rand.nextInt(20) == 0) + entity.addPotionEffect(new PotionEffect(Potion.moveSlowdown.id, 5 * 20, 1)); + if(rand.nextInt(20) == 0) + entity.addPotionEffect(new PotionEffect(Potion.weakness.id, 5 * 20, 1)); + }*/ + } + + public boolean isReady(int par1, int par2) + { + int k = 40 >> par2; + return k > 0 ? par1 % k == 0 : true; + } + +} diff --git a/com/hbm/render/model/ModelB93.java b/com/hbm/render/model/ModelB93.java index b7fcb3514..4e3673523 100644 --- a/com/hbm/render/model/ModelB93.java +++ b/com/hbm/render/model/ModelB93.java @@ -6,6 +6,8 @@ package com.hbm.render.model; +import org.lwjgl.opengl.GL11; + import net.minecraft.client.model.ModelBase; import net.minecraft.client.model.ModelRenderer; import net.minecraft.entity.Entity; @@ -440,15 +442,19 @@ public class ModelB93 extends ModelBase { EmitterClamp8.render(f5); PowBox.render(f5); PowPanel.render(f5); - Nix1.render(f5); - Nix2.render(f5); - Nix3.render(f5); Nix11.render(f5); Nix21.render(f5); Nix31.render(f5); Nix12.render(f5); Nix22.render(f5); Nix32.render(f5); + GL11.glEnable(GL11.GL_BLEND); + //GL11.glDisable(GL11.GL_ALPHA_TEST); + GL11.glBlendFunc(GL11.GL_ONE, GL11.GL_ONE); + Nix1.render(f5); + Nix2.render(f5); + Nix3.render(f5); + GL11.glDisable(GL11.GL_BLEND); Pylon.render(f5); Wire1.render(f5); Wire2.render(f5); diff --git a/com/hbm/tileentity/deco/TileEntityYellowBarrel.java b/com/hbm/tileentity/deco/TileEntityYellowBarrel.java index 22a1001dd..0f8918ba2 100644 --- a/com/hbm/tileentity/deco/TileEntityYellowBarrel.java +++ b/com/hbm/tileentity/deco/TileEntityYellowBarrel.java @@ -6,6 +6,7 @@ import java.util.List; import com.hbm.entity.mob.EntityNuclearCreeper; import com.hbm.lib.Library; import com.hbm.lib.ModDamageSource; +import com.hbm.potion.PotionEffectRadiation; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -86,11 +87,7 @@ public class TileEntityYellowBarrel extends TileEntity { this.worldObj.spawnEntityInWorld(creep); } else if(entity instanceof EntityLivingBase && !(entity instanceof EntityNuclearCreeper) && !(entity instanceof EntityMooshroom) && !(entity instanceof EntityZombie)) { - ((EntityLivingBase) entity).addPotionEffect(new PotionEffect(Potion.poison.getId(), 60 * 20, 1)); - ((EntityLivingBase) entity).addPotionEffect(new PotionEffect(Potion.wither.getId(), 20, 0)); - ((EntityLivingBase) entity).addPotionEffect(new PotionEffect(Potion.moveSlowdown.getId(), 30 * 20, 1)); - ((EntityLivingBase) entity).addPotionEffect(new PotionEffect(Potion.confusion.id, 30 * 20, 0)); - entity.attackEntityFrom(ModDamageSource.radiation, 2.5F); + ((EntityLivingBase) entity).addPotionEffect(new PotionEffect(PotionEffectRadiation.instance.id, 30 * 20, 14)); } } } diff --git a/com/hbm/tileentity/machine/TileEntityMachineBattery.java b/com/hbm/tileentity/machine/TileEntityMachineBattery.java index d488e9813..f5dece727 100644 --- a/com/hbm/tileentity/machine/TileEntityMachineBattery.java +++ b/com/hbm/tileentity/machine/TileEntityMachineBattery.java @@ -3,6 +3,7 @@ package com.hbm.tileentity.machine; import java.util.ArrayList; import java.util.List; +import com.hbm.blocks.machine.MachineBattery; import com.hbm.interfaces.IConsumer; import com.hbm.interfaces.ISource; import com.hbm.items.special.ItemBattery; @@ -37,11 +38,6 @@ public class TileEntityMachineBattery extends TileEntity implements ISidedInvent public TileEntityMachineBattery() { slots = new ItemStack[2]; } - - public TileEntityMachineBattery(long maxPower) { - slots = new ItemStack[2]; - this.maxPower = maxPower; - } @Override public int getSizeInventory() { @@ -219,23 +215,28 @@ public class TileEntityMachineBattery extends TileEntity implements ISidedInvent @Override public void updateEntity() { - if(this.conducts) - { - age++; - if(age >= 20) + + if(worldObj.getBlock(xCoord, yCoord, zCoord) instanceof MachineBattery) { + this.maxPower = ((MachineBattery)worldObj.getBlock(xCoord, yCoord, zCoord)).maxPower; + + if(this.conducts) { - age = 0; + age++; + if(age >= 20) + { + age = 0; + } + + if(age == 9 || age == 19) + ffgeuaInit(); } - if(age == 9 || age == 19) - ffgeuaInit(); - } - - if(!worldObj.isRemote) { - power = Library.chargeTEFromItems(slots, 0, power, maxPower); - power = Library.chargeItemsFromTE(slots, 1, power, maxPower); - - PacketDispatcher.wrapper.sendToAll(new AuxElectricityPacket(xCoord, yCoord, zCoord, power)); + if(!worldObj.isRemote) { + power = Library.chargeTEFromItems(slots, 0, power, maxPower); + power = Library.chargeItemsFromTE(slots, 1, power, maxPower); + + PacketDispatcher.wrapper.sendToAll(new AuxElectricityPacket(xCoord, yCoord, zCoord, power)); + } } }