From 8059636b62fbcc664002b183b801e37ecf58790c Mon Sep 17 00:00:00 2001 From: T00thpick1 Date: Sun, 10 Mar 2013 15:45:25 -0400 Subject: [PATCH] Permissions for stat displays --- .../gmail/nossr50/commands/player/McrankCommand.java | 4 ++++ .../gmail/nossr50/commands/player/MctopCommand.java | 10 +++++----- .../runnables/commands/McrankCommandAsyncTask.java | 6 ++++++ 3 files changed, 15 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/gmail/nossr50/commands/player/McrankCommand.java b/src/main/java/com/gmail/nossr50/commands/player/McrankCommand.java index 8200265f3..b6eca1a1a 100644 --- a/src/main/java/com/gmail/nossr50/commands/player/McrankCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/player/McrankCommand.java @@ -98,6 +98,10 @@ public class McrankCommand implements CommandExecutor { continue; } + if ((sender instanceof Player) && !Permissions.skillEnabled((Player) sender, skillType)) { + continue; + } + if (rankInts[1] == 0) { sender.sendMessage(LocaleLoader.getString("Commands.mcrank.Skill", SkillUtils.getSkillName(skillType), LocaleLoader.getString("Commands.mcrank.Unranked"))); // Don't bother showing ranking for players without skills } diff --git a/src/main/java/com/gmail/nossr50/commands/player/MctopCommand.java b/src/main/java/com/gmail/nossr50/commands/player/MctopCommand.java index d4ea6e6aa..0982c3882 100644 --- a/src/main/java/com/gmail/nossr50/commands/player/MctopCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/player/MctopCommand.java @@ -72,6 +72,11 @@ public class MctopCommand implements CommandExecutor { } private void display(int page, String skill, CommandSender sender, boolean sql, Command command) { + if (!skill.equalsIgnoreCase("all") && !Permissions.mctop(sender, SkillType.getSkill(skill))) { + sender.sendMessage(command.getPermissionMessage()); + return; + } + if (sql) { if (skill.equalsIgnoreCase("all")) { sqlDisplay(page, "taming+mining+woodcutting+repair+unarmed+herbalism+excavation+archery+swords+axes+acrobatics+fishing", sender, command); @@ -86,11 +91,6 @@ public class MctopCommand implements CommandExecutor { } private void flatfileDisplay(int page, String skill, CommandSender sender, Command command) { - if (!skill.equalsIgnoreCase("all") && !Permissions.mctop(sender, SkillType.getSkill(skill))) { - sender.sendMessage(command.getPermissionMessage()); - return; - } - LeaderboardManager.updateLeaderboards(); // Make sure we have the latest information String[] info = LeaderboardManager.retrieveInfo(skill, page); diff --git a/src/main/java/com/gmail/nossr50/runnables/commands/McrankCommandAsyncTask.java b/src/main/java/com/gmail/nossr50/runnables/commands/McrankCommandAsyncTask.java index 44b59f466..5b5216387 100644 --- a/src/main/java/com/gmail/nossr50/runnables/commands/McrankCommandAsyncTask.java +++ b/src/main/java/com/gmail/nossr50/runnables/commands/McrankCommandAsyncTask.java @@ -3,11 +3,13 @@ package com.gmail.nossr50.runnables.commands; import java.util.Map; import org.bukkit.command.CommandSender; +import org.bukkit.entity.Player; import com.gmail.nossr50.mcMMO; import com.gmail.nossr50.database.DatabaseManager; import com.gmail.nossr50.datatypes.skills.SkillType; import com.gmail.nossr50.locale.LocaleLoader; +import com.gmail.nossr50.util.Permissions; import com.gmail.nossr50.util.skills.SkillUtils; public class McrankCommandAsyncTask implements Runnable { @@ -34,6 +36,10 @@ public class McrankCommandAsyncTask implements Runnable { continue; } + if ((sender instanceof Player) && !Permissions.skillEnabled((Player) sender, skillType)) { + continue; + } + if (skills.get(skillType.name()) == null) { sender.sendMessage(LocaleLoader.getString("Commands.mcrank.Skill", SkillUtils.getSkillName(skillType), LocaleLoader.getString("Commands.mcrank.Unranked"))); }