package greymerk.roguelike.dungeon.settings.builtin; import java.util.ArrayList; import java.util.List; import greymerk.roguelike.dungeon.base.DungeonFactory; import greymerk.roguelike.dungeon.base.DungeonRoom; import greymerk.roguelike.dungeon.base.SecretFactory; import greymerk.roguelike.dungeon.settings.DungeonSettings; import greymerk.roguelike.dungeon.settings.LevelSettings; import greymerk.roguelike.dungeon.settings.SettingIdentifier; import greymerk.roguelike.dungeon.settings.SettingsContainer; import greymerk.roguelike.dungeon.settings.SpawnCriteria; import greymerk.roguelike.dungeon.settings.TowerSettings; import greymerk.roguelike.dungeon.towers.Tower; import greymerk.roguelike.theme.Theme; import net.minecraftforge.common.BiomeDictionary; public class SettingsForestTheme extends DungeonSettings{ public static final SettingIdentifier ID = new SettingIdentifier(SettingsContainer.BUILTIN_NAMESPACE, "forest"); public SettingsForestTheme(){ this.id = ID; this.inherit.add(SettingsBase.ID); this.criteria = new SpawnCriteria(); List<BiomeDictionary.Type> biomes = new ArrayList<BiomeDictionary.Type>(); biomes.add(BiomeDictionary.Type.FOREST); this.criteria.setBiomeTypes(biomes); this.towerSettings = new TowerSettings(Tower.HOUSE, Theme.getTheme(Theme.HOUSE)); for(int i = 0; i < 5; ++i){ LevelSettings level = new LevelSettings(); SecretFactory secrets = new SecretFactory(); DungeonFactory rooms; switch(i){ case 0: secrets.addRoom(DungeonRoom.SMITH); break; case 1: rooms = new DungeonFactory(); rooms.addSingle(DungeonRoom.MUSIC); rooms.addSingle(DungeonRoom.PIT); rooms.addSingle(DungeonRoom.MESS); rooms.addSingle(DungeonRoom.LAB); rooms.addRandom(DungeonRoom.CORNER, 10); rooms.addRandom(DungeonRoom.BRICK, 3); level.setRooms(rooms); break; case 2: break; case 3: break; case 4: break; default: break; } level.setSecrets(secrets); levels.put(i, level); } } }