diff --git a/src/main/java/cz/raixo/blocks/integration/papi/MineBlocksPlaceholders.java b/src/main/java/cz/raixo/blocks/integration/papi/MineBlocksPlaceholders.java index 497f2e8..6b9b502 100644 --- a/src/main/java/cz/raixo/blocks/integration/papi/MineBlocksPlaceholders.java +++ b/src/main/java/cz/raixo/blocks/integration/papi/MineBlocksPlaceholders.java @@ -14,6 +14,7 @@ import java.util.ArrayList; import java.util.List; import java.util.Optional; +import java.util.UUID; @RequiredArgsConstructor public class MineBlocksPlaceholders extends PlaceholderExpansion { @@ -72,8 +73,19 @@ private Optional getBlock(List params) { BlockCoolDown coolDown = block.getCoolDown(); if (!coolDown.isActive()) return ""; return block.getPlugin().getConfiguration().getLangConfig().getTimeoutFormatted(coolDown.getActive().getEnd()); + case "rank": + return getPlayerRank(block, player.getUniqueId()).map(String::valueOf).orElse(getNotRankedMessage()); default: return null; } } + private Optional getPlayerRank(MineBlock block, UUID playerUUID) { + List topPlayers = block.getTop().getPlayers(); + for (int i = 0; i < topPlayers.size(); i++) { + if (topPlayers.get(i).getUuid().equals(playerUUID)) { + return Optional.of(i + 1); // Rank is 1-based + } + } + return Optional.empty(); + } } diff --git a/src/main/resources/config.yml b/src/main/resources/config.yml index 68f7b52..e9fb922 100644 --- a/src/main/resources/config.yml +++ b/src/main/resources/config.yml @@ -1,3 +1,5 @@ +messages: + not_ranked: "not ranked" # nebo jakákoli jiná zpráva, kterou chcete použít lang: top: nobody: "&cNobody" @@ -110,4 +112,4 @@ blocks: from: 10 to: 50 commands: - - "100;give %player% iron_nugget" \ No newline at end of file + - "100;give %player% iron_nugget"