diff --git a/assets/hbm/lang/de_DE.lang b/assets/hbm/lang/de_DE.lang index a4bac11bc..f2ce2dc12 100644 --- a/assets/hbm/lang/de_DE.lang +++ b/assets/hbm/lang/de_DE.lang @@ -260,6 +260,7 @@ item.plate_mixed.name=Gemischte Platte item.plate_paa.name=PaA-Legierungsplatte item.ingot_dura_steel.name=Schnellarbeitsstahlbarren item.ingot_polymer.name=Polymerbarren +item.bolt_dura_steel.name=Schnellarbeitsstahlbolzen item.ingot_australium.name=Australiumbarren item.ingot_weidanium.name=Weidaniumbarren @@ -620,6 +621,7 @@ item.grenade_aschrab.name=Werfbare Antischrabidiumzelle item.grenade_nuke.name=Mark VI Bohrgranate item.grenade_nuclear.name=Nuka-Granate item.grenade_zomg.name=Negativenergie-Paarvernichtungsgranate +item.grenade_black_hole.name=Schwarzes-Loch-Granate item.ullapool_caber.name=Ullapool'sche Stiel item.rod_uranium_fuel.name=Urankernbrennstoffzelle @@ -948,6 +950,10 @@ item.cmb_pickaxe.name=CMB-Stahlspitzhacke item.cmb_axe.name=CMB-Stahlaxt item.cmb_shovel.name=CMB-Stahlschaufel item.cmb_hoe.name=CMB-Stahlfeldhacke +item.elec_sword.name=Elektroimpulswaffe +item.elec_pickaxe.name=Schlagbohrmaschine +item.elec_axe.name=Elektrische Kettensäge +item.elec_shovel.name=Spiralbohrer tile.red_cable.name=Rotes Kupferkabel tile.block_meteor.name=Meteoritenblock diff --git a/assets/hbm/lang/en_US.lang b/assets/hbm/lang/en_US.lang index 39f682930..549948f13 100644 --- a/assets/hbm/lang/en_US.lang +++ b/assets/hbm/lang/en_US.lang @@ -260,6 +260,7 @@ item.plate_mixed.name=Mixed Plate item.plate_paa.name=PaA Alloy Plate item.ingot_dura_steel.name=High-Speed Steel Ingot item.ingot_polymer.name=Polymer Ingot +item.bolt_dura_steel.name=High-Speed Steel Bolt item.ingot_australium.name=Australium Ingot item.ingot_weidanium.name=Weidanium Ingot @@ -620,6 +621,7 @@ item.grenade_aschrab.name=Tossable Antischrabidium Cell item.grenade_nuke.name=Mark VI Drill Grenade item.grenade_nuclear.name=Nuka Grenade item.grenade_zomg.name=Negative Energy Pair Annihilation Grenade +item.grenade_black_hole.name=Black Hole Grenade item.ullapool_caber.name=Ullapool Caber item.rod_uranium_fuel.name=Uranium Fuel Rod @@ -948,6 +950,10 @@ item.cmb_pickaxe.name=CMB Steel Pickaxe item.cmb_axe.name=CMB Steel Axe item.cmb_shovel.name=CMB Steel Shovel item.cmb_hoe.name=CMB Steel Hoe +item.elec_sword.name=Stunstick +item.elec_pickaxe.name=Impact Drill +item.elec_axe.name=Electric Chainsaw +item.elec_shovel.name=Spiral Drill tile.red_cable.name=Red Copper Cable tile.block_meteor.name=Meteor Block diff --git a/assets/hbm/sounds.json b/assets/hbm/sounds.json index ffe3472de..6da239b82 100644 --- a/assets/hbm/sounds.json +++ b/assets/hbm/sounds.json @@ -5,6 +5,7 @@ "misc.nullMine": {"category": "player", "sounds": [{"name": "misc/null", "stream": false}]}, "block.crateBreak": {"category": "block", "sounds": ["block/crateBreak1", "block/crateBreak2", "block/crateBreak3", "block/crateBreak4", "block/crateBreak5"]}, + "block.shutdown": {"category": "block", "sounds": [{"name": "block/shutdown", "stream": false}]}, "item.techBleep": {"category": "player", "sounds": [{"name": "tool/techBleep", "stream": false}]}, "item.techBoop": {"category": "player", "sounds": [{"name": "tool/techBoop", "stream": false}]}, diff --git a/assets/hbm/sounds/block/shutdown.ogg b/assets/hbm/sounds/block/shutdown.ogg new file mode 100644 index 000000000..b82612c75 Binary files /dev/null and b/assets/hbm/sounds/block/shutdown.ogg differ diff --git a/assets/hbm/textures/blocks/cyclotron.png b/assets/hbm/textures/blocks/cyclotron.png new file mode 100644 index 000000000..a48415602 Binary files /dev/null and b/assets/hbm/textures/blocks/cyclotron.png differ diff --git a/assets/hbm/textures/items/bolt_dura_steel.png b/assets/hbm/textures/items/bolt_dura_steel.png new file mode 100644 index 000000000..0a9b547ca Binary files /dev/null and b/assets/hbm/textures/items/bolt_dura_steel.png differ diff --git a/com/hbm/items/ModItems.java b/com/hbm/items/ModItems.java index 37fd3c1fc..e79040deb 100644 --- a/com/hbm/items/ModItems.java +++ b/com/hbm/items/ModItems.java @@ -202,6 +202,7 @@ public class ModItems { public static Item plate_mixed; public static Item plate_paa; public static Item board_copper; + public static Item bolt_dura_steel; public static Item ingot_dura_steel; public static Item ingot_polymer; @@ -1023,6 +1024,7 @@ public class ModItems { plate_mixed = new Item().setUnlocalizedName("plate_mixed").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":plate_mixed"); plate_paa = new ItemCustomLore().setUnlocalizedName("plate_paa").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":plate_paa"); board_copper = new Item().setUnlocalizedName("board_copper").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":board_copper"); + bolt_dura_steel = new Item().setUnlocalizedName("bolt_dura_steel").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":bolt_dura_steel"); ingot_dura_steel = new ItemCustomLore().setUnlocalizedName("ingot_dura_steel").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":ingot_dura_steel"); ingot_polymer = new ItemCustomLore().setUnlocalizedName("ingot_polymer").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":ingot_polymer"); @@ -1676,10 +1678,10 @@ public class ModItems { cmb_axe = new ModAxe(MainRegistry.enumToolMaterialCmb).setUnlocalizedName("cmb_axe").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":cmb_axe"); cmb_shovel = new ModSpade(MainRegistry.enumToolMaterialCmb).setUnlocalizedName("cmb_shovel").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":cmb_shovel"); cmb_hoe = new ModHoe(MainRegistry.enumToolMaterialCmb).setUnlocalizedName("cmb_hoe").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":cmb_hoe"); - elec_sword = new Item().setUnlocalizedName("elec_sword").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":elec_sword_anim"); - elec_pickaxe = new Item().setUnlocalizedName("elec_pickaxe").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":elec_drill_anim"); - elec_axe = new Item().setUnlocalizedName("elec_axe").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":elec_chainsaw_anim"); - elec_shovel = new Item().setUnlocalizedName("elec_shovel").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":elec_shovel_anim"); + elec_sword = new ModSword(MainRegistry.enumToolMaterialElec).setUnlocalizedName("elec_sword").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":elec_sword_anim"); + elec_pickaxe = new ModPickaxe(MainRegistry.enumToolMaterialElec).setUnlocalizedName("elec_pickaxe").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":elec_drill_anim"); + elec_axe = new ModAxe(MainRegistry.enumToolMaterialElec).setUnlocalizedName("elec_axe").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":elec_chainsaw_anim"); + elec_shovel = new ModSpade(MainRegistry.enumToolMaterialElec).setUnlocalizedName("elec_shovel").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":elec_shovel_anim"); mask_of_infamy = new MaskOfInfamy(ArmorMaterial.IRON, 8, 0).setUnlocalizedName("mask_of_infamy").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":mask_of_infamy"); @@ -1959,7 +1961,14 @@ public class ModItems { GameRegistry.registerItem(plate_combine_steel, plate_combine_steel.getUnlocalizedName()); GameRegistry.registerItem(plate_mixed, plate_mixed.getUnlocalizedName()); GameRegistry.registerItem(plate_paa, plate_paa.getUnlocalizedName()); + + //Boards GameRegistry.registerItem(board_copper, board_copper.getUnlocalizedName()); + + //Bolts + GameRegistry.registerItem(bolt_dura_steel, bolt_dura_steel.getUnlocalizedName()); + + //Other Plates GameRegistry.registerItem(hazmat_cloth, hazmat_cloth.getUnlocalizedName()); GameRegistry.registerItem(filter_coal, filter_coal.getUnlocalizedName()); diff --git a/com/hbm/lib/Library.java b/com/hbm/lib/Library.java index 3170e8231..c047057bb 100644 --- a/com/hbm/lib/Library.java +++ b/com/hbm/lib/Library.java @@ -25,6 +25,7 @@ import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.MovingObjectPosition; import net.minecraft.util.Vec3; @@ -416,4 +417,73 @@ public class Library { return list; } + + public static int chargeItemsFromTE(ItemStack[] slots, int index, int power, int maxPower) { + + if(power - 100 >= 0 && slots[index] != null && slots[index].getItem() == ModItems.battery_generic && slots[index].getItemDamage() > 0) + { + power -= 100; + slots[index].setItemDamage(slots[index].getItemDamage() - 1); + } + if(power - 100 >= 0 && slots[index] != null && slots[index].getItem() == ModItems.battery_advanced && slots[index].getItemDamage() > 0) + { + power -= 100; + slots[index].setItemDamage(slots[index].getItemDamage() - 1); + } + if(power - 100 >= 0 && slots[index] != null && slots[index].getItem() == ModItems.battery_schrabidium && slots[index].getItemDamage() > 0) + { + power -= 100; + slots[index].setItemDamage(slots[index].getItemDamage() - 1); + } + if(power - 100 >= 0 && slots[index] != null && slots[index].getItem() == ModItems.factory_core_titanium && slots[index].getItemDamage() > 0) + { + power -= 100; + slots[index].setItemDamage(slots[index].getItemDamage() - 1); + } + if(power - 100 >= 0 && slots[index] != null && slots[index].getItem() == ModItems.factory_core_advanced && slots[index].getItemDamage() > 0) + { + power -= 100; + slots[index].setItemDamage(slots[index].getItemDamage() - 1); + } + return power; + } + + public static int chargeTEFromItems(ItemStack[] slots, int index, int power, int maxPower) { + + if(slots[index] != null && slots[index].getItem() == ModItems.battery_creative) + { + power = maxPower; + } + + if(power + 100 <= maxPower && slots[index] != null && slots[index].getItem() == ModItems.battery_generic && slots[index].getItemDamage() < 50) + { + power += 100; + slots[index].setItemDamage(slots[index].getItemDamage() + 1); + } + + if(power + 100 <= maxPower && slots[index] != null && slots[index].getItem() == ModItems.battery_advanced && slots[index].getItemDamage() < 200) + { + power += 100; + slots[index].setItemDamage(slots[index].getItemDamage() + 1); + } + + if(power + 100 <= maxPower && slots[index] != null && slots[index].getItem() == ModItems.battery_schrabidium && slots[index].getItemDamage() < 10000) + { + power += 100; + slots[index].setItemDamage(slots[index].getItemDamage() + 1); + } + + if(power + 100 <= maxPower && slots[index] != null && slots[index].getItem() == ModItems.fusion_core && slots[index].getItemDamage() < 5000) + { + power += 100; + slots[index].setItemDamage(slots[index].getItemDamage() + 1); + } + + if(power + 100 <= maxPower && slots[index] != null && slots[index].getItem() == ModItems.energy_core && slots[index].getItemDamage() < 5000) + { + power += 100; + slots[index].setItemDamage(slots[index].getItemDamage() + 1); + } + return power; + } } diff --git a/com/hbm/main/CraftingManager.java b/com/hbm/main/CraftingManager.java index 65c279182..410f75be0 100644 --- a/com/hbm/main/CraftingManager.java +++ b/com/hbm/main/CraftingManager.java @@ -48,6 +48,11 @@ public class CraftingManager { GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.hazmat_cloth, 8), new Object[] { "SCS", "CPC", "SCS", 'S', Items.string, 'P', Items.leather, 'C', "dustLead" })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.filter_coal, 1), new Object[] { "SCS", "CPC", "SCS", 'S', Items.string, 'P', Items.paper, 'C', "dustCoal" })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.plate_mixed, 3), new Object[] { "ANA", "NCN", "ANA", 'A', ModItems.plate_advanced_alloy, 'N', "plateDenseLead", 'C', ModItems.plate_combine_steel })); + GameRegistry.addRecipe(new ItemStack(ModItems.bolt_dura_steel, 4), new Object[] { "D", "D", 'D', ModItems.ingot_dura_steel}); + + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.magnet_dee, 1), new Object[] { "SMM", "M M", "MMT", 'S', "ingotSteel", 'M', ModBlocks.fusion_conductor, 'T', ModItems.coil_advanced_torus })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.magnet_circular, 2), new Object[] { "PSP", "MMM", "PSP", 'S', "ingotSteel", 'M', ModBlocks.fusion_conductor, 'P', "plateAdvanced" })); + GameRegistry.addRecipe(new ItemStack(ModItems.cyclotron_tower, 1), new Object[] { "CDC", "CDC", "CDC", 'C', ModItems.magnet_circular, 'D', ModItems.magnet_dee }); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.circuit_aluminium, 1), new Object[] { "RAR", "ASA", "RAR", 'S', "plateSteel", 'R', "dustRedstone", 'A', ModItems.wire_aluminium })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.circuit_copper, 1), new Object[] { "RAR", "ASA", "RAR", 'S', ModItems.circuit_aluminium, 'R', "dustNetherQuartz", 'A', ModItems.wire_copper })); @@ -320,6 +325,12 @@ public class CraftingManager { GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nuclear_waste, 8), new Object[] { ModItems.rod_dual_schrabidium_fuel_depleted }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nuclear_waste, 16), new Object[] { ModItems.rod_quad_schrabidium_fuel_depleted }); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.part_lithium), new Object[] { "P", "D", "P", 'P', "plateSteel", 'D', "dustLithium" })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.part_beryllium), new Object[] { "P", "D", "P", 'P', "plateSteel", 'D', "dustBeryllium" })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.part_carbon), new Object[] { "P", "D", "P", 'P', "plateSteel", 'D', "dustCoal" })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.part_copper), new Object[] { "P", "D", "P", 'P', "plateSteel", 'D', "dustCopper" })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.part_plutonium), new Object[] { "P", "D", "P", 'P', "plateSteel", 'D', "dustPlutonium" })); + if(false) GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nugget_euphemium, 1, 34), new Object[] { ModItems.rod_quad_euphemium }); GameRegistry.addRecipe(new ItemStack(ModItems.ingot_euphemium, 1, 34), new Object[] { "###", "###", "###", '#', new ItemStack(ModItems.nugget_euphemium, 1, 34) }); @@ -454,6 +465,7 @@ public class CraftingManager { GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_combine_factory), 1), new Object[] { "HCH", "STS", "RFR", 'H', ModItems.tank_steel, 'C', ModItems.coil_advanced_torus, 'S', "plateSteel", 'T', ModBlocks.block_magnetized_tungsten, 'R', ModItems.wire_red_copper, 'F', Item.getItemFromBlock(ModBlocks.machine_difurnace_off) })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_teleporter), 1), new Object[] { "PTP", "FKF", "BBB", 'P', "plateTitanium", 'T', ModItems.telepad, 'F', Item.getItemFromBlock(ModBlocks.factory_advanced_hull), 'K', ModItems.entanglement_kit, 'B', Item.getItemFromBlock(ModBlocks.machine_battery) })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_rtg_grey), 1), new Object[] { "UPU", "UWU", "UPU", 'P', "plateSteel", 'U', ModItems.rtg_unit, 'W', ModBlocks.red_wire_coated })); + GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_cyclotron), 1), new Object[] { "PTP", "PCP", "WBW", 'P', ModItems.board_copper, 'T', ModItems.cyclotron_tower, 'C', ModBlocks.fusion_core, 'W', ModBlocks.red_wire_coated, 'B', ModBlocks.machine_battery }); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.factory_titanium_hull), 1), new Object[] { "PIP", "I I", "PIP", 'P', "plateTitanium", 'I', "ingotTitanium" })); GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.factory_titanium_furnace), 1), new Object[] { "HMH", "MFM", "HMH", 'H', Item.getItemFromBlock(ModBlocks.factory_titanium_hull), 'M', ModItems.motor, 'F', Item.getItemFromBlock(Blocks.furnace) }); @@ -481,6 +493,8 @@ public class CraftingManager { GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.screwdriver, 1), new Object[] { " I", " I ", "S ", 'S', "ingotSteel", 'I', "ingotIron" })); GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.overfuse, 1), new Object[] { ModItems.screwdriver, "dustNeptunium", ModItems.powder_iodine, ModItems.powder_thorium, ModItems.powder_astatine, ModItems.powder_neodymium, ModItems.board_copper, ModItems.black_hole, ModItems.powder_caesium })); GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.overfuse, 1), new Object[] { ModItems.screwdriver, ModItems.powder_strontium, ModItems.powder_bromine, ModItems.powder_cobalt, ModItems.powder_tennessine, ModItems.powder_niobium, ModItems.board_copper, ModItems.black_hole, ModItems.powder_cerium })); + GameRegistry.addRecipe(new ItemStack(ModItems.crystal_energy, 1), new Object[] { "EEE", "EGE", "EEE", 'E', ModItems.powder_power, 'G', Items.glowstone_dust }); + GameRegistry.addRecipe(new ItemStack(ModItems.pellet_coolant, 1), new Object[] { "CRC", "RBR", "CRC", 'C', ModItems.powder_ice, 'R', ModItems.rod_quad_coolant, 'B', ModBlocks.block_niter }); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.thermo_element, 1), new Object[] { "GRG", "APA", "GRG", 'P', "plateSteel", 'G', Items.gold_nugget, 'R', ModItems.wire_red_copper, 'A', ModItems.wire_aluminium })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.limiter, 1), new Object[] { "SC", "SC", "LS", 'S', "plateSteel", 'C', ModItems.circuit_copper, 'L', "plateLead" })); @@ -627,6 +641,7 @@ public class CraftingManager { GameRegistry.addRecipe(new ItemStack(ModItems.grenade_mk2, 2), new Object[] { " G ", "SGS", " S ", 'G', ModItems.grenade_strong, 'S', Items.gunpowder }); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.grenade_pulse, 4), new Object[] { "WPW", "WSW", "SMS", 'W', ModItems.wire_red_copper, 'P', "plateIron", 'S', "plateSteel", 'M', ModItems.magnetron })); GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.grenade_lemon, 1), new Object[] { ModItems.lemon, ModItems.grenade_strong })); + GameRegistry.addRecipe(new ItemStack(ModItems.grenade_black_hole, 1), new Object[] { " C ", "PBP", "PCP", 'C', ModItems.coil_advanced_alloy, 'P', ModItems.ingot_polymer, 'B', ModItems.black_hole }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.gun_moist_nugget, 12), new Object[] { Items.bread, Items.wheat, Items.cooked_chicken, Items.egg }); GameRegistry.addRecipe(new ItemStack(ModItems.bomb_waffle, 1), new Object[] { "WEW", "MPM", "WEW", 'W', Items.wheat, 'E', Items.egg, 'M', Items.milk_bucket, 'P', ModItems.man_core }); @@ -792,6 +807,10 @@ public class CraftingManager { GameRegistry.addRecipe(new ItemStack(ModItems.cmb_axe, 1), new Object[] { "II", "IS", " S", 'I', ModItems.ingot_combine_steel, 'S', Items.stick }); GameRegistry.addRecipe(new ItemStack(ModItems.cmb_shovel, 1), new Object[] { "I", "S", "S", 'I', ModItems.ingot_combine_steel, 'S', Items.stick }); GameRegistry.addRecipe(new ItemStack(ModItems.cmb_hoe, 1), new Object[] { "II", " S", " S", 'I', ModItems.ingot_combine_steel, 'S', Items.stick }); + GameRegistry.addRecipe(new ItemStack(ModItems.elec_sword, 1), new Object[] { "RPR", "RPR", " B ", 'P', ModItems.ingot_polymer, 'D', ModItems.ingot_dura_steel, 'R', ModItems.bolt_dura_steel, 'M', ModItems.motor, 'B', ModItems.battery_generic }); + GameRegistry.addRecipe(new ItemStack(ModItems.elec_pickaxe, 1), new Object[] { "RDM", " PB", " P ", 'P', ModItems.ingot_polymer, 'D', ModItems.ingot_dura_steel, 'R', ModItems.bolt_dura_steel, 'M', ModItems.motor, 'B', ModItems.battery_generic }); + GameRegistry.addRecipe(new ItemStack(ModItems.elec_axe, 1), new Object[] { " DP", "RRM", " PB", 'P', ModItems.ingot_polymer, 'D', ModItems.ingot_dura_steel, 'R', ModItems.bolt_dura_steel, 'M', ModItems.motor, 'B', ModItems.battery_generic }); + GameRegistry.addRecipe(new ItemStack(ModItems.elec_shovel, 1), new Object[] { " P", "RRM", " B", 'P', ModItems.ingot_polymer, 'D', ModItems.ingot_dura_steel, 'R', ModItems.bolt_dura_steel, 'M', ModItems.motor, 'B', ModItems.battery_generic }); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.chainsaw, 1), new Object[] { "TTG", "SSM", 'T', "plateIron", 'S', "plateSteel", 'M', ModItems.motor, 'G', ModItems.circuit_gold })); diff --git a/com/hbm/main/MainRegistry.java b/com/hbm/main/MainRegistry.java index ddbd67cc9..dde922701 100644 --- a/com/hbm/main/MainRegistry.java +++ b/com/hbm/main/MainRegistry.java @@ -194,6 +194,7 @@ public class MainRegistry public static ToolMaterial enumToolMaterialTitanium = EnumHelper.addToolMaterial("TITANIUM", 3, 750, 9.0F, 2.5F, 15); public static ToolMaterial enumToolMaterialAlloy= EnumHelper.addToolMaterial("ALLOY", 3, 2000, 15.0F, 5.0F, 5); public static ToolMaterial enumToolMaterialCmb = EnumHelper.addToolMaterial("CMB", 3, 8500, 40.0F, 55F, 100); + public static ToolMaterial enumToolMaterialElec = EnumHelper.addToolMaterial("ELEC", 3, 4700, 30.0F, 12.0F, 2); public static ToolMaterial enumToolMaterialSaw = EnumHelper.addToolMaterial("SAW", 2, 750, 2.0F, 3.5F, 25); public static ToolMaterial enumToolMaterialBat = EnumHelper.addToolMaterial("BAT", 0, 500, 1.5F, 3F, 25); @@ -497,6 +498,8 @@ public class MainRegistry OreDictionary.registerOre("ingotUnobtainium", ModItems.ingot_unobtainium); OreDictionary.registerOre("ingotDaffergon", ModItems.ingot_daffergon); OreDictionary.registerOre("ingotVerticium", ModItems.ingot_verticium); + OreDictionary.registerOre("ingotDuraSteel", ModItems.ingot_dura_steel); + OreDictionary.registerOre("ingotPolymer", ModItems.ingot_polymer); OreDictionary.registerOre("ingotLanthanium", ModItems.ingot_lanthanium); OreDictionary.registerOre("ingotActinium", ModItems.ingot_actinium); OreDictionary.registerOre("dustFluorite", ModItems.fluorite); @@ -561,6 +564,8 @@ public class MainRegistry OreDictionary.registerOre("dustUnobtainium", ModItems.powder_unobtainium); OreDictionary.registerOre("dustDaffergon", ModItems.powder_daffergon); OreDictionary.registerOre("dustVerticium", ModItems.powder_verticium); + OreDictionary.registerOre("dustDuraSteel", ModItems.powder_dura_steel); + OreDictionary.registerOre("dustPolymer", ModItems.powder_polymer); OreDictionary.registerOre("dustLanthanium", ModItems.powder_lanthanium); OreDictionary.registerOre("dustActinium", ModItems.powder_actinium); diff --git a/com/hbm/tileentity/TileEntityFWatzCore.java b/com/hbm/tileentity/TileEntityFWatzCore.java index 30488cce8..2a0e3a9c7 100644 --- a/com/hbm/tileentity/TileEntityFWatzCore.java +++ b/com/hbm/tileentity/TileEntityFWatzCore.java @@ -349,31 +349,9 @@ public class TileEntityFWatzCore extends TileEntity implements ISidedInventory, if(power > maxPower) power = maxPower; - if(power - 100 >= 0 && slots[0] != null && slots[0].getItem() == ModItems.battery_generic && slots[0].getItemDamage() > 0) - { - power -= 100; - slots[0].setItemDamage(slots[0].getItemDamage() - 1); - } - if(power - 100 >= 0 && slots[0] != null && slots[0].getItem() == ModItems.battery_advanced && slots[0].getItemDamage() > 0) - { - power -= 100; - slots[0].setItemDamage(slots[0].getItemDamage() - 1); - } - if(power - 100 >= 0 && slots[0] != null && slots[0].getItem() == ModItems.battery_schrabidium && slots[0].getItemDamage() > 0) - { - power -= 100; - slots[0].setItemDamage(slots[0].getItemDamage() - 1); - } - if(power - 100 >= 0 && slots[0] != null && slots[0].getItem() == ModItems.factory_core_titanium && slots[0].getItemDamage() > 0) - { - power -= 100; - slots[0].setItemDamage(slots[0].getItemDamage() - 1); - } - if(power - 100 >= 0 && slots[0] != null && slots[0].getItem() == ModItems.factory_core_advanced && slots[0].getItemDamage() > 0) - { - power -= 100; - slots[0].setItemDamage(slots[0].getItemDamage() - 1); - } + power = Library.chargeItemsFromTE(slots, 0, power, maxPower); + + if(amat + 1000000 <= maxAmat && slots[3] != null && slots[3].getItem() == ModItems.cell_antimatter) { this.slots[3].stackSize--; diff --git a/com/hbm/tileentity/TileEntityFusionMultiblock.java b/com/hbm/tileentity/TileEntityFusionMultiblock.java index b16698d98..d788b76a9 100644 --- a/com/hbm/tileentity/TileEntityFusionMultiblock.java +++ b/com/hbm/tileentity/TileEntityFusionMultiblock.java @@ -1122,31 +1122,8 @@ public class TileEntityFusionMultiblock extends TileEntity implements ISidedInve { emptyPlasma(); } - if(power - 100 >= 0 && slots[1] != null && slots[1].getItem() == ModItems.battery_generic && slots[1].getItemDamage() > 0) - { - power -= 100; - slots[1].setItemDamage(slots[1].getItemDamage() - 1); - } - if(power - 100 >= 0 && slots[1] != null && slots[1].getItem() == ModItems.battery_advanced && slots[1].getItemDamage() > 0) - { - power -= 100; - slots[1].setItemDamage(slots[1].getItemDamage() - 1); - } - if(power - 100 >= 0 && slots[1] != null && slots[1].getItem() == ModItems.battery_schrabidium && slots[1].getItemDamage() > 0) - { - power -= 100; - slots[1].setItemDamage(slots[1].getItemDamage() - 1); - } - if(power - 100 >= 0 && slots[1] != null && slots[1].getItem() == ModItems.factory_core_titanium && slots[1].getItemDamage() > 0) - { - power -= 100; - slots[1].setItemDamage(slots[1].getItemDamage() - 1); - } - if(power - 100 >= 0 && slots[1] != null && slots[1].getItem() == ModItems.factory_core_advanced && slots[1].getItemDamage() > 0) - { - power -= 100; - slots[1].setItemDamage(slots[1].getItemDamage() - 1); - } + + power = Library.chargeItemsFromTE(slots, 1, power, maxPower); } } diff --git a/com/hbm/tileentity/TileEntityLaunchPad.java b/com/hbm/tileentity/TileEntityLaunchPad.java index a04e00afc..1e8ca87a8 100644 --- a/com/hbm/tileentity/TileEntityLaunchPad.java +++ b/com/hbm/tileentity/TileEntityLaunchPad.java @@ -4,6 +4,7 @@ import com.hbm.blocks.bomb.LaunchPad; import com.hbm.interfaces.IConductor; import com.hbm.interfaces.IConsumer; import com.hbm.items.ModItems; +import com.hbm.lib.Library; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -194,41 +195,9 @@ public class TileEntityLaunchPad extends TileEntity implements ISidedInventory, @Override public void updateEntity() { + - if(/*power + 100 <= maxPower && */slots[2] != null && slots[2].getItem() == ModItems.battery_creative) - { - power = maxPower; - } - - if(power + 100 <= maxPower && slots[2] != null && slots[2].getItem() == ModItems.battery_generic && slots[2].getItemDamage() < 50) - { - power += 100; - slots[2].setItemDamage(slots[2].getItemDamage() + 1); - } - - if(power + 100 <= maxPower && slots[2] != null && slots[2].getItem() == ModItems.battery_advanced && slots[2].getItemDamage() < 200) - { - power += 100; - slots[2].setItemDamage(slots[2].getItemDamage() + 1); - } - - if(power + 100 <= maxPower && slots[2] != null && slots[2].getItem() == ModItems.battery_schrabidium && slots[2].getItemDamage() < 10000) - { - power += 100; - slots[2].setItemDamage(slots[2].getItemDamage() + 1); - } - - if(power + 100 <= maxPower && slots[2] != null && slots[2].getItem() == ModItems.fusion_core && slots[2].getItemDamage() < 5000) - { - power += 100; - slots[2].setItemDamage(slots[2].getItemDamage() + 1); - } - - if(power + 100 <= maxPower && slots[2] != null && slots[2].getItem() == ModItems.energy_core && slots[2].getItemDamage() < 5000) - { - power += 100; - slots[2].setItemDamage(slots[2].getItemDamage() + 1); - } + power = Library.chargeTEFromItems(slots, 2, power, maxPower); this.preState = this.state; diff --git a/com/hbm/tileentity/TileEntityMachineBattery.java b/com/hbm/tileentity/TileEntityMachineBattery.java index 48d426abe..432b4f941 100644 --- a/com/hbm/tileentity/TileEntityMachineBattery.java +++ b/com/hbm/tileentity/TileEntityMachineBattery.java @@ -206,34 +206,12 @@ public class TileEntityMachineBattery extends TileEntity implements ISidedInvent if(age == 9 || age == 19) ffgeuaInit(); } - - if(power - 100 >= 0 && slots[1] != null && slots[1].getItem() == ModItems.battery_generic && slots[1].getItemDamage() > 0) - { - power -= 100; - slots[1].setItemDamage(slots[1].getItemDamage() - 1); - } - if(power - 100 >= 0 && slots[1] != null && slots[1].getItem() == ModItems.battery_advanced && slots[1].getItemDamage() > 0) - { - power -= 100; - slots[1].setItemDamage(slots[1].getItemDamage() - 1); - } - if(power - 100 >= 0 && slots[1] != null && slots[1].getItem() == ModItems.battery_schrabidium && slots[1].getItemDamage() > 0) - { - power -= 100; - slots[1].setItemDamage(slots[1].getItemDamage() - 1); - } - if(power - 100 >= 0 && slots[1] != null && slots[1].getItem() == ModItems.factory_core_titanium && slots[1].getItemDamage() > 0) - { - power -= 100; - slots[1].setItemDamage(slots[1].getItemDamage() - 1); - } - if(power - 100 >= 0 && slots[1] != null && slots[1].getItem() == ModItems.factory_core_advanced && slots[1].getItemDamage() > 0) - { - power -= 100; - slots[1].setItemDamage(slots[1].getItemDamage() - 1); - } - if(slots[0] != null && slots[0].getItem() == ModItems.battery_creative) + power = Library.chargeTEFromItems(slots, 0, power, maxPower); + + power = Library.chargeItemsFromTE(slots, 1, power, maxPower); + + /*if(slots[0] != null && slots[0].getItem() == ModItems.battery_creative) { power = maxPower; } @@ -266,7 +244,7 @@ public class TileEntityMachineBattery extends TileEntity implements ISidedInvent { power += 100; slots[0].setItemDamage(slots[0].getItemDamage() + 1); - } + }*/ } @Override diff --git a/com/hbm/tileentity/TileEntityMachineCMBFactory.java b/com/hbm/tileentity/TileEntityMachineCMBFactory.java index 782478506..6e77e023f 100644 --- a/com/hbm/tileentity/TileEntityMachineCMBFactory.java +++ b/com/hbm/tileentity/TileEntityMachineCMBFactory.java @@ -3,6 +3,7 @@ package com.hbm.tileentity; import com.hbm.interfaces.IConsumer; import com.hbm.items.ModItems; import com.hbm.items.special.ItemBattery; +import com.hbm.lib.Library; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Items; @@ -278,40 +279,8 @@ public class TileEntityMachineCMBFactory extends TileEntity implements ISidedInv public void updateEntity() { if (!worldObj.isRemote) { - - if (slots[0] != null && slots[0].getItem() == ModItems.battery_creative) { - power = maxPower; - } - - if (power + 100 <= maxPower && slots[0] != null && slots[0].getItem() == ModItems.battery_generic - && slots[0].getItemDamage() < 50) { - power += 100; - slots[0].setItemDamage(slots[0].getItemDamage() + 1); - } - - if (power + 100 <= maxPower && slots[0] != null && slots[0].getItem() == ModItems.battery_advanced - && slots[0].getItemDamage() < 200) { - power += 100; - slots[0].setItemDamage(slots[0].getItemDamage() + 1); - } - - if (power + 100 <= maxPower && slots[0] != null && slots[0].getItem() == ModItems.battery_schrabidium - && slots[0].getItemDamage() < 1000) { - power += 100; - slots[0].setItemDamage(slots[0].getItemDamage() + 1); - } - - if (power + 100 <= maxPower && slots[0] != null && slots[0].getItem() == ModItems.fusion_core - && slots[0].getItemDamage() < 5000) { - power += 100; - slots[0].setItemDamage(slots[0].getItemDamage() + 1); - } - - if (power + 100 <= maxPower && slots[0] != null && slots[0].getItem() == ModItems.energy_core - && slots[0].getItemDamage() < 5000) { - power += 100; - slots[0].setItemDamage(slots[0].getItemDamage() + 1); - } + + power = Library.chargeTEFromItems(slots, 0, power, maxPower); if(waste + 500 <= maxFill && slots[2] != null && slots[2].getItem() == ModItems.bucket_mud) { waste += 500; diff --git a/com/hbm/tileentity/TileEntityMachineCoal.java b/com/hbm/tileentity/TileEntityMachineCoal.java index 40bd731d6..dc229532f 100644 --- a/com/hbm/tileentity/TileEntityMachineCoal.java +++ b/com/hbm/tileentity/TileEntityMachineCoal.java @@ -274,31 +274,8 @@ public class TileEntityMachineCoal extends TileEntity implements ISidedInventory } //Battery Item - if(power - 100 >= 0 && slots[2] != null && slots[2].getItem() == ModItems.battery_generic && slots[2].getItemDamage() > 0) - { - power -= 100; - slots[2].setItemDamage(slots[2].getItemDamage() - 1); - } - if(power - 100 >= 0 && slots[2] != null && slots[2].getItem() == ModItems.battery_advanced && slots[2].getItemDamage() > 0) - { - power -= 100; - slots[2].setItemDamage(slots[2].getItemDamage() - 1); - } - if(power - 100 >= 0 && slots[2] != null && slots[2].getItem() == ModItems.battery_schrabidium && slots[2].getItemDamage() > 0) - { - power -= 100; - slots[2].setItemDamage(slots[2].getItemDamage() - 1); - } - if(power - 100 >= 0 && slots[2] != null && slots[2].getItem() == ModItems.factory_core_titanium && slots[2].getItemDamage() > 0) - { - power -= 100; - slots[2].setItemDamage(slots[2].getItemDamage() - 1); - } - if(power - 100 >= 0 && slots[2] != null && slots[2].getItem() == ModItems.factory_core_advanced && slots[2].getItemDamage() > 0) - { - power -= 100; - slots[2].setItemDamage(slots[2].getItemDamage() - 1); - } + + power = Library.chargeItemsFromTE(slots, 2, power, maxPower); boolean flag = this.burnTime > 0; boolean flag1 = false; diff --git a/com/hbm/tileentity/TileEntityMachineCyclotron.java b/com/hbm/tileentity/TileEntityMachineCyclotron.java index 672c9d7b6..bdc10d9ef 100644 --- a/com/hbm/tileentity/TileEntityMachineCyclotron.java +++ b/com/hbm/tileentity/TileEntityMachineCyclotron.java @@ -247,6 +247,10 @@ public class TileEntityMachineCyclotron extends TileEntity implements ISidedInve slots[7] = null; } + if(getCoolantTicksLeft() == 100) { + this.worldObj.playSoundEffect(this.xCoord, this.yCoord, this.zCoord, "hbm:block.shutdown", 10.0F, 1.0F); + } + if(getHeatLevel() == 1) { ExplosionChaos.flameDeath(worldObj, this.xCoord, this.yCoord, zCoord, 15); } @@ -318,6 +322,8 @@ public class TileEntityMachineCyclotron extends TileEntity implements ISidedInve } else { progress = 0; } + + power = Library.chargeItemsFromTE(slots, 9, power, maxPower); } } @@ -483,6 +489,15 @@ public class TileEntityMachineCyclotron extends TileEntity implements ISidedInve return 4; } + public int getCoolantTicksLeft() { + if(slots[7] != null && slots[7].getItem() == ModItems.pellet_coolant) { + int i = slots[7].getMaxDamage() - slots[7].getItemDamage(); + return i; + } + + return 0; + } + public boolean isPart(ItemStack stack) { if(stack != null) { if(stack.getItem() == ModItems.part_lithium) diff --git a/com/hbm/tileentity/TileEntityMachineDeuterium.java b/com/hbm/tileentity/TileEntityMachineDeuterium.java index c26b526e0..b09496976 100644 --- a/com/hbm/tileentity/TileEntityMachineDeuterium.java +++ b/com/hbm/tileentity/TileEntityMachineDeuterium.java @@ -4,6 +4,7 @@ import com.hbm.interfaces.IConductor; import com.hbm.interfaces.IConsumer; import com.hbm.items.ModItems; import com.hbm.items.special.ItemBattery; +import com.hbm.lib.Library; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Items; @@ -322,40 +323,8 @@ public class TileEntityMachineDeuterium extends TileEntity implements ISidedInve if (slots[1] != null && slots[1].getItem() == ModItems.inf_water) { water = maxFill; } - - if (/* power + 100 <= maxPower && */slots[0] != null && slots[0].getItem() == ModItems.battery_creative) { - power = maxPower; - } - - if (power + 100 <= maxPower && slots[0] != null && slots[0].getItem() == ModItems.battery_generic - && slots[0].getItemDamage() < 50) { - power += 100; - slots[0].setItemDamage(slots[0].getItemDamage() + 1); - } - - if (power + 100 <= maxPower && slots[0] != null && slots[0].getItem() == ModItems.battery_advanced - && slots[0].getItemDamage() < 200) { - power += 100; - slots[0].setItemDamage(slots[0].getItemDamage() + 1); - } - - if (power + 100 <= maxPower && slots[0] != null && slots[0].getItem() == ModItems.battery_schrabidium - && slots[0].getItemDamage() < 1000) { - power += 100; - slots[0].setItemDamage(slots[0].getItemDamage() + 1); - } - - if (power + 100 <= maxPower && slots[0] != null && slots[0].getItem() == ModItems.fusion_core - && slots[0].getItemDamage() < 5000) { - power += 100; - slots[0].setItemDamage(slots[0].getItemDamage() + 1); - } - - if (power + 100 <= maxPower && slots[0] != null && slots[0].getItem() == ModItems.energy_core - && slots[0].getItemDamage() < 5000) { - power += 100; - slots[0].setItemDamage(slots[0].getItemDamage() + 1); - } + + power = Library.chargeTEFromItems(slots, 0, power, maxPower); if (canProcess()) { process(); diff --git a/com/hbm/tileentity/TileEntityMachineDiesel.java b/com/hbm/tileentity/TileEntityMachineDiesel.java index e11a55641..48986c5a3 100644 --- a/com/hbm/tileentity/TileEntityMachineDiesel.java +++ b/com/hbm/tileentity/TileEntityMachineDiesel.java @@ -295,31 +295,8 @@ public class TileEntityMachineDiesel extends TileEntity implements ISidedInvento } // Battery Item - if (power - 100 >= 0 && slots[2] != null && slots[2].getItem() == ModItems.battery_generic - && slots[2].getItemDamage() > 0) { - power -= 100; - slots[2].setItemDamage(slots[2].getItemDamage() - 1); - } - if (power - 100 >= 0 && slots[2] != null && slots[2].getItem() == ModItems.battery_advanced - && slots[2].getItemDamage() > 0) { - power -= 100; - slots[2].setItemDamage(slots[2].getItemDamage() - 1); - } - if (power - 100 >= 0 && slots[2] != null && slots[2].getItem() == ModItems.battery_schrabidium - && slots[2].getItemDamage() > 0) { - power -= 100; - slots[2].setItemDamage(slots[2].getItemDamage() - 1); - } - if (power - 100 >= 0 && slots[2] != null && slots[2].getItem() == ModItems.factory_core_titanium - && slots[2].getItemDamage() > 0) { - power -= 100; - slots[2].setItemDamage(slots[2].getItemDamage() - 1); - } - if (power - 100 >= 0 && slots[2] != null && slots[2].getItem() == ModItems.factory_core_advanced - && slots[2].getItemDamage() > 0) { - power -= 100; - slots[2].setItemDamage(slots[2].getItemDamage() - 1); - } + + power = Library.chargeItemsFromTE(slots, 2, power, maxPower); generate(); } diff --git a/com/hbm/tileentity/TileEntityMachineElectricFurnace.java b/com/hbm/tileentity/TileEntityMachineElectricFurnace.java index 401d46a67..c912571b7 100644 --- a/com/hbm/tileentity/TileEntityMachineElectricFurnace.java +++ b/com/hbm/tileentity/TileEntityMachineElectricFurnace.java @@ -6,6 +6,7 @@ import com.hbm.interfaces.IConsumer; import com.hbm.inventory.MachineRecipes; import com.hbm.items.ModItems; import com.hbm.items.special.ItemBattery; +import com.hbm.lib.Library; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Items; @@ -306,40 +307,7 @@ public class TileEntityMachineElectricFurnace extends TileEntity implements ISid } } - if(/*power + 100 <= maxPower && */slots[0] != null && slots[0].getItem() == ModItems.battery_creative) - { - power = maxPower; - } - - if(power + 100 <= maxPower && slots[0] != null && slots[0].getItem() == ModItems.battery_generic && slots[0].getItemDamage() < 50) - { - power += 100; - slots[0].setItemDamage(slots[0].getItemDamage() + 1); - } - - if(power + 100 <= maxPower && slots[0] != null && slots[0].getItem() == ModItems.battery_advanced && slots[0].getItemDamage() < 200) - { - power += 100; - slots[0].setItemDamage(slots[0].getItemDamage() + 1); - } - - if(power + 100 <= maxPower && slots[0] != null && slots[0].getItem() == ModItems.battery_schrabidium && slots[0].getItemDamage() < 10000) - { - power += 100; - slots[0].setItemDamage(slots[0].getItemDamage() + 1); - } - - if(power + 100 <= maxPower && slots[0] != null && slots[0].getItem() == ModItems.fusion_core && slots[0].getItemDamage() < 5000) - { - power += 100; - slots[0].setItemDamage(slots[0].getItemDamage() + 1); - } - - if(power + 100 <= maxPower && slots[0] != null && slots[0].getItem() == ModItems.energy_core && slots[0].getItemDamage() < 5000) - { - power += 100; - slots[0].setItemDamage(slots[0].getItemDamage() + 1); - } + power = Library.chargeTEFromItems(slots, 0, power, maxPower); if(flag1) { diff --git a/com/hbm/tileentity/TileEntityMachineGenerator.java b/com/hbm/tileentity/TileEntityMachineGenerator.java index ff84b2f11..c69e1e7a3 100644 --- a/com/hbm/tileentity/TileEntityMachineGenerator.java +++ b/com/hbm/tileentity/TileEntityMachineGenerator.java @@ -574,31 +574,8 @@ public class TileEntityMachineGenerator extends TileEntity implements ISidedInve } //Batteries - if(power - 100 >= 0 && slots[11] != null && slots[11].getItem() == ModItems.battery_generic && slots[11].getItemDamage() > 0) - { - power -= 100; - slots[11].setItemDamage(slots[11].getItemDamage() - 1); - } - if(power - 100 >= 0 && slots[11] != null && slots[11].getItem() == ModItems.battery_advanced && slots[11].getItemDamage() > 0) - { - power -= 100; - slots[11].setItemDamage(slots[11].getItemDamage() - 1); - } - if(power - 100 >= 0 && slots[11] != null && slots[11].getItem() == ModItems.battery_schrabidium && slots[11].getItemDamage() > 0) - { - power -= 100; - slots[11].setItemDamage(slots[11].getItemDamage() - 1); - } - if(power - 100 >= 0 && slots[11] != null && slots[11].getItem() == ModItems.factory_core_titanium && slots[11].getItemDamage() > 0) - { - power -= 100; - slots[11].setItemDamage(slots[11].getItemDamage() - 1); - } - if(power - 100 >= 0 && slots[11] != null && slots[11].getItem() == ModItems.factory_core_advanced && slots[11].getItemDamage() > 0) - { - power -= 100; - slots[11].setItemDamage(slots[11].getItemDamage() - 1); - } + + power = Library.chargeItemsFromTE(slots, 11, power, powerMax); } public void attemptPower(int i) { diff --git a/com/hbm/tileentity/TileEntityMachineIGenerator.java b/com/hbm/tileentity/TileEntityMachineIGenerator.java index 559440f38..39ba3c067 100644 --- a/com/hbm/tileentity/TileEntityMachineIGenerator.java +++ b/com/hbm/tileentity/TileEntityMachineIGenerator.java @@ -455,31 +455,7 @@ public class TileEntityMachineIGenerator extends TileEntity implements ISidedInv } public void doBatteryTask() { - if(power - 100 >= 0 && slots[15] != null && slots[15].getItem() == ModItems.battery_generic && slots[15].getItemDamage() > 0) - { - power -= 100; - slots[15].setItemDamage(slots[15].getItemDamage() - 1); - } - if(power - 100 >= 0 && slots[15] != null && slots[15].getItem() == ModItems.battery_advanced && slots[15].getItemDamage() > 0) - { - power -= 100; - slots[15].setItemDamage(slots[15].getItemDamage() - 1); - } - if(power - 100 >= 0 && slots[15] != null && slots[15].getItem() == ModItems.battery_schrabidium && slots[15].getItemDamage() > 0) - { - power -= 100; - slots[15].setItemDamage(slots[15].getItemDamage() - 1); - } - if(power - 100 >= 0 && slots[15] != null && slots[15].getItem() == ModItems.factory_core_titanium && slots[15].getItemDamage() > 0) - { - power -= 100; - slots[15].setItemDamage(slots[15].getItemDamage() - 1); - } - if(power - 100 >= 0 && slots[15] != null && slots[15].getItem() == ModItems.factory_core_advanced && slots[15].getItemDamage() > 0) - { - power -= 100; - slots[15].setItemDamage(slots[15].getItemDamage() - 1); - } + power = Library.chargeItemsFromTE(slots, 15, power, maxPower); } public int canLocateThermalElement() { diff --git a/com/hbm/tileentity/TileEntityMachineSchrabidiumTransmutator.java b/com/hbm/tileentity/TileEntityMachineSchrabidiumTransmutator.java index 76c91960e..2758f1e4f 100644 --- a/com/hbm/tileentity/TileEntityMachineSchrabidiumTransmutator.java +++ b/com/hbm/tileentity/TileEntityMachineSchrabidiumTransmutator.java @@ -5,6 +5,7 @@ import java.util.Random; import com.hbm.interfaces.IConsumer; import com.hbm.items.ModItems; import com.hbm.items.special.ItemBattery; +import com.hbm.lib.Library; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.ISidedInventory; @@ -264,40 +265,8 @@ public class TileEntityMachineSchrabidiumTransmutator extends TileEntity impleme public void updateEntity() { if (!worldObj.isRemote) { - if (slots[3] != null && slots[3].getItem() == ModItems.battery_creative) { - power = maxPower; - } - - if (power + 100 <= maxPower && slots[3] != null && slots[3].getItem() == ModItems.battery_generic - && slots[3].getItemDamage() < 50) { - power += 100; - slots[3].setItemDamage(slots[3].getItemDamage() + 1); - } - - if (power + 100 <= maxPower && slots[3] != null && slots[3].getItem() == ModItems.battery_advanced - && slots[3].getItemDamage() < 200) { - power += 100; - slots[3].setItemDamage(slots[3].getItemDamage() + 1); - } - - if (power + 100 <= maxPower && slots[3] != null && slots[3].getItem() == ModItems.battery_schrabidium - && slots[3].getItemDamage() < 10000) { - power += 100; - slots[3].setItemDamage(slots[3].getItemDamage() + 1); - } - - if (power + 100 <= maxPower && slots[3] != null && slots[3].getItem() == ModItems.fusion_core - && slots[3].getItemDamage() < 5000) { - power += 100; - slots[3].setItemDamage(slots[3].getItemDamage() + 1); - } - - if (power + 100 <= maxPower && slots[3] != null && slots[3].getItem() == ModItems.energy_core - && slots[3].getItemDamage() < 5000) { - power += 100; - slots[3].setItemDamage(slots[3].getItemDamage() + 1); - } - } + + power = Library.chargeTEFromItems(slots, 3, power, maxPower); if (canProcess()) { @@ -307,6 +276,7 @@ public class TileEntityMachineSchrabidiumTransmutator extends TileEntity impleme } else { process = 0; } + } } @Override diff --git a/com/hbm/tileentity/TileEntityMachineShredder.java b/com/hbm/tileentity/TileEntityMachineShredder.java index 70e08b6b8..e53582677 100644 --- a/com/hbm/tileentity/TileEntityMachineShredder.java +++ b/com/hbm/tileentity/TileEntityMachineShredder.java @@ -260,40 +260,7 @@ public class TileEntityMachineShredder extends TileEntity implements ISidedInven } } - if(/*power + 100 <= maxPower && */slots[29] != null && slots[29].getItem() == ModItems.battery_creative) - { - power = maxPower; - } - - if(power + 100 <= maxPower && slots[29] != null && slots[29].getItem() == ModItems.battery_generic && slots[29].getItemDamage() < 50) - { - power += 100; - slots[29].setItemDamage(slots[29].getItemDamage() + 1); - } - - if(power + 100 <= maxPower && slots[29] != null && slots[29].getItem() == ModItems.battery_advanced && slots[29].getItemDamage() < 200) - { - power += 100; - slots[29].setItemDamage(slots[29].getItemDamage() + 1); - } - - if(power + 100 <= maxPower && slots[29] != null && slots[29].getItem() == ModItems.battery_schrabidium && slots[29].getItemDamage() < 10000) - { - power += 100; - slots[29].setItemDamage(slots[29].getItemDamage() + 1); - } - - if(power + 100 <= maxPower && slots[29] != null && slots[29].getItem() == ModItems.fusion_core && slots[29].getItemDamage() < 5000) - { - power += 100; - slots[29].setItemDamage(slots[29].getItemDamage() + 1); - } - - if(power + 100 <= maxPower && slots[29] != null && slots[29].getItem() == ModItems.energy_core && slots[29].getItemDamage() < 5000) - { - power += 100; - slots[29].setItemDamage(slots[29].getItemDamage() + 1); - } + power = Library.chargeTEFromItems(slots, 29, power, maxPower); if(flag1) { diff --git a/com/hbm/tileentity/TileEntityReactorMultiblock.java b/com/hbm/tileentity/TileEntityReactorMultiblock.java index b43c52cac..33a5e041b 100644 --- a/com/hbm/tileentity/TileEntityReactorMultiblock.java +++ b/com/hbm/tileentity/TileEntityReactorMultiblock.java @@ -589,31 +589,8 @@ public class TileEntityReactorMultiblock extends TileEntity implements ISidedInv } //Batteries - if(power - 100 >= 0 && slots[32] != null && slots[32].getItem() == ModItems.battery_generic && slots[32].getItemDamage() > 0) - { - power -= 100; - slots[32].setItemDamage(slots[32].getItemDamage() - 1); - } - if(power - 100 >= 0 && slots[32] != null && slots[32].getItem() == ModItems.battery_advanced && slots[32].getItemDamage() > 0) - { - power -= 100; - slots[32].setItemDamage(slots[32].getItemDamage() - 1); - } - if(power - 100 >= 0 && slots[32] != null && slots[32].getItem() == ModItems.battery_schrabidium && slots[32].getItemDamage() > 0) - { - power -= 100; - slots[32].setItemDamage(slots[32].getItemDamage() - 1); - } - if(power - 100 >= 0 && slots[32] != null && slots[32].getItem() == ModItems.factory_core_titanium && slots[32].getItemDamage() > 0) - { - power -= 100; - slots[32].setItemDamage(slots[32].getItemDamage() - 1); - } - if(power - 100 >= 0 && slots[32] != null && slots[32].getItem() == ModItems.factory_core_advanced && slots[32].getItemDamage() > 0) - { - power -= 100; - slots[32].setItemDamage(slots[32].getItemDamage() - 1); - } + + power = Library.chargeItemsFromTE(slots, 32, power, maxPower); } } diff --git a/com/hbm/tileentity/TileEntityWatzCore.java b/com/hbm/tileentity/TileEntityWatzCore.java index 6d0310b3a..78e60cc18 100644 --- a/com/hbm/tileentity/TileEntityWatzCore.java +++ b/com/hbm/tileentity/TileEntityWatzCore.java @@ -564,31 +564,7 @@ public class TileEntityWatzCore extends TileEntity implements ISidedInventory, I if(waste > wasteMax) emptyWaste(); - if(power - 100 >= 0 && slots[37] != null && slots[37].getItem() == ModItems.battery_generic && slots[37].getItemDamage() > 0) - { - power -= 100; - slots[37].setItemDamage(slots[37].getItemDamage() - 1); - } - if(power - 100 >= 0 && slots[37] != null && slots[37].getItem() == ModItems.battery_advanced && slots[37].getItemDamage() > 0) - { - power -= 100; - slots[37].setItemDamage(slots[37].getItemDamage() - 1); - } - if(power - 100 >= 0 && slots[37] != null && slots[37].getItem() == ModItems.battery_schrabidium && slots[37].getItemDamage() > 0) - { - power -= 100; - slots[37].setItemDamage(slots[37].getItemDamage() - 1); - } - if(power - 100 >= 0 && slots[37] != null && slots[37].getItem() == ModItems.factory_core_titanium && slots[37].getItemDamage() > 0) - { - power -= 100; - slots[37].setItemDamage(slots[37].getItemDamage() - 1); - } - if(power - 100 >= 0 && slots[37] != null && slots[37].getItem() == ModItems.factory_core_advanced && slots[37].getItemDamage() > 0) - { - power -= 100; - slots[37].setItemDamage(slots[37].getItemDamage() - 1); - } + power = Library.chargeItemsFromTE(slots, 37, power, maxPower); if(waste - 2500000 >= 0 && slots[36] != null && slots[36].getItem() == ModItems.tank_waste && slots[36].getItemDamage() < 8) {