Search in sources :

Example 1 with Job

use of com.gamingmesh.jobs.container.Job in project Jobs by GamingMesh.

the class JobsCommands method removexp.

@JobCommand
public boolean removexp(CommandSender sender, String[] args) {
    if (args.length < 3) {
        sendUsage(sender, "removexp");
        return true;
    }
    OfflinePlayer offlinePlayer = Bukkit.getServer().getOfflinePlayer(args[0]);
    JobsPlayer jPlayer = Jobs.getPlayerManager().getJobsPlayerOffline(offlinePlayer);
    Job job = Jobs.getJob(args[1]);
    if (job == null) {
        sender.sendMessage(ChatColor.RED + Language.getMessage("command.error.job"));
        return true;
    }
    double xpLost;
    try {
        xpLost = Double.parseDouble(args[2]);
    } catch (Exception e) {
        sender.sendMessage(ChatColor.RED + Language.getMessage("command.admin.error"));
        return true;
    }
    if (xpLost <= 0) {
        sender.sendMessage(ChatColor.RED + Language.getMessage("command.admin.error"));
        return true;
    }
    // check if player already has the job
    if (jPlayer.isInJob(job)) {
        Jobs.getPlayerManager().removeExperience(jPlayer, job, xpLost);
        Player player = Bukkit.getServer().getPlayer(offlinePlayer.getUniqueId());
        if (player != null) {
            String message = Language.getMessage("command.removexp.output.target");
            message = message.replace("%jobname%", job.getChatColor() + job.getName() + ChatColor.WHITE);
            message = message.replace("%xplost%", Double.valueOf(xpLost).toString());
            player.sendMessage(message);
        }
        sender.sendMessage(Language.getMessage("command.admin.success"));
    }
    return true;
}
Also used : Player(org.bukkit.entity.Player) OfflinePlayer(org.bukkit.OfflinePlayer) JobsPlayer(com.gamingmesh.jobs.container.JobsPlayer) OfflinePlayer(org.bukkit.OfflinePlayer) Job(com.gamingmesh.jobs.container.Job) JobsPlayer(com.gamingmesh.jobs.container.JobsPlayer) InvocationTargetException(java.lang.reflect.InvocationTargetException)

Example 2 with Job

use of com.gamingmesh.jobs.container.Job in project Jobs by GamingMesh.

the class JobsCommands method fire.

@JobCommand
public boolean fire(CommandSender sender, String[] args) {
    if (args.length < 2) {
        sendUsage(sender, "fire");
        return true;
    }
    OfflinePlayer offlinePlayer = Bukkit.getServer().getOfflinePlayer(args[0]);
    JobsPlayer jPlayer = Jobs.getPlayerManager().getJobsPlayerOffline(offlinePlayer);
    Job job = Jobs.getJob(args[1]);
    if (job == null) {
        sender.sendMessage(ChatColor.RED + Language.getMessage("command.error.job"));
        return true;
    }
    if (!jPlayer.isInJob(job)) {
        String message = ChatColor.RED + Language.getMessage("command.fire.error.nojob");
        message = message.replace("%jobname%", job.getChatColor() + job.getName() + ChatColor.RED);
        sender.sendMessage(message);
        return true;
    }
    try {
        Jobs.getPlayerManager().leaveJob(jPlayer, job);
        Player player = Bukkit.getServer().getPlayer(offlinePlayer.getUniqueId());
        if (player != null) {
            String message = Language.getMessage("command.fire.output.target");
            message = message.replace("%jobname%", job.getChatColor() + job.getName() + ChatColor.WHITE);
            player.sendMessage(message);
        }
        sender.sendMessage(Language.getMessage("command.admin.success"));
    } catch (Exception e) {
        sender.sendMessage(ChatColor.RED + Language.getMessage("command.admin.error"));
    }
    return true;
}
Also used : Player(org.bukkit.entity.Player) OfflinePlayer(org.bukkit.OfflinePlayer) JobsPlayer(com.gamingmesh.jobs.container.JobsPlayer) OfflinePlayer(org.bukkit.OfflinePlayer) Job(com.gamingmesh.jobs.container.Job) JobsPlayer(com.gamingmesh.jobs.container.JobsPlayer) InvocationTargetException(java.lang.reflect.InvocationTargetException)

Example 3 with Job

use of com.gamingmesh.jobs.container.Job in project Jobs by GamingMesh.

the class JobsCommands method employ.

@JobCommand
public boolean employ(CommandSender sender, String[] args) {
    if (args.length < 2) {
        sendUsage(sender, "employ");
        return true;
    }
    OfflinePlayer offlinePlayer = Bukkit.getServer().getOfflinePlayer(args[0]);
    JobsPlayer jPlayer = Jobs.getPlayerManager().getJobsPlayerOffline(offlinePlayer);
    Job job = Jobs.getJob(args[1]);
    if (job == null) {
        sender.sendMessage(ChatColor.RED + Language.getMessage("command.error.job"));
        return true;
    }
    if (jPlayer.isInJob(job)) {
        // already in job message
        String message = ChatColor.RED + Language.getMessage("command.employ.error.alreadyin");
        message = message.replace("%jobname%", job.getChatColor() + job.getName() + ChatColor.RED);
        sender.sendMessage(message);
        return true;
    }
    try {
        // check if player already has the job
        Jobs.getPlayerManager().joinJob(jPlayer, job);
        Player player = Bukkit.getServer().getPlayer(offlinePlayer.getUniqueId());
        if (player != null) {
            String message = Language.getMessage("command.employ.output.target");
            message = message.replace("%jobname%", job.getChatColor() + job.getName() + ChatColor.WHITE);
            player.sendMessage(message);
        }
        sender.sendMessage(Language.getMessage("command.admin.success"));
    } catch (Exception e) {
        sender.sendMessage(ChatColor.RED + Language.getMessage("command.admin.error"));
    }
    return true;
}
Also used : Player(org.bukkit.entity.Player) OfflinePlayer(org.bukkit.OfflinePlayer) JobsPlayer(com.gamingmesh.jobs.container.JobsPlayer) OfflinePlayer(org.bukkit.OfflinePlayer) Job(com.gamingmesh.jobs.container.Job) JobsPlayer(com.gamingmesh.jobs.container.JobsPlayer) InvocationTargetException(java.lang.reflect.InvocationTargetException)

Example 4 with Job

use of com.gamingmesh.jobs.container.Job in project Jobs by GamingMesh.

the class Jobs method reload.

/**
 * Reloads all data
 */
public static void reload() {
    if (saveTask != null) {
        saveTask.shutdown();
        saveTask = null;
    }
    if (paymentThread != null) {
        paymentThread.shutdown();
        paymentThread = null;
    }
    if (dao != null) {
        dao.closeConnections();
    }
    ConfigManager.getJobsConfiguration().reload();
    Language.reload(ConfigManager.getJobsConfiguration().getLocale());
    ConfigManager.getJobConfig().reload();
    usedSlots.clear();
    for (Job job : jobs) {
        usedSlots.put(job, getJobsDAO().getSlotsTaken(job));
    }
    pManager.reload();
    permissionHandler.registerPermissions();
    // set the system to auto save
    if (ConfigManager.getJobsConfiguration().getSavePeriod() > 0) {
        saveTask = new DatabaseSaveThread(ConfigManager.getJobsConfiguration().getSavePeriod());
        saveTask.start();
    }
    // schedule payouts to buffered payments
    paymentThread = new BufferedPaymentThread(ConfigManager.getJobsConfiguration().getEconomyBatchDelay());
    paymentThread.start();
}
Also used : DatabaseSaveThread(com.gamingmesh.jobs.tasks.DatabaseSaveThread) Job(com.gamingmesh.jobs.container.Job) BufferedPaymentThread(com.gamingmesh.jobs.tasks.BufferedPaymentThread)

Example 5 with Job

use of com.gamingmesh.jobs.container.Job in project Jobs by GamingMesh.

the class PlayerManager method reload.

/**
 * Perform reload
 */
public void reload() {
    synchronized (players) {
        for (JobsPlayer jPlayer : players.values()) {
            for (JobProgression progression : jPlayer.getJobProgression()) {
                String jobName = progression.getJob().getName();
                Job job = Jobs.getJob(jobName);
                if (job != null) {
                    progression.setJob(job);
                }
            }
            if (jPlayer.isOnline()) {
                jPlayer.reloadHonorific();
                Jobs.getPermissionHandler().recalculatePermissions(jPlayer);
            }
        }
    }
}
Also used : JobProgression(com.gamingmesh.jobs.container.JobProgression) Job(com.gamingmesh.jobs.container.Job) JobsPlayer(com.gamingmesh.jobs.container.JobsPlayer)

Aggregations

Job (com.gamingmesh.jobs.container.Job)17 JobsPlayer (com.gamingmesh.jobs.container.JobsPlayer)14 Player (org.bukkit.entity.Player)12 OfflinePlayer (org.bukkit.OfflinePlayer)11 InvocationTargetException (java.lang.reflect.InvocationTargetException)7 JobProgression (com.gamingmesh.jobs.container.JobProgression)3 JobPermission (com.gamingmesh.jobs.container.JobPermission)2 ArrayList (java.util.ArrayList)2 ActionType (com.gamingmesh.jobs.container.ActionType)1 DisplayMethod (com.gamingmesh.jobs.container.DisplayMethod)1 JobInfo (com.gamingmesh.jobs.container.JobInfo)1 Parser (com.gamingmesh.jobs.resources.jfep.Parser)1 BufferedPaymentThread (com.gamingmesh.jobs.tasks.BufferedPaymentThread)1 DatabaseSaveThread (com.gamingmesh.jobs.tasks.DatabaseSaveThread)1 ChatColor (com.gamingmesh.jobs.util.ChatColor)1 File (java.io.File)1 IOException (java.io.IOException)1 HashMap (java.util.HashMap)1 Material (org.bukkit.Material)1 ConfigurationSection (org.bukkit.configuration.ConfigurationSection)1