diff --git a/assets/hbm/lang/de_DE.lang b/assets/hbm/lang/de_DE.lang index 525b9980a..bf367f115 100644 --- a/assets/hbm/lang/de_DE.lang +++ b/assets/hbm/lang/de_DE.lang @@ -260,6 +260,10 @@ tile.crashed_bomb.name=Blindgänger tile.boxcar.name=Güterwagon tile.crate.name=Vorratskiste +tile.crate_weapon.name=Waffenkiste +tile.crate_lead.name=Gefahrenstoffkiste +tile.crate_metal.name=Maschinenkiste +tile.crate_red.name=Rote Kiste tile.marker_structure.name=Multiblock-Strukturvorlage tile.machine_difurnace_off.name=Legierungshochofen diff --git a/assets/hbm/lang/en_US.lang b/assets/hbm/lang/en_US.lang index cae799e62..6f153739e 100644 --- a/assets/hbm/lang/en_US.lang +++ b/assets/hbm/lang/en_US.lang @@ -260,6 +260,10 @@ item.turret_chip.name=Turret AI-Chip item.turret_biometry.name=Turret Telemetry Card tile.crate.name=Supply Crate +tile.crate_weapon.name=Weapon Crate +tile.crate_lead.name=Hazmat Crate +tile.crate_metal.name=Machine Crate +tile.crate_red.name=Red Crate tile.marker_structure.name=Multiblock Structure Marker tile.machine_difurnace_off.name=Alloy Furnace @@ -1660,4 +1664,5 @@ tile.cheater_virus.name=Gelid Euphemium tile.cheater_virus_seed.name=Unstable Euphemium Schrabide Block item.mysteryshovel.name=Brittle Spade +tile.ntm_dirt.name=Dirt item.memory.name=item.null.name \ No newline at end of file diff --git a/assets/hbm/textures/blocks/crate_lead.png b/assets/hbm/textures/blocks/crate_lead.png new file mode 100644 index 000000000..adf769923 Binary files /dev/null and b/assets/hbm/textures/blocks/crate_lead.png differ diff --git a/assets/hbm/textures/blocks/crate_metal.png b/assets/hbm/textures/blocks/crate_metal.png new file mode 100644 index 000000000..d80eb0125 Binary files /dev/null and b/assets/hbm/textures/blocks/crate_metal.png differ diff --git a/assets/hbm/textures/blocks/crate_red.png b/assets/hbm/textures/blocks/crate_red.png new file mode 100644 index 000000000..cbed5098e Binary files /dev/null and b/assets/hbm/textures/blocks/crate_red.png differ diff --git a/assets/hbm/textures/blocks/crate_weapon.png b/assets/hbm/textures/blocks/crate_weapon.png new file mode 100644 index 000000000..de99db57d Binary files /dev/null and b/assets/hbm/textures/blocks/crate_weapon.png differ diff --git a/com/hbm/blocks/ModBlocks.java b/com/hbm/blocks/ModBlocks.java index bd357fee9..e89ed0e6f 100644 --- a/com/hbm/blocks/ModBlocks.java +++ b/com/hbm/blocks/ModBlocks.java @@ -173,6 +173,10 @@ public class ModBlocks { public static Block rejuvinator; public static Block crate; + public static Block crate_weapon; + public static Block crate_lead; + public static Block crate_metal; + public static Block crate_red; public static Block boxcar; public static Block seal_frame; @@ -822,6 +826,10 @@ public class ModBlocks { rail_booster = new RailBooster().setBlockName("rail_booster").setHardness(5.0F).setResistance(10.0F).setCreativeTab(CreativeTabs.tabTransport).setBlockTextureName(RefStrings.MODID + ":rail_booster"); crate = new BlockCrate(Material.iron).setBlockName("crate").setStepSound(Block.soundTypeWood).setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.consumableTab).setBlockTextureName(RefStrings.MODID + ":crate"); + crate_weapon = new BlockCrate(Material.iron).setBlockName("crate_weapon").setStepSound(Block.soundTypeWood).setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.consumableTab).setBlockTextureName(RefStrings.MODID + ":crate_weapon"); + crate_lead = new BlockCrate(Material.iron).setBlockName("crate_lead").setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.consumableTab).setBlockTextureName(RefStrings.MODID + ":crate_lead"); + crate_metal = new BlockCrate(Material.iron).setBlockName("crate_metal").setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.consumableTab).setBlockTextureName(RefStrings.MODID + ":crate_metal"); + crate_red = new BlockCrate(Material.iron).setBlockName("crate_red").setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":crate_red"); crate_iron = new BlockStorageCrate(Material.iron).setBlockName("crate_iron").setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); crate_steel = new BlockStorageCrate(Material.iron).setBlockName("crate_steel").setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); @@ -1250,6 +1258,10 @@ public class ModBlocks { //Crate GameRegistry.registerBlock(crate, crate.getUnlocalizedName()); + GameRegistry.registerBlock(crate_weapon, crate_weapon.getUnlocalizedName()); + GameRegistry.registerBlock(crate_lead, crate_lead.getUnlocalizedName()); + GameRegistry.registerBlock(crate_metal, crate_metal.getUnlocalizedName()); + GameRegistry.registerBlock(crate_red, crate_red.getUnlocalizedName()); //ElB GameRegistry.registerBlock(statue_elb, statue_elb.getUnlocalizedName()); diff --git a/com/hbm/blocks/generic/BlockCrate.java b/com/hbm/blocks/generic/BlockCrate.java index 787ddd0f1..47b90265a 100644 --- a/com/hbm/blocks/generic/BlockCrate.java +++ b/com/hbm/blocks/generic/BlockCrate.java @@ -4,6 +4,7 @@ import java.util.ArrayList; import java.util.List; import java.util.Random; +import com.hbm.blocks.ModBlocks; import com.hbm.items.ModItems; import net.minecraft.block.BlockFalling; @@ -17,6 +18,12 @@ import net.minecraft.world.World; public class BlockCrate extends BlockFalling { + List crateList; + List weaponList; + List leadList; + List metalList; + List redList; + public BlockCrate(Material p_i45394_1_) { super(p_i45394_1_); } @@ -46,57 +53,218 @@ public class BlockCrate extends BlockFalling { return true; } + public void setDrops() { + + crateList = new ArrayList(); + weaponList = new ArrayList(); + leadList = new ArrayList(); + metalList = new ArrayList(); + redList = new ArrayList(); + + //Supply Crate + BlockCrate.addToListWithWeight(crateList, ModItems.syringe_metal_stimpak, 10); + BlockCrate.addToListWithWeight(crateList, ModItems.syringe_antidote, 5); + BlockCrate.addToListWithWeight(crateList, ModItems.clip_revolver_iron, 9); + BlockCrate.addToListWithWeight(crateList, ModItems.clip_revolver, 7); + BlockCrate.addToListWithWeight(crateList, ModItems.clip_revolver_gold, 4); + BlockCrate.addToListWithWeight(crateList, ModItems.clip_revolver_lead, 6); + BlockCrate.addToListWithWeight(crateList, ModItems.clip_revolver_schrabidium, 1); + BlockCrate.addToListWithWeight(crateList, ModItems.clip_revolver_cursed, 5); + BlockCrate.addToListWithWeight(crateList, ModItems.clip_revolver_nightmare, 3); + BlockCrate.addToListWithWeight(crateList, ModItems.clip_revolver_nightmare2, 2); + BlockCrate.addToListWithWeight(crateList, ModItems.clip_rpg, 5); + BlockCrate.addToListWithWeight(crateList, ModItems.clip_fatman, 3); + BlockCrate.addToListWithWeight(crateList, ModItems.clip_mirv, 2); + BlockCrate.addToListWithWeight(crateList, ModItems.clip_bf, 1); + BlockCrate.addToListWithWeight(crateList, ModItems.clip_mp40, 7); + BlockCrate.addToListWithWeight(crateList, ModItems.clip_uboinik, 7); + BlockCrate.addToListWithWeight(crateList, ModItems.clip_lever_action, 5); + BlockCrate.addToListWithWeight(crateList, ModItems.clip_bolt_action, 5); + BlockCrate.addToListWithWeight(crateList, ModItems.clip_osipr, 7); + BlockCrate.addToListWithWeight(crateList, ModItems.clip_immolator, 4); + BlockCrate.addToListWithWeight(crateList, ModItems.clip_cryolator, 4); + BlockCrate.addToListWithWeight(crateList, ModItems.clip_mp, 3); + BlockCrate.addToListWithWeight(crateList, ModItems.clip_xvl1456, 5); + BlockCrate.addToListWithWeight(crateList, ModItems.clip_emp, 3); + BlockCrate.addToListWithWeight(crateList, ModItems.clip_defabricator, 3); + BlockCrate.addToListWithWeight(crateList, ModItems.clip_euthanasia, 2); + BlockCrate.addToListWithWeight(crateList, ModItems.clip_hp, 2); + BlockCrate.addToListWithWeight(crateList, ModItems.clip_jack, 2); + BlockCrate.addToListWithWeight(crateList, ModItems.clip_revolver_pip, 3); + BlockCrate.addToListWithWeight(crateList, ModItems.clip_spark, 2); + BlockCrate.addToListWithWeight(crateList, ModItems.clip_stinger, 5); + BlockCrate.addToListWithWeight(crateList, ModItems.grenade_generic, 8); + BlockCrate.addToListWithWeight(crateList, ModItems.grenade_strong, 6); + BlockCrate.addToListWithWeight(crateList, ModItems.grenade_mk2, 4); + BlockCrate.addToListWithWeight(crateList, ModItems.grenade_flare, 4); + BlockCrate.addToListWithWeight(crateList, ModItems.ammo_container, 2); + + //Weapon Crate + BlockCrate.addToListWithWeight(weaponList, ModItems.gun_revolver_iron, 10); + BlockCrate.addToListWithWeight(weaponList, ModItems.gun_revolver, 9); + BlockCrate.addToListWithWeight(weaponList, ModItems.gun_revolver_gold, 7); + BlockCrate.addToListWithWeight(weaponList, ModItems.gun_revolver_lead, 8); + BlockCrate.addToListWithWeight(weaponList, ModItems.gun_revolver_schrabidium, 1); + BlockCrate.addToListWithWeight(weaponList, ModItems.gun_revolver_cursed, 7); + BlockCrate.addToListWithWeight(weaponList, ModItems.gun_revolver_nightmare, 5); + BlockCrate.addToListWithWeight(weaponList, ModItems.gun_revolver_nightmare2, 4); + BlockCrate.addToListWithWeight(weaponList, ModItems.gun_revolver_pip, 3); + BlockCrate.addToListWithWeight(weaponList, ModItems.gun_rpg, 8); + BlockCrate.addToListWithWeight(weaponList, ModItems.gun_stinger, 7); + BlockCrate.addToListWithWeight(weaponList, ModItems.gun_fatman, 5); + BlockCrate.addToListWithWeight(weaponList, ModItems.gun_mirv, 3); + BlockCrate.addToListWithWeight(weaponList, ModItems.gun_bf, 1); + BlockCrate.addToListWithWeight(weaponList, ModItems.gun_mp40, 9); + BlockCrate.addToListWithWeight(weaponList, ModItems.gun_uboinik, 8); + BlockCrate.addToListWithWeight(weaponList, ModItems.gun_lever_action, 7); + BlockCrate.addToListWithWeight(weaponList, ModItems.gun_lever_action_dark, 6); + BlockCrate.addToListWithWeight(weaponList, ModItems.gun_bolt_action, 7); + BlockCrate.addToListWithWeight(weaponList, ModItems.gun_bolt_action_green, 6); + BlockCrate.addToListWithWeight(weaponList, ModItems.gun_xvl1456, 4); + BlockCrate.addToListWithWeight(weaponList, ModItems.gun_osipr, 6); + BlockCrate.addToListWithWeight(weaponList, ModItems.gun_immolator, 5); + BlockCrate.addToListWithWeight(weaponList, ModItems.gun_cryolator, 5); + BlockCrate.addToListWithWeight(weaponList, ModItems.gun_mp, 2); + BlockCrate.addToListWithWeight(weaponList, ModItems.gun_emp, 3); + BlockCrate.addToListWithWeight(weaponList, ModItems.gun_jack, 3); + BlockCrate.addToListWithWeight(weaponList, ModItems.gun_spark, 3); + BlockCrate.addToListWithWeight(weaponList, ModItems.gun_hp, 3); + BlockCrate.addToListWithWeight(weaponList, ModItems.gun_euthanasia, 3); + BlockCrate.addToListWithWeight(weaponList, ModItems.gun_skystinger, 3); + BlockCrate.addToListWithWeight(weaponList, ModItems.gun_defabricator, 2); + + //Lead Crate + BlockCrate.addToListWithWeight(leadList, ModItems.ingot_uranium, 10); + BlockCrate.addToListWithWeight(leadList, ModItems.ingot_u235, 5); + BlockCrate.addToListWithWeight(leadList, ModItems.ingot_u238, 8); + BlockCrate.addToListWithWeight(leadList, ModItems.ingot_plutonium, 7); + BlockCrate.addToListWithWeight(leadList, ModItems.ingot_pu238, 5); + BlockCrate.addToListWithWeight(leadList, ModItems.ingot_pu239, 4); + BlockCrate.addToListWithWeight(leadList, ModItems.ingot_pu240, 6); + BlockCrate.addToListWithWeight(leadList, ModItems.ingot_neptunium, 7); + BlockCrate.addToListWithWeight(leadList, ModItems.ingot_uranium_fuel, 8); + BlockCrate.addToListWithWeight(leadList, ModItems.ingot_plutonium_fuel, 7); + BlockCrate.addToListWithWeight(leadList, ModItems.ingot_mox_fuel, 6); + BlockCrate.addToListWithWeight(leadList, ModItems.nugget_uranium, 10); + BlockCrate.addToListWithWeight(leadList, ModItems.nugget_u235, 5); + BlockCrate.addToListWithWeight(leadList, ModItems.nugget_u238, 8); + BlockCrate.addToListWithWeight(leadList, ModItems.nugget_plutonium, 7); + BlockCrate.addToListWithWeight(leadList, ModItems.nugget_pu238, 5); + BlockCrate.addToListWithWeight(leadList, ModItems.nugget_pu239, 4); + BlockCrate.addToListWithWeight(leadList, ModItems.nugget_pu240, 6); + BlockCrate.addToListWithWeight(leadList, ModItems.nugget_neptunium, 7); + BlockCrate.addToListWithWeight(leadList, ModItems.nugget_uranium_fuel, 8); + BlockCrate.addToListWithWeight(leadList, ModItems.nugget_plutonium_fuel, 7); + BlockCrate.addToListWithWeight(leadList, ModItems.nugget_mox_fuel, 6); + BlockCrate.addToListWithWeight(leadList, ModItems.cell_deuterium, 8); + BlockCrate.addToListWithWeight(leadList, ModItems.cell_tritium, 8); + BlockCrate.addToListWithWeight(leadList, ModItems.cell_uf6, 8); + BlockCrate.addToListWithWeight(leadList, ModItems.cell_puf6, 8); + BlockCrate.addToListWithWeight(leadList, ModItems.pellet_rtg, 6); + BlockCrate.addToListWithWeight(leadList, ModItems.pellet_rtg_weak, 7); + BlockCrate.addToListWithWeight(leadList, ModItems.tritium_deuterium_cake, 5); + BlockCrate.addToListWithWeight(leadList, ModItems.powder_yellowcake, 10); + BlockCrate.addToListWithWeight(leadList, ModItems.nugget_schrabidium, 1); + + //Metal Crate + BlockCrate.addToListWithWeight(metalList, Item.getItemFromBlock(ModBlocks.machine_press), 10); + BlockCrate.addToListWithWeight(metalList, Item.getItemFromBlock(ModBlocks.machine_difurnace_off), 9); + BlockCrate.addToListWithWeight(metalList, Item.getItemFromBlock(ModBlocks.machine_centrifuge), 5); + BlockCrate.addToListWithWeight(metalList, Item.getItemFromBlock(ModBlocks.machine_reactor), 6); + BlockCrate.addToListWithWeight(metalList, Item.getItemFromBlock(ModBlocks.machine_nuke_furnace_off), 7); + BlockCrate.addToListWithWeight(metalList, Item.getItemFromBlock(ModBlocks.machine_rtg_furnace_off), 5); + BlockCrate.addToListWithWeight(metalList, Item.getItemFromBlock(ModBlocks.machine_coal_off), 10); + BlockCrate.addToListWithWeight(metalList, Item.getItemFromBlock(ModBlocks.machine_diesel), 8); + BlockCrate.addToListWithWeight(metalList, Item.getItemFromBlock(ModBlocks.machine_selenium), 7); + BlockCrate.addToListWithWeight(metalList, Item.getItemFromBlock(ModBlocks.machine_industrial_generator), 6); + BlockCrate.addToListWithWeight(metalList, Item.getItemFromBlock(ModBlocks.machine_radgen), 5); + BlockCrate.addToListWithWeight(metalList, Item.getItemFromBlock(ModBlocks.machine_rtg_grey), 4); + BlockCrate.addToListWithWeight(metalList, Item.getItemFromBlock(ModBlocks.red_pylon), 9); + BlockCrate.addToListWithWeight(metalList, Item.getItemFromBlock(ModBlocks.machine_battery), 8); + BlockCrate.addToListWithWeight(metalList, Item.getItemFromBlock(ModBlocks.machine_lithium_battery), 5); + BlockCrate.addToListWithWeight(metalList, Item.getItemFromBlock(ModBlocks.machine_electric_furnace_off), 8); + BlockCrate.addToListWithWeight(metalList, Item.getItemFromBlock(ModBlocks.machine_assembler), 10); + BlockCrate.addToListWithWeight(metalList, Item.getItemFromBlock(ModBlocks.machine_chemplant), 7); + BlockCrate.addToListWithWeight(metalList, Item.getItemFromBlock(ModBlocks.machine_reactor_small), 4); + BlockCrate.addToListWithWeight(metalList, Item.getItemFromBlock(ModBlocks.machine_fluidtank), 7); + BlockCrate.addToListWithWeight(metalList, Item.getItemFromBlock(ModBlocks.machine_shredder), 8); + BlockCrate.addToListWithWeight(metalList, Item.getItemFromBlock(ModBlocks.machine_well), 6); + BlockCrate.addToListWithWeight(metalList, Item.getItemFromBlock(ModBlocks.machine_pumpjack), 5); + BlockCrate.addToListWithWeight(metalList, Item.getItemFromBlock(ModBlocks.machine_flare), 7); + BlockCrate.addToListWithWeight(metalList, Item.getItemFromBlock(ModBlocks.machine_refinery), 5); + BlockCrate.addToListWithWeight(metalList, Item.getItemFromBlock(ModBlocks.machine_drill), 4); + BlockCrate.addToListWithWeight(metalList, Item.getItemFromBlock(ModBlocks.machine_turbofan), 4); + BlockCrate.addToListWithWeight(metalList, ModItems.centrifuge_element, 6); + BlockCrate.addToListWithWeight(metalList, ModItems.motor, 8); + BlockCrate.addToListWithWeight(metalList, ModItems.coil_tungsten, 7); + BlockCrate.addToListWithWeight(metalList, ModItems.rtg_unit, 4); + BlockCrate.addToListWithWeight(metalList, ModItems.photo_panel, 3); + BlockCrate.addToListWithWeight(metalList, ModItems.coil_copper, 10); + BlockCrate.addToListWithWeight(metalList, ModItems.tank_steel, 9); + BlockCrate.addToListWithWeight(metalList, ModItems.blade_titanium, 3); + BlockCrate.addToListWithWeight(metalList, ModItems.bolt_compound, 2); + BlockCrate.addToListWithWeight(metalList, ModItems.piston_selenium, 6); + + //Red Crate + BlockCrate.addToListWithWeight(redList, ModItems.mysteryshovel, 1); + BlockCrate.addToListWithWeight(redList, ModItems.gun_revolver_pip, 1); + BlockCrate.addToListWithWeight(redList, ModItems.clip_revolver_pip, 1); + BlockCrate.addToListWithWeight(redList, ModItems.gun_b92, 1); + BlockCrate.addToListWithWeight(redList, ModItems.weaponized_starblaster_cell, 1); + BlockCrate.addToListWithWeight(redList, ModItems.battery_spark, 1); + BlockCrate.addToListWithWeight(redList, ModItems.bottle_sparkle, 1); + BlockCrate.addToListWithWeight(redList, ModItems.missile_taint, 1); + BlockCrate.addToListWithWeight(redList, ModItems.flame_pony, 1); + BlockCrate.addToListWithWeight(redList, ModItems.burnt_bark, 1); + BlockCrate.addToListWithWeight(redList, ModItems.crystal_horn, 1); + BlockCrate.addToListWithWeight(redList, ModItems.crystal_charred, 1); + BlockCrate.addToListWithWeight(redList, Item.getItemFromBlock(ModBlocks.ntm_dirt), 1); + BlockCrate.addToListWithWeight(redList, Item.getItemFromBlock(ModBlocks.broadcaster_pc), 1); + } + public void dropItems(World world, int x, int y, int z) { Random rand = new Random(); - List list1 = new ArrayList(); - - list1 = BlockCrate.addToListWithWeight(list1, ModItems.syringe_metal_stimpak, 10); - list1 = BlockCrate.addToListWithWeight(list1, ModItems.syringe_antidote, 5); - list1 = BlockCrate.addToListWithWeight(list1, ModItems.clip_revolver_iron, 9); - list1 = BlockCrate.addToListWithWeight(list1, ModItems.clip_revolver, 7); - list1 = BlockCrate.addToListWithWeight(list1, ModItems.clip_revolver_gold, 4); - list1 = BlockCrate.addToListWithWeight(list1, ModItems.clip_revolver_lead, 6); - list1 = BlockCrate.addToListWithWeight(list1, ModItems.clip_revolver_schrabidium, 1); - list1 = BlockCrate.addToListWithWeight(list1, ModItems.clip_revolver_cursed, 5); - list1 = BlockCrate.addToListWithWeight(list1, ModItems.clip_revolver_nightmare, 3); - list1 = BlockCrate.addToListWithWeight(list1, ModItems.clip_revolver_nightmare2, 2); - list1 = BlockCrate.addToListWithWeight(list1, ModItems.clip_rpg, 5); - list1 = BlockCrate.addToListWithWeight(list1, ModItems.clip_fatman, 3); - list1 = BlockCrate.addToListWithWeight(list1, ModItems.clip_mirv, 1); - list1 = BlockCrate.addToListWithWeight(list1, ModItems.clip_bf, 0); - list1 = BlockCrate.addToListWithWeight(list1, ModItems.clip_mp40, 7); - list1 = BlockCrate.addToListWithWeight(list1, ModItems.clip_uboinik, 7); - list1 = BlockCrate.addToListWithWeight(list1, ModItems.clip_lever_action, 5); - list1 = BlockCrate.addToListWithWeight(list1, ModItems.clip_bolt_action, 5); - list1 = BlockCrate.addToListWithWeight(list1, ModItems.clip_osipr, 7); - list1 = BlockCrate.addToListWithWeight(list1, ModItems.clip_immolator, 4); - list1 = BlockCrate.addToListWithWeight(list1, ModItems.clip_cryolator, 4); - list1 = BlockCrate.addToListWithWeight(list1, ModItems.clip_mp, 3); - list1 = BlockCrate.addToListWithWeight(list1, ModItems.clip_xvl1456, 5); - list1 = BlockCrate.addToListWithWeight(list1, ModItems.clip_emp, 3); - list1 = BlockCrate.addToListWithWeight(list1, ModItems.clip_defabricator, 3); - list1 = BlockCrate.addToListWithWeight(list1, ModItems.clip_euthanasia, 2); - list1 = BlockCrate.addToListWithWeight(list1, ModItems.clip_hp, 2); - list1 = BlockCrate.addToListWithWeight(list1, ModItems.clip_jack, 2); - list1 = BlockCrate.addToListWithWeight(list1, ModItems.clip_revolver_pip, 3); - list1 = BlockCrate.addToListWithWeight(list1, ModItems.clip_spark, 2); - list1 = BlockCrate.addToListWithWeight(list1, ModItems.clip_stinger, 5); - list1 = BlockCrate.addToListWithWeight(list1, ModItems.grenade_generic, 8); - list1 = BlockCrate.addToListWithWeight(list1, ModItems.grenade_strong, 6); - list1 = BlockCrate.addToListWithWeight(list1, ModItems.grenade_mk2, 4); - list1 = BlockCrate.addToListWithWeight(list1, ModItems.grenade_flare, 4); - list1 = BlockCrate.addToListWithWeight(list1, ModItems.ammo_container, 2); + + setDrops(); List list = new ArrayList(); int i = rand.nextInt(3) + 3; - for(int j = 0; j < i; j++) - list.add(list1.get(rand.nextInt(list1.size()))); + + if(this == ModBlocks.crate_weapon) { + i = 1 + rand.nextInt(2); + + if(rand.nextInt(100) == 34) + i = 25; + } + + for(int j = 0; j < i; j++) { + + if(this == ModBlocks.crate) + list.add(crateList.get(rand.nextInt(crateList.size()))); + if(this == ModBlocks.crate_weapon) + list.add(weaponList.get(rand.nextInt(weaponList.size()))); + if(this == ModBlocks.crate_lead) + list.add(leadList.get(rand.nextInt(leadList.size()))); + if(this == ModBlocks.crate_metal) + list.add(metalList.get(rand.nextInt(metalList.size()))); + if(this == ModBlocks.crate_red) + list.add(redList.get(rand.nextInt(redList.size()))); + } + + if(this == ModBlocks.crate_red) { + list.clear(); + + for(int k = 0; k < redList.size(); k++) { + list.add(redList.get(k)); + } + } for(Item stack : list) { float f = rand.nextFloat() * 0.8F + 0.1F; float f1 = rand.nextFloat() * 0.8F + 0.1F; float f2 = rand.nextFloat() * 0.8F + 0.1F; + EntityItem entityitem = new EntityItem(world, x + f, y + f1, z + f2, new ItemStack(stack)); float f3 = 0.05F; @@ -108,10 +276,8 @@ public class BlockCrate extends BlockFalling { } } - public static List addToListWithWeight(List list, Item item, int weight) { + public static void addToListWithWeight(List list, Item item, int weight) { for(int i = 0; i < weight; i++) list.add(item); - - return list; } } diff --git a/com/hbm/items/tool/ItemCrateCaller.java b/com/hbm/items/tool/ItemCrateCaller.java index bf86c5062..5ec1ff32d 100644 --- a/com/hbm/items/tool/ItemCrateCaller.java +++ b/com/hbm/items/tool/ItemCrateCaller.java @@ -4,6 +4,8 @@ import java.util.List; import java.util.Random; import com.hbm.blocks.ModBlocks; + +import net.minecraft.block.Block; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Blocks; import net.minecraft.item.Item; @@ -33,11 +35,24 @@ public class ItemCrateCaller extends Item { int x = rand.nextInt(31) - 15; int z = rand.nextInt(31) - 15; + + Block crate = ModBlocks.crate; + + int i = rand.nextInt(1000); + + if(i < 350) + crate = ModBlocks.crate_weapon; + if(i < 100) + crate = ModBlocks.crate_metal; + if(i < 50) + crate = ModBlocks.crate_lead; + if(i == 0) + crate = ModBlocks.crate_red; if(!world.isRemote) { if(world.getBlock((int)player.posX + x, 255, (int)player.posZ + z) == Blocks.air) - world.setBlock((int)player.posX + x, 255, (int)player.posZ + z, ModBlocks.crate); + world.setBlock((int)player.posX + x, 255, (int)player.posZ + z, crate); } if(world.isRemote) { diff --git a/com/hbm/lib/Library.java b/com/hbm/lib/Library.java index af0ac0e84..c25f014ea 100644 --- a/com/hbm/lib/Library.java +++ b/com/hbm/lib/Library.java @@ -556,7 +556,7 @@ public class Library { if(slots[index] != null && slots[index].getItem() instanceof ItemBattery) { - long dR = ((ItemBattery)slots[index].getItem()).getDischargeRate(); + long dR = ((ItemBattery)slots[index].getItem()).getChargeRate(); while(dR >= 1000000000) { if(power - 100000000000L >= 0 && ItemBattery.getCharge(slots[index]) < ((ItemBattery)slots[index].getItem()).getMaxCharge()) diff --git a/com/hbm/main/CraftingManager.java b/com/hbm/main/CraftingManager.java index 47cfa1b6e..b9d13401a 100644 --- a/com/hbm/main/CraftingManager.java +++ b/com/hbm/main/CraftingManager.java @@ -1031,6 +1031,7 @@ public class CraftingManager { GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.cape_dafnik, 1), new Object[] { "W W", "WIW", "WDW", 'W', new ItemStack(Item.getItemFromBlock(Blocks.wool), 1, 1), 'D', new ItemStack(Items.dye, 1, 0), 'I', "ingotSteel" })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.cape_lpkukin, 1), new Object[] { "W W", "WIW", "WDW", 'W', new ItemStack(Item.getItemFromBlock(Blocks.wool), 1, 13), 'D', new ItemStack(Items.dye, 1, 8), 'I', "plateSteel" })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.cape_codered_, 1), new Object[] { "W W", "WIW", "WDW", 'W', new ItemStack(Item.getItemFromBlock(Blocks.wool), 1, 14), 'D', new ItemStack(Items.dye, 1, 8), 'I', "ingotAustralium" })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.cape_vertice, 1), new Object[] { "W W", "WIW", "WDW", 'W', new ItemStack(Item.getItemFromBlock(Blocks.wool), 1, 13), 'D', new ItemStack(Items.dye, 1, 8), 'I', "ingotVerticium" })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.igniter, 1), new Object[] { " W", "SC", "CE", 'S', "plateSteel", 'W', ModItems.wire_schrabidium, 'C', ModItems.circuit_schrabidium, 'E', ModItems.ingot_euphemium })); GameRegistry.addRecipe(new ItemStack(ModItems.euphemium_helmet, 1), new Object[] { "EEE", "E E", 'E', ModItems.plate_euphemium });