diff --git a/Plan/src/main/java/com/djrapitops/plan/data/calculation/AnalysisData.java b/Plan/src/main/java/com/djrapitops/plan/data/calculation/AnalysisData.java index 026083e7d..76cc928a9 100644 --- a/Plan/src/main/java/com/djrapitops/plan/data/calculation/AnalysisData.java +++ b/Plan/src/main/java/com/djrapitops/plan/data/calculation/AnalysisData.java @@ -229,10 +229,18 @@ public class AnalysisData extends RawData { long twoWeeksAgo = now - TimeAmount.WEEK.ms() * 2L; List playersStuckPerMonth = newMonth.stream() - .filter(p -> p.playedBetween(monthAgo, twoWeeksAgo) && p.playedBetween(twoWeeksAgo, now)) + .filter(p -> { + long backLimit = Math.max(monthAgo, p.getRegistered()); + long half = backLimit / 2L; + return p.playedBetween(backLimit, half) && p.playedBetween(half, now); + }) .collect(Collectors.toList()); List playersStuckPerWeek = newWeek.stream() - .filter(p -> p.playedBetween(weekAgo, fourDaysAgo) && p.playedBetween(fourDaysAgo, now)) + .filter(p -> { + long backLimit = Math.max(weekAgo, p.getRegistered()); + long half = backLimit / 2L; + return p.playedBetween(backLimit, half) && p.playedBetween(half, now); + }) .collect(Collectors.toList()); int stuckPerM = playersStuckPerMonth.size();