package greymerk.roguelike.dungeon.settings.builtin; import greymerk.roguelike.dungeon.segment.Segment; import greymerk.roguelike.dungeon.segment.SegmentGenerator; import greymerk.roguelike.dungeon.settings.LevelSettings; import greymerk.roguelike.dungeon.settings.SettingIdentifier; import greymerk.roguelike.dungeon.settings.SettingsContainer; import greymerk.roguelike.dungeon.settings.DungeonSettings; public class SettingsSegments extends DungeonSettings{ public static final SettingIdentifier ID = new SettingIdentifier(SettingsContainer.BUILTIN_NAMESPACE, "segments"); public SettingsSegments(){ this.id = ID; for(int i = 0; i < 5; ++i){ SegmentGenerator segments; switch(i){ case 0: segments = new SegmentGenerator(Segment.ARCH); segments.add(Segment.DOOR, 8); segments.add(Segment.LAMP, 2); segments.add(Segment.FLOWERS, 2); segments.add(Segment.FIREPLACE, 2); segments.add(Segment.WHEAT, 1); break; case 1: segments = new SegmentGenerator(Segment.ARCH); segments.add(Segment.INSET, 2); segments.add(Segment.SHELF, 1); segments.add(Segment.FIREPLACE, 1); segments.add(Segment.WALL, 6); segments.add(Segment.BOOKS, 1); segments.add(Segment.CHEST, 1); segments.add(Segment.SPAWNER, 1); break; case 2: segments = new SegmentGenerator(Segment.ARCH); segments.add(Segment.SHELF, 4); segments.add(Segment.INSET, 4); segments.add(Segment.WALL, 4); segments.add(Segment.SKULL, 1); segments.add(Segment.TOMB, 2); segments.add(Segment.CELL, 1); segments.add(Segment.CHEST, 1); segments.add(Segment.SPAWNER, 1); segments.add(Segment.FIREPLACE, 1); break; case 3: segments = new SegmentGenerator(Segment.MOSSYARCH); segments.add(Segment.SHELF, 3); segments.add(Segment.INSET, 3); segments.add(Segment.SILVERFISH, 1); segments.add(Segment.ARROW, 2); segments.add(Segment.SKULL, 1); segments.add(Segment.MUSHROOM, 2); segments.add(Segment.CHEST, 1); segments.add(Segment.CELL, 2); segments.add(Segment.SPAWNER, 1); segments.add(Segment.TOMB, 1); break; case 4: segments = new SegmentGenerator(Segment.NETHERARCH); segments.add(Segment.SPAWNER, 10); segments.add(Segment.NETHERLAVA, 3); segments.add(Segment.NETHERSTRIPE, 3); segments.add(Segment.NETHERWART, 3); segments.add(Segment.SKULL, 3); segments.add(Segment.CHEST, 1); break; default: segments = new SegmentGenerator(Segment.ARCH); segments.add(Segment.WALL, 1); break; } LevelSettings level = new LevelSettings(); level.setSegments(segments); levels.put(i, level); } } }