package greymerk.roguelike.theme; import greymerk.roguelike.config.RogueConfig; import greymerk.roguelike.worldgen.BlockWeightedRandom; import greymerk.roguelike.worldgen.IBlockFactory; import greymerk.roguelike.worldgen.MetaBlock; import greymerk.roguelike.worldgen.MetaStair; import greymerk.roguelike.worldgen.blocks.BlockType; import greymerk.roguelike.worldgen.blocks.StairType; import greymerk.roguelike.worldgen.blocks.door.Door; import greymerk.roguelike.worldgen.blocks.door.DoorType; import greymerk.roguelike.worldgen.blocks.door.IDoor; public class ThemeHell extends ThemeBase{ public ThemeHell(){ BlockWeightedRandom walls = new BlockWeightedRandom(); walls.addBlock(BlockType.get(BlockType.NETHERBRICK), 200); walls.addBlock(BlockType.get(BlockType.NETHERRACK), 20); walls.addBlock(BlockType.get(BlockType.ORE_QUARTZ), 20); walls.addBlock(BlockType.get(BlockType.SOUL_SAND), 15); walls.addBlock(BlockType.get(BlockType.NETHER_WART_BLOCK), 10); walls.addBlock(BlockType.get(BlockType.COAL_BLOCK), 5); BlockWeightedRandom floor = new BlockWeightedRandom(); floor.addBlock(walls, 1500); floor.addBlock(BlockType.get(BlockType.RED_NETHERBRICK), 500); floor.addBlock(BlockType.get(BlockType.REDSTONE_BLOCK), 50); if (RogueConfig.getBoolean(RogueConfig.PRECIOUSBLOCKS)) floor.addBlock(BlockType.get(BlockType.GOLD_BLOCK), 2); if (RogueConfig.getBoolean(RogueConfig.PRECIOUSBLOCKS)) floor.addBlock(BlockType.get(BlockType.DIAMOND_BLOCK), 1); MetaStair stair = new MetaStair(StairType.NETHERBRICK); MetaBlock pillar = BlockType.get(BlockType.OBSIDIAN); IDoor door = new Door(DoorType.IRON); IBlockFactory lightstone = BlockType.get(BlockType.GLOWSTONE); IBlockFactory liquid = BlockType.get(BlockType.LAVA_FLOWING); this.primary = new BlockSet(floor, walls, stair, pillar, door, lightstone, liquid); this.secondary = new BlockSet(floor, BlockType.get(BlockType.RED_NETHERBRICK), stair, BlockType.get(BlockType.MAGMA), door, lightstone, liquid); } }