finished item pool config implementation

This commit is contained in:
Boblet 2024-03-20 16:46:05 +01:00
parent d0e90250c5
commit 33e6237377
33 changed files with 782 additions and 672 deletions

View File

@ -33,6 +33,8 @@
* The particles will collapse as soon as the first virtual particle with a valid outcome reaches the end
* This change allows branching accelerators to be made, where the particle will always take the shortest path necessary to complete the operation. In essence, it allows a single accelerator to do any recipe, without requiring to power the entire accelerator, as only the path of the finishing particle will use up energy.
* The particle accelerator as well as the schottky particle diodes now have presentations explaining how they work
* Loot pools are now configurable. Loot is divided into different categories, and structures may generate things from certain categories.
* The config currently includes all items spawned in dungeon chests/crates/safes/lockers, excluding black book spawns, but also including the loot pool for red room pedestals
## Fixed
* WarTec should now be compatible again

View File

@ -1,15 +1,15 @@
package com.hbm.blocks.generic;
import java.util.ArrayList;
import java.util.List;
import com.hbm.blocks.ModBlocks;
import com.hbm.blocks.generic.BlockLoot.TileEntityLoot;
import com.hbm.blocks.generic.BlockPedestal.TileEntityPedestal;
import com.hbm.itempool.ItemPool;
import com.hbm.itempool.ItemPoolsRedRoom;
import com.hbm.items.ModItems;
import com.hbm.items.tool.ItemModDoor;
import com.hbm.main.MainRegistry;
import com.hbm.util.WeightedRandomObject;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
@ -23,6 +23,7 @@ import net.minecraft.util.AxisAlignedBB;
import net.minecraft.util.IIcon;
import net.minecraft.util.MovingObjectPosition;
import net.minecraft.util.WeightedRandom;
import net.minecraft.util.WeightedRandomChestContent;
import net.minecraft.world.World;
import net.minecraftforge.common.util.ForgeDirection;
@ -209,38 +210,10 @@ public class BlockKeyhole extends BlockStone {
for(EntityItem item : items) item.setDead();
}
public static List<WeightedRandomObject> pedestalItems;
public static void spawnPedestalItem(World world, int x, int y, int z) {
world.setBlock(x, y, z, ModBlocks.pedestal);
TileEntityPedestal pedestal = (TileEntityPedestal) world.getTileEntity(x, y, z);
if(pedestalItems == null) initPedestal();
pedestal.item = ((WeightedRandomObject) WeightedRandom.getRandomItem(world.rand, pedestalItems)).asStack().copy();
}
public static void initPedestal() {
pedestalItems = new ArrayList();
pedestalItems.add(new WeightedRandomObject(new ItemStack(ModItems.ballistic_gauntlet), 10));
pedestalItems.add(new WeightedRandomObject(new ItemStack(ModItems.armor_polish), 10));
pedestalItems.add(new WeightedRandomObject(new ItemStack(ModItems.bandaid), 10));
pedestalItems.add(new WeightedRandomObject(new ItemStack(ModItems.serum), 10));
pedestalItems.add(new WeightedRandomObject(new ItemStack(ModItems.quartz_plutonium), 10));
pedestalItems.add(new WeightedRandomObject(new ItemStack(ModItems.morning_glory), 10));
pedestalItems.add(new WeightedRandomObject(new ItemStack(ModItems.spider_milk), 10));
pedestalItems.add(new WeightedRandomObject(new ItemStack(ModItems.ink), 10));
pedestalItems.add(new WeightedRandomObject(new ItemStack(ModItems.heart_container), 10));
pedestalItems.add(new WeightedRandomObject(new ItemStack(ModItems.black_diamond), 5));
pedestalItems.add(new WeightedRandomObject(new ItemStack(ModItems.scrumpy), 10));
pedestalItems.add(new WeightedRandomObject(new ItemStack(ModItems.wild_p), 5));
pedestalItems.add(new WeightedRandomObject(new ItemStack(ModItems.card_aos), 5));
pedestalItems.add(new WeightedRandomObject(new ItemStack(ModItems.card_qos), 5));
pedestalItems.add(new WeightedRandomObject(new ItemStack(ModItems.starmetal_sword), 5));
pedestalItems.add(new WeightedRandomObject(new ItemStack(ModItems.gem_alexandrite), 5));
pedestalItems.add(new WeightedRandomObject(new ItemStack(ModItems.crackpipe), 5));
pedestalItems.add(new WeightedRandomObject(new ItemStack(ModItems.flask_infusion), 5));
pedestalItems.add(new WeightedRandomObject(new ItemStack(ModBlocks.boxcar), 5));
pedestalItems.add(new WeightedRandomObject(new ItemStack(ModItems.book_of_), 5));
pedestalItems.add(new WeightedRandomObject(new ItemStack(ModItems.gun_revolver_pip), 5));
WeightedRandomChestContent content = (WeightedRandomChestContent) WeightedRandom.getRandomItem(world.rand, ItemPool.getPool(ItemPoolsRedRoom.POOL_RED_PEDESTAL));
pedestal.item = content.theItemId.copy();
}
}

View File

@ -5,11 +5,9 @@ import java.util.List;
import com.hbm.blocks.BlockDummyable;
import com.hbm.blocks.ILookOverlay;
import com.hbm.main.MainRegistry;
import com.hbm.tileentity.TileEntityProxyCombo;
import com.hbm.tileentity.machine.TileEntityMachineIGenerator;
import cpw.mods.fml.common.network.internal.FMLNetworkHandler;
import net.minecraft.block.material.Material;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.tileentity.TileEntity;

View File

@ -13,7 +13,6 @@ import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import com.google.gson.stream.JsonWriter;
import com.hbm.itempool.ItemPool;
import com.hbm.itempool.ItemPoolsLegacy;
import com.hbm.items.ModItems;
import com.hbm.main.MainRegistry;
@ -27,9 +26,12 @@ import net.minecraft.util.WeightedRandomChestContent;
public class ItemPoolConfigJSON {
public static final Gson gson = new Gson();
public static HashMap<String, ItemPool> pools = new HashMap();
public static void initialize() {
//writes the defaults
ItemPool.initialize();
File folder = MainRegistry.configHbmDir;
File config = new File(folder.getAbsolutePath() + File.separatorChar + "hbmItemPools.json");
@ -40,14 +42,6 @@ public class ItemPoolConfigJSON {
} else {
readConfig(config);
}
for(Entry<String, ItemPool> entry : pools.entrySet()) {
System.out.println(entry.getKey());
for(WeightedRandomChestContent item : entry.getValue().pool) {
System.out.println(item.theItemId + " " + item.theItemId.stackTagCompound + " " + item.theMinimumChanceToGenerateItem + " " + item.theMaximumChanceToGenerateItem + " " + item.itemWeight);
}
}
}
private static void writeDefault(File file) {
@ -58,7 +52,7 @@ public class ItemPoolConfigJSON {
writer.beginObject();
writer.name("pools").beginObject();
for(Entry<String, ItemPool> entry : pools.entrySet()) {
for(Entry<String, ItemPool> entry : ItemPool.pools.entrySet()) {
writer.name(entry.getKey()).beginArray();
for(WeightedRandomChestContent content : entry.getValue().pool) {
@ -110,7 +104,7 @@ public class ItemPoolConfigJSON {
newPools.put(poolName, pool);
}
ItemPoolConfigJSON.pools = newPools;
ItemPool.pools = newPools;
} catch(Exception ex) {
ex.printStackTrace();

View File

@ -3,7 +3,6 @@ package com.hbm.entity.train;
import java.util.ArrayList;
import java.util.List;
import com.hbm.blocks.ILookOverlay;
import com.hbm.main.MainRegistry;
import cpw.mods.fml.relauncher.Side;

View File

@ -2,7 +2,6 @@ package com.hbm.inventory.container;
import com.hbm.inventory.SlotSmelting;
import com.hbm.items.ModItems;
import com.hbm.items.machine.ItemMachineUpgrade;
import com.hbm.tileentity.machine.TileEntityMachineArcFurnace;
import api.hbm.energy.IBatteryItem;

View File

@ -1,16 +1,22 @@
package com.hbm.itempool;
import static com.hbm.lib.HbmChestContents.weighted;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import com.hbm.config.ItemPoolConfigJSON;
import com.hbm.items.ModItems;
import net.minecraft.block.Block;
import net.minecraft.init.Items;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.util.WeightedRandomChestContent;
public class ItemPool {
public static HashMap<String, ItemPool> pools = new HashMap();
public String name;
public WeightedRandomChestContent[] pool = new WeightedRandomChestContent[0];
@ -21,7 +27,7 @@ public class ItemPool {
public ItemPool(String name) {
this.name = name;
ItemPoolConfigJSON.pools.put(name, this);
pools.put(name, this);
}
public ItemPool add(Item item, int meta, int min, int max, int weight) { buildingList.add(new WeightedRandomChestContent(item, meta, min, max, weight)); return this; }
@ -42,12 +48,24 @@ public class ItemPool {
}
public static void initialize() {
//here we abuse java's lazy loading behavior, referencing the item pools with what is effectively a NOP in order to cause instantiation
//this of course has to happen after the items and blocks are registered but before the item pool config
//will this cause horrific issues if something manages to load the item pools prematurely? absolutely
//however, the advantage here is that i don't need to separate the fields from the instantiation, i can simply slap them together into the class and it works
//is this shitty coding practice? yes! but it's slightly more convenient than the alternative so i will roll with it anyway because go fuck yourself
//who are you to tell me what i can and cannot do
ItemPoolsLegacy.poolGeneric.hashCode();
ItemPoolsLegacy.init();
ItemPoolsComponent.init();
ItemPoolsSingle.init();
ItemPoolsRedRoom.init();
}
/** Grabs the specified item pool out of the pool map, will return the backup pool if the given pool is not present */
public static WeightedRandomChestContent[] getPool(String name) {
ItemPool pool = pools.get(name);
if(pool == null) return backupPool;
return pool.pool;
}
/** Should a pool be lost due to misconfiguration or otherwise, this pool will be returned in its place */
private static WeightedRandomChestContent[] backupPool = new WeightedRandomChestContent[] {
weighted(Items.bread, 0, 1, 3, 10),
weighted(Items.stick, 0, 2, 5, 10),
weighted(ModItems.scrap, 0, 1, 3, 10),
weighted(ModItems.dust, 0, 2, 5, 5)
};
}

View File

@ -0,0 +1,188 @@
package com.hbm.itempool;
import static com.hbm.lib.HbmChestContents.weighted;
import com.hbm.blocks.ModBlocks;
import com.hbm.inventory.material.Mats;
import com.hbm.items.ItemEnums.EnumCokeType;
import com.hbm.items.ModItems;
import com.hbm.items.tool.ItemBlowtorch;
import net.minecraft.init.Items;
import net.minecraft.util.WeightedRandomChestContent;
public class ItemPoolsComponent {
public static final String POOL_MACHINE_PARTS = "POOL_MACHINE_PARTS";
public static final String POOL_NUKE_FUEL = "POOL_NUKE_FUEL";
public static final String POOL_SILO = "POOL_SILO";
public static final String POOL_OFFICE_TRASH = "POOL_OFFICE_TRASH";
public static final String POOL_FILING_CABINET = "POOL_FILING_CABINET";
public static final String POOL_SOLID_FUEL = "POOL_SOLID_FUEL";
public static final String POOL_VAULT_LAB = "POOL_VAULT_LAB";
public static final String POOL_VAULT_LOCKERS = "POOL_VAULT_LOCKERS";
public static void init() {
//machine parts
new ItemPool(POOL_MACHINE_PARTS) {{
this.pool = new WeightedRandomChestContent[] {
weighted(ModItems.plate_steel, 0, 1, 5, 5),
weighted(ModItems.hull_big_steel, 0, 1, 2, 2),
weighted(ModItems.hull_small_steel, 0, 1, 3, 3),
weighted(ModItems.plate_polymer, 0, 1, 6, 5),
weighted(ModItems.bolt, Mats.MAT_STEEL.id, 4, 16, 3),
weighted(ModItems.bolt, Mats.MAT_TUNGSTEN.id, 4, 16, 3),
weighted(ModItems.board_copper, 0, 1, 2, 4),
weighted(ModItems.coil_tungsten, 0, 1, 2, 5),
weighted(ModItems.motor, 0, 1, 2, 4),
weighted(ModItems.tank_steel, 0, 1, 2, 3),
weighted(ModItems.coil_copper, 0, 1, 3, 4),
weighted(ModItems.coil_copper_torus, 0, 1, 2, 3),
weighted(ModItems.wire_red_copper, 0, 1, 8, 5),
weighted(ModItems.piston_selenium, 0, 1, 1, 3),
weighted(ModItems.battery_advanced_cell, 0, 1, 1, 3),
weighted(ModItems.circuit_raw, 0, 1, 3, 5),
weighted(ModItems.circuit_aluminium, 0, 1, 2, 4),
weighted(ModItems.circuit_copper, 0, 1, 1, 3),
weighted(ModItems.circuit_red_copper, 0, 1, 1, 2),
weighted(ModItems.blade_titanium, 0, 1, 8, 1)
};
}};
//fuel isotopes found in bunkers and labs
new ItemPool(POOL_NUKE_FUEL) {{
this.pool = new WeightedRandomChestContent[] {
weighted(ModItems.billet_uranium, 0, 1, 4, 4),
weighted(ModItems.billet_th232, 0, 1, 3, 3),
weighted(ModItems.billet_uranium_fuel, 0, 1, 3, 5),
weighted(ModItems.billet_mox_fuel, 0, 1, 3, 5),
weighted(ModItems.billet_thorium_fuel, 0, 1, 3, 3),
weighted(ModItems.billet_ra226be, 0, 1, 2, 2),
weighted(ModItems.billet_beryllium, 0, 1, 1, 1),
weighted(ModItems.nugget_u233, 0, 1, 1, 1),
weighted(ModItems.nugget_uranium_fuel, 0, 1, 1, 1),
weighted(ModItems.rod_zirnox_empty, 0, 1, 3, 3),
weighted(ModItems.ingot_graphite, 0, 1, 4, 3),
weighted(ModItems.pile_rod_uranium, 0, 2, 5, 3),
weighted(ModItems.pile_rod_source, 0, 1, 2, 2),
weighted(ModItems.reacher, 0, 1, 1, 3),
weighted(ModItems.screwdriver, 0, 1, 1, 2)
};
}};
//missile parts found in silos
new ItemPool(POOL_SILO) {{
this.pool = new WeightedRandomChestContent[] {
weighted(ModItems.missile_generic, 0, 1, 1, 4),
weighted(ModItems.missile_incendiary, 0, 1, 1, 4),
weighted(ModItems.gas_mask_m65, 0, 1, 1, 5),
weighted(ModItems.battery_advanced, 0, 1, 1, 5),
weighted(ModItems.designator, 0, 1, 1, 5),
weighted(ModItems.crate_caller, 0, 1, 1, 1),
weighted(ModItems.thruster_small, 0, 1, 1, 5),
weighted(ModItems.thruster_medium, 0, 1, 1, 4),
weighted(ModItems.fuel_tank_small, 0, 1, 1, 5),
weighted(ModItems.fuel_tank_medium, 0, 1, 1, 4),
weighted(ModItems.bomb_caller, 0, 1, 1, 1),
weighted(ModItems.bomb_caller, 3, 1, 1, 1),
weighted(ModItems.bottle_nuka, 0, 1, 3, 10)
};
}};
//low quality items from offices in chests
new ItemPool(POOL_OFFICE_TRASH) {{
this.pool = new WeightedRandomChestContent[] {
weighted(Items.paper, 0, 1, 12, 10),
weighted(Items.book, 0, 1, 3, 4),
weighted(ModItems.twinkie, 0, 1, 2, 6),
weighted(ModItems.coffee, 0, 1, 1, 4),
weighted(ModItems.flame_politics, 0, 1, 1, 2),
weighted(ModItems.ring_pull, 0, 1, 1, 4),
weighted(ModItems.can_empty, 0, 1, 1, 2),
weighted(ModItems.can_creature, 0, 1, 2, 2),
weighted(ModItems.can_smart, 0, 1, 3, 2),
weighted(ModItems.can_mrsugar, 0, 1, 2, 2),
weighted(ModItems.cap_nuka, 0, 1, 16, 2),
weighted(ModItems.book_guide, 3, 1, 1, 1),
weighted(ModBlocks.deco_computer, 0, 1, 1, 1)
};
}};
//things found in various filing cabinets, paper, books, etc
new ItemPool(POOL_FILING_CABINET) {{
this.pool = new WeightedRandomChestContent[] {
weighted(Items.paper, 0, 1, 12, 240),
weighted(Items.book, 0, 1, 3, 90),
weighted(Items.map, 0, 1, 1, 50),
weighted(Items.writable_book, 0, 1, 1, 30),
weighted(ModItems.cigarette, 0, 1, 16, 20),
weighted(ModItems.toothpicks, 0, 1, 16, 10),
weighted(ModItems.dust, 0, 1, 1, 40),
weighted(ModItems.dust_tiny, 0, 1, 3, 75),
weighted(ModItems.ink, 0, 1, 1, 1)
};
}};
//solid fuels from bunker power rooms
new ItemPool(POOL_SOLID_FUEL) {{
this.pool = new WeightedRandomChestContent[] {
weighted(ModItems.solid_fuel, 0, 1, 5, 1),
weighted(ModItems.solid_fuel_presto, 0, 1, 2, 2),
weighted(ModItems.ball_dynamite, 0, 1, 4, 2),
weighted(ModItems.coke, EnumCokeType.PETROLEUM.ordinal(), 1, 3, 1),
weighted(Items.redstone, 0, 1, 3, 1),
weighted(ModItems.niter, 0, 1, 3, 1)
};
}};
//various lab related items from bunkers
new ItemPool(POOL_VAULT_LAB) {{
this.pool = new WeightedRandomChestContent[] {
weighted(ItemBlowtorch.getEmptyTool(ModItems.blowtorch), 1, 1, 4),
weighted(ModItems.chemistry_set, 0, 1, 1, 15),
weighted(ModItems.screwdriver, 0, 1, 1, 10),
weighted(ModItems.nugget_mercury, 0, 1, 1, 3),
weighted(ModItems.morning_glory, 0, 1, 1, 1),
weighted(ModItems.filter_coal, 0, 1, 1, 5),
weighted(ModItems.dust, 0, 1, 3, 25),
weighted(Items.paper, 0, 1, 2, 15),
weighted(ModItems.cell_empty, 0, 1, 1, 5),
weighted(Items.glass_bottle, 0, 1, 1, 5),
weighted(ModItems.powder_iodine, 0, 1, 1, 1),
weighted(ModItems.powder_bromine, 0, 1, 1, 1),
weighted(ModItems.powder_cobalt, 0, 1, 1, 1),
weighted(ModItems.powder_neodymium, 0, 1, 1, 1),
weighted(ModItems.powder_boron, 0, 1, 1, 1)
};
}};
//personal items and gear from vaults
new ItemPool(POOL_VAULT_LOCKERS) {{
this.pool = new WeightedRandomChestContent[] {
weighted(ModItems.robes_helmet, 0, 1, 1, 1),
weighted(ModItems.robes_plate, 0, 1, 1, 1),
weighted(ModItems.robes_legs, 0, 1, 1, 1),
weighted(ModItems.robes_boots, 0, 1, 1, 1),
weighted(ModItems.jackt, 0, 1, 1, 1),
weighted(ModItems.jackt2, 0, 1, 1, 1),
weighted(ModItems.gas_mask_m65, 0, 1, 1, 2),
weighted(ModItems.gas_mask_mono, 0, 1, 1, 2),
weighted(ModItems.goggles, 0, 1, 1, 2),
weighted(ModItems.gas_mask_filter, 0, 1, 1, 4),
weighted(ModItems.flame_opinion, 0, 1, 3, 5),
weighted(ModItems.flame_conspiracy, 0, 1, 3, 5),
weighted(ModItems.flame_politics, 0, 1, 3, 5),
weighted(ModItems.definitelyfood, 0, 2, 7, 5),
weighted(ModItems.cigarette, 0, 1, 8, 5),
weighted(ModItems.armor_polish, 0, 1, 1, 3),
weighted(ModItems.gun_kit_1, 0, 1, 1, 3),
weighted(ModItems.rag, 0, 1, 3, 5),
weighted(Items.paper, 0, 1, 6, 7),
weighted(Items.clock, 0, 1, 1, 3),
weighted(Items.book, 0, 1, 5, 10),
weighted(Items.experience_bottle, 0, 1, 3, 1)
};
}};
}
}

View File

@ -3,9 +3,14 @@ package com.hbm.itempool;
import com.hbm.inventory.fluid.Fluids;
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.ItemZirnoxRod.EnumZirnoxType;
import static com.hbm.lib.HbmChestContents.*;
import com.hbm.blocks.ModBlocks;
import net.minecraft.init.Items;
import net.minecraft.util.WeightedRandomChestContent;
@ -16,37 +21,218 @@ import net.minecraft.util.WeightedRandomChestContent;
*/
public class ItemPoolsLegacy {
//"generic" set, found commonly in chests in many structures
public static ItemPool poolGeneric = 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_targeting_tier1, 0, 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)
};
}};
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_targeting_tier1, 0, 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_red_copper, 0, 2, 3, 7),
weighted(ModItems.circuit_targeting_tier1, 0, 1, 1, 4),
weighted(ModItems.circuit_copper, 0, 1, 1, 4),
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_targeting_tier3, 0, 1, 1, 4),
weighted(ModItems.circuit_gold, 0, 1, 2, 3),
weighted(ModItems.circuit_targeting_tier4, 0, 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.gun_fatman, 0, 1, 1, 1),
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)
};
}};
//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.gun_fatman, 0, 1, 1, 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_advanced_alloy, 0, 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)
};
}};
}
}

View File

@ -0,0 +1,43 @@
package com.hbm.itempool;
import static com.hbm.lib.HbmChestContents.weighted;
import com.hbm.blocks.ModBlocks;
import com.hbm.items.ModItems;
import net.minecraft.util.WeightedRandomChestContent;
public class ItemPoolsRedRoom {
public static final String POOL_RED_PEDESTAL = "POOL_RED_PEDESTAL";
public static void init() {
//pedestal items
new ItemPool(POOL_RED_PEDESTAL) {{
this.pool = new WeightedRandomChestContent[] {
weighted(ModItems.ballistic_gauntlet, 0, 1, 1, 10),
weighted(ModItems.armor_polish, 0, 1, 1, 10),
weighted(ModItems.bandaid, 0, 1, 1, 10),
weighted(ModItems.serum, 0, 1, 1, 10),
weighted(ModItems.quartz_plutonium, 0, 1, 1, 10),
weighted(ModItems.morning_glory, 0, 1, 1, 10),
weighted(ModItems.spider_milk, 0, 1, 1, 10),
weighted(ModItems.ink, 0, 1, 1, 10),
weighted(ModItems.heart_container, 0, 1, 1, 10),
weighted(ModItems.black_diamond, 0, 1, 1, 10),
weighted(ModItems.scrumpy, 0, 1, 1, 10),
weighted(ModItems.wild_p, 0, 1, 1, 5),
weighted(ModItems.card_aos, 0, 1, 1, 5),
weighted(ModItems.card_qos, 0, 1, 1, 5),
weighted(ModItems.starmetal_sword, 0, 1, 1, 5),
weighted(ModItems.gem_alexandrite, 0, 1, 1, 5),
weighted(ModItems.crackpipe, 0, 1, 1, 5),
weighted(ModItems.flask_infusion, 0, 1, 1, 5),
weighted(ModBlocks.boxcar, 0, 1, 1, 5),
weighted(ModItems.book_of_, 0, 1, 1, 5),
weighted(ModItems.gun_revolver_pip, 0, 1, 1, 5)
};
}};
}
}

View File

@ -0,0 +1,118 @@
package com.hbm.itempool;
import static com.hbm.lib.HbmChestContents.weighted;
import com.hbm.items.ModItems;
import com.hbm.items.ItemAmmoEnums.AmmoFatman;
import net.minecraft.init.Items;
import net.minecraft.util.WeightedRandomChestContent;
public class ItemPoolsSingle {
public static final String POOL_POWDER = "POOL_POWDER";
public static final String POOL_VAULT_RUSTY = "POOL_VAULT_RUSTY";
public static final String POOL_VAULT_STANDARD = "POOL_VAULT_STANDARD";
public static final String POOL_VAULT_REINFORCED = "POOL_VAULT_REINFORCED";
public static final String POOL_VAULT_UNBREAKABLE = "POOL_VAULT_UNBREAKABLE";
public static void init() {
//powder boxes
new ItemPool(POOL_POWDER) {{
this.pool = new WeightedRandomChestContent[] {
weighted(ModItems.powder_neptunium, 0, 1, 32, 1),
weighted(ModItems.powder_iodine, 0, 1, 32, 1),
weighted(ModItems.powder_thorium, 0, 1, 32, 1),
weighted(ModItems.powder_astatine, 0, 1, 32, 1),
weighted(ModItems.powder_neodymium, 0, 1, 32, 1),
weighted(ModItems.powder_caesium, 0, 1, 32, 1),
weighted(ModItems.powder_strontium, 0, 1, 32, 1),
weighted(ModItems.powder_cobalt, 0, 1, 32, 1),
weighted(ModItems.powder_bromine, 0, 1, 32, 1),
weighted(ModItems.powder_niobium, 0, 1, 32, 1),
weighted(ModItems.powder_tennessine, 0, 1, 32, 1),
weighted(ModItems.powder_cerium, 0, 1, 32, 1)
};
}};
new ItemPool(POOL_VAULT_RUSTY) {{
this.pool = new WeightedRandomChestContent[] {
weighted(Items.gold_ingot, 0, 3, 14, 1),
weighted(ModItems.gun_uac_pistol, 0, 1, 1, 2),
weighted(ModItems.pin, 0, 8, 8, 1),
weighted(ModItems.gun_calamity, 0, 1, 1, 1),
weighted(ModItems.bottle_quantum, 0, 1, 3, 1),
weighted(ModItems.ingot_advanced_alloy, 0, 4, 12, 1),
weighted(ModItems.ammo_50bmg, 0, 24, 48, 1),
weighted(ModItems.ammo_45, 0, 48, 64, 2),
weighted(ModItems.circuit_red_copper, 0, 6, 12, 1),
weighted(ModItems.gas_mask_m65, 0, 1, 1, 1),
weighted(ModItems.grenade_if_he, 0, 1, 1, 1),
weighted(ModItems.grenade_if_incendiary, 0, 1, 1, 1),
weighted(Items.diamond, 0, 1, 2, 1)
};
}};
new ItemPool(POOL_VAULT_STANDARD) {{
this.pool = new WeightedRandomChestContent[] {
weighted(ModItems.ingot_desh, 0, 2, 6, 1),
weighted(ModItems.battery_advanced_cell_4, 0, 1, 1, 1),
weighted(ModItems.powder_desh_mix, 0, 1, 5, 1),
weighted(Items.diamond, 0, 3, 6, 1),
weighted(ModItems.ammo_nuke, 0, 1, 1, 1),
weighted(ModItems.ammo_container, 0, 1, 1, 1),
weighted(ModItems.grenade_nuclear, 0, 1, 1, 1),
weighted(ModItems.grenade_smart, 0, 1, 6, 1),
weighted(ModItems.powder_yellowcake, 0, 16, 24, 1),
weighted(ModItems.gun_uzi, 0, 1, 1, 1),
weighted(ModItems.gun_uzi_silencer, 0, 1, 1, 1),
weighted(ModItems.clip_uzi, 0, 1, 3, 1),
weighted(ModItems.circuit_red_copper, 0, 12, 16, 1),
weighted(ModItems.circuit_gold, 0, 2, 6, 1)
};
}};
new ItemPool(POOL_VAULT_REINFORCED) {{
this.pool = new WeightedRandomChestContent[] {
weighted(ModItems.ingot_desh, 0, 6, 16, 1),
weighted(ModItems.battery_lithium, 0, 1, 1, 1),
weighted(ModItems.powder_power, 0, 1, 5, 1),
weighted(ModItems.sat_chip, 0, 1, 1, 1),
weighted(Items.diamond, 0, 5, 9, 1),
weighted(ModItems.warhead_nuclear, 0, 1, 1, 1),
weighted(ModItems.ammo_nuke, 0, 1, 3, 1),
weighted(ModItems.ammo_container, 0, 1, 4, 1),
weighted(ModItems.grenade_nuclear, 0, 1, 2, 1),
weighted(ModItems.grenade_mirv, 0, 1, 1, 1),
weighted(ModItems.powder_yellowcake, 0, 26, 42, 1),
weighted(ModItems.ingot_u235, 0, 3, 6, 1),
weighted(ModItems.gun_fatman, 0, 1, 1, 1),
weighted(ModItems.gun_revolver_pip, 0, 1, 1, 1),
weighted(ModItems.clip_revolver_pip, 0, 2, 4, 1),
weighted(ModItems.circuit_red_copper, 0, 18, 32, 1),
weighted(ModItems.circuit_gold, 0, 6, 12, 1)
};
}};
new ItemPool(POOL_VAULT_UNBREAKABLE) {{
this.pool = new WeightedRandomChestContent[] {
weighted(ModItems.ammo_container, 0, 3, 6, 1),
weighted(ModItems.clip_fatman, 0, 2, 3, 1),
weighted(ModItems.ammo_nuke, AmmoFatman.MIRV.ordinal(), 2, 3, 1),
weighted(ModItems.gun_mirv, 0, 1, 1, 1),
weighted(ModItems.gun_fatman, 0, 1, 1, 1),
weighted(ModItems.gun_proto, 0, 1, 1, 1),
weighted(ModItems.gun_b92, 0, 1, 1, 1),
weighted(ModItems.ingot_combine_steel, 0, 16, 28, 1),
weighted(ModItems.man_core, 0, 1, 1, 1),
weighted(ModItems.boy_kit, 0, 1, 1, 1),
weighted(ModItems.nuke_starter_kit, 0, 1, 1, 1),
weighted(ModItems.weaponized_starblaster_cell, 0, 1, 1, 1),
weighted(ModItems.warhead_mirv, 0, 1, 1, 1),
weighted(ModItems.battery_schrabidium_cell, 0, 1, 1, 1),
weighted(ModItems.powder_nitan_mix, 0, 16, 32, 1)
};
}};
}
}

View File

@ -2,416 +2,15 @@ package com.hbm.lib;
import java.util.Random;
import com.hbm.blocks.ModBlocks;
import com.hbm.inventory.fluid.Fluids;
import com.hbm.inventory.material.Mats;
import com.hbm.items.ItemAmmoEnums.Ammo357Magnum;
import com.hbm.items.ItemAmmoEnums.AmmoFatman;
import com.hbm.items.ModItems;
import com.hbm.items.machine.ItemBreedingRod.BreedingRodType;
import com.hbm.items.machine.ItemZirnoxRod.EnumZirnoxType;
import com.hbm.items.special.ItemBookLore;
import com.hbm.items.tool.ItemBlowtorch;
import net.minecraft.block.Block;
import net.minecraft.init.Items;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.util.WeightedRandomChestContent;
public class HbmChestContents {
public static WeightedRandomChestContent[] modGeneric = 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_targeting_tier1, 0, 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) };
public static WeightedRandomChestContent[] machineParts = new WeightedRandomChestContent[] {
weighted(ModItems.plate_steel, 0, 1, 5, 5),
weighted(ModItems.hull_big_steel, 0, 1, 2, 2),
weighted(ModItems.hull_small_steel, 0, 1, 3, 3),
weighted(ModItems.plate_polymer, 0, 1, 6, 5),
weighted(ModItems.bolt, Mats.MAT_STEEL.id, 4, 16, 3),
weighted(ModItems.bolt, Mats.MAT_TUNGSTEN.id, 4, 16, 3),
weighted(ModItems.board_copper, 0, 1, 2, 4),
weighted(ModItems.coil_tungsten, 0, 1, 2, 5),
weighted(ModItems.motor, 0, 1, 2, 4),
weighted(ModItems.tank_steel, 0, 1, 2, 3),
weighted(ModItems.coil_copper, 0, 1, 3, 4),
weighted(ModItems.coil_copper_torus, 0, 1, 2, 3),
weighted(ModItems.wire_red_copper, 0, 1, 8, 5),
weighted(ModItems.piston_selenium, 0, 1, 1, 3),
weighted(ModItems.battery_advanced_cell, 0, 1, 1, 3),
weighted(ModItems.circuit_raw, 0, 1, 3, 5),
weighted(ModItems.circuit_aluminium, 0, 1, 2, 4),
weighted(ModItems.circuit_copper, 0, 1, 1, 3),
weighted(ModItems.circuit_red_copper, 0, 1, 1, 2),
weighted(ModItems.blade_titanium, 0, 1, 8, 1)
};
public static WeightedRandomChestContent[] antenna = 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_red_copper, 0, 2, 3, 7),
weighted(ModItems.circuit_targeting_tier1, 0, 1, 1, 4),
weighted(ModItems.circuit_copper, 0, 1, 1, 4),
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) };
public static WeightedRandomChestContent[] expensive = new WeightedRandomChestContent[] {
weighted(ModItems.chlorine_pinwheel, 0, 1, 1, 1),
weighted(ModItems.circuit_targeting_tier3, 0, 1, 1, 4),
weighted(ModItems.circuit_gold, 0, 1, 2, 3),
weighted(ModItems.circuit_targeting_tier4, 0, 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.gun_fatman, 0, 1, 1, 1),
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) };
public static WeightedRandomChestContent[] nukeTrash = 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) };
public static WeightedRandomChestContent[] nuclearFuel = new WeightedRandomChestContent[] {
weighted(ModItems.billet_uranium, 0, 1, 4, 4),
weighted(ModItems.billet_th232, 0, 1, 3, 3),
weighted(ModItems.billet_uranium_fuel, 0, 1, 3, 5),
weighted(ModItems.billet_mox_fuel, 0, 1, 3, 5),
weighted(ModItems.billet_thorium_fuel, 0, 1, 3, 3),
weighted(ModItems.billet_ra226be, 0, 1, 2, 2),
weighted(ModItems.billet_beryllium, 0, 1, 1, 1),
weighted(ModItems.nugget_u233, 0, 1, 1, 1),
weighted(ModItems.nugget_uranium_fuel, 0, 1, 1, 1),
weighted(ModItems.rod_zirnox_empty, 0, 1, 3, 3),
weighted(ModItems.ingot_graphite, 0, 1, 4, 3),
weighted(ModItems.pile_rod_uranium, 0, 2, 5, 3),
weighted(ModItems.pile_rod_source, 0, 1, 2, 2),
weighted(ModItems.reacher, 0, 1, 1, 3),
weighted(ModItems.screwdriver, 0, 1, 1, 2),
};
public static WeightedRandomChestContent[] nuclear = 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) };
public static WeightedRandomChestContent[] vertibird = 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.gun_fatman, 0, 1, 1, 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) };
public static WeightedRandomChestContent[] missile = new WeightedRandomChestContent[] {
weighted(ModItems.missile_generic, 0, 1, 1, 4),
weighted(ModItems.missile_incendiary, 0, 1, 1, 4),
weighted(ModItems.gas_mask_m65, 0, 1, 1, 5),
weighted(ModItems.battery_advanced, 0, 1, 1, 5),
weighted(ModItems.designator, 0, 1, 1, 5),
weighted(ModItems.crate_caller, 0, 1, 1, 1),
weighted(ModItems.thruster_small, 0, 1, 1, 5),
weighted(ModItems.thruster_medium, 0, 1, 1, 4),
weighted(ModItems.fuel_tank_small, 0, 1, 1, 5),
weighted(ModItems.fuel_tank_medium, 0, 1, 1, 4),
weighted(ModItems.bomb_caller, 0, 1, 1, 1),
weighted(ModItems.bomb_caller, 3, 1, 1, 1),
weighted(ModItems.bottle_nuka, 0, 1, 3, 10) };
public static WeightedRandomChestContent[] spaceship = new WeightedRandomChestContent[] {
weighted(ModItems.battery_advanced, 0, 1, 1, 5),
weighted(ModItems.ingot_advanced_alloy, 0, 2, 16, 5),
weighted(ModItems.wire_advanced_alloy, 0, 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) };
public static WeightedRandomChestContent[] powder = new WeightedRandomChestContent[] {
weighted(ModItems.powder_neptunium, 0, 1, 32, 1),
weighted(ModItems.powder_iodine, 0, 1, 32, 1),
weighted(ModItems.powder_thorium, 0, 1, 32, 1),
weighted(ModItems.powder_astatine, 0, 1, 32, 1),
weighted(ModItems.powder_neodymium, 0, 1, 32, 1),
weighted(ModItems.powder_caesium, 0, 1, 32, 1),
weighted(ModItems.powder_strontium, 0, 1, 32, 1),
weighted(ModItems.powder_cobalt, 0, 1, 32, 1),
weighted(ModItems.powder_bromine, 0, 1, 32, 1),
weighted(ModItems.powder_niobium, 0, 1, 32, 1),
weighted(ModItems.powder_tennessine, 0, 1, 32, 1),
weighted(ModItems.powder_cerium, 0, 1, 32, 1) };
public static WeightedRandomChestContent[] vault1 = new WeightedRandomChestContent[] {
weighted(Items.gold_ingot, 0, 3, 14, 1),
weighted(ModItems.gun_uac_pistol, 0, 1, 1, 2),
weighted(ModItems.pin, 0, 8, 8, 1),
weighted(ModItems.gun_calamity, 0, 1, 1, 1),
weighted(ModItems.bottle_quantum, 0, 1, 3, 1),
weighted(ModItems.ingot_advanced_alloy, 0, 4, 12, 1),
weighted(ModItems.ammo_50bmg, 0, 24, 48, 1),
weighted(ModItems.ammo_45, 0, 48, 64, 2),
weighted(ModItems.circuit_red_copper, 0, 6, 12, 1),
weighted(ModItems.gas_mask_m65, 0, 1, 1, 1),
weighted(ModItems.grenade_if_he, 0, 1, 1, 1),
weighted(ModItems.grenade_if_incendiary, 0, 1, 1, 1),
weighted(Items.diamond, 0, 1, 2, 1) };
public static WeightedRandomChestContent[] vault2 = new WeightedRandomChestContent[] {
weighted(ModItems.ingot_desh, 0, 2, 6, 1),
weighted(ModItems.battery_advanced_cell_4, 0, 1, 1, 1),
weighted(ModItems.powder_desh_mix, 0, 1, 5, 1),
weighted(Items.diamond, 0, 3, 6, 1),
weighted(ModItems.ammo_nuke, 0, 1, 1, 1),
weighted(ModItems.ammo_container, 0, 1, 1, 1),
weighted(ModItems.grenade_nuclear, 0, 1, 1, 1),
weighted(ModItems.grenade_smart, 0, 1, 6, 1),
weighted(ModItems.powder_yellowcake, 0, 16, 24, 1),
weighted(ModItems.gun_uzi, 0, 1, 1, 1),
weighted(ModItems.gun_uzi_silencer, 0, 1, 1, 1),
weighted(ModItems.clip_uzi, 0, 1, 3, 1),
weighted(ModItems.circuit_red_copper, 0, 12, 16, 1),
weighted(ModItems.circuit_gold, 0, 2, 6, 1) };
public static WeightedRandomChestContent[] vault3 = new WeightedRandomChestContent[] {
weighted(ModItems.ingot_desh, 0, 6, 16, 1),
weighted(ModItems.battery_lithium, 0, 1, 1, 1),
weighted(ModItems.powder_power, 0, 1, 5, 1),
weighted(ModItems.sat_chip, 0, 1, 1, 1),
weighted(Items.diamond, 0, 5, 9, 1),
weighted(ModItems.warhead_nuclear, 0, 1, 1, 1),
weighted(ModItems.ammo_nuke, 0, 1, 3, 1),
weighted(ModItems.ammo_container, 0, 1, 4, 1),
weighted(ModItems.grenade_nuclear, 0, 1, 2, 1),
weighted(ModItems.grenade_mirv, 0, 1, 1, 1),
weighted(ModItems.powder_yellowcake, 0, 26, 42, 1),
weighted(ModItems.ingot_u235, 0, 3, 6, 1),
weighted(ModItems.gun_fatman, 0, 1, 1, 1),
weighted(ModItems.gun_revolver_pip, 0, 1, 1, 1),
weighted(ModItems.clip_revolver_pip, 0, 2, 4, 1),
weighted(ModItems.circuit_red_copper, 0, 18, 32, 1),
weighted(ModItems.circuit_gold, 0, 6, 12, 1) };
public static WeightedRandomChestContent[] vault4 = new WeightedRandomChestContent[] {
weighted(ModItems.ammo_container, 0, 3, 6, 1),
weighted(ModItems.clip_fatman, 0, 2, 3, 1),
weighted(ModItems.ammo_nuke, AmmoFatman.MIRV.ordinal(), 2, 3, 1),
weighted(ModItems.gun_mirv, 0, 1, 1, 1),
weighted(ModItems.gun_fatman, 0, 1, 1, 1),
weighted(ModItems.gun_proto, 0, 1, 1, 1),
weighted(ModItems.gun_b92, 0, 1, 1, 1),
weighted(ModItems.ingot_combine_steel, 0, 16, 28, 1),
weighted(ModItems.man_core, 0, 1, 1, 1),
weighted(ModItems.boy_kit, 0, 1, 1, 1),
weighted(ModItems.nuke_starter_kit, 0, 1, 1, 1),
weighted(ModItems.weaponized_starblaster_cell, 0, 1, 1, 1),
weighted(ModItems.warhead_mirv, 0, 1, 1, 1),
weighted(ModItems.battery_schrabidium_cell, 0, 1, 1, 1),
weighted(ModItems.powder_nitan_mix, 0, 16, 32, 1) };
public static WeightedRandomChestContent[] officeTrash = new WeightedRandomChestContent[] {
//Meta, Min amount, Max amount, Weight
weighted(Items.paper, 0, 1, 12, 10),
weighted(Items.book, 0, 1, 3, 4),
weighted(ModItems.twinkie, 0, 1, 2, 6),
weighted(ModItems.coffee, 0, 1, 1, 4),
weighted(ModItems.flame_politics, 0, 1, 1, 2),
weighted(ModItems.ring_pull, 0, 1, 1, 4),
weighted(ModItems.can_empty, 0, 1, 1, 2),
weighted(ModItems.can_creature, 0, 1, 2, 2),
weighted(ModItems.can_smart, 0, 1, 3, 2),
weighted(ModItems.can_mrsugar, 0, 1, 2, 2),
weighted(ModItems.cap_nuka, 0, 1, 16, 2),
weighted(ModItems.book_guide, 3, 1, 1, 1),
weighted(Item.getItemFromBlock(ModBlocks.deco_computer), 0, 1, 1, 1)};
public static WeightedRandomChestContent[] filingCabinet = new WeightedRandomChestContent[] {
weighted(Items.paper, 0, 1, 12, 240),
weighted(Items.book, 0, 1, 3, 90),
weighted(Items.map, 0, 1, 1, 50),
weighted(Items.writable_book, 0, 1, 1, 30),
weighted(ModItems.cigarette, 0, 1, 16, 20),
weighted(ModItems.toothpicks, 0, 1, 16, 10),
weighted(ModItems.dust, 0, 1, 1, 40),
weighted(ModItems.dust_tiny, 0, 1, 3, 75),
weighted(ModItems.ink, 0, 1, 1, 1), //make that mf rare; 1:555 weight
};
public static WeightedRandomChestContent[] solidFuel = new WeightedRandomChestContent[] {
weighted(ModItems.solid_fuel, 0, 1, 5, 1),
weighted(ModItems.solid_fuel_presto, 0, 1, 2, 2),
weighted(ModItems.ball_dynamite, 0, 1, 4, 2),
weighted(Items.redstone, 0, 1, 3, 1),
weighted(ModItems.niter, 0, 1, 3, 1)
};
public static WeightedRandomChestContent[] labVault = new WeightedRandomChestContent[] {
weighted(ItemBlowtorch.getEmptyTool(ModItems.blowtorch), 1, 1, 4),
weighted(ModItems.chemistry_set, 0, 1, 1, 15),
weighted(ModItems.screwdriver, 0, 1, 1, 10),
weighted(ModItems.nugget_mercury, 0, 1, 1, 3),
weighted(ModItems.morning_glory, 0, 1, 1, 1),
weighted(ModItems.filter_coal, 0, 1, 1, 5),
weighted(ModItems.dust, 0, 1, 3, 25),
weighted(Items.paper, 0, 1, 2, 15),
weighted(ModItems.cell_empty, 0, 1, 1, 5),
weighted(Items.glass_bottle, 0, 1, 1, 5),
weighted(ModItems.powder_iodine, 0, 1, 1, 1),
weighted(ModItems.powder_bromine, 0, 1, 1, 1),
weighted(ModItems.powder_cobalt, 0, 1, 1, 1),
weighted(ModItems.powder_neodymium, 0, 1, 1, 1),
weighted(ModItems.powder_boron, 0, 1, 1, 1),
};
public static WeightedRandomChestContent[] lockersVault = new WeightedRandomChestContent[] {
weighted(ModItems.robes_helmet, 0, 1, 1, 1),
weighted(ModItems.robes_plate, 0, 1, 1, 1),
weighted(ModItems.robes_legs, 0, 1, 1, 1),
weighted(ModItems.robes_boots, 0, 1, 1, 1),
weighted(ModItems.jackt, 0, 1, 1, 1),
weighted(ModItems.jackt2, 0, 1, 1, 1),
weighted(ModItems.gas_mask_m65, 0, 1, 1, 2),
weighted(ModItems.gas_mask_mono, 0, 1, 1, 2),
weighted(ModItems.goggles, 0, 1, 1, 2),
weighted(ModItems.gas_mask_filter, 0, 1, 1, 4),
weighted(ModItems.flame_opinion, 0, 1, 3, 5),
weighted(ModItems.flame_conspiracy, 0, 1, 3, 5),
weighted(ModItems.flame_politics, 0, 1, 3, 5),
weighted(ModItems.cigarette, 0, 1, 8, 5),
weighted(ModItems.armor_polish, 0, 1, 1, 3),
weighted(ModItems.gun_kit_1, 0, 1, 1, 3),
weighted(ModItems.rag, 0, 1, 3, 5),
weighted(Items.paper, 0, 1, 6, 7),
weighted(Items.clock, 0, 1, 1, 3),
weighted(Items.book, 0, 1, 5, 10),
weighted(Items.experience_bottle, 0, 1, 3, 1),
};
public static WeightedRandomChestContent weighted(Item item, int meta, int min, int max, int weight) { return new WeightedRandomChestContent(item, meta, min, max, weight); }
public static WeightedRandomChestContent weighted(Block block, int meta, int min, int max, int weight) { return new WeightedRandomChestContent(Item.getItemFromBlock(block), meta, min, max, weight); }
public static WeightedRandomChestContent weighted(ItemStack item, int min, int max, int weight) { return new WeightedRandomChestContent(item, min, max, weight); }
@ -422,18 +21,12 @@ public class HbmChestContents {
String key;
int pages;
switch(rand.nextInt(5)) {
case 0:
key = "resignation_note"; pages = 3; break;
case 1:
key = "memo_stocks"; pages = 1; break;
case 2:
key = "memo_schrab_gsa"; pages = 2; break;
case 3:
key = "memo_schrab_rd"; pages = 4; break;
case 4:
key = "memo_schrab_nuke"; pages = 3; break;
default:
return null;
case 0: key = "resignation_note"; pages = 3; break;
case 1: key = "memo_stocks"; pages = 1; break;
case 2: key = "memo_schrab_gsa"; pages = 2; break;
case 3: key = "memo_schrab_rd"; pages = 4; break;
case 4: key = "memo_schrab_nuke"; pages = 3; break;
default: return null;
}
return ItemBookLore.createBook(key, pages, 0x6BC8FF, 0x0A0A0A);
@ -444,18 +37,12 @@ public class HbmChestContents {
int pages;
switch(rand.nextInt(5)) {
case 0:
key = "bf_bomb_1"; pages = 4; break;
case 1:
key = "bf_bomb_2"; pages = 6; break;
case 2:
key = "bf_bomb_3"; pages = 6; break;
case 3:
key = "bf_bomb_4"; pages = 5; break;
case 4:
key = "bf_bomb_5"; pages = 9; break;
default:
return null;
case 0: key = "bf_bomb_1"; pages = 4; break;
case 1: key = "bf_bomb_2"; pages = 6; break;
case 2: key = "bf_bomb_3"; pages = 6; break;
case 3: key = "bf_bomb_4"; pages = 5; break;
case 4: key = "bf_bomb_5"; pages = 9; break;
default: return null;
}
return ItemBookLore.createBook(key, pages, 0x1E1E1E, 0x46EA44);

View File

@ -10,6 +10,8 @@ import com.hbm.config.GeneralConfig;
import com.hbm.config.MobConfig;
import com.hbm.config.WorldConfig;
import com.hbm.handler.MultiblockHandlerXR;
import com.hbm.itempool.ItemPool;
import com.hbm.itempool.ItemPoolsSingle;
import com.hbm.items.ModItems;
import com.hbm.main.MainRegistry;
import com.hbm.saveddata.TomSaveData;
@ -523,39 +525,29 @@ public class HbmWorldGen implements IWorldGenerator {
if(world.getBlock(x, y - 1, z).canPlaceTorchOnTop(world, x, y - 1, z)) {
world.setBlock(x, y, z, ModBlocks.safe, rand.nextInt(4) + 2, 2);
TileEntitySafe safe = (TileEntitySafe) world.getTileEntity(x, y, z);
switch(rand.nextInt(10)) {
case 0:
case 1:
case 2:
case 3:
((TileEntitySafe)world.getTileEntity(x, y, z)).setPins(rand.nextInt(999) + 1);
((TileEntitySafe)world.getTileEntity(x, y, z)).setMod(1);
((TileEntitySafe)world.getTileEntity(x, y, z)).lock();
WeightedRandomChestContent.generateChestContents(rand, HbmChestContents.vault1, (TileEntitySafe)world.getTileEntity(x, y, z), rand.nextInt(4) + 3);
case 0: case 1: case 2: case 3:
safe.setMod(1);
WeightedRandomChestContent.generateChestContents(rand, ItemPool.getPool(ItemPoolsSingle.POOL_VAULT_RUSTY), safe, rand.nextInt(4) + 3);
break;
case 4:
case 5:
case 6:
((TileEntitySafe)world.getTileEntity(x, y, z)).setPins(rand.nextInt(999) + 1);
((TileEntitySafe)world.getTileEntity(x, y, z)).setMod(0.1);
((TileEntitySafe)world.getTileEntity(x, y, z)).lock();
WeightedRandomChestContent.generateChestContents(rand, HbmChestContents.vault2, (TileEntitySafe)world.getTileEntity(x, y, z), rand.nextInt(3) + 2);
case 4: case 5: case 6:
safe.setMod(0.1);
WeightedRandomChestContent.generateChestContents(rand, ItemPool.getPool(ItemPoolsSingle.POOL_VAULT_STANDARD), safe, rand.nextInt(3) + 2);
break;
case 7:
case 8:
((TileEntitySafe)world.getTileEntity(x, y, z)).setPins(rand.nextInt(999) + 1);
((TileEntitySafe)world.getTileEntity(x, y, z)).setMod(0.02);
((TileEntitySafe)world.getTileEntity(x, y, z)).lock();
WeightedRandomChestContent.generateChestContents(rand, HbmChestContents.vault3, (TileEntitySafe)world.getTileEntity(x, y, z), rand.nextInt(3) + 1);
case 7: case 8:
safe.setMod(0.02);
WeightedRandomChestContent.generateChestContents(rand, ItemPool.getPool(ItemPoolsSingle.POOL_VAULT_REINFORCED), safe, rand.nextInt(3) + 1);
break;
case 9:
((TileEntitySafe)world.getTileEntity(x, y, z)).setPins(rand.nextInt(999) + 1);
((TileEntitySafe)world.getTileEntity(x, y, z)).setMod(0.0);
((TileEntitySafe)world.getTileEntity(x, y, z)).lock();
WeightedRandomChestContent.generateChestContents(rand, HbmChestContents.vault4, (TileEntitySafe)world.getTileEntity(x, y, z), rand.nextInt(2) + 1);
safe.setMod(0.0);
WeightedRandomChestContent.generateChestContents(rand, ItemPool.getPool(ItemPoolsSingle.POOL_VAULT_UNBREAKABLE), safe, rand.nextInt(2) + 1);
break;
}
safe.setPins(rand.nextInt(999) + 1);
safe.lock();
if(GeneralConfig.enableDebugMode)
MainRegistry.logger.info("[Debug] Successfully spawned safe at " + x + " " + (y + 1) +" " + z);
@ -672,8 +664,7 @@ public class HbmWorldGen implements IWorldGenerator {
if (world.getBlock(10000, 250, 10000) == Blocks.air) {
world.setBlock(10000, 250, 10000, Blocks.chest);
if (world.getBlock(10000, 250, 10000) == Blocks.chest) {
WeightedRandomChestContent.generateChestContents(rand, HbmChestContents.powder,
(TileEntityChest) world.getTileEntity(10000, 250, 10000), 29);
WeightedRandomChestContent.generateChestContents(rand, ItemPool.getPool(ItemPoolsSingle.POOL_POWDER), (TileEntityChest) world.getTileEntity(10000, 250, 10000), 29);
}
}
}
@ -681,8 +672,7 @@ public class HbmWorldGen implements IWorldGenerator {
if (world.getBlock(0, 250, 10000) == Blocks.air) {
world.setBlock(0, 250, 10000, Blocks.chest);
if (world.getBlock(0, 250, 10000) == Blocks.chest) {
WeightedRandomChestContent.generateChestContents(rand, HbmChestContents.powder,
(TileEntityChest) world.getTileEntity(0, 250, 10000), 29);
WeightedRandomChestContent.generateChestContents(rand, ItemPool.getPool(ItemPoolsSingle.POOL_POWDER), (TileEntityChest) world.getTileEntity(0, 250, 10000), 29);
}
}
}
@ -690,8 +680,7 @@ public class HbmWorldGen implements IWorldGenerator {
if (world.getBlock(-10000, 250, 10000) == Blocks.air) {
world.setBlock(-10000, 250, 10000, Blocks.chest);
if (world.getBlock(-10000, 250, 10000) == Blocks.chest) {
WeightedRandomChestContent.generateChestContents(rand, HbmChestContents.powder,
(TileEntityChest) world.getTileEntity(-10000, 250, 10000), 29);
WeightedRandomChestContent.generateChestContents(rand, ItemPool.getPool(ItemPoolsSingle.POOL_POWDER), (TileEntityChest) world.getTileEntity(-10000, 250, 10000), 29);
}
}
}
@ -699,8 +688,7 @@ public class HbmWorldGen implements IWorldGenerator {
if (world.getBlock(10000, 250, 0) == Blocks.air) {
world.setBlock(10000, 250, 0, Blocks.chest);
if (world.getBlock(10000, 250, 0) == Blocks.chest) {
WeightedRandomChestContent.generateChestContents(rand, HbmChestContents.powder,
(TileEntityChest) world.getTileEntity(10000, 250, 0), 29);
WeightedRandomChestContent.generateChestContents(rand, ItemPool.getPool(ItemPoolsSingle.POOL_POWDER), (TileEntityChest) world.getTileEntity(10000, 250, 0), 29);
}
}
}
@ -708,8 +696,7 @@ public class HbmWorldGen implements IWorldGenerator {
if (world.getBlock(-10000, 250, 0) == Blocks.air) {
world.setBlock(-10000, 250, 0, Blocks.chest);
if (world.getBlock(-10000, 250, 0) == Blocks.chest) {
WeightedRandomChestContent.generateChestContents(rand, HbmChestContents.powder,
(TileEntityChest) world.getTileEntity(-10000, 250, 0), 29);
WeightedRandomChestContent.generateChestContents(rand, ItemPool.getPool(ItemPoolsSingle.POOL_POWDER), (TileEntityChest) world.getTileEntity(-10000, 250, 0), 29);
}
}
}
@ -717,8 +704,7 @@ public class HbmWorldGen implements IWorldGenerator {
if (world.getBlock(10000, 250, -10000) == Blocks.air) {
world.setBlock(10000, 250, -10000, Blocks.chest);
if (world.getBlock(10000, 250, -10000) == Blocks.chest) {
WeightedRandomChestContent.generateChestContents(rand, HbmChestContents.powder,
(TileEntityChest) world.getTileEntity(10000, 250, -10000), 29);
WeightedRandomChestContent.generateChestContents(rand, ItemPool.getPool(ItemPoolsSingle.POOL_POWDER), (TileEntityChest) world.getTileEntity(10000, 250, -10000), 29);
}
}
}
@ -726,8 +712,7 @@ public class HbmWorldGen implements IWorldGenerator {
if (world.getBlock(0, 250, -10000) == Blocks.air) {
world.setBlock(0, 250, -10000, Blocks.chest);
if (world.getBlock(0, 250, -10000) == Blocks.chest) {
WeightedRandomChestContent.generateChestContents(rand, HbmChestContents.powder,
(TileEntityChest) world.getTileEntity(0, 250, -10000), 29);
WeightedRandomChestContent.generateChestContents(rand, ItemPool.getPool(ItemPoolsSingle.POOL_POWDER), (TileEntityChest) world.getTileEntity(0, 250, -10000), 29);
}
}
}
@ -735,8 +720,7 @@ public class HbmWorldGen implements IWorldGenerator {
if (world.getBlock(-10000, 250, -10000) == Blocks.air) {
world.setBlock(-10000, 250, -10000, Blocks.chest);
if (world.getBlock(-10000, 250, -10000) == Blocks.chest) {
WeightedRandomChestContent.generateChestContents(rand, HbmChestContents.powder,
(TileEntityChest) world.getTileEntity(-10000, 250, -10000), 29);
WeightedRandomChestContent.generateChestContents(rand, ItemPool.getPool(ItemPoolsSingle.POOL_POWDER), (TileEntityChest) world.getTileEntity(-10000, 250, -10000), 29);
}
}
}

View File

@ -29,7 +29,6 @@ import com.hbm.inventory.material.Mats;
import com.hbm.inventory.recipes.*;
import com.hbm.inventory.recipes.anvil.AnvilRecipes;
import com.hbm.inventory.recipes.loader.SerializableRecipe;
import com.hbm.itempool.ItemPool;
import com.hbm.items.ItemAmmoEnums.Ammo4Gauge;
import com.hbm.items.ItemEnums.EnumAchievementType;
import com.hbm.items.ModItems;
@ -862,7 +861,6 @@ public class MainRegistry {
RadiolysisRecipes.registerRadiolysis();
FalloutConfigJSON.initialize();
ItemPool.initialize();
ItemPoolConfigJSON.initialize();
TileEntityNukeCustom.registerBombItems();

View File

@ -65,7 +65,6 @@ import com.hbm.tileentity.machine.TileEntityNukeFurnace;
import com.hbm.util.I18nUtil;
import com.hbm.util.ItemStackUtil;
import com.hbm.util.LoggingUtil;
import com.hbm.util.fauxpointtwelve.BlockPos;
import com.hbm.wiaj.GuiWorldInAJar;
import com.hbm.wiaj.cannery.CanneryBase;
import com.hbm.wiaj.cannery.Jars;

View File

@ -2,7 +2,6 @@ package com.hbm.render.item.weapon;
import org.lwjgl.opengl.GL11;
import com.hbm.items.weapon.ItemGunBase;
import com.hbm.main.ResourceManager;
import com.hbm.render.anim.HbmAnimations;

View File

@ -6,7 +6,8 @@ import java.util.Random;
import com.hbm.blocks.ModBlocks;
import com.hbm.config.GeneralConfig;
import com.hbm.lib.HbmChestContents;
import com.hbm.itempool.ItemPool;
import com.hbm.itempool.ItemPoolsLegacy;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.init.Blocks;
@ -88,7 +89,7 @@ public class Antenna extends WorldGenerator
world.setBlock(x + 1, y + 0, z + 2, ModBlocks.steel_poles, 3, 3);
world.setBlock(x + 2, y + 0, z + 2, Blocks.chest, 0, 3);
world.setBlockMetadataWithNotify(x + 2, y + 0, z + 2, 5, 3);
WeightedRandomChestContent.generateChestContents(rand, HbmChestContents.antenna, (TileEntityChest)world.getTileEntity(x + 2, y, z + 2), 8);
WeightedRandomChestContent.generateChestContents(rand, ItemPool.getPool(ItemPoolsLegacy.POOL_ANTENNA), (TileEntityChest)world.getTileEntity(x + 2, y, z + 2), 8);
world.setBlock(x + 0, y + 1, z + 0, Blocks.air, 0, 3);
world.setBlock(x + 1, y + 1, z + 0, ModBlocks.steel_poles, 2, 3);
world.setBlock(x + 2, y + 1, z + 0, Blocks.air, 0, 3);

View File

@ -6,7 +6,8 @@ import java.util.Random;
import com.hbm.blocks.ModBlocks;
import com.hbm.config.GeneralConfig;
import com.hbm.lib.HbmChestContents;
import com.hbm.itempool.ItemPool;
import com.hbm.itempool.ItemPoolsLegacy;
import com.hbm.lib.Library;
import com.hbm.tileentity.bomb.TileEntitySellafield;
import com.hbm.tileentity.machine.storage.TileEntityCrateSteel;
@ -153,7 +154,7 @@ public class Barrel extends WorldGenerator {
if(world.getBlock(x + 2, y + 1, z + 2) == ModBlocks.crate_steel)
{
WeightedRandomChestContent.generateChestContents(rand, HbmChestContents.expensive, (TileEntityCrateSteel)world.getTileEntity(x + 2, y + 1, z + 2), 16);
WeightedRandomChestContent.generateChestContents(rand, ItemPool.getPool(ItemPoolsLegacy.POOL_EXPENSIVE), (TileEntityCrateSteel)world.getTileEntity(x + 2, y + 1, z + 2), 16);
}
world.setBlock(x + 3, y + 1, z + 2, sellafield, 3, 3);

View File

@ -6,7 +6,8 @@ import java.util.Random;
import com.hbm.blocks.ModBlocks;
import com.hbm.config.GeneralConfig;
import com.hbm.lib.HbmChestContents;
import com.hbm.itempool.ItemPool;
import com.hbm.itempool.ItemPoolsLegacy;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.init.Blocks;
@ -158,7 +159,7 @@ public class CrashedVertibird extends WorldGenerator
world.setBlock(x + 6, y + 4 - yOffset, z + 7, Blocks.chest, 2, 3);
if(world.getBlock(x + 6, y + 4 - yOffset, z + 7) == Blocks.chest)
{
WeightedRandomChestContent.generateChestContents(rand, HbmChestContents.vertibird, (TileEntityChest)world.getTileEntity(x + 6, y + 4 - yOffset, z + 7), 8);
WeightedRandomChestContent.generateChestContents(rand, ItemPool.getPool(ItemPoolsLegacy.POOL_VERTIBIRD), (TileEntityChest)world.getTileEntity(x + 6, y + 4 - yOffset, z + 7), 8);
}
world.setBlock(x + 7, y + 4 - yOffset, z + 7, Block1, 0, 3);
world.setBlock(x + 4, y + 4 - yOffset, z + 8, Block1, 0, 3);
@ -287,7 +288,7 @@ public class CrashedVertibird extends WorldGenerator
world.setBlock(x + 5, y + 8 - yOffset, z + 6, Blocks.chest, 2, 3);
if(world.getBlock(x + 5, y + 8 - yOffset, z + 6) == Blocks.chest)
{
WeightedRandomChestContent.generateChestContents(rand, HbmChestContents.expensive, (TileEntityChest)world.getTileEntity(x + 5, y + 8 - yOffset, z + 6), 8);
WeightedRandomChestContent.generateChestContents(rand, ItemPool.getPool(ItemPoolsLegacy.POOL_EXPENSIVE), (TileEntityChest)world.getTileEntity(x + 5, y + 8 - yOffset, z + 6), 8);
}
world.setBlock(x + 6, y + 8 - yOffset, z + 6, Block1, 0, 3);
world.setBlock(x + 7, y + 8 - yOffset, z + 6, Block1, 0, 3);

View File

@ -5,7 +5,8 @@ package com.hbm.world.dungeon;
import java.util.Random;
import com.hbm.blocks.ModBlocks;
import com.hbm.lib.HbmChestContents;
import com.hbm.itempool.ItemPool;
import com.hbm.itempool.ItemPoolsLegacy;
import com.hbm.lib.Library;
import net.minecraft.block.Block;
@ -214,7 +215,7 @@ public class DesertAtom001 extends WorldGenerator
world.setBlock(x + 9, y + -4, z + 14, Blocks.chest, 2, 3);
if(world.getBlock(x + 9, y + -4, z + 14) == Blocks.chest)
{
WeightedRandomChestContent.generateChestContents(rand, HbmChestContents.nuclear, (TileEntityChest)world.getTileEntity(x + 9, y + -4, z + 14), 10);
WeightedRandomChestContent.generateChestContents(rand, ItemPool.getPool(ItemPoolsLegacy.POOL_NUKE_MISC), (TileEntityChest)world.getTileEntity(x + 9, y + -4, z + 14), 10);
}
world.setBlock(x + 10, y + -4, z + 14, Library.getRandomConcrete(), 0, 3);
world.setBlock(x + 11, y + -4, z + 14, Library.getRandomConcrete(), 0, 3);

View File

@ -5,7 +5,8 @@ package com.hbm.world.dungeon;
import java.util.Random;
import com.hbm.blocks.ModBlocks;
import com.hbm.lib.HbmChestContents;
import com.hbm.itempool.ItemPool;
import com.hbm.itempool.ItemPoolsLegacy;
import com.hbm.lib.Library;
import com.hbm.tileentity.machine.storage.TileEntityCrateSteel;
@ -1162,7 +1163,7 @@ public class DesertAtom002
world.setBlock(x + 36, y + 0, z + 12, Blocks.chest, 3, 3);
if(world.getBlock(x + 36, y + 0, z + 12) == Blocks.chest)
{
WeightedRandomChestContent.generateChestContents(rand, HbmChestContents.modGeneric, (TileEntityChest)world.getTileEntity(x + 36, y + 0, z + 12), 8);
WeightedRandomChestContent.generateChestContents(rand, ItemPool.getPool(ItemPoolsLegacy.POOL_GENERIC), (TileEntityChest)world.getTileEntity(x + 36, y + 0, z + 12), 8);
}
world.setBlock(x + 37, y + 0, z + 12, Library.getRandomConcrete(), 0, 3);
world.setBlock(x + 40, y + 0, z + 12, ModBlocks.fence_metal, 0, 3);
@ -1183,7 +1184,7 @@ public class DesertAtom002
world.setBlock(x + 22, y + 0, z + 13, Blocks.chest, 4, 3);
if(world.getBlock(x + 22, y + 0, z + 13) == Blocks.chest)
{
WeightedRandomChestContent.generateChestContents(rand, HbmChestContents.modGeneric, (TileEntityChest)world.getTileEntity(x + 22, y + 0, z + 13), 8);
WeightedRandomChestContent.generateChestContents(rand, ItemPool.getPool(ItemPoolsLegacy.POOL_GENERIC), (TileEntityChest)world.getTileEntity(x + 22, y + 0, z + 13), 8);
}
world.setBlock(x + 23, y + 0, z + 13, Library.getRandomConcrete(), 0, 3);
world.setBlock(x + 24, y + 0, z + 13, Block9, 5, 3);
@ -1375,7 +1376,7 @@ public class DesertAtom002
world.setBlock(x + 24, y + 0, z + 26, Blocks.chest, 2, 3);
if(world.getBlock(x + 24, y + 0, z + 26) == Blocks.chest)
{
WeightedRandomChestContent.generateChestContents(rand, HbmChestContents.nukeTrash, (TileEntityChest)world.getTileEntity(x + 24, y + 0, z + 26), 8);
WeightedRandomChestContent.generateChestContents(rand, ItemPool.getPool(ItemPoolsLegacy.POOL_NUKE_TRASH), (TileEntityChest)world.getTileEntity(x + 24, y + 0, z + 26), 8);
}
world.setBlock(x + 25, y + 0, z + 26, Block2, 0, 3);
world.setBlock(x + 30, y + 0, z + 26, Block2, 0, 3);
@ -1754,7 +1755,7 @@ public class DesertAtom002
world.setBlock(x + 18, y + 1, z + 16, ModBlocks.crate_steel, 0, 3);
if(world.getBlock(x + 18, y + 1, z + 16) == ModBlocks.crate_steel)
{
WeightedRandomChestContent.generateChestContents(rand, HbmChestContents.expensive, (TileEntityCrateSteel)world.getTileEntity(x + 18, y + 1, z + 16), 12);
WeightedRandomChestContent.generateChestContents(rand, ItemPool.getPool(ItemPoolsLegacy.POOL_EXPENSIVE), (TileEntityCrateSteel)world.getTileEntity(x + 18, y + 1, z + 16), 12);
}
world.setBlock(x + 19, y + 1, z + 16, Library.getRandomConcrete(), 0, 3);

View File

@ -6,7 +6,8 @@ import java.util.Random;
import com.hbm.blocks.ModBlocks;
import com.hbm.config.GeneralConfig;
import com.hbm.lib.HbmChestContents;
import com.hbm.itempool.ItemPool;
import com.hbm.itempool.ItemPoolsLegacy;
import com.hbm.lib.Library;
import com.hbm.tileentity.machine.storage.TileEntityMachinePuF6Tank;
import com.hbm.tileentity.machine.storage.TileEntityMachineUF6Tank;
@ -439,7 +440,7 @@ public class DesertAtom003
world.setBlock(x + 36, y + 4, z + 9, Blocks.chest, 2, 3);
if(world.getBlock(x + 36, y + 4, z + 9) == Blocks.chest)
{
WeightedRandomChestContent.generateChestContents(rand, HbmChestContents.nuclear, (TileEntityChest)world.getTileEntity(x + 36, y + 4, z + 9), 12);
WeightedRandomChestContent.generateChestContents(rand, ItemPool.getPool(ItemPoolsLegacy.POOL_NUKE_MISC), (TileEntityChest)world.getTileEntity(x + 36, y + 4, z + 9), 12);
}
world.setBlock(x + 37, y + 4, z + 9, Library.getRandomConcrete(), 0, 3);
world.setBlock(x + 40, y + 4, z + 9, Block5, 0, 3);

View File

@ -6,7 +6,8 @@ import java.util.Random;
import com.hbm.blocks.ModBlocks;
import com.hbm.config.GeneralConfig;
import com.hbm.lib.HbmChestContents;
import com.hbm.itempool.ItemPool;
import com.hbm.itempool.ItemPoolsLegacy;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
@ -601,7 +602,7 @@ public class Factory extends WorldGenerator
world.setBlockMetadataWithNotify(x + 9, y + 0, z + 4, 5, 3);
if(world.getBlock(x + 9, y + 0, z + 4) == Blocks.chest)
{
WeightedRandomChestContent.generateChestContents(rand, HbmChestContents.modGeneric, (TileEntityChest)world.getTileEntity(x + 9, y + 0, z + 4), rand.nextInt(2)+ 8);
WeightedRandomChestContent.generateChestContents(rand, ItemPool.getPool(ItemPoolsLegacy.POOL_GENERIC), (TileEntityChest)world.getTileEntity(x + 9, y + 0, z + 4), rand.nextInt(2)+ 8);
}
world.setBlock(x + 13, y + 0, z + 4, Blocks.hopper, 3, 3);
world.setBlock(x + 14, y + 0, z + 4, Blocks.stonebrick, 0, 3);
@ -637,7 +638,7 @@ public class Factory extends WorldGenerator
world.setBlockMetadataWithNotify(x + 9, y + 0, z + 10, 5, 3);
if(world.getBlock(x + 9, y + 0, z + 10) == Blocks.chest)
{
WeightedRandomChestContent.generateChestContents(rand, HbmChestContents.modGeneric, (TileEntityChest)world.getTileEntity(x + 9, y + 0, z + 10), rand.nextInt(2)+ 8);
WeightedRandomChestContent.generateChestContents(rand, ItemPool.getPool(ItemPoolsLegacy.POOL_GENERIC), (TileEntityChest)world.getTileEntity(x + 9, y + 0, z + 10), rand.nextInt(2)+ 8);
}
world.setBlock(x + 13, y + 0, z + 10, Blocks.hopper, 3, 3);
world.setBlock(x + 14, y + 0, z + 10, Blocks.stonebrick, 0, 3);
@ -673,7 +674,7 @@ public class Factory extends WorldGenerator
world.setBlockMetadataWithNotify(x + 9, y + 0, z + 16, 5, 3);
if(world.getBlock(x + 9, y + 0, z + 16) == Blocks.chest)
{
WeightedRandomChestContent.generateChestContents(rand, HbmChestContents.modGeneric, (TileEntityChest)world.getTileEntity(x + 9, y + 0, z + 16), rand.nextInt(2)+ 8);
WeightedRandomChestContent.generateChestContents(rand, ItemPool.getPool(ItemPoolsLegacy.POOL_GENERIC), (TileEntityChest)world.getTileEntity(x + 9, y + 0, z + 16), rand.nextInt(2)+ 8);
}
world.setBlock(x + 13, y + 0, z + 16, Blocks.hopper, 3, 3);
world.setBlock(x + 14, y + 0, z + 16, Blocks.stonebrick, 0, 3);
@ -736,7 +737,7 @@ public class Factory extends WorldGenerator
world.setBlockMetadataWithNotify(x + 4, y + 0, z + 25, 3, 3);
if(world.getBlock(x + 4, y + 0, z + 25) == Blocks.chest)
{
WeightedRandomChestContent.generateChestContents(rand, HbmChestContents.expensive, (TileEntityChest)world.getTileEntity(x + 4, y + 0, z + 25), rand.nextInt(2)+ 6);
WeightedRandomChestContent.generateChestContents(rand, ItemPool.getPool(ItemPoolsLegacy.POOL_EXPENSIVE), (TileEntityChest)world.getTileEntity(x + 4, y + 0, z + 25), rand.nextInt(2)+ 6);
}
world.setBlock(x + 5, y + 0, z + 25, Blocks.lava, 0, 3);
world.setBlock(x + 6, y + 0, z + 25, Blocks.stonebrick, 0, 3);

View File

@ -5,7 +5,8 @@ package com.hbm.world.dungeon;
import java.util.Random;
import com.hbm.blocks.ModBlocks;
import com.hbm.lib.HbmChestContents;
import com.hbm.itempool.ItemPool;
import com.hbm.itempool.ItemPoolsLegacy;
import com.hbm.lib.Library;
import com.hbm.tileentity.machine.storage.TileEntityCrateSteel;
@ -499,7 +500,7 @@ public class Radio01 extends WorldGenerator
world.setBlock(x + 5, y + 0, z + 11, Blocks.flower_pot, 0, 3);
world.setBlock(x + 6, y + 0, z + 11, Blocks.chest, 3, 3);
world.setBlockMetadataWithNotify(x + 6, y + 0, z + 11, 5, 3);
WeightedRandomChestContent.generateChestContents(rand, HbmChestContents.modGeneric, (TileEntityChest)world.getTileEntity(x + 6, y + 0, z + 11), 8);
WeightedRandomChestContent.generateChestContents(rand, ItemPool.getPool(ItemPoolsLegacy.POOL_GENERIC), (TileEntityChest)world.getTileEntity(x + 6, y + 0, z + 11), 8);
world.setBlock(x + 7, y + 0, z + 11, Library.getRandomConcrete(), 0, 3);
world.setBlock(x + 8, y + 0, z + 11, Blocks.air, 0, 3);
world.setBlock(x + 9, y + 0, z + 11, Blocks.air, 0, 3);
@ -651,7 +652,7 @@ public class Radio01 extends WorldGenerator
world.setBlock(x + 6, y + 0, z + 24, ModBlocks.deco_steel, 0, 3);
world.setBlock(x + 7, y + 0, z + 24, Blocks.chest, 2, 3);
world.setBlockMetadataWithNotify(x + 7, y + 0, z + 24, 5, 3);
WeightedRandomChestContent.generateChestContents(rand, HbmChestContents.antenna, (TileEntityChest)world.getTileEntity(x + 7, y + 0, z + 24), 8);
WeightedRandomChestContent.generateChestContents(rand, ItemPool.getPool(ItemPoolsLegacy.POOL_ANTENNA), (TileEntityChest)world.getTileEntity(x + 7, y + 0, z + 24), 8);
world.setBlock(x + 8, y + 0, z + 24, ModBlocks.deco_steel, 0, 3);
world.setBlock(x + 9, y + 0, z + 24, ModBlocks.deco_steel, 0, 3);
world.setBlock(x + 10, y + 0, z + 24, Library.getRandomConcrete(), 0, 3);
@ -1607,7 +1608,7 @@ public class Radio01 extends WorldGenerator
world.setBlock(x + 6, y + 4, z + 6, Blocks.air, 0, 3);
world.setBlock(x + 7, y + 4, z + 6, Blocks.chest, 4, 3);
world.setBlockMetadataWithNotify(x + 7, y + 4, z + 6, 5, 3);
WeightedRandomChestContent.generateChestContents(rand, HbmChestContents.modGeneric, (TileEntityChest)world.getTileEntity(x + 7, y + 4, z + 6), 8);
WeightedRandomChestContent.generateChestContents(rand, ItemPool.getPool(ItemPoolsLegacy.POOL_GENERIC), (TileEntityChest)world.getTileEntity(x + 7, y + 4, z + 6), 8);
world.setBlock(x + 8, y + 4, z + 6, ModBlocks.deco_steel, 0, 3);
world.setBlock(x + 9, y + 4, z + 6, ModBlocks.deco_steel, 0, 3);
world.setBlock(x + 10, y + 4, z + 6, Library.getRandomConcrete(), 0, 3);
@ -1697,7 +1698,7 @@ public class Radio01 extends WorldGenerator
world.setBlock(x + 3, y + 4, z + 14, Library.getRandomConcrete(), 0, 3);
world.setBlock(x + 4, y + 4, z + 14, Blocks.chest, 2, 3);
world.setBlockMetadataWithNotify(x + 4, y + 4, z + 14, 5, 3);
WeightedRandomChestContent.generateChestContents(rand, HbmChestContents.modGeneric, (TileEntityChest)world.getTileEntity(x + 4, y + 4, z + 14), 8);
WeightedRandomChestContent.generateChestContents(rand, ItemPool.getPool(ItemPoolsLegacy.POOL_GENERIC), (TileEntityChest)world.getTileEntity(x + 4, y + 4, z + 14), 8);
world.setBlock(x + 5, y + 4, z + 14, Blocks.air, 0, 3);
world.setBlock(x + 6, y + 4, z + 14, ModBlocks.tape_recorder, 4, 3);
world.setBlock(x + 7, y + 4, z + 14, Blocks.oak_stairs, 5, 3);
@ -2817,7 +2818,7 @@ public class Radio01 extends WorldGenerator
WeightedRandomChestContent.generateChestContents(rand, HbmChestContents.getLoot(3), (TileEntityChest)world.getTileEntity(x + 5, y + 8, z + 11), 16);*/
world.setBlock(x + 5, y + 8, z + 11, ModBlocks.crate_steel, 0, 3);
WeightedRandomChestContent.generateChestContents(rand, HbmChestContents.expensive, (TileEntityCrateSteel)world.getTileEntity(x + 5, y + 8, z + 11), 16);
WeightedRandomChestContent.generateChestContents(rand, ItemPool.getPool(ItemPoolsLegacy.POOL_EXPENSIVE), (TileEntityCrateSteel)world.getTileEntity(x + 5, y + 8, z + 11), 16);
world.setBlock(x + 6, y + 8, z + 11, ModBlocks.deco_steel, 0, 3);
world.setBlock(x + 7, y + 8, z + 11, Blocks.air, 0, 3);

View File

@ -8,8 +8,9 @@ import com.hbm.blocks.ModBlocks;
import com.hbm.blocks.generic.BlockBobble.BobbleType;
import com.hbm.blocks.generic.BlockBobble.TileEntityBobble;
import com.hbm.config.GeneralConfig;
import com.hbm.itempool.ItemPool;
import com.hbm.itempool.ItemPoolsLegacy;
import com.hbm.items.ModItems;
import com.hbm.lib.HbmChestContents;
import com.hbm.lib.Library;
import com.hbm.tileentity.machine.storage.TileEntityCrateIron;
import com.hbm.util.LootGenerator;
@ -658,7 +659,7 @@ public class Relay extends WorldGenerator
world.setBlock(x + 4, y + 0, z + 10, Blocks.brick_block, 0, 3);
world.setBlock(x + 6, y + 0, z + 10, ModBlocks.crate_iron, 0, 3);
world.setBlockMetadataWithNotify(x + 6, y + 0, z + 10, 3, 3);
WeightedRandomChestContent.generateChestContents(rand, HbmChestContents.modGeneric, (TileEntityCrateIron)world.getTileEntity(x + 6, y + 0, z + 10), 8);
WeightedRandomChestContent.generateChestContents(rand, ItemPool.getPool(ItemPoolsLegacy.POOL_GENERIC), (TileEntityCrateIron)world.getTileEntity(x + 6, y + 0, z + 10), 8);
if(world.rand.nextInt(5) == 0) {
((TileEntityCrateIron)world.getTileEntity(x + 6, y + 0, z + 10)).setInventorySlotContents(11, new ItemStack(ModItems.morning_glory));
@ -1295,7 +1296,7 @@ public class Relay extends WorldGenerator
world.setBlock(x + 7, y + 14, z + 6, Block4, s2, 3);
world.setBlock(x + 8, y + 14, z + 6, ModBlocks.crate_iron, 0, 3);
world.setBlockMetadataWithNotify(x + 8, y + 14, z + 6, 3, 3);
WeightedRandomChestContent.generateChestContents(rand, HbmChestContents.antenna, (TileEntityCrateIron)world.getTileEntity(x + 8, y + 14, z + 6), 8);
WeightedRandomChestContent.generateChestContents(rand, ItemPool.getPool(ItemPoolsLegacy.POOL_ANTENNA), (TileEntityCrateIron)world.getTileEntity(x + 8, y + 14, z + 6), 8);
world.setBlock(x + 9, y + 14, z + 6, ModBlocks.fence_metal, 0, 3);
world.setBlock(x + 10, y + 14, z + 6, Block6, 0, 3);
world.setBlock(x + 9, y + 14, z + 7, ModBlocks.fence_metal, 0, 3);
@ -1515,7 +1516,7 @@ public class Relay extends WorldGenerator
world.setBlock(x + 5, y + 32, z + 2, Block6, 0, 3);
world.setBlock(x + 6, y + 32, z + 2, ModBlocks.crate_iron, 0, 3);
world.setBlockMetadataWithNotify(x + 6, y + 32, z + 2, 2, 3);
WeightedRandomChestContent.generateChestContents(rand, HbmChestContents.expensive, (TileEntityCrateIron)world.getTileEntity(x + 6, y + 32, z + 2), 8);
WeightedRandomChestContent.generateChestContents(rand, ItemPool.getPool(ItemPoolsLegacy.POOL_EXPENSIVE), (TileEntityCrateIron)world.getTileEntity(x + 6, y + 32, z + 2), 8);
world.setBlock(x + 7, y + 32, z + 2, Block6, 0, 3);
world.setBlock(x + 5, y + 32, z + 3, Block4, s3, 3);
world.setBlock(x + 6, y + 32, z + 3, Block2, 0, 3);

View File

@ -6,7 +6,8 @@ import java.util.Random;
import com.hbm.blocks.ModBlocks;
import com.hbm.config.GeneralConfig;
import com.hbm.lib.HbmChestContents;
import com.hbm.itempool.ItemPool;
import com.hbm.itempool.ItemPoolsLegacy;
import com.hbm.lib.Library;
import com.hbm.util.LootGenerator;
@ -976,7 +977,7 @@ public class Satellite extends WorldGenerator
world.setBlock(x + 7, y + 14, z + 19, dSteel, 0, 3);
world.setBlock(x + 10, y + 14, z + 19, Blocks.chest, 3, 3);
world.setBlockMetadataWithNotify(x + 10, y + 14, z + 19, 3, 3);
WeightedRandomChestContent.generateChestContents(rand, HbmChestContents.modGeneric, (TileEntityChest)world.getTileEntity(x + 10, y + 14, z + 19), 8);
WeightedRandomChestContent.generateChestContents(rand, ItemPool.getPool(ItemPoolsLegacy.POOL_GENERIC), (TileEntityChest)world.getTileEntity(x + 10, y + 14, z + 19), 8);
world.setBlock(x + 19, y + 14, z + 19, dSteel, 0, 3);
world.setBlock(x + 20, y + 14, z + 19, dSteel, 0, 3);
world.setBlock(x + 21, y + 14, z + 19, dSteel, 0, 3);
@ -1005,7 +1006,7 @@ public class Satellite extends WorldGenerator
world.setBlock(x + 7, y + 14, z + 27, dSteel, 0, 3);
world.setBlock(x + 16, y + 14, z + 27, Blocks.chest, 2, 3);
world.setBlockMetadataWithNotify(x + 16, y + 14, z + 27, 3, 3);
WeightedRandomChestContent.generateChestContents(rand, HbmChestContents.antenna, (TileEntityChest)world.getTileEntity(x + 16, y + 14, z + 27), 8);
WeightedRandomChestContent.generateChestContents(rand, ItemPool.getPool(ItemPoolsLegacy.POOL_ANTENNA), (TileEntityChest)world.getTileEntity(x + 16, y + 14, z + 27), 8);
world.setBlock(x + 19, y + 14, z + 27, dSteel, 0, 3);
world.setBlock(x + 5, y + 14, z + 28, ModBlocks.fence_metal, 0, 3);
world.setBlock(x + 6, y + 14, z + 28, ModBlocks.fence_metal, 0, 3);
@ -1423,7 +1424,7 @@ public class Satellite extends WorldGenerator
world.setBlock(x + 18, y + 19, z + 12, Library.getRandomConcrete(), 0, 3);
world.setBlock(x + 19, y + 19, z + 12, Blocks.chest, 4, 3);
world.setBlockMetadataWithNotify(x + 19, y + 19, z + 12, 4, 3);
WeightedRandomChestContent.generateChestContents(rand, HbmChestContents.expensive, (TileEntityChest)world.getTileEntity(x + 19, y + 19, z + 12), 12);
WeightedRandomChestContent.generateChestContents(rand, ItemPool.getPool(ItemPoolsLegacy.POOL_EXPENSIVE), (TileEntityChest)world.getTileEntity(x + 19, y + 19, z + 12), 12);
world.setBlock(x + 20, y + 19, z + 12, Library.getRandomConcrete(), 0, 3);
world.setBlock(x + 21, y + 19, z + 12, Library.getRandomConcrete(), 0, 3);
world.setBlock(x + 17, y + 19, z + 13, Library.getRandomConcrete(), 0, 3);
@ -2440,7 +2441,7 @@ public class Satellite extends WorldGenerator
//world.setBlock(x + 5, y + 39, z + 12, Block7, 0, 3);
world.setBlock(x + 5, y + 39, z + 12, Blocks.chest, 4, 3);
world.setBlockMetadataWithNotify(x + 5, y + 39, z + 12, 4, 3);
WeightedRandomChestContent.generateChestContents(rand, HbmChestContents.expensive, (TileEntityChest)world.getTileEntity(x + 5, y + 39, z + 12), 12);
WeightedRandomChestContent.generateChestContents(rand, ItemPool.getPool(ItemPoolsLegacy.POOL_EXPENSIVE), (TileEntityChest)world.getTileEntity(x + 5, y + 39, z + 12), 12);
world.setBlock(x + 6, y + 39, z + 12, Block7, 0, 3);
world.setBlock(x + 7, y + 39, z + 12, Block4, 0, 3);
world.setBlock(x + 8, y + 39, z + 12, Block4, 0, 3);

View File

@ -8,7 +8,9 @@ import com.hbm.blocks.BlockDummyable;
import com.hbm.blocks.ModBlocks;
import com.hbm.blocks.bomb.LaunchPad;
import com.hbm.config.GeneralConfig;
import com.hbm.lib.HbmChestContents;
import com.hbm.itempool.ItemPool;
import com.hbm.itempool.ItemPoolsComponent;
import com.hbm.itempool.ItemPoolsLegacy;
import com.hbm.lib.Library;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
@ -389,7 +391,7 @@ public class Silo extends WorldGenerator
world.setBlockMetadataWithNotify(x + 19, y + -20, z + 10, 5, 3);
if(world.getBlock(x + 19, y + -20, z + 10) == Blocks.chest)
{
WeightedRandomChestContent.generateChestContents(rand, HbmChestContents.expensive, (TileEntityChest)world.getTileEntity(x + 19, y + -20, z + 10), rand.nextInt(2)+ 6);
WeightedRandomChestContent.generateChestContents(rand, ItemPool.getPool(ItemPoolsLegacy.POOL_EXPENSIVE), (TileEntityChest)world.getTileEntity(x + 19, y + -20, z + 10), rand.nextInt(2)+ 6);
}
world.setBlock(x + 20, y + -20, z + 10, Library.getRandomConcrete(), 0, 3);
world.setBlock(x + 0, y + -20, z + 11, Library.getRandomConcrete(), 0, 3);
@ -857,7 +859,7 @@ public class Silo extends WorldGenerator
world.setBlockMetadataWithNotify(x + 8, y + -17, z + 2, 3, 3);
if(world.getBlock(x + 8, y + -17, z + 2) == Blocks.chest)
{
WeightedRandomChestContent.generateChestContents(rand, HbmChestContents.missile, (TileEntityChest)world.getTileEntity(x + 8, y + -17, z + 2), rand.nextInt(2)+ 6);
WeightedRandomChestContent.generateChestContents(rand, ItemPool.getPool(ItemPoolsComponent.POOL_SILO), (TileEntityChest)world.getTileEntity(x + 8, y + -17, z + 2), rand.nextInt(2)+ 6);
}
world.setBlock(x + 10, y + -17, z + 2, Blocks.air, 0, 3);
world.setBlock(x + 11, y + -17, z + 2, Library.getRandomConcrete(), 0, 3);
@ -1641,7 +1643,7 @@ public class Silo extends WorldGenerator
world.setBlockMetadataWithNotify(x + 8, y + -9, z + 5, 3, 3);
if(world.getBlock(x + 8, y + -9, z + 5) == Blocks.chest)
{
WeightedRandomChestContent.generateChestContents(rand, HbmChestContents.modGeneric, (TileEntityChest)world.getTileEntity(x + 8, y + -9, z + 5), rand.nextInt(2)+ 8);
WeightedRandomChestContent.generateChestContents(rand, ItemPool.getPool(ItemPoolsLegacy.POOL_GENERIC), (TileEntityChest)world.getTileEntity(x + 8, y + -9, z + 5), rand.nextInt(2)+ 8);
}
world.setBlock(x + 8, y + -10, z + 5, Blocks.stone_slab, 8, 3);
world.setBlock(x + 9, y + -9, z + 5, Blocks.planks, 0, 3);

View File

@ -5,7 +5,8 @@ package com.hbm.world.dungeon;
import java.util.Random;
import com.hbm.blocks.ModBlocks;
import com.hbm.lib.HbmChestContents;
import com.hbm.itempool.ItemPool;
import com.hbm.itempool.ItemPoolsLegacy;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
@ -455,7 +456,7 @@ public class Spaceship extends WorldGenerator
world.setBlockMetadataWithNotify(x + 5, y + -2, z + 25, 5, 3);
if(world.getBlock(x + 5, y + -2, z + 25) == Blocks.chest)
{
WeightedRandomChestContent.generateChestContents(rand, HbmChestContents.spaceship, (TileEntityChest)world.getTileEntity(x + 5, y + -2, z + 25), 12);
WeightedRandomChestContent.generateChestContents(rand, ItemPool.getPool(ItemPoolsLegacy.POOL_SPACESHIP), (TileEntityChest)world.getTileEntity(x + 5, y + -2, z + 25), 12);
}
world.setBlock(x + 6, y + -2, z + 25, Blocks.air, 0, 3);
world.setBlock(x + 7, y + -2, z + 25, Blocks.air, 0, 3);
@ -463,7 +464,7 @@ public class Spaceship extends WorldGenerator
world.setBlockMetadataWithNotify(x + 8, y + -2, z + 25, 4, 3);
if(world.getBlock(x + 8, y + -2, z + 25) == Blocks.chest)
{
WeightedRandomChestContent.generateChestContents(rand, HbmChestContents.spaceship, (TileEntityChest)world.getTileEntity(x + 8, y + -2, z + 25), 12);
WeightedRandomChestContent.generateChestContents(rand, ItemPool.getPool(ItemPoolsLegacy.POOL_SPACESHIP), (TileEntityChest)world.getTileEntity(x + 8, y + -2, z + 25), 12);
}
world.setBlock(x + 9, y + -2, z + 25, Block3, 0, 3);
world.setBlock(x + 10, y + -2, z + 25, Block2, 0, 3);
@ -477,7 +478,7 @@ public class Spaceship extends WorldGenerator
world.setBlockMetadataWithNotify(x + 5, y + -2, z + 26, 5, 3);
if(world.getBlock(x + 5, y + -2, z + 26) == Blocks.chest)
{
WeightedRandomChestContent.generateChestContents(rand, HbmChestContents.spaceship, (TileEntityChest)world.getTileEntity(x + 5, y + -2, z + 26), 12);
WeightedRandomChestContent.generateChestContents(rand, ItemPool.getPool(ItemPoolsLegacy.POOL_SPACESHIP), (TileEntityChest)world.getTileEntity(x + 5, y + -2, z + 26), 12);
}
world.setBlock(x + 6, y + -2, z + 26, Blocks.air, 0, 3);
world.setBlock(x + 7, y + -2, z + 26, Blocks.air, 0, 3);
@ -485,7 +486,7 @@ public class Spaceship extends WorldGenerator
world.setBlockMetadataWithNotify(x + 8, y + -2, z + 26, 4, 3);
if(world.getBlock(x + 8, y + -2, z + 26) == Blocks.chest)
{
WeightedRandomChestContent.generateChestContents(rand, HbmChestContents.spaceship, (TileEntityChest)world.getTileEntity(x + 8, y + -2, z + 26), 12);
WeightedRandomChestContent.generateChestContents(rand, ItemPool.getPool(ItemPoolsLegacy.POOL_SPACESHIP), (TileEntityChest)world.getTileEntity(x + 8, y + -2, z + 26), 12);
}
world.setBlock(x + 9, y + -2, z + 26, Block3, 0, 3);
world.setBlock(x + 10, y + -2, z + 26, Block3, 0, 3);
@ -623,7 +624,7 @@ public class Spaceship extends WorldGenerator
world.setBlockMetadataWithNotify(x + 8, y + -2, z + 38, 2, 3);
if(world.getBlock(x + 8, y + -2, z + 38) == Blocks.chest)
{
WeightedRandomChestContent.generateChestContents(rand, HbmChestContents.expensive, (TileEntityChest)world.getTileEntity(x + 8, y + -2, z + 38), 12);
WeightedRandomChestContent.generateChestContents(rand, ItemPool.getPool(ItemPoolsLegacy.POOL_EXPENSIVE), (TileEntityChest)world.getTileEntity(x + 8, y + -2, z + 38), 12);
}
world.setBlock(x + 9, y + -2, z + 38, Block3, 0, 3);
world.setBlock(x + 4, y + -2, z + 39, Block3, 0, 3);

View File

@ -6,7 +6,8 @@ import java.util.Random;
import com.hbm.blocks.ModBlocks;
import com.hbm.config.GeneralConfig;
import com.hbm.lib.HbmChestContents;
import com.hbm.itempool.ItemPool;
import com.hbm.itempool.ItemPoolsLegacy;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.init.Blocks;
@ -141,7 +142,7 @@ public class Vertibird extends WorldGenerator
world.setBlock(x + 14, y + 2 - yOffset, z + 7, Blocks.chest, 2, 3);
if(world.getBlock(x + 14, y + 2 - yOffset, z + 7) == Blocks.chest)
{
WeightedRandomChestContent.generateChestContents(rand, HbmChestContents.vertibird, (TileEntityChest)world.getTileEntity(x + 14, y + 2 - yOffset, z + 7), 8);
WeightedRandomChestContent.generateChestContents(rand, ItemPool.getPool(ItemPoolsLegacy.POOL_VERTIBIRD), (TileEntityChest)world.getTileEntity(x + 14, y + 2 - yOffset, z + 7), 8);
}
world.setBlock(x + 15, y + 2 - yOffset, z + 7, Block2, 0, 3);
world.setBlock(x + 12, y + 2 - yOffset, z + 8, Block2, 0, 3);
@ -391,7 +392,7 @@ public class Vertibird extends WorldGenerator
world.setBlock(x + 13, y + 6 - yOffset, z + 6, Blocks.chest, 2, 3);
if(world.getBlock(x + 13, y + 6 - yOffset, z + 6) == Blocks.chest)
{
WeightedRandomChestContent.generateChestContents(rand, HbmChestContents.vertibird, (TileEntityChest)world.getTileEntity(x + 13, y + 6 - yOffset, z + 6), 8);
WeightedRandomChestContent.generateChestContents(rand, ItemPool.getPool(ItemPoolsLegacy.POOL_VERTIBIRD), (TileEntityChest)world.getTileEntity(x + 13, y + 6 - yOffset, z + 6), 8);
}
world.setBlock(x + 14, y + 6 - yOffset, z + 6, Block2, 0, 3);
world.setBlock(x + 15, y + 6 - yOffset, z + 6, Block2, 0, 3);

View File

@ -4,7 +4,9 @@ import java.util.List;
import java.util.Random;
import com.hbm.blocks.ModBlocks;
import com.hbm.lib.HbmChestContents;
import com.hbm.itempool.ItemPool;
import com.hbm.itempool.ItemPoolsComponent;
import com.hbm.itempool.ItemPoolsLegacy;
import com.hbm.world.gen.ProceduralStructureStart;
import com.hbm.world.gen.ProceduralStructureStart.ProceduralComponent;
import com.hbm.world.gen.component.Component.ConcreteBricks;
@ -147,7 +149,7 @@ public class BunkerComponents {
placeBlockAtCurrentPosition(world, ModBlocks.fan, 0, 5, 4, 5, box);
//machine
placeBlockAtCurrentPosition(world, ModBlocks.deco_tungsten, 0, 3, 1, 6, box);
generateInvContents(world, box, rand, Blocks.chest, getDecoMeta(3), 4, 1, 6, HbmChestContents.antenna/*TODO change */, 5);
generateInvContents(world, box, rand, Blocks.chest, getDecoMeta(3), 4, 1, 6, ItemPool.getPool(ItemPoolsLegacy.POOL_ANTENNA)/*TODO change */, 5);
placeBlockAtCurrentPosition(world, ModBlocks.deco_tungsten, 0, 5, 1, 6, box);
fillWithMetadataBlocks(world, box, 3, 2, 6, 5, 2, 6, ModBlocks.concrete_smooth_stairs, getStairMeta(2) | 4);
fillWithMetadataBlocks(world, box, 3, 3, 6, 5, 3, 6, ModBlocks.tape_recorder, getDecoMeta(2));
@ -375,13 +377,13 @@ public class BunkerComponents {
placeBlockAtCurrentPosition(world, ModBlocks.concrete_smooth_stairs, stairMetaE | 4, 4, 1, 9, box);
placeBlockAtCurrentPosition(world, Blocks.oak_stairs, stairMetaS, 5, 1, 8, box);
placeBlockAtCurrentPosition(world, ModBlocks.deco_computer, getDecoModelMeta(0), 5, 2, 9, box);
generateInvContents(world, box, rand, ModBlocks.filing_cabinet, getDecoModelMeta(0), 3, 1, 9, HbmChestContents.filingCabinet, 5);
generateInvContents(world, box, rand, ModBlocks.filing_cabinet, getDecoModelMeta(0), 3, 1, 9, ItemPool.getPool(ItemPoolsComponent.POOL_FILING_CABINET), 5);
//lockers
generateInvContents(world, box, rand, Blocks.chest, getDecoMeta(4), 8, 1, 7, HbmChestContents.lockersVault, 3);
generateInvContents(world, box, rand, Blocks.chest, getDecoMeta(4), 8, 2, 7, HbmChestContents.lockersVault, 5);
generateInvContents(world, box, rand, Blocks.chest, getDecoMeta(4), 8, 1, 7, ItemPool.getPool(ItemPoolsComponent.POOL_VAULT_LOCKERS), 3);
generateInvContents(world, box, rand, Blocks.chest, getDecoMeta(4), 8, 2, 7, ItemPool.getPool(ItemPoolsComponent.POOL_VAULT_LOCKERS), 5);
fillWithBlocks(world, box, 8, 1, 8, 8, 2, 8, ModBlocks.deco_tungsten);
generateInvContents(world, box, rand, Blocks.chest, getDecoMeta(4), 8, 1, 9, HbmChestContents.lockersVault, 4);
generateInvContents(world, box, rand, Blocks.chest, getDecoMeta(4), 8, 2, 9, HbmChestContents.lockersVault, 5);
generateInvContents(world, box, rand, Blocks.chest, getDecoMeta(4), 8, 1, 9, ItemPool.getPool(ItemPoolsComponent.POOL_VAULT_LOCKERS), 4);
generateInvContents(world, box, rand, Blocks.chest, getDecoMeta(4), 8, 2, 9, ItemPool.getPool(ItemPoolsComponent.POOL_VAULT_LOCKERS), 5);
fillWithMetadataBlocks(world, box, 8, 3, 7, 8, 3, 9, Blocks.trapdoor, getDecoModelMeta(2) >> 2);
//doors
placeDoor(world, box, ModBlocks.door_bunker, 1, true, rand.nextBoolean(), 7, 1, 0);
@ -474,7 +476,7 @@ public class BunkerComponents {
//table & chest
placeBlockAtCurrentPosition(world, Blocks.fence, 0, 6, 1, 2, box);
placeBlockAtCurrentPosition(world, Blocks.wooden_pressure_plate, 0, 6, 2, 2, box);
generateInvContents(world, box, rand, Blocks.chest, getDecoMeta(4), 6, 1, 3, HbmChestContents.lockersVault, 8);
generateInvContents(world, box, rand, Blocks.chest, getDecoMeta(4), 6, 1, 3, ItemPool.getPool(ItemPoolsComponent.POOL_VAULT_LOCKERS), 8);
//desk w/ computer + bobblehead
placeBlockAtCurrentPosition(world, ModBlocks.concrete_smooth_stairs, stairMetaS | 4, 1, 1, 8, box);
placeBlockAtCurrentPosition(world, ModBlocks.concrete_smooth_stairs, stairMetaE | 4, 1, 1, 9, box);
@ -679,7 +681,7 @@ public class BunkerComponents {
fillWithMetadataBlocks(world, box, 1, 3, 9, 1, 3, 10, ModBlocks.tape_recorder, decoMetaW);
fillWithBlocks(world, box, 1, 1, 11, 1, 3, 11, ModBlocks.deco_tungsten);
//desks w/ computers
generateInvContents(world, box, rand, Blocks.chest, getDecoMeta(2), 3, 1, 4, HbmChestContents.machineParts, 6);
generateInvContents(world, box, rand, Blocks.chest, getDecoMeta(2), 3, 1, 4, ItemPool.getPool(ItemPoolsComponent.POOL_MACHINE_PARTS), 6);
placeBlockAtCurrentPosition(world, ModBlocks.concrete_smooth_stairs, stairMetaS | 4, 3, 1, 5, box);
fillWithMetadataBlocks(world, box, 4, 1, 5, 4, 1, 7, ModBlocks.concrete_smooth_stairs, stairMetaW | 4);
placeBlockAtCurrentPosition(world, Blocks.oak_stairs, stairMetaN, 3, 1, 7, box);
@ -704,7 +706,7 @@ public class BunkerComponents {
//table w/ chest
placeBlockAtCurrentPosition(world, Blocks.fence, 0, 7, 1, 9, box);
placeBlockAtCurrentPosition(world, Blocks.wooden_pressure_plate, 0, 7, 2, 9, box);
generateInvContents(world, box, rand, Blocks.chest, getDecoMeta(4), 7, 1, 10, HbmChestContents.labVault, 8);
generateInvContents(world, box, rand, Blocks.chest, getDecoMeta(4), 7, 1, 10, ItemPool.getPool(ItemPoolsComponent.POOL_VAULT_LAB), 8);
//doors
placeDoor(world, box, ModBlocks.door_bunker, 1, true, rand.nextBoolean(), 5, 1, 0);
placeDoor(world, box, ModBlocks.door_bunker, 1, false, rand.nextBoolean(), 6, 1, 0);
@ -819,8 +821,8 @@ public class BunkerComponents {
placeBlockAtCurrentPosition(world, ModBlocks.fluid_duct_gauge, decoMetaW, 10, 2, 5, box);
placeBlockAtCurrentPosition(world, ModBlocks.barrel_plastic, 0, 6, 1, 5, box);
//chests
generateInvContents(world, box, rand, Blocks.chest, decoMetaS, 7, 1, 5, HbmChestContents.solidFuel, 5);
generateInvContents(world, box, rand, Blocks.chest, decoMetaS, 9, 1, 5, HbmChestContents.solidFuel, 6);
generateInvContents(world, box, rand, Blocks.chest, decoMetaS, 7, 1, 5, ItemPool.getPool(ItemPoolsComponent.POOL_SOLID_FUEL), 5);
generateInvContents(world, box, rand, Blocks.chest, decoMetaS, 9, 1, 5, ItemPool.getPool(ItemPoolsComponent.POOL_SOLID_FUEL), 6);
break;
case 1:
placeBlockAtCurrentPosition(world, ModBlocks.concrete_colored_ext, 5, 6, 1, 1, box);
@ -873,7 +875,7 @@ public class BunkerComponents {
placeBlockAtCurrentPosition(world, ModBlocks.deco_pipe_quad_rusted, getPillarMeta(4), 7, 3, 1, box);
placeBlockAtCurrentPosition(world, ModBlocks.fluid_duct_gauge, decoMetaN, 6, 3, 1, box);
//chest
generateInvContents(world, box, rand, Blocks.chest, decoMetaN, 6, 1, 2, HbmChestContents.nuclearFuel, 8);
generateInvContents(world, box, rand, Blocks.chest, decoMetaN, 6, 1, 2, ItemPool.getPool(ItemPoolsComponent.POOL_NUKE_FUEL), 8);
break;
}
//transformer
@ -905,8 +907,8 @@ public class BunkerComponents {
placeBlockAtCurrentPosition(world, Blocks.flower_pot, 0, 8, 2, 10, box);
placeBlockAtCurrentPosition(world, ModBlocks.deco_computer, getDecoModelMeta(0), 9, 2, 10, box);
//loot
generateInvContents(world, box, rand, Blocks.chest, decoMetaE, 1, 1, 7, HbmChestContents.machineParts, 6);
generateInvContents(world, box, rand, ModBlocks.filing_cabinet, getDecoModelMeta(0), 7, 1, 10, HbmChestContents.filingCabinet, 4);
generateInvContents(world, box, rand, Blocks.chest, decoMetaE, 1, 1, 7, ItemPool.getPool(ItemPoolsComponent.POOL_MACHINE_PARTS), 6);
generateInvContents(world, box, rand, ModBlocks.filing_cabinet, getDecoModelMeta(0), 7, 1, 10, ItemPool.getPool(ItemPoolsComponent.POOL_FILING_CABINET), 4);
//doors
placeDoor(world, box, ModBlocks.door_bunker, 1, true, rand.nextBoolean(), 3, 1, 0);
placeDoor(world, box, ModBlocks.door_bunker, 1, false, rand.nextBoolean(), 4, 1, 0);

View File

@ -5,6 +5,9 @@ import java.util.Random;
import com.hbm.blocks.ModBlocks;
import com.hbm.blocks.generic.BlockBobble.BobbleType;
import com.hbm.blocks.generic.BlockBobble.TileEntityBobble;
import com.hbm.itempool.ItemPool;
import com.hbm.itempool.ItemPoolsComponent;
import com.hbm.itempool.ItemPoolsLegacy;
import com.hbm.lib.HbmChestContents;
import com.hbm.util.LootGenerator;
@ -118,7 +121,7 @@ public class CivilianFeatures {
//Loot/Sand
this.placeBlockAtCurrentPosition(world, ModBlocks.crate_weapon, 0, 1, 0, 1, box);
if(!this.hasPlacedChest)
this.hasPlacedChest = this.generateStructureChestContents(world, box, rand, 3, 0, 1, HbmChestContents.modGeneric, rand.nextInt(2) + 8);
this.hasPlacedChest = this.generateStructureChestContents(world, box, rand, 3, 0, 1, ItemPool.getPool(ItemPoolsLegacy.POOL_GENERIC), rand.nextInt(2) + 8);
this.fillWithBlocks(world, box, 5, 0, 1, 6, 0, 1, ModBlocks.crate, Blocks.air, false);
this.placeBlockAtCurrentPosition(world, Blocks.sand, 0, 7, 0, 1, box);
if(rand.nextFloat() <= 0.25)
@ -244,7 +247,7 @@ public class CivilianFeatures {
this.placeBlockAtCurrentPosition(world, ModBlocks.crate_can, 0, 1, 1, 9 - 4, box);
if(!hasPlacedLoot[0]) {
this.placeBlockAtCurrentPosition(world, Blocks.chest, this.getMetadataWithOffset(Blocks.chest, 3), 1, 1, 9 - 2, box);
WeightedRandomChestContent.generateChestContents(rand, HbmChestContents.machineParts, (TileEntityChest)world.getTileEntity(this.getXWithOffset(1, 9 - 2),
WeightedRandomChestContent.generateChestContents(rand, ItemPool.getPool(ItemPoolsComponent.POOL_MACHINE_PARTS), (TileEntityChest)world.getTileEntity(this.getXWithOffset(1, 9 - 2),
this.getYWithOffset(1), this.getZWithOffset(1, 9 - 2)), 10);
this.hasPlacedLoot[0] = true;
}
@ -257,7 +260,7 @@ public class CivilianFeatures {
//House 2
if(!hasPlacedLoot[1]) {
this.placeBlockAtCurrentPosition(world, Blocks.chest, this.getMetadataWithOffset(Blocks.chest, 3), 15 - 5, 1, 1, box);
WeightedRandomChestContent.generateChestContents(rand, HbmChestContents.antenna, (TileEntityChest)world.getTileEntity(this.getXWithOffset(15 - 5, 1),
WeightedRandomChestContent.generateChestContents(rand, ItemPool.getPool(ItemPoolsLegacy.POOL_ANTENNA), (TileEntityChest)world.getTileEntity(this.getXWithOffset(15 - 5, 1),
this.getYWithOffset(1), this.getZWithOffset(15 - 5, 1)), 10);
this.hasPlacedLoot[1] = true;
}
@ -395,7 +398,7 @@ public class CivilianFeatures {
this.placeBlockAtCurrentPosition(world, ModBlocks.crate_can, 0, 9 - 1, 1, 7 - 2, box);
if(!hasPlacedLoot[1]) {
this.hasPlacedLoot[1] = this.generateInvContents(world, box, rand, ModBlocks.crate_iron, 9 - 1, 1, 7 - 1, HbmChestContents.modGeneric, 8);
this.hasPlacedLoot[1] = this.generateInvContents(world, box, rand, ModBlocks.crate_iron, 9 - 1, 1, 7 - 1, ItemPool.getPool(ItemPoolsLegacy.POOL_GENERIC), 8);
}
return true;
@ -559,7 +562,7 @@ public class CivilianFeatures {
this.placeBlockAtCurrentPosition(world, ModBlocks.crate, 0, 4, 1, 8 - 2, box);
this.placeBlockAtCurrentPosition(world, ModBlocks.crate_lead, 0, 4, 2, 8 - 2, box);
if(!hasPlacedLoot[0]) {
this.hasPlacedLoot[0] = this.generateInvContents(world, box, rand, ModBlocks.crate_iron, 5, 1, 8 - 2, HbmChestContents.nuclearFuel, 10);
this.hasPlacedLoot[0] = this.generateInvContents(world, box, rand, ModBlocks.crate_iron, 5, 1, 8 - 2, ItemPool.getPool(ItemPoolsComponent.POOL_NUKE_FUEL), 10);
}
this.fillWithBlocks(world, box, 4, 1, 8 - 3, 5, 1, 8 - 3, ModBlocks.crate_lead, Blocks.air, false);
@ -569,7 +572,7 @@ public class CivilianFeatures {
this.placeBlockAtCurrentPosition(world, ModBlocks.steel_beam, 0, 12 - 2, 2, 8 - 2, box);
this.fillWithBlocks(world, box, 12 - 4, 3, 8 - 2, 12 - 2, 3, 8 - 2, ModBlocks.steel_roof, Blocks.air, false);
if(!hasPlacedLoot[1]) {
this.hasPlacedLoot[1] = this.generateInvContents(world, box, rand, ModBlocks.crate_iron, 12 - 2, 1, 3, HbmChestContents.nukeTrash, 9);
this.hasPlacedLoot[1] = this.generateInvContents(world, box, rand, ModBlocks.crate_iron, 12 - 2, 1, 3, ItemPool.getPool(ItemPoolsLegacy.POOL_NUKE_TRASH), 9);
if(rand.nextInt(2) == 0)
generateLoreBook(world, box, 12 - 2, 1, 3, 1, HbmChestContents.generateOfficeBook(rand));
}
@ -703,7 +706,7 @@ public class CivilianFeatures {
this.placeBlockAtCurrentPosition(world, ModBlocks.radiorec, eastMeta, 6, 2, 8 - 1, box);
this.fillWithMetadataBlocks(world, box, 2, 1, 8 - 1, 3, 1, 8 - 1, ModBlocks.machine_electric_furnace_off, southMeta, Blocks.air, 0, false);
if(!hasPlacedLoot) {
this.hasPlacedLoot = this.generateInvContents(world, box, rand, ModBlocks.crate_iron, 4, 1, 8 - 1, HbmChestContents.machineParts, 11);
this.hasPlacedLoot = this.generateInvContents(world, box, rand, ModBlocks.crate_iron, 4, 1, 8 - 1, ItemPool.getPool(ItemPoolsComponent.POOL_MACHINE_PARTS), 11);
}
this.placeBlockAtCurrentPosition(world, Blocks.web, 0, 5, 3, 1, box);
this.placeBlockAtCurrentPosition(world, Blocks.web, 0, 2, 1, 2, box);
@ -1103,8 +1106,8 @@ public class CivilianFeatures {
placeBlockAtCurrentPosition(world, rand.nextBoolean() ? ModBlocks.crate_weapon : ModBlocks.crate, 0, 6, 5, 12, box);
//inventories
generateInvContents(world, box, rand, ModBlocks.filing_cabinet, getDecoModelMeta(2), 7, 1, 10, HbmChestContents.officeTrash, 4);
generateInvContents(world, box, rand, Blocks.chest, metaE, 7, 5, 5, HbmChestContents.modGeneric, 8);
generateInvContents(world, box, rand, ModBlocks.filing_cabinet, getDecoModelMeta(2), 7, 1, 10, ItemPool.getPool(ItemPoolsComponent.POOL_OFFICE_TRASH), 4);
generateInvContents(world, box, rand, Blocks.chest, metaE, 7, 5, 5, ItemPool.getPool(ItemPoolsLegacy.POOL_GENERIC), 8);
//loot
placeBlockAtCurrentPosition(world, ModBlocks.deco_loot, 0, 3, 2, 12, box);
LootGenerator.lootBookLore(world, getXWithOffset(3, 12), getYWithOffset(2), getZWithOffset(3, 12), HbmChestContents.generateLabBook(rand)); //TODO write more lore

View File

@ -3,6 +3,9 @@ package com.hbm.world.gen.component;
import java.util.Random;
import com.hbm.blocks.ModBlocks;
import com.hbm.itempool.ItemPool;
import com.hbm.itempool.ItemPoolsComponent;
import com.hbm.itempool.ItemPoolsLegacy;
import com.hbm.lib.HbmChestContents;
import com.hbm.util.LootGenerator;
@ -207,9 +210,9 @@ public class OfficeFeatures {
//Woot
if(!this.hasPlacedLoot[0])
this.hasPlacedLoot[0] = generateInvContents(world, box, rand, ModBlocks.filing_cabinet, getDecoModelMeta(0), 14 - 4, 1, 12 - 1, HbmChestContents.officeTrash, 8);
this.hasPlacedLoot[0] = generateInvContents(world, box, rand, ModBlocks.filing_cabinet, getDecoModelMeta(0), 14 - 4, 1, 12 - 1, ItemPool.getPool(ItemPoolsComponent.POOL_OFFICE_TRASH), 8);
if(!this.hasPlacedLoot[1]) {
this.hasPlacedLoot[1] = generateLockableContents(world, box, rand, ModBlocks.safe, getDecoMeta(3), 6, 1, 1, HbmChestContents.machineParts, 10, 0.5D);
this.hasPlacedLoot[1] = generateLockableContents(world, box, rand, ModBlocks.safe, getDecoMeta(3), 6, 1, 1, ItemPool.getPool(ItemPoolsComponent.POOL_MACHINE_PARTS), 10, 0.5D);
if(rand.nextInt(2) == 0)
generateLoreBook(world, box, 6, 1, 1, 7, HbmChestContents.generateOfficeBook(rand));
}
@ -526,21 +529,21 @@ public class OfficeFeatures {
placeBlockAtCurrentPosition(world, Blocks.flower_pot, 0, 5, 13, 9, box);
placeBlockAtCurrentPosition(world, Blocks.flower_pot, 0, 7, 13, 11, box);
generateInvContents(world, box, rand, ModBlocks.filing_cabinet, getDecoModelMeta(3), 9, 1, 7, HbmChestContents.filingCabinet, 4);
generateInvContents(world, box, rand, ModBlocks.filing_cabinet, getDecoModelMeta(1), 7, 5, 4, HbmChestContents.filingCabinet, 4);
generateInvContents(world, box, rand, ModBlocks.filing_cabinet, getDecoModelMeta(1), 7, 6, 4, HbmChestContents.filingCabinet, 4);
generateInvContents(world, box, rand, ModBlocks.filing_cabinet, getDecoModelMeta(2), 10, 5, 7, HbmChestContents.filingCabinet, 4);
generateInvContents(world, box, rand, ModBlocks.filing_cabinet, getDecoModelMeta(0), 10, 5, 12, HbmChestContents.filingCabinet, 4);
generateInvContents(world, box, rand, ModBlocks.filing_cabinet, getDecoModelMeta(0), 10, 6, 12, HbmChestContents.filingCabinet, 4);
generateInvContents(world, box, rand, ModBlocks.filing_cabinet, getDecoModelMeta(0), 2, 9, 5, HbmChestContents.filingCabinet, 4);
generateInvContents(world, box, rand, ModBlocks.filing_cabinet, getDecoModelMeta(3), 9, 1, 7, ItemPool.getPool(ItemPoolsComponent.POOL_FILING_CABINET), 4);
generateInvContents(world, box, rand, ModBlocks.filing_cabinet, getDecoModelMeta(1), 7, 5, 4, ItemPool.getPool(ItemPoolsComponent.POOL_FILING_CABINET), 4);
generateInvContents(world, box, rand, ModBlocks.filing_cabinet, getDecoModelMeta(1), 7, 6, 4, ItemPool.getPool(ItemPoolsComponent.POOL_FILING_CABINET), 4);
generateInvContents(world, box, rand, ModBlocks.filing_cabinet, getDecoModelMeta(2), 10, 5, 7, ItemPool.getPool(ItemPoolsComponent.POOL_FILING_CABINET), 4);
generateInvContents(world, box, rand, ModBlocks.filing_cabinet, getDecoModelMeta(0), 10, 5, 12, ItemPool.getPool(ItemPoolsComponent.POOL_FILING_CABINET), 4);
generateInvContents(world, box, rand, ModBlocks.filing_cabinet, getDecoModelMeta(0), 10, 6, 12, ItemPool.getPool(ItemPoolsComponent.POOL_FILING_CABINET), 4);
generateInvContents(world, box, rand, ModBlocks.filing_cabinet, getDecoModelMeta(0), 2, 9, 5, ItemPool.getPool(ItemPoolsComponent.POOL_FILING_CABINET), 4);
generateLockableContents(world, box, rand, ModBlocks.safe, getDecoMeta(2), 1, 9, 13, HbmChestContents.officeTrash, 10, 1.0D);
generateLockableContents(world, box, rand, ModBlocks.safe, getDecoMeta(2), 1, 9, 13, ItemPool.getPool(ItemPoolsComponent.POOL_OFFICE_TRASH), 10, 1.0D);
if(rand.nextInt(2) == 0)
generateLoreBook(world, box, 1, 9, 13, 7, HbmChestContents.generateOfficeBook(rand));
generateInvContents(world, box, rand, ModBlocks.filing_cabinet, getDecoModelMeta(0), 2, 9, 13, HbmChestContents.filingCabinet, 4);
generateInvContents(world, box, rand, ModBlocks.filing_cabinet, getDecoModelMeta(0), 3, 9, 13, HbmChestContents.filingCabinet, 4);
generateLockableContents(world, box, rand, ModBlocks.filing_cabinet, getDecoModelMeta(0), 3, 10, 13, HbmChestContents.expensive, 8, 0.1D);
generateInvContents(world, box, rand, ModBlocks.filing_cabinet, getDecoModelMeta(0), 2, 9, 13, ItemPool.getPool(ItemPoolsComponent.POOL_FILING_CABINET), 4);
generateInvContents(world, box, rand, ModBlocks.filing_cabinet, getDecoModelMeta(0), 3, 9, 13, ItemPool.getPool(ItemPoolsComponent.POOL_FILING_CABINET), 4);
generateLockableContents(world, box, rand, ModBlocks.filing_cabinet, getDecoModelMeta(0), 3, 10, 13, ItemPool.getPool(ItemPoolsLegacy.POOL_EXPENSIVE), 8, 0.1D);
placeBlockAtCurrentPosition(world, ModBlocks.deco_loot, 0, 6, 13, 11, box);
LootGenerator.lootCapStash(world, this.getXWithOffset(6, 11), this.getYWithOffset(13), this.getZWithOffset(6, 11));

View File

@ -4,8 +4,11 @@ import java.util.Random;
import com.hbm.blocks.BlockDummyable;
import com.hbm.blocks.ModBlocks;
import com.hbm.itempool.ItemPool;
import com.hbm.itempool.ItemPoolsComponent;
import com.hbm.itempool.ItemPoolsLegacy;
import com.hbm.itempool.ItemPoolsSingle;
import com.hbm.items.ModItems;
import com.hbm.lib.HbmChestContents;
import com.hbm.tileentity.bomb.TileEntityLandmine;
import com.hbm.tileentity.bomb.TileEntityLaunchPadRusted;
import com.hbm.tileentity.network.TileEntityRadioTorchBase;
@ -248,7 +251,7 @@ public class SiloComponent extends Component {
setRTTYFreq(world, box, 16, 25, 17, freqHatch);
//Containers
generateInvContents(world, box, rand, Blocks.chest, 2, 36, 26, 17, HbmChestContents.vertibird, 5);
generateInvContents(world, box, rand, Blocks.chest, 2, 36, 26, 17, ItemPool.getPool(ItemPoolsLegacy.POOL_VERTIBIRD), 5);
/* Stairway */
fillWithAir(world, box, 37, 26, 9, 37, 27, 10);
@ -463,22 +466,22 @@ public class SiloComponent extends Component {
placeRandomBobble(world, box, rand, 16, 22, 4);
//Containers
generateInvContents(world, box, rand, ModBlocks.filing_cabinet, decoModelW, 31, 21, 17, HbmChestContents.filingCabinet, 4);
generateInvContents(world, box, rand, ModBlocks.filing_cabinet, decoModelW, 31, 21, 18, HbmChestContents.labVault, 6);
generateInvContents(world, box, rand, ModBlocks.filing_cabinet, decoModelW, 31, 21, 19, HbmChestContents.filingCabinet, 4);
generateInvContents(world, box, rand, ModBlocks.filing_cabinet, decoModelW, 31, 22, 17, HbmChestContents.filingCabinet, 4);
generateInvContents(world, box, rand, ModBlocks.filing_cabinet, decoModelW, 31, 22, 19, HbmChestContents.filingCabinet, 4);
generateInvContents(world, box, rand, ModBlocks.crate_steel, 2, 29, 21, 19, HbmChestContents.officeTrash, 8);
generateInvContents(world, box, rand, ModBlocks.filing_cabinet, decoModelE, 29, 21, 18, HbmChestContents.filingCabinet, 4);
generateInvContents(world, box, rand, ModBlocks.filing_cabinet, decoModelE, 29, 21, 17, HbmChestContents.filingCabinet, 4);
generateInvContents(world, box, rand, ModBlocks.filing_cabinet, decoModelW, 31, 21, 17, ItemPool.getPool(ItemPoolsComponent.POOL_FILING_CABINET), 4);
generateInvContents(world, box, rand, ModBlocks.filing_cabinet, decoModelW, 31, 21, 18, ItemPool.getPool(ItemPoolsComponent.POOL_VAULT_LAB), 6);
generateInvContents(world, box, rand, ModBlocks.filing_cabinet, decoModelW, 31, 21, 19, ItemPool.getPool(ItemPoolsComponent.POOL_FILING_CABINET), 4);
generateInvContents(world, box, rand, ModBlocks.filing_cabinet, decoModelW, 31, 22, 17, ItemPool.getPool(ItemPoolsComponent.POOL_FILING_CABINET), 4);
generateInvContents(world, box, rand, ModBlocks.filing_cabinet, decoModelW, 31, 22, 19, ItemPool.getPool(ItemPoolsComponent.POOL_FILING_CABINET), 4);
generateInvContents(world, box, rand, ModBlocks.crate_steel, 2, 29, 21, 19, ItemPool.getPool(ItemPoolsComponent.POOL_OFFICE_TRASH), 8);
generateInvContents(world, box, rand, ModBlocks.filing_cabinet, decoModelE, 29, 21, 18, ItemPool.getPool(ItemPoolsComponent.POOL_FILING_CABINET), 4);
generateInvContents(world, box, rand, ModBlocks.filing_cabinet, decoModelE, 29, 21, 17, ItemPool.getPool(ItemPoolsComponent.POOL_FILING_CABINET), 4);
generateInvContents(world, box, rand, ModBlocks.filing_cabinet, decoModelW, 31, 21, 8, HbmChestContents.filingCabinet, 5);
generateInvContents(world, box, rand, ModBlocks.filing_cabinet, decoModelW, 31, 21, 8, ItemPool.getPool(ItemPoolsComponent.POOL_FILING_CABINET), 5);
generateInvContents(world, box, rand, ModBlocks.crate_steel, 3, 25, 21, 2, HbmChestContents.machineParts, 4);
generateInvContents(world, box, rand, ModBlocks.crate_steel, 3, 25, 21, 2, ItemPool.getPool(ItemPoolsComponent.POOL_MACHINE_PARTS), 4);
generateInvContents(world, box, rand, ModBlocks.filing_cabinet, decoModelN, 23, 21, 5, HbmChestContents.filingCabinet, 5);
generateInvContents(world, box, rand, ModBlocks.filing_cabinet, decoModelN, 23, 21, 5, ItemPool.getPool(ItemPoolsComponent.POOL_FILING_CABINET), 5);
generateLockableContents(world, box, rand, ModBlocks.safe, decoW, 16, 21, 4, HbmChestContents.vault1, 3, 1D);
generateLockableContents(world, box, rand, ModBlocks.safe, decoW, 16, 21, 4, ItemPool.getPool(ItemPoolsSingle.POOL_VAULT_RUSTY), 3, 1D);
/* Silo */
// TOP
@ -917,12 +920,12 @@ public class SiloComponent extends Component {
placeBed(world, box, 1, i, j, 8);
//Containers
generateInvContents(world, box, rand, ModBlocks.crate_steel, 2, 8, 17, 25, HbmChestContents.lockersVault, 6);
generateInvContents(world, box, rand, ModBlocks.crate_steel, 2, 8, 17, 25, ItemPool.getPool(ItemPoolsComponent.POOL_VAULT_LOCKERS), 6);
generateInvContents(world, box, rand, ModBlocks.crate_steel, 2, 2, 17, 11, HbmChestContents.lockersVault, 6); //placed separately for loot table control
generateInvContents(world, box, rand, ModBlocks.crate_steel, 2, 4, 17, 11, HbmChestContents.expensive, 2);
generateInvContents(world, box, rand, ModBlocks.crate_steel, 2, 6, 17, 11, HbmChestContents.lockersVault, 6);
generateInvContents(world, box, rand, ModBlocks.crate_steel, 2, 8, 17, 11, HbmChestContents.lockersVault, 6);
generateInvContents(world, box, rand, ModBlocks.crate_steel, 2, 2, 17, 11, ItemPool.getPool(ItemPoolsComponent.POOL_VAULT_LOCKERS), 6); //placed separately for loot table control
generateInvContents(world, box, rand, ModBlocks.crate_steel, 2, 4, 17, 11, ItemPool.getPool(ItemPoolsLegacy.POOL_EXPENSIVE), 2);
generateInvContents(world, box, rand, ModBlocks.crate_steel, 2, 6, 17, 11, ItemPool.getPool(ItemPoolsComponent.POOL_VAULT_LOCKERS), 6);
generateInvContents(world, box, rand, ModBlocks.crate_steel, 2, 8, 17, 11, ItemPool.getPool(ItemPoolsComponent.POOL_VAULT_LOCKERS), 6);
//Mines
fillWithMines(world, box, rand, 2, 17, 9, 11, 17, 11);
fillWithMines(world, box, rand, 9, 17, 17, 11, 17, 24);
@ -1016,10 +1019,10 @@ public class SiloComponent extends Component {
placeBlockAtCurrentPosition(world, ModBlocks.deco_toaster, getCRTMeta(1), 28, 13, 17, box);
//Containers
generateInvContents(world, box, rand, ModBlocks.crate_steel, 2, 32, 13, 9, HbmChestContents.missile, 6);
generateInvContents(world, box, rand, ModBlocks.safe, decoN, 33, 13, 9, HbmChestContents.machineParts, 6);
generateInvContents(world, box, rand, ModBlocks.crate_steel, 2, 32, 13, 9, ItemPool.getPool(ItemPoolsComponent.POOL_SILO), 6);
generateInvContents(world, box, rand, ModBlocks.safe, decoN, 33, 13, 9, ItemPool.getPool(ItemPoolsComponent.POOL_MACHINE_PARTS), 6);
generateInvContents(world, box, rand, ModBlocks.crate_steel, 2, 33, 13, 21, HbmChestContents.labVault, 8);
generateInvContents(world, box, rand, ModBlocks.crate_steel, 2, 33, 13, 21, ItemPool.getPool(ItemPoolsComponent.POOL_VAULT_LAB), 8);
//Mines
fillWithMines(world, box, rand, 27, 13, 13, 33, 13, 15);
@ -1154,7 +1157,7 @@ public class SiloComponent extends Component {
fillWithBlocks(world, box, 7, 11, 8, 11, 11, 8, ModBlocks.deco_lead);
//Containers
generateInvContents(world, box, rand, ModBlocks.crate_steel, 2, 4, 9, 7, HbmChestContents.nuclearFuel, 5);
generateInvContents(world, box, rand, ModBlocks.crate_steel, 2, 4, 9, 7, ItemPool.getPool(ItemPoolsComponent.POOL_NUKE_FUEL), 5);
//Mines
fillWithMines(world, box, rand, 1, 9, 7, 6, 9, 11);
fillWithMines(world, box, rand, 8, 9, 17, 10, 9, 22);
@ -1214,10 +1217,10 @@ public class SiloComponent extends Component {
//Containers
generateLockableContents(world, box, rand, ModBlocks.safe, decoE, 31, 5, 13, launchKey, 1, 0.1D);
generateInvContents(world, box, rand, ModBlocks.crate_steel, 2, 31, 5, 14, HbmChestContents.nukeTrash, 5);
generateInvContents(world, box, rand, ModBlocks.safe, decoE, 31, 5, 15, HbmChestContents.filingCabinet, 5);
generateInvContents(world, box, rand, ModBlocks.crate_steel, 2, 31, 5, 14, ItemPool.getPool(ItemPoolsLegacy.POOL_NUKE_TRASH), 5);
generateInvContents(world, box, rand, ModBlocks.safe, decoE, 31, 5, 15, ItemPool.getPool(ItemPoolsComponent.POOL_FILING_CABINET), 5);
generateInvContents(world, box, rand, ModBlocks.crate_iron, 2, 30, 1, 11, HbmChestContents.expensive, 7);
generateInvContents(world, box, rand, ModBlocks.crate_iron, 2, 30, 1, 11, ItemPool.getPool(ItemPoolsLegacy.POOL_EXPENSIVE), 7);
//Mines
fillWithMines(world, box, rand, 27, 5, 13, 30, 5, 15);