Move highlight logic to StringHelper

This commit is contained in:
fullwall 2012-10-08 21:43:30 +08:00
parent 9897313978
commit 570d7e281b
5 changed files with 21 additions and 22 deletions

View File

@ -45,9 +45,10 @@ public class CitizensEndermanNPC extends CitizensMobNPC implements Equipable {
}
ItemStack set = hand;
if (set.getType() != Material.AIR) {
hand.setAmount(hand.getAmount() - 1);
if (hand.getType() != Material.AIR) {
set = hand.clone();
set.setAmount(1);
hand.setAmount(hand.getAmount() - 1);
}
getTrait(Equipment.class).set(0, set);
}

View File

@ -68,7 +68,6 @@ public class Text extends Trait implements Runnable, Toggleable, Listener, Conve
.withEscapeSequence("exit").withModality(false).withFirstPrompt(new StartPrompt(this))
.buildConversation(player);
return new Editor() {
@Override
public void begin() {
Messaging.sendTr(player, Messages.TEXT_EDITOR_BEGIN);

View File

@ -50,23 +50,8 @@ public class Messaging {
}
private static void sendMessageTo(CommandSender sender, String rawMessage) {
rawMessage = StringHelper.parseColors(rawMessage);
for (String message : CHAT_NEWLINE_SPLITTER.split(rawMessage)) {
String trimmed = message.trim();
String messageColour = StringHelper.parseColors(Setting.MESSAGE_COLOUR.asString());
if (!trimmed.isEmpty()) {
if (trimmed.charAt(0) == ChatColor.COLOR_CHAR) {
ChatColor test = ChatColor.getByChar(trimmed.substring(1, 2));
if (test == null) {
message = messageColour + message;
} else
messageColour = test.toString();
} else
message = messageColour + message;
}
message = message.replace("[[", StringHelper.parseColors(Setting.HIGHLIGHT_COLOUR.asString()));
message = message.replace("]]", messageColour);
sender.sendMessage(message);
sender.sendMessage(StringHelper.parseColors(message));
}
}

View File

@ -66,6 +66,20 @@ public class StringHelper {
parsed = parsed.replace("<" + color.getChar() + ">", color.toString());
}
parsed = ChatColor.translateAlternateColorCodes('&', parsed);
String trimmed = parsed.trim();
String messageColour = parseColors(Setting.MESSAGE_COLOUR.asString());
if (!trimmed.isEmpty()) {
if (trimmed.charAt(0) == ChatColor.COLOR_CHAR) {
ChatColor test = ChatColor.getByChar(trimmed.substring(1, 2));
if (test == null) {
parsed = messageColour + parsed;
} else
messageColour = test.toString();
} else
parsed = messageColour + parsed;
}
parsed = parsed.replace("[[", parseColors(Setting.HIGHLIGHT_COLOUR.asString()));
parsed = parsed.replace("]]", messageColour);
return parsed;
}

View File

@ -1,22 +1,22 @@
citizens.changed-implementation=Citizens implementation changed, disabling plugin.
citizens.commands.citizens.save.help=Use the -a flag to save async (off the main server thread).
citizens.commands.console-error=Please report this error: [See console]
citizens.commands.help.command-missing=Command /{0} not found.
citizens.commands.help.header=Help
citizens.commands.npc.behaviour.help=The scripts argument is a comma-separated list of file names. Scripts will be loaded automatically and run every tick. Use the [[-r]] flag to remove behaviours.
citizens.commands.npc.age.help=Can only be used on entities that can become babies. Use the [[-l]] flag to lock age over time (note: relogs may be required to see this).
citizens.commands.id-not-found=Couldn't find any NPC with ID {0}.
citizens.commands.invalid-mobtype={0} is not a valid mobtype.
citizens.commands.invalid-number=That is not a valid number.
citizens.commands.npc.age.cannot-be-aged=The mob type '{0}' cannot be aged.
citizens.commands.npc.age.help=Can only be used on entities that can become babies. Use the [[-l]] flag to lock age over time (note: relogs may be required to see this).
citizens.commands.npc.age.invalid-age=Invalid age. Valid ages are adult, baby, number between -24000 and 0
citizens.commands.npc.age.locked=Age locked.
citizens.commands.help.command-missing=Command /{0} not found.
citizens.commands.npc.age.set-adult=[[{0}]] is now an adult.
citizens.commands.npc.age.set-baby=[[{0}]] is now a baby.
citizens.commands.npc.age.set-normal=[[{0}]] is now age [[{1}]].
citizens.commands.npc.age.set=[[{0}]] is now [[{1}]].
citizens.commands.npc.age.unlocked=Age unlocked.
citizens.commands.npc.behaviour.added=Behaviours added.
citizens.commands.npc.behaviour.help=The scripts argument is a comma-separated list of file names. Scripts will be loaded automatically and run every tick. Use the [[-r]] flag to remove behaviours.
citizens.commands.npc.behaviour.removed=Behaviours removed.
citizens.commands.npc.controllable.not-controllable=[[{0}]] is not controllable.
citizens.commands.npc.controllable.removed=[[{0}]] can no longer be controlled.