Fixed java.lang.IllegalStateException: Duplicate key 300 #451

This commit is contained in:
Rsl1122 2017-12-06 15:27:00 +02:00
parent 6cf652a5eb
commit d5027cfc46
2 changed files with 13 additions and 8 deletions

View File

@ -4,7 +4,7 @@
<modelVersion>4.0.0</modelVersion>
<groupId>com.djrapitops</groupId>
<artifactId>PlanPluginBridge</artifactId>
<version>4.1.3</version>
<version>4.1.3-SNAPSHOT</version>
<packaging>jar</packaging>
<name>${project.groupId}:${project.artifactId}</name>

View File

@ -15,10 +15,7 @@ import me.ryanhamshire.GriefPrevention.Claim;
import me.ryanhamshire.GriefPrevention.DataStore;
import me.ryanhamshire.GriefPrevention.PlayerData;
import java.util.Collection;
import java.util.Map;
import java.util.Objects;
import java.util.UUID;
import java.util.*;
import java.util.stream.Collectors;
/**
@ -68,9 +65,17 @@ public class GriefPreventionData extends PluginData {
@Override
public AnalysisContainer getServerData(Collection<UUID> collection, AnalysisContainer analysisContainer) throws Exception {
Map<UUID, Integer> area = dataStore.getClaims().stream()
.filter(Objects::nonNull)
.collect(Collectors.toMap(claim -> claim.ownerID, Claim::getArea));
Map<UUID, Integer> area = new HashMap<>();
for (Claim claim : dataStore.getClaims()) {
if (claim == null) {
continue;
}
UUID uuid = claim.ownerID;
int blocks = area.getOrDefault(uuid, 0);
blocks += claim.getArea();
area.put(uuid, blocks);
}
long totalArea = MathUtils.sumLong(area.values().stream().map(i -> (long) i));
analysisContainer.addValue(getWithIcon("Total Claimed Area", "map-o", "blue-grey"), totalArea);