diff --git a/Plan/src/main/java/com/djrapitops/plan/data/AnalysisData.java b/Plan/src/main/java/com/djrapitops/plan/data/AnalysisData.java index 4ef5213f1..876241b22 100644 --- a/Plan/src/main/java/com/djrapitops/plan/data/AnalysisData.java +++ b/Plan/src/main/java/com/djrapitops/plan/data/AnalysisData.java @@ -49,7 +49,7 @@ public class AnalysisData extends RawData { joinInfoPart = new JoinInfoPart(); playerCountPart = new PlayerCountPart(); playtimePart = new PlaytimePart(); - killPart = new KillPart(); + killPart = new KillPart(joinInfoPart); tpsPart = new TPSPart(); activityPart = new ActivityPart(joinInfoPart, tpsPart); worldPart = new WorldPart(); diff --git a/Plan/src/main/java/com/djrapitops/plan/data/analysis/JoinInfoPart.java b/Plan/src/main/java/com/djrapitops/plan/data/analysis/JoinInfoPart.java index f98182a0d..2d74e5d73 100644 --- a/Plan/src/main/java/com/djrapitops/plan/data/analysis/JoinInfoPart.java +++ b/Plan/src/main/java/com/djrapitops/plan/data/analysis/JoinInfoPart.java @@ -30,7 +30,7 @@ import java.util.stream.Collectors; * ${playersNewAverageDay} - (Number) * ${playersNewAverageWeek} - (Number) * ${playersNewAverageMonth} - (Number) - * //TODO ${tableBodySessions}, ${sessionCount}, ${lastPeakTime}, ${playersLastPeak}, ${bestPeakTime}, ${playersBestPeak} + * //TODO ${tableBodySessions} * * @author Rsl1122 * @since 3.5.2 diff --git a/Plan/src/main/java/com/djrapitops/plan/data/analysis/KillPart.java b/Plan/src/main/java/com/djrapitops/plan/data/analysis/KillPart.java index 0e244d946..daea3f273 100644 --- a/Plan/src/main/java/com/djrapitops/plan/data/analysis/KillPart.java +++ b/Plan/src/main/java/com/djrapitops/plan/data/analysis/KillPart.java @@ -1,5 +1,10 @@ package main.java.com.djrapitops.plan.data.analysis; +import main.java.com.djrapitops.plan.data.Session; + +import java.util.Collection; +import java.util.List; + /** * Part responsible for all Death related analysis. *

@@ -15,43 +20,32 @@ package main.java.com.djrapitops.plan.data.analysis; */ public class KillPart extends RawData { + private final JoinInfoPart joinInfoPart; + private long playerKills; private long mobKills; private long deaths; - public KillPart() { + public KillPart(JoinInfoPart joinInfoPart) { + this.joinInfoPart = joinInfoPart; + playerKills = 0; mobKills = 0; deaths = 0; } - // TODO JoinInfo Part, sessions for kills. - @Override public void analyse() { - addValue("deathCount", deaths); + List sessions = joinInfoPart.getAllSessions(); + deaths += sessions.stream().mapToLong(Session::getDeaths).sum(); + mobKills += sessions.stream().mapToLong(Session::getMobKills).sum(); + playerKills += sessions.stream().map(Session::getPlayerKills).mapToLong(Collection::size).sum(); + + addValue("deathCount", this.deaths); addValue("mobKillCount", mobKills); addValue("killCount", playerKills); } - /** - * Adds kills to the dataset. - * - * @param amount amount of kills - * @throws IllegalArgumentException if kills is null - */ - public void addKills(long amount) { - playerKills += amount; - } - - public void addMobKills(long amount) { - mobKills += amount; - } - - public void addDeaths(long amount) { - deaths += amount; - } - public long getPlayerKills() { return playerKills; } diff --git a/Plan/src/main/java/com/djrapitops/plan/data/analysis/PlayerCountPart.java b/Plan/src/main/java/com/djrapitops/plan/data/analysis/PlayerCountPart.java index 9b4b16b99..7860bd266 100644 --- a/Plan/src/main/java/com/djrapitops/plan/data/analysis/PlayerCountPart.java +++ b/Plan/src/main/java/com/djrapitops/plan/data/analysis/PlayerCountPart.java @@ -14,7 +14,6 @@ import java.util.UUID; *

* Contains following placeholders after analyzed: * ${playersTotal} - * //TODO ${playersOnline}, ${playersMax} * * @author Rsl1122 * @since 3.5.2