diff --git a/pom.xml b/pom.xml index f3c43649..a5beade8 100644 --- a/pom.xml +++ b/pom.xml @@ -267,14 +267,14 @@ 1.8 - - - - - - - - + + org.apache.maven.plugins + maven-jar-plugin + 2.3.1 + + D:\MC\Server 1.16\plugins\ + + diff --git a/src/main/java/com/gamingmesh/jobs/Gui/GuiManager.java b/src/main/java/com/gamingmesh/jobs/Gui/GuiManager.java index 8043216b..28109a3d 100644 --- a/src/main/java/com/gamingmesh/jobs/Gui/GuiManager.java +++ b/src/main/java/com/gamingmesh/jobs/Gui/GuiManager.java @@ -141,7 +141,7 @@ public class GuiManager { ItemStack guiItem = job.getGuiItem(); ItemMeta meta = guiItem.getItemMeta(); - plugin.getComplement().setDisplayName(meta, job.getNameWithColor()); + plugin.getComplement().setDisplayName(meta, job.getJobDisplayName()); plugin.getComplement().setLore(meta, lore); if (Jobs.getGCManager().hideItemAttributes) { @@ -275,7 +275,7 @@ public class GuiManager { continue; ItemMeta meta = guiItem.getItemMeta(); - plugin.getComplement().setDisplayName(meta, job.getNameWithColor()); + plugin.getComplement().setDisplayName(meta, job.getJobDisplayName()); plugin.getComplement().setLore(meta, lore); guiItem.setItemMeta(meta); tempInv.setItem(i, guiItem.clone()); @@ -295,7 +295,7 @@ public class GuiManager { } ItemMeta meta = guiItem.getItemMeta(); - plugin.getComplement().setDisplayName(meta, job.getNameWithColor()); + plugin.getComplement().setDisplayName(meta, job.getJobDisplayName()); plugin.getComplement().setLore(meta, lore); guiItem.setItemMeta(meta); tempInv.setItem(i, guiItem.clone()); @@ -426,7 +426,7 @@ public class GuiManager { } ItemMeta meta = guiItem.getItemMeta(); - plugin.getComplement().setDisplayName(meta, job.getNameWithColor()); + plugin.getComplement().setDisplayName(meta, job.getJobDisplayName()); plugin.getComplement().setLore(meta, lore); guiItem.setItemMeta(meta); tempInv.setItem(i, guiItem.clone()); @@ -445,7 +445,7 @@ public class GuiManager { } ItemMeta meta = guiItem.getItemMeta(); - plugin.getComplement().setDisplayName(meta, job.getNameWithColor()); + plugin.getComplement().setDisplayName(meta, job.getJobDisplayName()); plugin.getComplement().setLore(meta, lore); guiItem.setItemMeta(meta); tempInv.setItem(i, guiItem.clone()); diff --git a/src/main/java/com/gamingmesh/jobs/PlayerManager.java b/src/main/java/com/gamingmesh/jobs/PlayerManager.java index 5d072d28..fbd4c46b 100644 --- a/src/main/java/com/gamingmesh/jobs/PlayerManager.java +++ b/src/main/java/com/gamingmesh/jobs/PlayerManager.java @@ -643,7 +643,7 @@ public class PlayerManager { if (prog.getLevel() < oldLevel) { String message = Jobs.getLanguage().getMessage("message.leveldown.message"); - message = message.replace("%jobname%", job.getNameWithColor()); + message = message.replace("%jobname%", job.getJobDisplayName()); message = message.replace("%playername%", player != null ? plugin.getComplement().getDisplayName(player) : jPlayer.getName()); message = message.replace("%joblevel%", Integer.toString(prog.getLevel())); message = message.replace("%lostLevel%", Integer.toString(oldLevel)); @@ -746,7 +746,7 @@ public class PlayerManager { String message = Jobs.getLanguage().getMessage("message.levelup." + (Jobs.getGCManager().isBroadcastingLevelups() ? "broadcast" : "nobroadcast")); - message = message.replace("%jobname%", job.getNameWithColor()); + message = message.replace("%jobname%", job.getJobDisplayName()); if (levelUpEvent.getOldTitle() != null) message = message.replace("%titlename%", levelUpEvent.getOldTitle() @@ -786,7 +786,7 @@ public class PlayerManager { message = message.replace("%playername%", player != null ? plugin.getComplement().getDisplayName(player) : jPlayer.getName()); message = message.replace("%titlename%", levelUpEvent.getNewTitle() .getChatColor().toString() + levelUpEvent.getNewTitle().getName()); - message = message.replace("%jobname%", job.getNameWithColor()); + message = message.replace("%jobname%", job.getJobDisplayName()); for (String line : message.split("\n")) { if (Jobs.getGCManager().isBroadcastingSkillups()) { diff --git a/src/main/java/com/gamingmesh/jobs/commands/JobsCommands.java b/src/main/java/com/gamingmesh/jobs/commands/JobsCommands.java index b6189988..bcc9608c 100644 --- a/src/main/java/com/gamingmesh/jobs/commands/JobsCommands.java +++ b/src/main/java/com/gamingmesh/jobs/commands/JobsCommands.java @@ -266,7 +266,7 @@ public class JobsCommands implements CommandExecutor { message.add(m); } else if (showAllTypes == 0) { String myMessage = Jobs.getLanguage().getMessage("command.info.output." + actionType.getName().toLowerCase() + ".none"); - myMessage = myMessage.replace("%jobname%", job.getNameWithColor()); + myMessage = myMessage.replace("%jobname%", job.getJobDisplayName()); message.add(myMessage); } } @@ -384,7 +384,7 @@ public class JobsCommands implements CommandExecutor { Title title = Jobs.getTitleManager().getTitle(jobProg.getLevel(), jobProg.getJob().getName()); String message = Jobs.getLanguage().getMessage(path, "%joblevel%", jobProg.getLevel(), - "%jobname%", jobProg.getJob().getNameWithColor(), + "%jobname%", jobProg.getJob().getJobDisplayName(), "%jobxp%", Math.round(jobProg.getExperience() * 100.0) / 100.0, "%jobmaxxp%", jobProg.getMaxExperience(), "%titlename%", title == null ? "Unknown" : title.getName()); @@ -428,7 +428,7 @@ public class JobsCommands implements CommandExecutor { double exp = jPlayer.getExpAfterRejoin(jobProg, jPlayer.getLevelAfterRejoin(jobProg)); String message = Jobs.getLanguage().getMessage("command.stats.output.message", "%joblevel%", level, - "%jobname%", jobProg.getJob().getNameWithColor(), + "%jobname%", jobProg.getJob().getJobDisplayName(), "%jobxp%", Math.round(exp * 100.0) / 100.0, "%jobmaxxp%", jobProg.getMaxExperience(level)); return " " + jobProgressMessage(jobProg.getMaxExperience(level), exp) + " " + message; diff --git a/src/main/java/com/gamingmesh/jobs/commands/list/demote.java b/src/main/java/com/gamingmesh/jobs/commands/list/demote.java index 51a5e5c5..1f4a2afe 100644 --- a/src/main/java/com/gamingmesh/jobs/commands/list/demote.java +++ b/src/main/java/com/gamingmesh/jobs/commands/list/demote.java @@ -45,7 +45,7 @@ public class demote implements Cmd { Player player = jPlayer.getPlayer(); if (player != null) { String message = Jobs.getLanguage().getMessage("command.demote.output.target", - "%jobname%", job.getNameWithColor() + CMIChatColor.WHITE, + "%jobname%", job.getJobDisplayName() + CMIChatColor.WHITE, "%levelslost%", levelsLost); player.sendMessage(message); } diff --git a/src/main/java/com/gamingmesh/jobs/commands/list/editjobs.java b/src/main/java/com/gamingmesh/jobs/commands/list/editjobs.java index 3b489027..7e4be811 100644 --- a/src/main/java/com/gamingmesh/jobs/commands/list/editjobs.java +++ b/src/main/java/com/gamingmesh/jobs/commands/list/editjobs.java @@ -40,7 +40,7 @@ public class editjobs implements Cmd { for (Job one : Jobs.getJobs()) { RawMessage rm = new RawMessage(); - rm.add(Jobs.getLanguage().getMessage("command.editjobs.help.list.jobs", "%jobname%", one.getNameWithColor()), one.getName(), "jobs editjobs list " + one.getName()); + rm.add(Jobs.getLanguage().getMessage("command.editjobs.help.list.jobs", "%jobname%", one.getJobDisplayName()), one.getName(), "jobs editjobs list " + one.getName()); rm.show(sender); } @@ -403,7 +403,7 @@ public class editjobs implements Cmd { if (job != null) { rm = new RawMessage(); - rm.addText(Jobs.getLanguage().getMessage("command.editjobs.help.list.jobs", "%jobname%", job.getNameWithColor())) + rm.addText(Jobs.getLanguage().getMessage("command.editjobs.help.list.jobs", "%jobname%", job.getJobDisplayName())) .addHover(job.getName()).addCommand("jobs editjobs list " + job.getName()); rm.show(player); } diff --git a/src/main/java/com/gamingmesh/jobs/commands/list/editquests.java b/src/main/java/com/gamingmesh/jobs/commands/list/editquests.java index 650fcf11..2842f972 100644 --- a/src/main/java/com/gamingmesh/jobs/commands/list/editquests.java +++ b/src/main/java/com/gamingmesh/jobs/commands/list/editquests.java @@ -49,7 +49,7 @@ public class editquests implements Cmd { for (Job one : Jobs.getJobs()) { RawMessage rm = new RawMessage(); - rm.add(Jobs.getLanguage().getMessage("command.editquests.help.list.jobs", "%jobname%", one.getNameWithColor()), + rm.add(Jobs.getLanguage().getMessage("command.editquests.help.list.jobs", "%jobname%", one.getJobDisplayName()), one.getName(), "jobs editquests list " + one.getName()); rm.show(sender); } @@ -594,7 +594,7 @@ public class editquests implements Cmd { if (job != null) { rm = new RawMessage(); - rm.addText(Jobs.getLanguage().getMessage("command.editquests.help.list.jobs", "%jobname%", job.getNameWithColor())) + rm.addText(Jobs.getLanguage().getMessage("command.editquests.help.list.jobs", "%jobname%", job.getJobDisplayName())) .addHover(job.getName()).addCommand("jobs editquests list " + job.getName()); rm.show(player); } diff --git a/src/main/java/com/gamingmesh/jobs/commands/list/employ.java b/src/main/java/com/gamingmesh/jobs/commands/list/employ.java index 3d137f02..09540284 100644 --- a/src/main/java/com/gamingmesh/jobs/commands/list/employ.java +++ b/src/main/java/com/gamingmesh/jobs/commands/list/employ.java @@ -31,13 +31,13 @@ public class employ implements Cmd { if (jPlayer.isInJob(job)) { // already in job message - sender.sendMessage(Jobs.getLanguage().getMessage("command.employ.error.alreadyin", "%jobname%", job.getNameWithColor())); + sender.sendMessage(Jobs.getLanguage().getMessage("command.employ.error.alreadyin", "%jobname%", job.getJobDisplayName())); return true; } if (job.getMaxSlots() != null && Jobs.getUsedSlots(job) >= job.getMaxSlots()) { String message = Jobs.getLanguage().getMessage("command.employ.error.fullslots"); - message = message.replace("%jobname%", job.getNameWithColor()); + message = message.replace("%jobname%", job.getJobDisplayName()); sender.sendMessage(message); return true; } @@ -47,7 +47,7 @@ public class employ implements Cmd { Jobs.getPlayerManager().joinJob(jPlayer, job); Player player = jPlayer.getPlayer(); if (player != null) - player.sendMessage(Jobs.getLanguage().getMessage("command.employ.output.target", "%jobname%", job.getNameWithColor())); + player.sendMessage(Jobs.getLanguage().getMessage("command.employ.output.target", "%jobname%", job.getJobDisplayName())); sender.sendMessage(Jobs.getLanguage().getMessage("general.admin.success")); } catch (Throwable e) { diff --git a/src/main/java/com/gamingmesh/jobs/commands/list/exp.java b/src/main/java/com/gamingmesh/jobs/commands/list/exp.java index 16454b13..c6bb8729 100644 --- a/src/main/java/com/gamingmesh/jobs/commands/list/exp.java +++ b/src/main/java/com/gamingmesh/jobs/commands/list/exp.java @@ -81,7 +81,7 @@ public class exp implements Cmd { Player player = jPlayer.getPlayer(); if (player != null) - player.sendMessage(Jobs.getLanguage().getMessage("command.exp.output.target", "%jobname%", job.getNameWithColor(), "%level%", prog.getLevel(), "%exp%", prog + player.sendMessage(Jobs.getLanguage().getMessage("command.exp.output.target", "%jobname%", job.getJobDisplayName(), "%level%", prog.getLevel(), "%exp%", prog .getExperience())); sender.sendMessage(Jobs.getLanguage().getMessage("general.admin.success")); } else diff --git a/src/main/java/com/gamingmesh/jobs/commands/list/fire.java b/src/main/java/com/gamingmesh/jobs/commands/list/fire.java index 300f38b3..786a15b3 100644 --- a/src/main/java/com/gamingmesh/jobs/commands/list/fire.java +++ b/src/main/java/com/gamingmesh/jobs/commands/list/fire.java @@ -30,14 +30,14 @@ public class fire implements Cmd { } if (!jPlayer.isInJob(job)) { - sender.sendMessage(Jobs.getLanguage().getMessage("command.fire.error.nojob", "%jobname%", job.getNameWithColor())); + sender.sendMessage(Jobs.getLanguage().getMessage("command.fire.error.nojob", "%jobname%", job.getJobDisplayName())); return true; } if (Jobs.getPlayerManager().leaveJob(jPlayer, job)) { Player player = jPlayer.getPlayer(); if (player != null) - player.sendMessage(Jobs.getLanguage().getMessage("command.fire.output.target", "%jobname%", job.getNameWithColor())); + player.sendMessage(Jobs.getLanguage().getMessage("command.fire.output.target", "%jobname%", job.getJobDisplayName())); sender.sendMessage(Jobs.getLanguage().getMessage("general.admin.success")); } diff --git a/src/main/java/com/gamingmesh/jobs/commands/list/grantxp.java b/src/main/java/com/gamingmesh/jobs/commands/list/grantxp.java index 7b5a3c22..44b34908 100644 --- a/src/main/java/com/gamingmesh/jobs/commands/list/grantxp.java +++ b/src/main/java/com/gamingmesh/jobs/commands/list/grantxp.java @@ -48,7 +48,7 @@ public class grantxp implements Cmd { Player player = jPlayer.getPlayer(); if (player != null) { String message = Jobs.getLanguage().getMessage("command.grantxp.output.target", - "%jobname%", job.getNameWithColor(), + "%jobname%", job.getJobDisplayName(), "%xpgained%", xpGained); player.sendMessage(message); } 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 612492c7..e08e4ea3 100644 --- a/src/main/java/com/gamingmesh/jobs/commands/list/join.java +++ b/src/main/java/com/gamingmesh/jobs/commands/list/join.java @@ -56,12 +56,12 @@ public class join implements Cmd { if (jPlayer.isInJob(job)) { // already in job message - pSender.sendMessage(Jobs.getLanguage().getMessage("command.join.error.alreadyin", "%jobname%", job.getNameWithColor())); + pSender.sendMessage(Jobs.getLanguage().getMessage("command.join.error.alreadyin", "%jobname%", job.getJobDisplayName())); return true; } if (job.getMaxSlots() != null && Jobs.getUsedSlots(job) >= job.getMaxSlots()) { - pSender.sendMessage(Jobs.getLanguage().getMessage("command.join.error.fullslots", "%jobname%", job.getNameWithColor())); + pSender.sendMessage(Jobs.getLanguage().getMessage("command.join.error.fullslots", "%jobname%", job.getJobDisplayName())); return true; } @@ -84,7 +84,7 @@ public class join implements Cmd { } Jobs.getPlayerManager().joinJob(jPlayer, job); - pSender.sendMessage(Jobs.getLanguage().getMessage("command.join.success", "%jobname%", job.getNameWithColor())); + pSender.sendMessage(Jobs.getLanguage().getMessage("command.join.success", "%jobname%", job.getJobDisplayName())); return true; } } diff --git a/src/main/java/com/gamingmesh/jobs/commands/list/leave.java b/src/main/java/com/gamingmesh/jobs/commands/list/leave.java index df8eee44..802fbaec 100644 --- a/src/main/java/com/gamingmesh/jobs/commands/list/leave.java +++ b/src/main/java/com/gamingmesh/jobs/commands/list/leave.java @@ -43,7 +43,7 @@ public class leave implements Cmd { (long) (20 * Jobs.getGCManager().ConfirmExpiryTime)); pSender.sendMessage(Jobs.getLanguage().getMessage("command.leave.confirmationNeed", "[jobname]", - job.getNameWithColor(), "[time]", Jobs.getGCManager().ConfirmExpiryTime)); + job.getJobDisplayName(), "[time]", Jobs.getGCManager().ConfirmExpiryTime)); return true; } @@ -53,7 +53,7 @@ public class leave implements Cmd { JobsPlayer jPlayer = Jobs.getPlayerManager().getJobsPlayer(pSender); if (Jobs.getPlayerManager().leaveJob(jPlayer, job)) - pSender.sendMessage(Jobs.getLanguage().getMessage("command.leave.success", "%jobname%", job.getNameWithColor())); + pSender.sendMessage(Jobs.getLanguage().getMessage("command.leave.success", "%jobname%", job.getJobDisplayName())); else pSender.sendMessage(Jobs.getLanguage().getMessage("general.error.job")); diff --git a/src/main/java/com/gamingmesh/jobs/commands/list/level.java b/src/main/java/com/gamingmesh/jobs/commands/list/level.java index 5faec4dd..d0d933ff 100644 --- a/src/main/java/com/gamingmesh/jobs/commands/list/level.java +++ b/src/main/java/com/gamingmesh/jobs/commands/list/level.java @@ -93,7 +93,7 @@ public class level implements Cmd { Player player = jPlayer.getPlayer(); if (player != null) - player.sendMessage(Jobs.getLanguage().getMessage("command.level.output.target", "%jobname%", job.getNameWithColor(), "%level%", prog.getLevel(), "%exp%", prog.getExperience())); + player.sendMessage(Jobs.getLanguage().getMessage("command.level.output.target", "%jobname%", job.getJobDisplayName(), "%level%", prog.getLevel(), "%exp%", prog.getExperience())); sender.sendMessage(Jobs.getLanguage().getMessage("general.admin.success")); } else diff --git a/src/main/java/com/gamingmesh/jobs/commands/list/promote.java b/src/main/java/com/gamingmesh/jobs/commands/list/promote.java index fe41846d..e4f17778 100644 --- a/src/main/java/com/gamingmesh/jobs/commands/list/promote.java +++ b/src/main/java/com/gamingmesh/jobs/commands/list/promote.java @@ -43,7 +43,7 @@ public class promote implements Cmd { Player player = jPlayer.getPlayer(); if (player != null) player.sendMessage(Jobs.getLanguage().getMessage("command.promote.output.target", - "%jobname%", job.getNameWithColor(), + "%jobname%", job.getJobDisplayName(), "%levelsgained%", levelsGained)); sender.sendMessage(Jobs.getLanguage().getMessage("general.admin.success")); diff --git a/src/main/java/com/gamingmesh/jobs/commands/list/removexp.java b/src/main/java/com/gamingmesh/jobs/commands/list/removexp.java index 00e54288..4629ea2e 100644 --- a/src/main/java/com/gamingmesh/jobs/commands/list/removexp.java +++ b/src/main/java/com/gamingmesh/jobs/commands/list/removexp.java @@ -47,7 +47,7 @@ public class removexp implements Cmd { Player player = jPlayer.getPlayer(); if (player != null) { player.sendMessage(Jobs.getLanguage().getMessage("command.removexp.output.target", - "%jobname%", job.getNameWithColor(), + "%jobname%", job.getJobDisplayName(), "%xplost%", xpLost)); } diff --git a/src/main/java/com/gamingmesh/jobs/commands/list/transfer.java b/src/main/java/com/gamingmesh/jobs/commands/list/transfer.java index c626f4d0..f25eadb0 100644 --- a/src/main/java/com/gamingmesh/jobs/commands/list/transfer.java +++ b/src/main/java/com/gamingmesh/jobs/commands/list/transfer.java @@ -42,8 +42,8 @@ public class transfer implements Cmd { Player player = jPlayer.getPlayer(); if (player != null) { player.sendMessage(Jobs.getLanguage().getMessage("command.transfer.output.target", - "%oldjobname%", oldjob.getNameWithColor(), - "%newjobname%", newjob.getNameWithColor())); + "%oldjobname%", oldjob.getJobDisplayName(), + "%newjobname%", newjob.getJobDisplayName())); } sender.sendMessage(Jobs.getLanguage().getMessage("general.admin.success")); diff --git a/src/main/java/com/gamingmesh/jobs/config/BossBarManager.java b/src/main/java/com/gamingmesh/jobs/config/BossBarManager.java index be8d944b..372182fe 100644 --- a/src/main/java/com/gamingmesh/jobs/config/BossBarManager.java +++ b/src/main/java/com/gamingmesh/jobs/config/BossBarManager.java @@ -65,7 +65,7 @@ public class BossBarManager { String message = Jobs.getLanguage().getMessage("command.stats.bossBarOutput", "%joblevel%", Integer.toString(jobProg.getLevel()), - "%jobname%", jobProg.getJob().getNameWithColor(), + "%jobname%", jobProg.getJob().getJobDisplayName(), "%jobxp%", formatter.format(Math.round(jobProg.getExperience() * 100.0) / 100.0), "%jobmaxxp%", jobProg.getMaxExperience(), "%gain%", gain); diff --git a/src/main/java/com/gamingmesh/jobs/config/ConfigManager.java b/src/main/java/com/gamingmesh/jobs/config/ConfigManager.java index a319cbca..b3f3b088 100644 --- a/src/main/java/com/gamingmesh/jobs/config/ConfigManager.java +++ b/src/main/java/com/gamingmesh/jobs/config/ConfigManager.java @@ -106,6 +106,10 @@ public class ConfigManager { "NOTE: Must be 1 word"); cfg.get(pt + ".fullname", "Woodcutter"); + cfg.addComment(pt + ".displayName", "Jobs display name used only for visualization in specific parts. Can contain spaces and color codes"); + cfg.get(pt + ".displayName", "&2--{#cancan}Woodcutter&2--"); + + cfg.addComment(pt + ".shortname", "Shortened version of the name of the job. Used as a prefix when the user has more than 1 job."); cfg.get(pt + ".shortname", "W"); cfg.get(pt + ".description", "Earns money felling and planting trees"); @@ -761,9 +765,14 @@ public class ConfigManager { log.warning("Job " + jobKey + " has an invalid fullname property. Skipping job!"); continue; } + // Translating unicode jobFullName = StringEscapeUtils.unescapeJava(jobFullName); + + String jobDisplayName = null; + if (jobSection.isString("displayName")) + jobDisplayName =jobSection.getString("displayName"); int maxLevel = jobSection.getInt("max-level"); if (maxLevel < 0) @@ -1136,7 +1145,7 @@ public class ConfigManager { } } - Job job = new Job(jobKey, jobFullName, jobShortName, description, color, maxExpEquation, displayMethod, maxLevel, vipmaxLevel, maxSlots, jobPermissions, jobCommand, + Job job = new Job(jobKey, jobDisplayName, jobFullName, jobShortName, description, color, maxExpEquation, displayMethod, maxLevel, vipmaxLevel, maxSlots, jobPermissions, jobCommand, jobConditions, jobItems, jobLimitedItems, jobSection.getStringList("cmd-on-join"), jobSection.getStringList("cmd-on-leave"), guiItem, guiSlot, bossbar, rejoinCd, jobSection.getStringList("world-blacklist")); diff --git a/src/main/java/com/gamingmesh/jobs/container/Job.java b/src/main/java/com/gamingmesh/jobs/container/Job.java index 1dd51062..4d2c0b6f 100644 --- a/src/main/java/com/gamingmesh/jobs/container/Job.java +++ b/src/main/java/com/gamingmesh/jobs/container/Job.java @@ -53,6 +53,7 @@ public class Job { private Map jobLimitedItems; private String jobName = "N/A"; + private String jobDisplayName = null; private String fullName = "N/A"; // job short name (for use in multiple jobs) @@ -94,10 +95,10 @@ public class Job { private boolean ignoreMaxJobs = false; @Deprecated - public Job(String jobName, String fullName, String jobShortName, String description, CMIChatColor jobColour, Parser maxExpEquation, DisplayMethod displayMethod, int maxLevel, + public Job(String jobName, String jobDisplayName, String fullName, String jobShortName, String description, CMIChatColor jobColour, Parser maxExpEquation, DisplayMethod displayMethod, int maxLevel, int vipmaxLevel, Integer maxSlots, List jobPermissions, List jobCommands, List jobConditions, Map jobItems, Map jobLimitedItems, List cmdOnJoin, List cmdOnLeave, ItemStack guiItem, int guiSlot, String bossbar, Long rejoinCD, List worldBlacklist) { - this(jobName, fullName, jobShortName, jobColour, maxExpEquation, displayMethod, maxLevel, + this(jobName, jobDisplayName, fullName, jobShortName, jobColour, maxExpEquation, displayMethod, maxLevel, vipmaxLevel, maxSlots, jobPermissions, jobCommands, jobConditions, jobLimitedItems, cmdOnJoin, cmdOnLeave, guiItem, guiSlot, worldBlacklist); @@ -105,7 +106,7 @@ public class Job { this.description = description; } - public Job(String jobName, String fullName, String jobShortName, CMIChatColor jobColour, Parser maxExpEquation, DisplayMethod displayMethod, int maxLevel, + public Job(String jobName, String jobDisplayName, String fullName, String jobShortName, CMIChatColor jobColour, Parser maxExpEquation, DisplayMethod displayMethod, int maxLevel, int vipmaxLevel, Integer maxSlots, List jobPermissions, List jobCommands, List jobConditions, Map jobLimitedItems, List cmdOnJoin, List cmdOnLeave, ItemStack guiItem, int guiSlot, List worldBlacklist) { this.jobName = jobName == null ? "" : jobName; @@ -125,6 +126,7 @@ public class Job { this.cmdOnLeave = cmdOnLeave; this.guiItem = guiItem; this.guiSlot = guiSlot; + this.jobDisplayName = CMIChatColor.translate(jobDisplayName); if (worldBlacklist != null) { this.worldBlacklist = worldBlacklist; @@ -334,10 +336,6 @@ public class Job { return fullName; } - public String getNameWithColor() { - return jobColour + fullName; - } - /** * Returns the job name retrieved from the config * @@ -606,7 +604,7 @@ public class Job { int target = new Random(System.nanoTime()).nextInt(100); for (Quest one : ls) { if (one.getChance() >= target && (excludeQuests == null || !excludeQuests.contains(one.getConfigName().toLowerCase())) - && one.isInLevelRange(level)) { + && one.isInLevelRange(level)) { return one; } } @@ -645,33 +643,41 @@ public class Job { } public boolean isWorldBlackListed(Block block, Entity ent) { - if (worldBlacklist.isEmpty()) - return isReversedWorldBlacklist(); + if (worldBlacklist.isEmpty()) + return isReversedWorldBlacklist(); - if (block != null) - return worldBlacklist.contains(block.getWorld().getName()) != reversedWorldBlacklist; + if (block != null) + return worldBlacklist.contains(block.getWorld().getName()) != reversedWorldBlacklist; - return ent != null && worldBlacklist.contains(ent.getWorld().getName()) != reversedWorldBlacklist; + return ent != null && worldBlacklist.contains(ent.getWorld().getName()) != reversedWorldBlacklist; } public boolean isReversedWorldBlacklist() { - return reversedWorldBlacklist; + return reversedWorldBlacklist; } public void setReversedWorldBlacklist(boolean reversedWorldBlacklist) { - this.reversedWorldBlacklist = reversedWorldBlacklist; + this.reversedWorldBlacklist = reversedWorldBlacklist; } public boolean isIgnoreMaxJobs() { - return ignoreMaxJobs; + return ignoreMaxJobs; } public void setIgnoreMaxJobs(boolean ignoreMaxJobs) { - this.ignoreMaxJobs = ignoreMaxJobs; + this.ignoreMaxJobs = ignoreMaxJobs; } @Override public boolean equals(Object obj) { - return obj instanceof Job && isSame((Job) obj); + return obj instanceof Job && isSame((Job) obj); + } + + public String getJobDisplayName() { + return jobDisplayName == null ? jobColour + fullName : jobDisplayName; + } + + public void setJobDisplayName(String jobDisplayName) { + this.jobDisplayName = jobDisplayName; } }