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;
}
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;
}
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;
}
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();
}
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);
}
}
}
}
Aggregations