1
0
mirror of https://github.com/Zrips/Jobs.git synced 2025-03-02 11:21:14 +01:00

Jobs display name

This commit is contained in:
Zrips 2021-05-05 14:04:03 +03:00
parent ed9fe4d26e
commit 01e47f457a
20 changed files with 76 additions and 61 deletions

16
pom.xml
View File

@ -267,14 +267,14 @@
<target>1.8</target>
</configuration>
</plugin>
<!-- <plugin> -->
<!-- <groupId>org.apache.maven.plugins</groupId> -->
<!-- <artifactId>maven-jar-plugin</artifactId> -->
<!-- <version>2.3.1</version> -->
<!-- <configuration> -->
<!-- <outputDirectory>D:\MC\Server 1.16\plugins\</outputDirectory> -->
<!-- </configuration> -->
<!-- </plugin> -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.3.1</version>
<configuration>
<outputDirectory>D:\MC\Server 1.16\plugins\</outputDirectory>
</configuration>
</plugin>
</plugins>
</build>
</project>

View File

@ -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());

View File

@ -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()) {

View File

@ -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;

View File

@ -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);
}

View File

@ -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);
}

View File

@ -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);
}

View File

@ -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) {

View File

@ -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

View File

@ -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"));
}

View File

@ -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);
}

View File

@ -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;
}
}

View File

@ -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"));

View File

@ -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

View File

@ -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"));

View File

@ -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));
}

View File

@ -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"));

View File

@ -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);

View File

@ -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"));

View File

@ -53,6 +53,7 @@ public class Job {
private Map<String, JobLimitedItems> 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<JobPermission> jobPermissions, List<JobCommands> jobCommands, List<JobConditions> jobConditions, Map<String, JobItems> jobItems,
Map<String, JobLimitedItems> jobLimitedItems, List<String> cmdOnJoin, List<String> cmdOnLeave, ItemStack guiItem, int guiSlot, String bossbar, Long rejoinCD, List<String> 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<JobPermission> jobPermissions, List<JobCommands> jobCommands, List<JobConditions> jobConditions,
Map<String, JobLimitedItems> jobLimitedItems, List<String> cmdOnJoin, List<String> cmdOnLeave, ItemStack guiItem, int guiSlot, List<String> 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;
}
}