Newer
Older
ultramine_bukkit / src / main / java / org / bukkit / craftbukkit / command / ColouredConsoleSender.java
@vlad20012 vlad20012 on 24 Feb 2017 3 KB initial
package org.bukkit.craftbukkit.command;

import org.bukkit.Bukkit;
import org.bukkit.command.ConsoleCommandSender;

public class ColouredConsoleSender extends CraftConsoleCommandSender
{
//	private final Terminal terminal;
//	private final Map<ChatColor, String> replacements = new EnumMap<ChatColor, String>(ChatColor.class);
//	private final ChatColor[] colors = ChatColor.values();

	public ColouredConsoleSender()
	{
		super();
//		this.terminal = ((CraftServer) getServer()).getReader().getTerminal();
//
//		replacements.put(ChatColor.BLACK, Ansi.ansi().a(Attribute.RESET).fg(Ansi.Color.BLACK).boldOff().toString());
//		replacements.put(ChatColor.DARK_BLUE, Ansi.ansi().a(Attribute.RESET).fg(Ansi.Color.BLUE).boldOff().toString());
//		replacements.put(ChatColor.DARK_GREEN, Ansi.ansi().a(Attribute.RESET).fg(Ansi.Color.GREEN).boldOff().toString());
//		replacements.put(ChatColor.DARK_AQUA, Ansi.ansi().a(Attribute.RESET).fg(Ansi.Color.CYAN).boldOff().toString());
//		replacements.put(ChatColor.DARK_RED, Ansi.ansi().a(Attribute.RESET).fg(Ansi.Color.RED).boldOff().toString());
//		replacements.put(ChatColor.DARK_PURPLE, Ansi.ansi().a(Attribute.RESET).fg(Ansi.Color.MAGENTA).boldOff().toString());
//		replacements.put(ChatColor.GOLD, Ansi.ansi().a(Attribute.RESET).fg(Ansi.Color.YELLOW).boldOff().toString());
//		replacements.put(ChatColor.GRAY, Ansi.ansi().a(Attribute.RESET).fg(Ansi.Color.WHITE).boldOff().toString());
//		replacements.put(ChatColor.DARK_GRAY, Ansi.ansi().a(Attribute.RESET).fg(Ansi.Color.BLACK).bold().toString());
//		replacements.put(ChatColor.BLUE, Ansi.ansi().a(Attribute.RESET).fg(Ansi.Color.BLUE).bold().toString());
//		replacements.put(ChatColor.GREEN, Ansi.ansi().a(Attribute.RESET).fg(Ansi.Color.GREEN).bold().toString());
//		replacements.put(ChatColor.AQUA, Ansi.ansi().a(Attribute.RESET).fg(Ansi.Color.CYAN).bold().toString());
//		replacements.put(ChatColor.RED, Ansi.ansi().a(Attribute.RESET).fg(Ansi.Color.RED).bold().toString());
//		replacements.put(ChatColor.LIGHT_PURPLE, Ansi.ansi().a(Attribute.RESET).fg(Ansi.Color.MAGENTA).bold().toString());
//		replacements.put(ChatColor.YELLOW, Ansi.ansi().a(Attribute.RESET).fg(Ansi.Color.YELLOW).bold().toString());
//		replacements.put(ChatColor.WHITE, Ansi.ansi().a(Attribute.RESET).fg(Ansi.Color.WHITE).bold().toString());
//		replacements.put(ChatColor.MAGIC, Ansi.ansi().a(Attribute.BLINK_SLOW).toString());
//		replacements.put(ChatColor.BOLD, Ansi.ansi().a(Attribute.UNDERLINE_DOUBLE).toString());
//		replacements.put(ChatColor.STRIKETHROUGH, Ansi.ansi().a(Attribute.STRIKETHROUGH_ON).toString());
//		replacements.put(ChatColor.UNDERLINE, Ansi.ansi().a(Attribute.UNDERLINE).toString());
//		replacements.put(ChatColor.ITALIC, Ansi.ansi().a(Attribute.ITALIC).toString());
//		replacements.put(ChatColor.RESET, Ansi.ansi().a(Attribute.RESET).toString());
	}

	@Override
	public void sendMessage(String message)
	{
//		if (terminal.isAnsiSupported()) {
//			if (!conversationTracker.isConversingModaly()) {
//				String result = message;
//				for (ChatColor color : colors) {
//					if (replacements.containsKey(color)) {
//						result = result.replaceAll("(?i)" + color.toString(), replacements.get(color));
//					} else {
//						result = result.replaceAll("(?i)" + color.toString(), "");
//					}
//				}
//				System.out.println(result + Ansi.ansi().reset().toString());
//			}
//		} else {
//			super.sendMessage(message);
//		}
		super.sendMessage(message);
	}

	public static ConsoleCommandSender getInstance()
	{
		if(Bukkit.getConsoleSender() != null)
		{
			return Bukkit.getConsoleSender();
		}
		else
		{
			return new ColouredConsoleSender();
		}
	}
}