2017-02-20 17 views
1

Я использую это:Minecraft цветовых коды не работает должным образом (патрубок)

public void onPlayerCommandPreprocessEvent(PlayerCommandPreprocessEvent event) { 
    event.getPlayer().sendRawMessage(Color.RED.toString()+"TEXT..."); 
} 

но выглядит как Color:[rgb0xFF00]TEXT... в чате.

Я также пробовал getPlayer().sendMessage(...) и Color.RED, но ни один из них не работает.

Что я делаю неправильно?

Редактировать: Я нашел решение, см. Мой ответ ниже.

+0

текст должен появиться в красный вместо того, чтобы показывать "цвет: [rgb0x ...]" – mfnalex

+0

Попробуйте отправить ANSI цвет красный вместо "\ u001B [31m" Пусть я знаю ... –

+0

На самом деле я предпочел бы избежать этого, потому что использование жестко закодированных цветовых кодов устарело, поскольку они изменились на JSON в 1,9, по крайней мере мне сказали об этом. – mfnalex

ответ

1

Хорошо, я нашел решение. Вы должны использовать org.bukkit.ChatColor вместо org.bukkit.Color! (Stupid меня)

Итак:

public void onPlayerCommandPreprocessEvent(PlayerCommandPreprocessEvent event) { 
    event.getPlayer().sendMessage(ChatColor.RED+"TEXT..."); 
} 
+1

Вам не нужен 'toString()', Just ChatColor. RED + «ТЕКСТ» в порядке – Kerooker

+0

Вы правы, я просто забыл удалить это. – mfnalex

0

Согласно this, вам необходимо отправить определенный текст, а не только цвет. Сделайте функцию как это:

String getColorCode(Color c){ 
    switch(c){ 
     case Color.RED: 
      return "§c"; 
     case Color.BLACK: 
      return "§0"; 
     // each color code can be found at http://minecraft.gamepedia.com/Formatting_codes 
    } 
    return ""; 
} 

И затем вызвать эту функцию для вашего сообщения:

public void onPlayerCommandPreprocessEvent(PlayerCommandPreprocessEvent event) { 
    event.getPlayer().sendRawMessage(getColorCode(Color.RED) + "TEXT..."); 
} 
+0

Но разве это не то, что для встроенного org.bukkit.ChatColor? – mfnalex

+0

Нет подсказки, я никогда не касался API Minecraft – BlueMoon93

+0

Спасибо в любом случае, я нашел решение: я использовал org.bukkit.Color вместо org.bukkit.ChatColor – mfnalex