Skip to content

Commit

Permalink
Merge pull request #12 from cs-jako/issues/compactbadges_11
Browse files Browse the repository at this point in the history
Fix for issue #11
  • Loading branch information
cs-jako authored Jan 7, 2024
2 parents 07d756e + e0c1959 commit added8a
Show file tree
Hide file tree
Showing 5 changed files with 32 additions and 10 deletions.
7 changes: 6 additions & 1 deletion build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -24,11 +24,16 @@ labyMod {
minecraft {
registerVersions(
"1.8.9",
"1.12.2",
"1.16.5",
"1.17.1",
"1.18.2",
"1.19.2",
"1.19.3",
"23w04a"
"1.19.4",
"1.20.1",
"1.20.2",
"1.20.4"
) { version, provider ->
configureRun(provider, version)
}
Expand Down
2 changes: 1 addition & 1 deletion core/src/main/java/net/crazy/badges/core/Badges.java
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ public class Badges extends LabyAddon<AddonConfiguration> {


public final ExecutorService executor = Executors.newFixedThreadPool(6);
public final LinkedHashMap<UUID, Badge> badges = new LinkedHashMap<>();
public LinkedHashMap<UUID, Badge> badges = new LinkedHashMap<>();
public final HashMap<UUID, LinkedList<Badge>> playerCache = new HashMap<>();
public BadgeUtil badgeUtil;

Expand Down
18 changes: 17 additions & 1 deletion core/src/main/java/net/crazy/badges/core/badges/BadgeUtil.java
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,10 @@
import com.google.gson.JsonArray;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import java.util.UUID;

import java.util.*;
import java.util.stream.Collectors;

import net.crazy.badges.core.Badges;
import net.labymod.api.util.io.web.URLResolver;
import net.labymod.api.util.io.web.WebResponse;
Expand Down Expand Up @@ -39,6 +42,8 @@ public void success(JsonElement result) {
Badge badge = new Badge(addon, id, uuid, name, description);
addon.badges.put(uuid, badge);
}

addon.badges = sortBadgesByID(addon.badges);
}

@Override
Expand All @@ -48,4 +53,15 @@ public void failed(WebRequestException exception) {
}
}));
}

private LinkedHashMap<UUID, Badge> sortBadgesByID(LinkedHashMap<UUID, Badge> badges) {
return badges.entrySet().stream()
.sorted(Comparator.comparing(entry -> entry.getValue().getId()))
.collect(Collectors.toMap(
Map.Entry::getKey,
Map.Entry::getValue,
(e1, e2) -> e1,
LinkedHashMap::new
));
}
}
13 changes: 7 additions & 6 deletions core/src/main/java/net/crazy/badges/core/tags/BadgeTag.java
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
package net.crazy.badges.core.tags;

import java.util.LinkedList;
import java.util.UUID;

import net.crazy.badges.core.Badges;
import net.crazy.badges.core.badges.Badge;
import net.labymod.api.client.entity.Entity;
Expand Down Expand Up @@ -35,17 +37,16 @@ public void render(Stack stack, Entity livingEntity) {
return;
}

LinkedList<Badge> badges = addon.playerCache.get(player.getUniqueId());
LinkedList<Badge> badges = new LinkedList<>(addon.playerCache.get(player.getUniqueId()));

if (badges == null) {
if (badges.isEmpty()) {
return;
}

if (addon.configuration().compact()) {
badges.removeIf(badge ->
(badge.getId() == 9 && hasBadge(badges, 10)) ||
(badge.getId() == 10 && hasBadge(badges, 11)) ||
(badge.getId() == 11 && hasBadge(badges, 13)));
badges.removeIf(badge -> badge.getId() == 9 && hasBadge(badges, 10)); // Remove 'Streak I' if user also has 'Streak II'
badges.removeIf(badge -> badge.getId() == 10 && hasBadge(badges, 11)); // Remove 'Streak II' if user also has 'Streak III'
badges.removeIf(badge -> badge.getId() == 11 && hasBadge(badges, 13)); // Remove 'Streak III' if user also has 'Highest Streak'
}

int amount = badges.size();
Expand Down
2 changes: 1 addition & 1 deletion settings.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
rootProject.name = "badges"

pluginManagement {
val labyGradlePluginVersion = "0.3.25"
val labyGradlePluginVersion = "0.3.43"
plugins {
id("net.labymod.gradle") version (labyGradlePluginVersion)
}
Expand Down

0 comments on commit added8a

Please sign in to comment.