@Override public BeatmapMeta loadBeatmap(int beatmapid, final long mods, Language lang) throws SQLException, IOException, UserException { OsuApiBeatmap beatmap = getBeatmap(beatmapid); BeatmapWithMods entry = new BeatmapWithMods(beatmapid, mods); FakePercentageEstimates estimates = database.estimates.get(entry); if (estimates == null) { double pp = Math.pow(2, beatmap.getStarDifficulty()) * 8; if (Mods.DoubleTime.is(mods)) { pp *= 2.5; } if (Mods.HardRock.is(mods)) { pp *= 1.3; } if (Mods.Hidden.is(mods)) { pp *= 1.1; } final double fPp = pp; estimates = new FakePercentageEstimates(mods, fPp); } return new BeatmapMeta(beatmap, null, estimates); }