Помогите %example% как использовать в конфигах, плагинах значения %внутри "%"?%

  • Автор темы Автор темы Ratewio
  • Дата начала Дата начала

Ratewio

Активный участник
Заблокирован
Пользователь
Баллы
61
Имя в Minecraft
Ratewio
то-есть при вызове функции игроку отправляется сообщение в чат, но это сообщение берётся из конфига и помимо того, что его можно как угодно изменить, можно ещё и добавить или убрать какие либо переменные, по примеру: "hello dude!", изменить на "hello %player%!", а как собственно это реализовать в плагине? при помощи каких функций?
ну тоесть мы зарегистрировали к примеру евент, из него получили игрока и его имя, можем отправить сообщение player.sendMessage(String), но как форматировать эту строку так, чтобы значения %whatever% менялись в ней на что-нибудь необходимое
 
то-есть при вызове функции игроку отправляется сообщение в чат, но это сообщение берётся из конфига и помимо того, что его можно как угодно изменить, можно ещё и добавить или убрать какие либо переменные, по примеру: "hello dude!", изменить на "hello %player%!", а как собственно это реализовать в плагине? при помощи каких функций?
ну тоесть мы зарегистрировали к примеру евент, из него получили игрока и его имя, можем отправить сообщение player.sendMessage(String), но как форматировать эту строку так, чтобы значения %whatever% менялись в ней на что-нибудь необходимое
Заменить заполнитель на нужный текст можно например так:
Код:
player.sendMessage(config.getString("text").replace("%player%", player.getName()));
 
то-есть при вызове функции игроку отправляется сообщение в чат, но это сообщение берётся из конфига и помимо того, что его можно как угодно изменить, можно ещё и добавить или убрать какие либо переменные, по примеру: "hello dude!", изменить на "hello %player%!", а как собственно это реализовать в плагине? при помощи каких функций?
ну тоесть мы зарегистрировали к примеру евент, из него получили игрока и его имя, можем отправить сообщение player.sendMessage(String), но как форматировать эту строку так, чтобы значения %whatever% менялись в ней на что-нибудь необходимое
.replace("%player%", p.getName())
 
Заменить заполнитель на нужный текст можно например так:
Код:
player.sendMessage(config.getString("text").replace("%player%", player.getName()));
а понял, спасибо, сам пытался додуматься, почти тоже самое сделал, только про getName()/toString() забыл
 
кстати в чём их отличие, какой метод бытрее, getName()?
getName() возвращает название сущности ввиде строки.

Если toString() переопределен (а он переопределен в данном случае), то в реализации CraftPlayer он возвращает детальную информацию о сущности ввиде строки, если нет, то он возвращает хешкод объекта.
 
Назад
Верх