mirror of
https://github.com/plan-player-analytics/Plan.git
synced 2024-12-21 05:50:18 +08:00
Added ASkyBlock challenges to player page #686
This commit is contained in:
parent
f5b6b43aec
commit
870b929a9e
@ -6,14 +6,18 @@ package com.djrapitops.pluginbridge.plan.askyblock;
|
||||
|
||||
import com.djrapitops.plan.data.element.AnalysisContainer;
|
||||
import com.djrapitops.plan.data.element.InspectContainer;
|
||||
import com.djrapitops.plan.data.element.TableContainer;
|
||||
import com.djrapitops.plan.data.plugin.ContainerSize;
|
||||
import com.djrapitops.plan.data.plugin.PluginData;
|
||||
import com.djrapitops.plan.utilities.html.graphs.ProgressBar;
|
||||
import com.djrapitops.plan.utilities.html.icon.Color;
|
||||
import com.djrapitops.plan.utilities.html.icon.Family;
|
||||
import com.djrapitops.plan.utilities.html.icon.Icon;
|
||||
import com.djrapitops.plugin.utilities.Format;
|
||||
import com.wasteofplastic.askyblock.ASkyBlockAPI;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.Map;
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
@ -35,7 +39,7 @@ public class ASkyBlockData extends PluginData {
|
||||
public InspectContainer getPlayerData(UUID uuid, InspectContainer inspectContainer) {
|
||||
if (api.hasIsland(uuid)) {
|
||||
String islandName = api.getIslandName(uuid);
|
||||
int level = api.getIslandLevel(uuid);
|
||||
long level = api.getLongIslandLevel(uuid);
|
||||
int resetsLeft = api.getResetsLeft(uuid);
|
||||
|
||||
inspectContainer.addValue(getWithIcon("Island Name", Icon.called("street-view").of(Color.GREEN)), islandName);
|
||||
@ -45,9 +49,39 @@ public class ASkyBlockData extends PluginData {
|
||||
inspectContainer.addValue(getWithIcon("Island Name", Icon.called("street-view").of(Color.GREEN)), "No Island");
|
||||
}
|
||||
|
||||
Map<String, Integer> challengeCompletion = api.getChallengeTimes(uuid);
|
||||
int obtained = (int) challengeCompletion.values().stream().filter(value -> value != 0).count();
|
||||
int max = challengeCompletion.size();
|
||||
|
||||
inspectContainer.addValue(getWithIcon("Challenge Progress", Icon.called("bookmark").of(Color.LIGHT_BLUE)), obtained + " / " + max);
|
||||
ProgressBar challengeProgress = new ProgressBar(obtained, max, "light-blue");
|
||||
inspectContainer.addHtml("challenge-progress", challengeProgress.toHtml());
|
||||
|
||||
addTable(inspectContainer, challengeCompletion);
|
||||
|
||||
return inspectContainer;
|
||||
}
|
||||
|
||||
private void addTable(InspectContainer inspectContainer, Map<String, Integer> challengeCompletion) {
|
||||
TableContainer challenges = new TableContainer(
|
||||
getWithIcon("Challenge", Icon.called("bookmark")),
|
||||
getWithIcon("Times completed", Icon.called("check"))
|
||||
);
|
||||
challenges.setColor("light-blue");
|
||||
challengeCompletion.entrySet().stream()
|
||||
.sorted((one, two) -> Integer.compare(two.getValue(), one.getValue()))
|
||||
.forEach(entry -> {
|
||||
String challenge = new Format(entry.getKey()).capitalize().toString();
|
||||
Integer completionTimes = entry.getValue();
|
||||
boolean complete = completionTimes > 0;
|
||||
challenges.addRow(
|
||||
"<span" + (complete ? " class=\"col-green\"" : "") + ">" + challenge + "</span>",
|
||||
completionTimes
|
||||
);
|
||||
});
|
||||
inspectContainer.addTable("challenge-table", challenges);
|
||||
}
|
||||
|
||||
@Override
|
||||
public AnalysisContainer getServerData(Collection<UUID> uuids, AnalysisContainer analysisContainer) {
|
||||
int islandCount = api.getIslandCount();
|
||||
|
@ -44,7 +44,7 @@ public class LiteBansData extends PluginData implements BanData {
|
||||
public InspectContainer getPlayerData(UUID uuid, InspectContainer inspectContainer) {
|
||||
|
||||
inspectContainer.addValue(Icon.called("balance-scale").of(Color.RED) +
|
||||
"Hover over 'What' column entry for offence reasons", "");
|
||||
" Hover over 'What' column entry for offence reasons", "");
|
||||
|
||||
String what = getWithIcon("Effect", Icon.called("times-circle").of(Family.REGULAR));
|
||||
String by = getWithIcon("By", Icon.called("gavel"));
|
||||
|
Loading…
Reference in New Issue
Block a user