2016-12-07 5 views
1

Я довольно новичок в конфигурационном API Bukkit, поэтому у меня возникает вопрос: как установить строку в файле YAML, содержащую что-то вроде% player%, которое будет представлять плеер (например, трансляция, когда кто-то использует команду, содержащую имя отправителя, которое можно настроить). Как разобрать sender.getDisplayName() в% player% в config.yml?bukkit - Как использовать переменную на config.yml?

Мой код прямо сейчас:

String message = core.getConfig().getString("message"); //Get the message from the config file 
      message = message.replace("%player%", player.getDisplayName()); //Replace %player% with the player's name. 
      ChatColor.translateAlternateColorCodes('&', message); 
      Bukkit.broadcastMessage(message); 

Мой config.yml является:

message: &6%player% just launched the cow party! 

Ошибки:

http://pastebin.com/8AdA5Xe1 (так долго)

+0

Используйте строку заменить метод, объяснить ваш вопрос – Kerooker

+0

Что еще я должен сказать? Я хочу сказать, что% player% в строке config.yaml является sender.getDisplayName() @Kerooker – MucaP

+0

способом, которым вы написали свои квесты on, я просто не мог понять, что вы хотите – Kerooker

ответ

1

Что вы хотите для этого нужно получить строку из файла config.yml, после чего вам нужно переписать поместите%%% с именем игрока или отображаемым именем.

Что-то вроде этого будет работать;

String message = getConfig().getString("path.to.string"); //Get the message from the config file 
message = message.replace("%player%", player.getName()); //Replace %player% with the player's name. 
ChatColor.translateAlternateColorCodes('&', message); //Translate colors to color codes 
player.sendMessage(message); //Send the message 

Вы также можете использовать этот Однострочник:

player.sendMessage(ChatColor.translateAlternateColorCodes('&', getConfig().getString("path.to.message").replace("%player%", player.getName())); 

Вы должны заменить player с действительным игроком курса.

Что касается вашей ошибки:

Вы должны поставить кавычки (") вокруг вашего сообщения, так что изменить

message: &6%player% just launched the cow party! 

в

message: "&6%player% just launched the cow party!" 
+1

Я бы сказал, вырезать логику шаг за шагом, это облегчает чтение и понимание для других и сохранение в будущем. Если вы хотите, я могу отредактировать вашу запись для вас. – Tschallacka

+1

Я разделил код, спасибо за ваш отзыв – bramhaag

+0

О, спасибо! Я проверю его, а затем приму в качестве ответа, спасибо – MucaP

 Смежные вопросы

  • Нет связанных вопросов^_^