Make mcRank Async in SQL

This commit is contained in:
T00thpick1
2013-01-16 02:50:18 -05:00
parent 7fa1a8c6c7
commit c073c7ed3a
4 changed files with 79 additions and 43 deletions

View File

@ -0,0 +1,43 @@
package com.gmail.nossr50.runnables;
import java.util.Map;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.command.CommandSender;
import com.gmail.nossr50.mcMMO;
import com.gmail.nossr50.datatypes.SkillType;
import com.gmail.nossr50.util.Database;
import com.gmail.nossr50.util.Misc;
public class mcRankAsync implements Runnable {
private Database database = mcMMO.getPlayerDatabase();
private final String playerName;
private final CommandSender sender;
public mcRankAsync(String playerName, CommandSender sender) {
this.playerName = playerName;
this.sender = sender;
}
@Override
public void run() {
final Map<String, Integer> skills = database.readSQLRank(playerName);
Bukkit.getScheduler().scheduleSyncDelayedTask(Bukkit.getPluginManager().getPlugin("mcMMO"), new Runnable() {
@Override
public void run() {
for (SkillType skillType : SkillType.values()) {
if (skillType.equals(SkillType.ALL))
continue; // We want the overall ranking to be at the bottom
sender.sendMessage(ChatColor.YELLOW + Misc.getCapitalized(skillType.name()) + ChatColor.GREEN + " - " + ChatColor.GOLD + "Rank " + ChatColor.WHITE + "#" + ChatColor.GREEN + skills.get(skillType.name()));
}
sender.sendMessage(ChatColor.YELLOW + "Overall" + ChatColor.GREEN + " - " + ChatColor.GOLD + "Rank " + ChatColor.WHITE + "#" + ChatColor.GREEN + skills.get("ALL"));
}
}, 1L);
}
}