package com.hbm.itempool; import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.material.Mats; import com.hbm.items.ModItems; import com.hbm.items.ItemAmmoEnums.Ammo357Magnum; import com.hbm.items.ItemAmmoEnums.AmmoFatman; import com.hbm.items.machine.ItemBreedingRod.BreedingRodType; import com.hbm.items.machine.ItemCircuit.EnumCircuitType; import com.hbm.items.machine.ItemZirnoxRod.EnumZirnoxType; import static com.hbm.lib.HbmChestContents.*; import com.hbm.blocks.ModBlocks; import net.minecraft.init.Items; import net.minecraft.util.WeightedRandomChestContent; /** * Item pools for "legacy" structures, i.e. schematic2java ones * @author hbm * */ public class ItemPoolsLegacy { public static final String POOL_GENERIC = "POOL_GENERIC"; public static final String POOL_ANTENNA = "POOL_ANTENNA"; public static final String POOL_EXPENSIVE = "POOL_EXPENSIVE"; public static final String POOL_NUKE_TRASH = "POOL_NUKE_TRASH"; public static final String POOL_NUKE_MISC = "POOL_NUKE_MISC"; public static final String POOL_VERTIBIRD = "POOL_VERTIBIRD"; public static final String POOL_SPACESHIP = "POOL_SPACESHIP"; public static void init() { //"generic" set, found commonly in chests in many structures new ItemPool(POOL_GENERIC) {{ this.pool = new WeightedRandomChestContent[] { weighted(Items.bread, 0, 1, 5, 8), weighted(ModItems.twinkie, 0, 1, 3, 6), weighted(Items.iron_ingot, 0, 2, 6, 10), weighted(ModItems.ingot_steel, 0, 2, 5, 7), weighted(ModItems.ingot_beryllium, 0, 1, 2, 4), weighted(ModItems.ingot_titanium, 0, 1, 1, 3), weighted(ModItems.circuit, EnumCircuitType.VACUUM_TUBE.ordinal(), 1, 1, 5), weighted(ModItems.gun_revolver, 0, 1, 1, 3), weighted(ModItems.ammo_357, Ammo357Magnum.LEAD.ordinal(), 2, 6, 4), weighted(ModItems.gun_kit_1, 0, 1, 3, 4), weighted(ModItems.gun_lever_action, 0, 1, 1, 1), weighted(ModItems.ammo_20gauge, 0, 2, 6, 3), weighted(ModItems.casing_9, 0, 4, 10, 3), weighted(ModItems.casing_50, 0, 4, 10, 3), weighted(ModItems.cordite, 0, 4, 6, 5), weighted(ModItems.battery_generic, 0, 1, 1, 4), weighted(ModItems.battery_advanced, 0, 1, 1, 2), weighted(ModItems.scrap, 0, 1, 3, 10), weighted(ModItems.dust, 0, 2, 4, 9), weighted(ModItems.bottle_opener, 0, 1, 1, 2), weighted(ModItems.bottle_nuka, 0, 1, 3, 4), weighted(ModItems.bottle_cherry, 0, 1, 1, 2), weighted(ModItems.stealth_boy, 0, 1, 1, 1), weighted(ModItems.cap_nuka, 0, 1, 15, 7), weighted(ModItems.canister_full, Fluids.DIESEL.getID(), 1, 2, 2), weighted(ModItems.canister_full, Fluids.BIOFUEL.getID(), 1, 2, 3), weighted(ModItems.gas_mask_m65, 60, 1, 1, 2), weighted(ModItems.gas_mask_filter, 0, 1, 1, 3) }; }}; //"antenna" pool, found by antennas and in radio stations new ItemPool(POOL_ANTENNA) {{ this.pool = new WeightedRandomChestContent[] { weighted(ModItems.twinkie, 0, 1, 3, 4), weighted(ModItems.ingot_steel, 0, 1, 2, 7), weighted(ModItems.ingot_red_copper, 0, 1, 1, 4), weighted(ModItems.ingot_titanium, 0, 1, 3, 5), weighted(ModItems.wire_fine, Mats.MAT_MINGRADE.id, 2, 3, 7), weighted(ModItems.circuit, EnumCircuitType.VACUUM_TUBE.ordinal(), 1, 1, 4), weighted(ModItems.circuit, EnumCircuitType.CAPACITOR.ordinal(), 1, 1, 2), weighted(ModItems.battery_generic, 0, 1, 1, 4), weighted(ModItems.battery_advanced, 0, 1, 1, 3), weighted(ModItems.powder_iodine, 0, 1, 1, 1), weighted(ModItems.powder_bromine, 0, 1, 1, 1), weighted(ModBlocks.steel_poles, 0, 1, 4, 8), weighted(ModBlocks.steel_scaffold, 0, 1, 3, 8), weighted(ModBlocks.pole_top, 0, 1, 1, 4), weighted(ModBlocks.pole_satellite_receiver, 0, 1, 1, 7), weighted(ModItems.scrap, 0, 1, 3, 10), weighted(ModItems.dust, 0, 2, 4, 9), weighted(ModItems.bottle_opener, 0, 1, 1, 2), weighted(ModItems.bottle_nuka, 0, 1, 3, 4), weighted(ModItems.bottle_cherry, 0, 1, 1, 2), weighted(ModItems.stealth_boy, 0, 1, 1, 1), weighted(ModItems.cap_nuka, 0, 1, 15, 7), weighted(ModItems.bomb_caller, 0, 1, 1, 1), weighted(ModItems.gas_mask_filter, 0, 1, 1, 2) }; }}; //"hidden" loot new ItemPool(POOL_EXPENSIVE) {{ this.pool = new WeightedRandomChestContent[] { weighted(ModItems.chlorine_pinwheel, 0, 1, 1, 1), weighted(ModItems.circuit, EnumCircuitType.VACUUM_TUBE.ordinal(), 1, 1, 4), weighted(ModItems.circuit, EnumCircuitType.ANALOG.ordinal(), 1, 1, 3), weighted(ModItems.circuit, EnumCircuitType.CHIP.ordinal(), 1, 1, 2), weighted(ModItems.gun_kit_1, 0, 1, 3, 6), weighted(ModItems.gun_kit_2, 0, 1, 2, 3), weighted(ModItems.gun_rpg, 0, 1, 1, 4), weighted(ModItems.ammo_rocket, 0, 1, 4, 5), weighted(ModItems.ammo_nuke, AmmoFatman.SAFE.ordinal(), 1, 2, 1), weighted(ModItems.ammo_nuke, AmmoFatman.LOW.ordinal(), 1, 2, 1), weighted(ModItems.ammo_nuke, AmmoFatman.PUMPKIN.ordinal(), 1, 2, 1), weighted(ModItems.grenade_nuclear, 0, 1, 1, 2), weighted(ModItems.grenade_smart, 0, 1, 3, 3), weighted(ModItems.grenade_mirv, 0, 1, 1, 2), weighted(ModItems.stealth_boy, 0, 1, 1, 2), weighted(ModItems.battery_advanced, 0, 1, 1, 3), weighted(ModItems.battery_advanced_cell, 0, 1, 1, 2), weighted(ModItems.battery_schrabidium, 0, 1, 1, 1), weighted(ModItems.syringe_awesome, 0, 1, 1, 1), weighted(ModItems.crate_caller, 0, 1, 1, 3), weighted(ModItems.fusion_core, 0, 1, 1, 4), weighted(ModItems.bottle_nuka, 0, 1, 3, 6), weighted(ModItems.bottle_quantum, 0, 1, 1, 3), weighted(ModBlocks.red_barrel, 0, 1, 1, 6), weighted(ModItems.canister_full, Fluids.DIESEL.getID(), 1, 2, 2), weighted(ModItems.canister_full, Fluids.BIOFUEL.getID(), 1, 2, 3), weighted(ModItems.gas_mask_m65, 60, 1, 1, 5), weighted(ModItems.bomb_caller, 0, 1, 1, 2), weighted(ModItems.bomb_caller, 1, 1, 1, 1), weighted(ModItems.bomb_caller, 2, 1, 1, 1), weighted(ModItems.gas_mask_filter, 0, 1, 1, 4), weighted(ModItems.journal_pip, 0, 1, 1, 1), weighted(ModItems.journal_bj, 0, 1, 1, 1), weighted(ModItems.launch_code_piece, 0, 1, 1, 1) }; }}; //nuclear waste products found in powerplants new ItemPool(POOL_NUKE_TRASH) {{ this.pool = new WeightedRandomChestContent[] { weighted(ModItems.nugget_u238, 0, 3, 12, 5), weighted(ModItems.nugget_pu240, 0, 3, 8, 5), weighted(ModItems.nugget_neptunium, 0, 1, 4, 3), weighted(ModItems.rod, BreedingRodType.U238.ordinal(), 1, 1, 3), weighted(ModItems.rod_dual, BreedingRodType.U238.ordinal(), 1, 1, 3), weighted(ModItems.rod_quad, BreedingRodType.U238.ordinal(), 1, 1, 3), weighted(ModItems.bottle_quantum, 0, 1, 1, 1), weighted(ModItems.gas_mask_m65, 60, 1, 1, 5), weighted(ModItems.hazmat_kit, 0, 1, 1, 1), weighted(ModItems.gas_mask_filter, 0, 1, 1, 5), weighted(ModBlocks.yellow_barrel, 0, 1, 1, 2) }; }}; //all sorts of nuclear related items, mostly fissile isotopes found in nuclear powerplants new ItemPool(POOL_NUKE_MISC) {{ this.pool = new WeightedRandomChestContent[] { weighted(ModItems.nugget_u235, 0, 3, 12, 5), weighted(ModItems.nugget_pu238, 0, 3, 12, 5), weighted(ModItems.nugget_ra226, 0, 3, 6, 5), weighted(ModItems.rod, BreedingRodType.U235.ordinal(), 1, 1, 3), weighted(ModItems.rod_dual, BreedingRodType.U235.ordinal(), 1, 1, 3), weighted(ModItems.rod_quad, BreedingRodType.U235.ordinal(), 1, 1, 3), weighted(ModItems.rod_zirnox, EnumZirnoxType.URANIUM_FUEL.ordinal(), 1, 1, 4), weighted(ModItems.rod_zirnox, EnumZirnoxType.MOX_FUEL.ordinal(), 1, 1, 4), weighted(ModItems.rod_zirnox, EnumZirnoxType.LITHIUM.ordinal(), 1, 1, 3), weighted(ModItems.rod_zirnox, EnumZirnoxType.THORIUM_FUEL.ordinal(), 1, 1, 3), weighted(ModItems.rod_dual, BreedingRodType.THF.ordinal(), 1, 1, 3), weighted(ModItems.rod_zirnox_tritium, 0, 1, 1, 1), weighted(ModItems.rod_zirnox, EnumZirnoxType.U233_FUEL.ordinal(), 1, 1, 1), weighted(ModItems.rod_zirnox, EnumZirnoxType.U235_FUEL.ordinal(), 1, 1, 1), weighted(ModItems.pellet_rtg, 0, 1, 1, 3), weighted(ModItems.powder_thorium, 0, 1, 1, 1), weighted(ModItems.powder_neptunium, 0, 1, 1, 1), weighted(ModItems.powder_strontium, 0, 1, 1, 1), weighted(ModItems.powder_cobalt, 0, 1, 1, 1), weighted(ModItems.bottle_quantum, 0, 1, 1, 1), weighted(ModItems.gas_mask_m65, 60, 1, 1, 5), weighted(ModItems.hazmat_kit, 0, 1, 1, 2), weighted(ModItems.gas_mask_filter, 0, 1, 1, 5), weighted(ModBlocks.yellow_barrel, 0, 1, 3, 3) }; }}; //loot found in vertibirds new ItemPool(POOL_VERTIBIRD) {{ this.pool = new WeightedRandomChestContent[] { weighted(ModItems.t45_helmet, 0, 1, 1, 15), weighted(ModItems.t45_plate, 0, 1, 1, 15), weighted(ModItems.t45_legs, 0, 1, 1, 15), weighted(ModItems.t45_boots, 0, 1, 1, 15), weighted(ModItems.t45_kit, 0, 1, 1, 3), weighted(ModItems.fusion_core, 0, 1, 1, 10), weighted(ModItems.gun_revolver, 0, 1, 1, 4), weighted(ModItems.ammo_357, Ammo357Magnum.LEAD.ordinal(), 1, 24, 4), weighted(ModItems.gun_kit_1, 0, 2, 3, 4), weighted(ModItems.gun_rpg, 0, 1, 1, 3), weighted(ModItems.ammo_rocket, 0, 1, 6, 3), weighted(ModItems.rod, BreedingRodType.U235.ordinal(), 1, 1, 2), weighted(ModItems.billet_uranium_fuel, 0, 1, 1, 2), weighted(ModItems.ingot_uranium_fuel, 0, 1, 1, 2), weighted(ModItems.ammo_nuke, AmmoFatman.SAFE.ordinal(), 1, 2, 1), weighted(ModItems.bottle_nuka, 0, 1, 3, 6), weighted(ModItems.bottle_quantum, 0, 1, 1, 3), weighted(ModItems.stealth_boy, 0, 1, 1, 7), weighted(ModItems.crate_caller, 0, 1, 1, 3), weighted(ModItems.gas_mask_m65, 0, 1, 1, 5), weighted(ModItems.gas_mask_filter, 0, 1, 1, 5), weighted(ModItems.grenade_nuclear, 0, 1, 2, 2), weighted(ModItems.bomb_caller, 0, 1, 1, 1), weighted(ModItems.bomb_caller, 1, 1, 1, 1), weighted(ModItems.bomb_caller, 2, 1, 1, 2) }; }}; //spaceship double chests new ItemPool(POOL_SPACESHIP) {{ this.pool = new WeightedRandomChestContent[] { weighted(ModItems.battery_advanced, 0, 1, 1, 5), weighted(ModItems.ingot_advanced_alloy, 0, 2, 16, 5), weighted(ModItems.wire_fine, Mats.MAT_ALLOY.id, 8, 32, 5), weighted(ModItems.coil_advanced_alloy, 0, 2, 16, 5), weighted(ModItems.cell_deuterium, 0, 1, 8, 5), weighted(ModItems.cell_tritium, 0, 1, 8, 5), weighted(ModItems.cell_antimatter, 0, 1, 1, 1), weighted(ModItems.powder_neodymium, 0, 1, 1, 1), weighted(ModItems.powder_niobium, 0, 1, 1, 1), weighted(ModBlocks.fusion_conductor, 0, 2, 4, 5), weighted(ModBlocks.fusion_heater, 0, 1, 3, 5), weighted(ModBlocks.pwr_fuel, 0, 1, 2, 5), weighted(ModBlocks.block_tungsten, 0, 3, 8, 5), weighted(ModBlocks.red_wire_coated, 0, 4, 8, 5), weighted(ModBlocks.red_cable, 0, 8, 16, 5) }; }}; } }