summaryrefslogtreecommitdiff
path: root/src/main/java/com/redstoner/modules/ModuleLogger.java
blob: 11d71b67e6fca96d8d9ba73860e6ba731d085fa1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
package com.redstoner.modules;

import org.bukkit.Bukkit;
import org.bukkit.command.CommandSender;

import com.redstoner.annotations.Version;

import net.nemez.chatapi.ChatAPI;
import net.nemez.chatapi.click.Message;

@Version(major = 4, minor = 0, revision = 0, compatible = -1)
public class ModuleLogger
{
	public static final String PREFIX_WARN = "§8[§eWARN§8]:§7 ";
	public static final String PREFIX_ERROR = "§8[§cERROR§8]:§7 ";
	public static final String PREFIX_INFO = "§8[§fINFO§8]:§7 ";
	
	private String name;
	
	public ModuleLogger(final String name)
	{
		this.name = name;
	}
	
	public void info(final String message)
	{
		Bukkit.getConsoleSender().sendMessage(PREFIX_INFO + getPrefix() + ChatAPI.colorify(null, message));
	}
	
	public void warn(final String message)
	{
		Bukkit.getConsoleSender().sendMessage(PREFIX_WARN + getPrefix() + ChatAPI.colorify(null, message));
	}
	
	public void error(final String message)
	{
		Bukkit.getConsoleSender().sendMessage(PREFIX_ERROR + getPrefix() + ChatAPI.colorify(null, message));
	}
	
	public void message(final CommandSender recipient, final String... message)
	{
		message(recipient, false, message);
	}
	
	public void message(final CommandSender recipient, final boolean error, final String... message)
	{
		Message m = new Message(recipient, null);
		if (message.length == 1)
			m.appendText(getPrefix(error) + message[0]);
		else
		{
			m.appendText(getHeader());
			m.appendText("&7" + String.join("\n&7", message));
		}
		m.send();
	}
	
	public String getPrefix()
	{
		return getPrefix(false);
	}
	
	public String getPrefix(final boolean error)
	{
		return "§8[§" + (error ? 'c' : '2') + name + "§8]§7 ";
	}
	
	public String getHeader()
	{
		return "§2--=[ " + name + " ]=--\n";
	}
	
	protected final void setName(final String name)
	{
		this.name = name;
	}
}