Я пытаюсь разделить код на классы. Этот код отправляет в консоль текст с буквой B
в начале строки, но не должен.
Код:
static ConsoleWrapper cw = new ConsoleWrapper();
cw.notify("using url:" + database.sql_url);
cw.notify("Plugin loaded!");
в ConsoleWrapper.java
public class ConsoleWrapper {
static String pluginName = App.pluginName;
static ConsoleCommandSender console = Bukkit.getConsoleSender();
public void notify(String msg) {
// wrapper for console messages
console.sendMessage(("§6[" + pluginName + "]" + msg));
}
public void alarm(String msg) {
// wrapper for console messages
console.sendMessage(("§c[" + pluginName + "]" + msg));
}
}
но если console.sendMessage(("§c[" + pluginName + "]" + msg));
выполняется в основном классе, буква B
не отображается в консоли.
output with
cw.notify
[12:01:07 INFO]: В[EggCounter] Plugin is starting first time, or restoring!
[12:01:08 INFO]: В[EggCounter]using url:jdbc:MYSQL://192.168.0.186:9889/easter_eggs
output with
console.sendMessage()
[12:13:21 INFO]: [EggCounter]using url:jdbc:MYSQL://192.168.0.186:9889/easter_eggs
[12:13:21 INFO]: [EggCounter]Plugin loaded!
Не рекомендуется писать свой собственный §
из-за возможных проблем с кодировкой.
Лучше использовать перечисление ChatColor
, например:
public class ConsoleWrapper {
static String pluginName = App.pluginName;
static ConsoleCommandSender console = Bukkit.getConsoleSender();
public void notify(String msg) {
// wrapper for console messages
console.sendMessage(ChatColor.GOLD + "[" + pluginName + "]" + msg);
}
public void alarm(String msg) {
// wrapper for console messages
console.sendMessage(ChatColor.RED + "[" + pluginName + "]" + msg);
}
}
Вы можете найти все цветовые коды здесь.