Skip to content

Commit

Permalink
Added a way to use & to color the title of the timers.
Browse files Browse the repository at this point in the history
Closes #30.
  • Loading branch information
AmauryCarrade committed Sep 5, 2014
1 parent f271353 commit 5d1037c
Show file tree
Hide file tree
Showing 3 changed files with 28 additions and 15 deletions.
24 changes: 12 additions & 12 deletions src/main/java/me/azenet/UHPlugin/UHPluginCommand.java
Original file line number Diff line number Diff line change
Expand Up @@ -1247,7 +1247,7 @@ private void doTimers(CommandSender sender, Command command, String label, Strin
timer.setDuration(duration);

p.getTimerManager().registerTimer(timer);
sender.sendMessage(i.t("timers.added", timer.getName(), args[2]));
sender.sendMessage(i.t("timers.added", timer.getDisplayName(), args[2]));

} catch(IllegalArgumentException e) {
sender.sendMessage(i.t("timers.durationSyntaxError"));
Expand All @@ -1271,7 +1271,7 @@ else if(subcommand.equalsIgnoreCase("set")) { // /uh timers set <duration> <name
}

timer.setDuration(duration);
sender.sendMessage(i.t("timers.set", timer.getName(), args[2]));
sender.sendMessage(i.t("timers.set", timer.getDisplayName(), args[2]));

} catch(IllegalArgumentException e) {
sender.sendMessage(i.t("timers.durationSyntaxError"));
Expand All @@ -1289,7 +1289,7 @@ else if(subcommand.equalsIgnoreCase("display")) { // /uh timers display <name ..
}

p.getGameManager().getScoreboardManager().displayTimer(timer);
sender.sendMessage(i.t("timers.displayed", timer.getName()));
sender.sendMessage(i.t("timers.displayed", timer.getDisplayName()));
}

else if(subcommand.equalsIgnoreCase("hide")) { // /uh timers hide <name ...>
Expand All @@ -1302,7 +1302,7 @@ else if(subcommand.equalsIgnoreCase("hide")) { // /uh timers hide <name ...>
}

p.getGameManager().getScoreboardManager().hideTimer(timer);
sender.sendMessage(i.t("timers.hidden", timer.getName()));
sender.sendMessage(i.t("timers.hidden", timer.getDisplayName()));
}

else if(subcommand.equalsIgnoreCase("start")) { // /uh timers start <name ...>
Expand All @@ -1319,7 +1319,7 @@ else if(subcommand.equalsIgnoreCase("start")) { // /uh timers start <name ...>
}

timer.start();
sender.sendMessage(i.t("timers.started", timer.getName()));
sender.sendMessage(i.t("timers.started", timer.getDisplayName()));
}

else if(subcommand.equalsIgnoreCase("pause")) { // /uh timers pause <name ...>
Expand All @@ -1332,7 +1332,7 @@ else if(subcommand.equalsIgnoreCase("pause")) { // /uh timers pause <name ...>
}

timer.setPaused(true);
sender.sendMessage(i.t("timers.paused", timer.getName()));
sender.sendMessage(i.t("timers.paused", timer.getDisplayName()));
}

else if(subcommand.equalsIgnoreCase("restart")) { // /uh timers restart <name ...>
Expand All @@ -1345,7 +1345,7 @@ else if(subcommand.equalsIgnoreCase("restart")) { // /uh timers restart <name ..
}

timer.setPaused(false);
sender.sendMessage(i.t("timers.restarted", timer.getName()));
sender.sendMessage(i.t("timers.restarted", timer.getDisplayName()));
}

else if(subcommand.equalsIgnoreCase("stop")) { // /uh timers stop <name ...>
Expand All @@ -1358,7 +1358,7 @@ else if(subcommand.equalsIgnoreCase("stop")) { // /uh timers stop <name ...>
}

timer.stop();
sender.sendMessage(i.t("timers.stopped", timer.getName()));
sender.sendMessage(i.t("timers.stopped", timer.getDisplayName()));
}

else if(subcommand.equalsIgnoreCase("remove")) { // /uh timers remove <name ...>
Expand All @@ -1372,7 +1372,7 @@ else if(subcommand.equalsIgnoreCase("remove")) { // /uh timers remove <name ...>

p.getGameManager().getScoreboardManager().hideTimer(timer);
p.getTimerManager().unregisterTimer(timer);
sender.sendMessage(i.t("timers.removed", timer.getName()));
sender.sendMessage(i.t("timers.removed", timer.getDisplayName()));
}

else if(subcommand.equalsIgnoreCase("list")) { // /uh timers list
Expand All @@ -1384,21 +1384,21 @@ else if(subcommand.equalsIgnoreCase("list")) { // /uh timers list
if(timer.isRunning()) {
if(timer.isPaused()) {
sender.sendMessage(i.t("timers.list.itemPaused",
timer.getName(),
timer.getDisplayName(),
String.valueOf(timer.getDuration()),
p.getGameManager().getScoreboardManager().getTimerText(timer, false, false)));
}
else {
sender.sendMessage(i.t("timers.list.itemRunning",
timer.getName(),
timer.getDisplayName(),
String.valueOf(timer.getDuration()),
p.getGameManager().getScoreboardManager().getTimerText(timer, false, false)));

}
}
else {
sender.sendMessage(i.t("timers.list.itemStopped",
timer.getName(),
timer.getDisplayName(),
String.valueOf(timer.getDuration())));
}
}
Expand Down
6 changes: 3 additions & 3 deletions src/main/java/me/azenet/UHPlugin/UHScoreboardManager.java
Original file line number Diff line number Diff line change
Expand Up @@ -181,7 +181,7 @@ public void displayTimer(UHTimer timer) {

// Effective display
objective.getScore(getValidScoreName(generateSpaces(numberOfSpacesInSeparator.get(timer)))).setScore(position);
objective.getScore(getValidScoreName(timer.getName())).setScore(position - 1);
objective.getScore(getValidScoreName(timer.getDisplayName())).setScore(position - 1);
objective.getScore(getValidScoreName(getTimerText(timer, false, false))).setScore(position - 2);
}

Expand All @@ -200,7 +200,7 @@ public void hideTimer(UHTimer timer) {

// The timer is hidden
sb.resetScores(getValidScoreName(generateSpaces(numberOfSpacesInSeparator.get(timer))));
sb.resetScores(getValidScoreName(timer.getName()));
sb.resetScores(getValidScoreName(timer.getDisplayName()));
sb.resetScores(getValidScoreName(getTimerText(timer, false, false)));
sb.resetScores(getValidScoreName(getTimerText(timer, false, true)));

Expand All @@ -223,7 +223,7 @@ public void hideTimer(UHTimer timer) {
// Effective display
sb.resetScores(getValidScoreName(generateSpaces(numberOfSpacesInSeparator.get(thisTimer) + 1))); // resets the old "space" score
objective.getScore(getValidScoreName(generateSpaces(numberOfSpacesInSeparator.get(thisTimer)))).setScore(newPosition);
objective.getScore(getValidScoreName(thisTimer.getName())).setScore(newPosition - 1);
objective.getScore(getValidScoreName(thisTimer.getDisplayName())).setScore(newPosition - 1);
objective.getScore(getValidScoreName(getTimerText(thisTimer, false, false))).setScore(newPosition - 2);
}
}
Expand Down
13 changes: 13 additions & 0 deletions src/main/java/me/azenet/UHPlugin/UHTimer.java
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@

import org.apache.commons.lang.Validate;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;


/**
Expand Down Expand Up @@ -195,6 +196,18 @@ protected void setRegistered(Boolean registered) {
public String getName() {
return name;
}

/**
* Returns the display name of the timer.
* <p>
* The display name is the name with all &-based color codes replaced by §-based ones.
*
* @return The name.
*/
public String getDisplayName() {
return ChatColor.translateAlternateColorCodes('&', name);
}


/**
* Checks if the timer is currently running.
Expand Down

0 comments on commit 5d1037c

Please sign in to comment.