瀏覽代碼

Fix mcrank cd display

nossr50 6 年之前
父節點
當前提交
6e3c2fcb76
共有 2 個文件被更改,包括 6 次插入1 次删除
  1. 1 0
      Changelog.txt
  2. 5 1
      src/main/java/com/gmail/nossr50/commands/player/McrankCommand.java

+ 1 - 0
Changelog.txt

@@ -10,6 +10,7 @@ Key:
 Version 2.1.41
     Fixed NullPointerException errors when trying to grab PlayerProfiles for players who have not loaded
     Added new locale string Profile.PendingLoad
+    Fixed a display error preventing the remaining time on /mcrank from being shown if it was on cooldown
 
 Version 2.1.40
     (API) mcMMO will now return null in all cases for UserManager.getPlayerProfile() if they have not been loaded yet

+ 5 - 1
src/main/java/com/gmail/nossr50/commands/player/McrankCommand.java

@@ -98,7 +98,7 @@ public class McrankCommand implements TabExecutor {
             long cooldownMillis = Math.max(Config.getInstance().getDatabasePlayerCooldown(), 1750);
 
             if (mcMMOPlayer.getDatabaseATS() + cooldownMillis > System.currentTimeMillis()) {
-                sender.sendMessage(LocaleLoader.getString("Commands.Database.Cooldown"));
+                sender.sendMessage(LocaleLoader.getString("Commands.Database.Cooldown", getCDSeconds(mcMMOPlayer, cooldownMillis));
                 return;
             }
 
@@ -117,4 +117,8 @@ public class McrankCommand implements TabExecutor {
 
         new McrankCommandAsyncTask(playerName, sender, useBoard, useChat).runTaskAsynchronously(mcMMO.p);
     }
+
+    private long getCDSeconds(McMMOPlayer mcMMOPlayer, long cooldownMillis) {
+        return (System.currentTimeMillis() - (mcMMOPlayer.getDatabaseATS() + cooldownMillis)) / 1000;
+    }
 }