From f6bd87fe4c5f6c8b20e91db4390f9b8c8ce2821e Mon Sep 17 00:00:00 2001 From: montlikadani Date: Sat, 21 Mar 2020 15:13:47 +0100 Subject: [PATCH] Update all signs on player doing something in a job --- .../com/gamingmesh/jobs/PlayerManager.java | 28 ++++++++----------- .../com/gamingmesh/jobs/Signs/SignUtil.java | 6 ++++ .../gamingmesh/jobs/commands/list/join.java | 16 ++++------- 3 files changed, 22 insertions(+), 28 deletions(-) diff --git a/src/main/java/com/gamingmesh/jobs/PlayerManager.java b/src/main/java/com/gamingmesh/jobs/PlayerManager.java index 1b6552b0..bab555ba 100644 --- a/src/main/java/com/gamingmesh/jobs/PlayerManager.java +++ b/src/main/java/com/gamingmesh/jobs/PlayerManager.java @@ -44,7 +44,6 @@ import org.bukkit.inventory.meta.FireworkMeta; import com.gamingmesh.jobs.CMILib.ItemReflection; import com.gamingmesh.jobs.CMILib.Reflections; import com.gamingmesh.jobs.CMILib.VersionChecker.Version; -import com.gamingmesh.jobs.Signs.SignTopType; import com.gamingmesh.jobs.api.JobsJoinEvent; import com.gamingmesh.jobs.api.JobsLeaveEvent; import com.gamingmesh.jobs.api.JobsLevelUpEvent; @@ -392,9 +391,10 @@ public class PlayerManager { Jobs.getJobsDAO().joinJob(jPlayer, jPlayer.getJobProgression(job)); PerformCommands.PerformCommandsOnJoin(jPlayer, job); + Jobs.takeSlot(job); - Jobs.getSignUtil().SignUpdate(job); - Jobs.getSignUtil().SignUpdate(job, SignTopType.gtoplist); + Jobs.getSignUtil().updateAllSign(job); + job.updateTotalPlayers(); } @@ -423,8 +423,7 @@ public class PlayerManager { PerformCommands.PerformCommandsOnLeave(jPlayer, job); Jobs.leaveSlot(job); - Jobs.getSignUtil().SignUpdate(job); - Jobs.getSignUtil().SignUpdate(job, SignTopType.gtoplist); + Jobs.getSignUtil().updateAllSign(job); job.updateTotalPlayers(); return true; } @@ -471,8 +470,7 @@ public class PlayerManager { jPlayer.promoteJob(job, levels); jPlayer.save(); - Jobs.getSignUtil().SignUpdate(job); - Jobs.getSignUtil().SignUpdate(job, SignTopType.gtoplist); + Jobs.getSignUtil().updateAllSign(job); } /** @@ -484,8 +482,8 @@ public class PlayerManager { public void demoteJob(JobsPlayer jPlayer, Job job, int levels) { jPlayer.demoteJob(job, levels); jPlayer.save(); - Jobs.getSignUtil().SignUpdate(job); - Jobs.getSignUtil().SignUpdate(job, SignTopType.gtoplist); + + Jobs.getSignUtil().updateAllSign(job); } /** @@ -501,8 +499,7 @@ public class PlayerManager { int oldLevel = prog.getLevel(); if (prog.addExperience(experience)) { performLevelUp(jPlayer, job, oldLevel); - Jobs.getSignUtil().SignUpdate(job); - Jobs.getSignUtil().SignUpdate(job, SignTopType.gtoplist); + Jobs.getSignUtil().updateAllSign(job); } jPlayer.save(); @@ -521,8 +518,7 @@ public class PlayerManager { prog.addExperience(-experience); jPlayer.save(); - Jobs.getSignUtil().SignUpdate(job); - Jobs.getSignUtil().SignUpdate(job, SignTopType.gtoplist); + Jobs.getSignUtil().updateAllSign(job); } /** @@ -564,8 +560,7 @@ public class PlayerManager { jPlayer.reloadHonorific(); Jobs.getPermissionHandler().recalculatePermissions(jPlayer); performCommandOnLevelUp(jPlayer, prog.getJob(), oldLevel); - Jobs.getSignUtil().SignUpdate(job); - Jobs.getSignUtil().SignUpdate(job, SignTopType.gtoplist); + Jobs.getSignUtil().updateAllSign(job); return; } @@ -761,8 +756,7 @@ public class PlayerManager { jPlayer.reloadHonorific(); Jobs.getPermissionHandler().recalculatePermissions(jPlayer); performCommandOnLevelUp(jPlayer, prog.getJob(), oldLevel); - Jobs.getSignUtil().SignUpdate(job); - Jobs.getSignUtil().SignUpdate(job, SignTopType.gtoplist); + Jobs.getSignUtil().updateAllSign(job); } /** diff --git a/src/main/java/com/gamingmesh/jobs/Signs/SignUtil.java b/src/main/java/com/gamingmesh/jobs/Signs/SignUtil.java index 7d100041..69c86bb8 100644 --- a/src/main/java/com/gamingmesh/jobs/Signs/SignUtil.java +++ b/src/main/java/com/gamingmesh/jobs/Signs/SignUtil.java @@ -162,6 +162,12 @@ public class SignUtil { } } + public void updateAllSign(Job job) { + for (SignTopType types : SignTopType.values()) { + SignUpdate(job, types); + } + } + public boolean SignUpdate(Job job) { return SignUpdate(job, SignTopType.toplist); } diff --git a/src/main/java/com/gamingmesh/jobs/commands/list/join.java b/src/main/java/com/gamingmesh/jobs/commands/list/join.java index 744824cd..920ace37 100644 --- a/src/main/java/com/gamingmesh/jobs/commands/list/join.java +++ b/src/main/java/com/gamingmesh/jobs/commands/list/join.java @@ -49,16 +49,12 @@ public class join implements Cmd { JobsPlayer jPlayer = Jobs.getPlayerManager().getJobsPlayer(pSender); if (jPlayer.isInJob(job)) { // already in job message - String message = Jobs.getLanguage().getMessage("command.join.error.alreadyin"); - message = message.replace("%jobname%", job.getChatColor() + job.getName()); - pSender.sendMessage(message); + pSender.sendMessage(Jobs.getLanguage().getMessage("command.join.error.alreadyin", "%jobname%", job.getChatColor() + job.getName())); return true; } if (job.getMaxSlots() != null && Jobs.getUsedSlots(job) >= job.getMaxSlots()) { - String message = Jobs.getLanguage().getMessage("command.join.error.fullslots"); - message = message.replace("%jobname%", job.getChatColor() + job.getName()); - pSender.sendMessage(message); + pSender.sendMessage(Jobs.getLanguage().getMessage("command.join.error.fullslots", "%jobname%", job.getChatColor() + job.getName())); return true; } @@ -71,7 +67,8 @@ public class join implements Cmd { if (args.length == 2 && args[1].equalsIgnoreCase("-needConfirmation")) { RawMessage rm = new RawMessage(); - rm.add(Jobs.getLanguage().getMessage("command.join.confirm", "[jobname]", job.getName()), Jobs.getLanguage().getMessage("command.join.confirm", "[jobname]", job.getName()), "jobs join " + job.getName()); + rm.add(Jobs.getLanguage().getMessage("command.join.confirm", "[jobname]", job.getName()), + Jobs.getLanguage().getMessage("command.join.confirm", "[jobname]", job.getName()), "jobs join " + job.getName()); rm.show(pSender); return true; } @@ -85,10 +82,7 @@ public class join implements Cmd { } Jobs.getPlayerManager().joinJob(jPlayer, job); - - String message = Jobs.getLanguage().getMessage("command.join.success"); - message = message.replace("%jobname%", job.getChatColor() + job.getName()); - pSender.sendMessage(message); + pSender.sendMessage(Jobs.getLanguage().getMessage("command.join.success", "%jobname%", job.getChatColor() + job.getName())); return true; } }