Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package fr.artemis.artemiscore.command;
- import fr.artemis.library.CC;
- import fr.artemis.library.command.CommandBuilder;
- import fr.artemis.artemiscore.ArtemisCorePlugin;
- import org.bukkit.Bukkit;
- import org.bukkit.OfflinePlayer;
- import org.bukkit.entity.Player;
- import org.bukkit.scheduler.BukkitRunnable;
- public class RankCommand {
- private ArtemisCorePlugin plugin;
- public RankCommand(ArtemisCorePlugin plugin) {
- this.plugin = plugin;
- this.registerCommand();
- }
- public void registerCommand() {
- new CommandBuilder("rank").setExecutor((sender, args) -> {
- if (args.length == 3) {
- final OfflinePlayer target = Bukkit.getOfflinePlayer(args[0]);
- final String rank = args[1];
- String durationInMinutes = args[2];
- if (!ArtemisCorePlugin.instance.ranks.containsKey(rank))
- {
- sender.sendMessage(CC.RED + "Le grade " + rank + " n'a pas pu être trouvé.");
- return false;
- }
- if (target == null || !target.hasPlayedBefore())
- {
- sender.sendMessage(CC.RED + "Le joueur " + args[0] + " n'existe pas ou ne s'est jamais connecté.");
- return false;
- }
- final int duration;
- if (durationInMinutes.equalsIgnoreCase("perm"))
- duration = 5241600;
- else
- {
- try
- {
- duration = Integer.valueOf(durationInMinutes).intValue();
- }
- catch(Exception exception)
- {
- sender.sendMessage(CC.RED + durationInMinutes + " n'est pas un nombre de minutes valable.");
- return false;
- }
- }
- sender.sendMessage(CC.GREEN + "Le grade du joueur va changer d'ici quelques secondes...");
- new BukkitRunnable()
- {
- @Override
- public void run()
- {
- String uuid = target.getUniqueId().toString();
- int started = Long.valueOf(System.currentTimeMillis()).intValue();
- long exists = ArtemisCorePlugin.instance.mySQL.getObject("SELECT COUNT(*) AS exsts FROM ranks WHERE uuid='" + uuid + "';", "exsts");
- if (exists == 0)
- ArtemisCorePlugin.instance.mySQL.executeQuery("INSERT INTO ranks VALUES('" + uuid + "', '" + rank + "'," + duration + "," + started + ");");
- else
- ArtemisCorePlugin.instance.mySQL.executeQuery("UPDATE ranks SET rank='" + rank + "',duration=" + duration + ",started=" + started + " WHERE uuid='" + uuid + "';");
- if (target.isOnline())
- {
- Player onlineTarget = target.getPlayer();
- ArtemisCorePlugin.instance.playerRanks.put(onlineTarget, rank);
- ArtemisCorePlugin.instance.update(onlineTarget, false);
- onlineTarget.sendMessage(CC.GREEN + "Ton grade a changé ! Tu es maintenant " + rank);
- sender.sendMessage(CC.GREEN + "Le grade de " + CC.DARK_RED + onlineTarget.getDisplayName() + CC.GREEN + " est maintenant " + rank);
- }
- }
- }.runTaskAsynchronously(ArtemisCorePlugin.instance);
- return true;
- }
- sender.sendMessage(CC.RED + "Usage : /rank [player] [rank] [perm/minutes]");
- return false;
- }).build(ArtemisCorePlugin.getInstance());
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement