Skip to content

Commit

Permalink
feat: functional placeholders and %headsplus_next_level%/%headsplus_n…
Browse files Browse the repository at this point in the history
…ext_level_xp%
  • Loading branch information
Thatsmusic99 committed Feb 22, 2023
1 parent 3a48ce1 commit dcdaf4e
Show file tree
Hide file tree
Showing 2 changed files with 34 additions and 3 deletions.
Expand Up @@ -62,9 +62,12 @@ public long getXP(OfflinePlayer player) {
}

public String getLevel(OfflinePlayer player) {

// Check HPPlayer cache, ez
if (HPPlayer.getHPPlayer(player.getUniqueId()) != null)
return HPPlayer.getHPPlayer(player.getUniqueId()).getLevel().getDisplayName();
HPPlayer hpPlayer = HPPlayer.getHPPlayer(player.getUniqueId());
if (hpPlayer != null) return hpPlayer.getLevel().getConfigName();

// Get the UUID
UUID uuid = player.getUniqueId();
updateCaches("level_" + player.getName(), uuid.toString(), cachedLevels,
() -> PlayerSQLManager.get().getLevel(uuid, true));
Expand Down
Expand Up @@ -58,16 +58,44 @@ public String onRequest(OfflinePlayer player, @NotNull String identifier) {
}

if (identifier.equals("remaining_xp")) {

String level = CacheManager.get().getLevel(player);
if (level == null) return "-1";

Level levelObj = LevelsManager.get().getLevel(level);
levelObj = LevelsManager.get().getNextLevel(levelObj.getConfigName());
long xp = CacheManager.get().getXP(player);
if (xp == -1) return "-1";
return String.valueOf(levelObj.getRequiredXP() - xp);
}

if (identifier.equals("next_level")) {
String level = CacheManager.get().getLevel(player);
if (level == null) return "N/A";

Level nextLevel = LevelsManager.get().getNextLevel(level);
if (nextLevel == null) return "N/A";

return nextLevel.getDisplayName();
}

if (identifier.equals("next_level_xp")) {
String level = CacheManager.get().getLevel(player);
if (level == null) return "-1";

Level nextLevel = LevelsManager.get().getNextLevel(level);
if (nextLevel == null) return "-1";

return String.valueOf(nextLevel.getRequiredXP());
}

if (identifier.equals("level")) {
return CacheManager.get().getLevel(player);
String level = CacheManager.get().getLevel(player);
if (level == null) return "N/A";

Level actualLevel = LevelsManager.get().getLevel(level);
if (actualLevel == null) return "N/A";
return actualLevel.getDisplayName();
}

if (identifier.equals("completed_challenges_total")) {
Expand Down

0 comments on commit dcdaf4e

Please sign in to comment.