public OsuApiBeatmap getBeatmap(int beatmapid) { Random rand = new Random(beatmapid); OsuApiBeatmap beatmap = database.beatmaps.get(beatmapid); if (beatmap == null) { beatmap = new OsuApiBeatmap(); beatmap.setBeatmapId(beatmapid); if (setIds.containsKey(beatmapid)) { beatmap.setSetId(setIds.get(beatmapid)); } { // ARTIST String[] artists = {"Hatsune Miku", "IOSYS", "Nightcore", "DragonForce", "ClariS"}; beatmap.setArtist(artists[beatmapid % artists.length]); } beatmap.setTitle("Beatmap " + beatmapid); { // VERSION AND DIFFICULTY String[] versions = {"Easy", "Normal", "Hard", "Hyper", "Insane", "Another", "Extra"}; int diff = beatmapid % versions.length; beatmap.setVersion(versions[diff]); beatmap.setStarDifficulty(diff + rand.nextDouble()); beatmap.setTotalLength((int) (30 + Math.pow(rand.nextDouble(), 3) * 600)); beatmap.setApproachRate(5 + Math.min(4, diff) + (int) (rand.nextDouble() + .5)); beatmap.setCircleSize(diff + 1); beatmap.setBpm(50 * Math.pow(2, diff * .4 + rand.nextDouble())); } } return beatmap; }