From 6a6e7046d6a7d6b4a9b1245d684ee7083c17e201 Mon Sep 17 00:00:00 2001 From: yoyosource Date: Tue, 15 Mar 2022 10:16:26 +0100 Subject: [PATCH 1/6] Update RankCommand --- src/de/steamwar/bungeecore/commands/RankCommand.java | 9 +++++++++ src/de/steamwar/messages/BungeeCore.properties | 2 ++ 2 files changed, 11 insertions(+) diff --git a/src/de/steamwar/bungeecore/commands/RankCommand.java b/src/de/steamwar/bungeecore/commands/RankCommand.java index 73f358b5..8bb0b71d 100644 --- a/src/de/steamwar/bungeecore/commands/RankCommand.java +++ b/src/de/steamwar/bungeecore/commands/RankCommand.java @@ -41,6 +41,15 @@ public class RankCommand extends BasicCommand { ProxiedPlayer player = (ProxiedPlayer) sender; SteamwarUser user = SteamwarUser.get(player.getUniqueId()); + if (args.length > 0) { + SteamwarUser nUser = SteamwarUser.get(args[0]); + if (nUser == null) { + Message.send("RANK_PLAYER_NOT_FOUND", player); + return; + } + Message.send("RANK_PLAYER_FOUND", player, nUser.getUserName()); + user = nUser; + } for(ArenaMode mode : ArenaMode.getAllModes()) { if (!mode.isRanked()) continue; diff --git a/src/de/steamwar/messages/BungeeCore.properties b/src/de/steamwar/messages/BungeeCore.properties index 885f01b5..ab2d88ec 100644 --- a/src/de/steamwar/messages/BungeeCore.properties +++ b/src/de/steamwar/messages/BungeeCore.properties @@ -563,6 +563,8 @@ HOURS_PLAYED=§7Deine Spielzeit beträgt§8: §e{0}h ARENA_NOT_FOUND=§cDie angegebene Arena konnte nicht gefunden werden #Rank +RANK_PLAYER_NOT_FOUND=§cSpieler nicht gefunden +RANK_PLAYER_FOUND=§eRanks §7für §e{0} RANK_HEADER=§7§lModus {0} RANK_UNPLACED=§eunplatziert RANK_PLACED=§e{0}§8. §7mit §e{1} §7Elo§8. From 5bcd094080ce8f8ee06929f3f2b17f1607a803e8 Mon Sep 17 00:00:00 2001 From: yoyosource Date: Tue, 15 Mar 2022 10:19:18 +0100 Subject: [PATCH 2/6] Update RankCommand --- src/de/steamwar/messages/BungeeCore.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/de/steamwar/messages/BungeeCore.properties b/src/de/steamwar/messages/BungeeCore.properties index ab2d88ec..acd2fbc7 100644 --- a/src/de/steamwar/messages/BungeeCore.properties +++ b/src/de/steamwar/messages/BungeeCore.properties @@ -564,7 +564,7 @@ ARENA_NOT_FOUND=§cDie angegebene Arena konnte nicht gefunden werden #Rank RANK_PLAYER_NOT_FOUND=§cSpieler nicht gefunden -RANK_PLAYER_FOUND=§eRanks §7für §e{0} +RANK_PLAYER_FOUND=§eRang §7von §e{0} RANK_HEADER=§7§lModus {0} RANK_UNPLACED=§eunplatziert RANK_PLACED=§e{0}§8. §7mit §e{1} §7Elo§8. From 0d888dff1c93374dfeab24610e310bd930e5a44f Mon Sep 17 00:00:00 2001 From: yoyosource Date: Tue, 15 Mar 2022 10:35:11 +0100 Subject: [PATCH 3/6] Update RankCommand --- src/de/steamwar/bungeecore/commands/RankCommand.java | 2 +- src/de/steamwar/bungeecore/sql/UserElo.java | 9 +++++++-- src/de/steamwar/messages/BungeeCore.properties | 1 + 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/src/de/steamwar/bungeecore/commands/RankCommand.java b/src/de/steamwar/bungeecore/commands/RankCommand.java index 8bb0b71d..f76932e0 100644 --- a/src/de/steamwar/bungeecore/commands/RankCommand.java +++ b/src/de/steamwar/bungeecore/commands/RankCommand.java @@ -64,7 +64,7 @@ public class RankCommand extends BasicCommand { } else { Message.send("RANK_UNPLACED", player); } - Message.send("RANK_EMBLEM", player, UserElo.getEmblemProgression(mode.getChatName(), user.getId())); + Message.send("RANK_EMBLEM", player, UserElo.getEmblemProgression(player, mode.getChatName(), user.getId())); } } } diff --git a/src/de/steamwar/bungeecore/sql/UserElo.java b/src/de/steamwar/bungeecore/sql/UserElo.java index cc418a06..db30f5c8 100644 --- a/src/de/steamwar/bungeecore/sql/UserElo.java +++ b/src/de/steamwar/bungeecore/sql/UserElo.java @@ -20,6 +20,8 @@ package de.steamwar.bungeecore.sql; import de.steamwar.bungeecore.ArenaMode; +import de.steamwar.bungeecore.Message; +import net.md_5.bungee.api.connection.ProxiedPlayer; import java.util.HashMap; import java.util.Map; @@ -138,8 +140,11 @@ public class UserElo { return "§7✧ "; } - public static String getEmblemProgression(String gameMode, int userId) { - if (UserElo.getFightsOfSeason(userId, gameMode) < 10) return "§8✧ ✦ ✶ ✷ ✸ ✹ ❂"; + public static String getEmblemProgression(ProxiedPlayer player, String gameMode, int userId) { + int fightsOfSeason = getFightsOfSeason(userId, gameMode); + if (fightsOfSeason < 10) { + return Message.parse("RANK_NEEDED_FIGHTS_LEFT", player, "§8✧ ✦ ✶ ✷ ✸ ✹ ❂", 11 - fightsOfSeason); + } Optional currentElo = UserElo.getElo(userId, gameMode); if (!currentElo.isPresent()) return "§8✧ ✦ ✶ ✷ ✸ ✹ ❂"; int maxEloOfGameMode = UserElo.getMaxElo(gameMode); diff --git a/src/de/steamwar/messages/BungeeCore.properties b/src/de/steamwar/messages/BungeeCore.properties index acd2fbc7..4133ce92 100644 --- a/src/de/steamwar/messages/BungeeCore.properties +++ b/src/de/steamwar/messages/BungeeCore.properties @@ -569,3 +569,4 @@ RANK_HEADER=§7§lModus {0} RANK_UNPLACED=§eunplatziert RANK_PLACED=§e{0}§8. §7mit §e{1} §7Elo§8. RANK_EMBLEM=§eEmblem§8: {0} +RANK_NEEDED_FIGHTS_LEFT={0} §8(§7noch §e{1}§7 Fights nötig§8) From 527576aa14e19a5b8cdefcd4f6447dd66a11beca Mon Sep 17 00:00:00 2001 From: yoyosource Date: Tue, 15 Mar 2022 11:26:21 +0100 Subject: [PATCH 4/6] Fix UserElo --- src/de/steamwar/bungeecore/sql/UserElo.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/de/steamwar/bungeecore/sql/UserElo.java b/src/de/steamwar/bungeecore/sql/UserElo.java index db30f5c8..657661a0 100644 --- a/src/de/steamwar/bungeecore/sql/UserElo.java +++ b/src/de/steamwar/bungeecore/sql/UserElo.java @@ -143,7 +143,7 @@ public class UserElo { public static String getEmblemProgression(ProxiedPlayer player, String gameMode, int userId) { int fightsOfSeason = getFightsOfSeason(userId, gameMode); if (fightsOfSeason < 10) { - return Message.parse("RANK_NEEDED_FIGHTS_LEFT", player, "§8✧ ✦ ✶ ✷ ✸ ✹ ❂", 11 - fightsOfSeason); + return Message.parse("RANK_NEEDED_FIGHTS_LEFT", player, "§8✧ ✦ ✶ ✷ ✸ ✹ ❂", 10 - fightsOfSeason); } Optional currentElo = UserElo.getElo(userId, gameMode); if (!currentElo.isPresent()) return "§8✧ ✦ ✶ ✷ ✸ ✹ ❂"; From 6f5a3c352f9cc6298e279da22b29f5cdc5f7017d Mon Sep 17 00:00:00 2001 From: yoyosource Date: Tue, 15 Mar 2022 13:23:37 +0100 Subject: [PATCH 5/6] Fix emblem not being the highest --- src/de/steamwar/bungeecore/sql/UserElo.java | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/src/de/steamwar/bungeecore/sql/UserElo.java b/src/de/steamwar/bungeecore/sql/UserElo.java index 657661a0..42632c87 100644 --- a/src/de/steamwar/bungeecore/sql/UserElo.java +++ b/src/de/steamwar/bungeecore/sql/UserElo.java @@ -107,6 +107,8 @@ public class UserElo { return emblemCache.get(user.getId()); } + int maxEmblemProgression = 0; + int maxEloOfGameMode = 0; int maxEloOfPlayer = 0; ArenaMode arenaMode = null; for (ArenaMode mode : ArenaMode.getAllModes()) { @@ -114,9 +116,15 @@ public class UserElo { if (UserElo.getFightsOfSeason(user.getId(), mode.getSchemType()) < 10) continue; Optional currentElo = UserElo.getElo(user.getId(), mode.getSchemType()); - if (currentElo.isPresent() && currentElo.get() > maxEloOfPlayer) { - maxEloOfPlayer = currentElo.get(); - arenaMode = mode; + if (currentElo.isPresent()) { + int currentMaxEloOfGameMode = UserElo.getMaxElo(mode.getSchemType()); + int progression = getProgression(currentElo.get(), currentMaxEloOfGameMode); + if (progression > maxEmblemProgression) { + maxEmblemProgression = progression; + maxEloOfGameMode = currentMaxEloOfGameMode; + maxEloOfPlayer = currentElo.get(); + arenaMode = mode; + } } } @@ -124,7 +132,6 @@ public class UserElo { emblemCache.put(user.getId(), ""); return ""; } - int maxEloOfGameMode = UserElo.getMaxElo(arenaMode.getSchemType()); String emblem = getEmblem(maxEloOfPlayer, maxEloOfGameMode); emblemCache.put(user.getId(), emblem); return emblem; From 7ccfef823c02622ea1ff7895d07323efbcdf2974 Mon Sep 17 00:00:00 2001 From: yoyosource Date: Tue, 15 Mar 2022 15:12:32 +0100 Subject: [PATCH 6/6] Update BungeeCore.properties --- src/de/steamwar/messages/BungeeCore.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/de/steamwar/messages/BungeeCore.properties b/src/de/steamwar/messages/BungeeCore.properties index 4133ce92..e7116508 100644 --- a/src/de/steamwar/messages/BungeeCore.properties +++ b/src/de/steamwar/messages/BungeeCore.properties @@ -569,4 +569,4 @@ RANK_HEADER=§7§lModus {0} RANK_UNPLACED=§eunplatziert RANK_PLACED=§e{0}§8. §7mit §e{1} §7Elo§8. RANK_EMBLEM=§eEmblem§8: {0} -RANK_NEEDED_FIGHTS_LEFT={0} §8(§7noch §e{1}§7 Fights nötig§8) +RANK_NEEDED_FIGHTS_LEFT={0} §8(§7noch §e{1}§7 Kämpfe nötig§8)