Привет.
В процессе написания небольшого плагина наткнулся на следующую проблему - при редактировании игроком книги мне нужно изменять текст внесённый игроком, в зависимости от некоторых условий. Для решения этой задачи я использую PlayerEditBookEvent.
Суть в том, что, когда игрок нажимает кнопку "Done", после того как закончил вносить текст - событие вызывается корректно и код слушателя выполняется, но вот текст в книге при этом не изменяется.
Мой код выглядит примерно следующим образом:
Тесты этого кода я проводил на Yatopia-"7f24790" (MC: 1.16.4) (Implementing API version 1.16.4-R0.1-SNAPSHOT)
Из интересного - код корректно работает при попытке подписать книгу - мета книги изменяется на тот текст, который мне нужен.
Мне же нужно чтобы текст книги менялся при каждой попытке его редактирования игроком.
И да, я прекрасно знаю что можно спуститься на уровень пакетов и сделать всю грязную работу там (
В процессе написания небольшого плагина наткнулся на следующую проблему - при редактировании игроком книги мне нужно изменять текст внесённый игроком, в зависимости от некоторых условий. Для решения этой задачи я использую PlayerEditBookEvent.
Суть в том, что, когда игрок нажимает кнопку "Done", после того как закончил вносить текст - событие вызывается корректно и код слушателя выполняется, но вот текст в книге при этом не изменяется.
Мой код выглядит примерно следующим образом:
Java:
@EventHandler
public void onEdit(PlayerEditBookEvent event)
{
Player player = event.getPlayer();
BookMeta bookMeta = event.getNewBookMeta();
bookMeta.setPages(Collections.singletonList("test"));
event.setNewBookMeta(bookMeta);
}
Из интересного - код корректно работает при попытке подписать книгу - мета книги изменяется на тот текст, который мне нужен.
Мне же нужно чтобы текст книги менялся при каждой попытке его редактирования игроком.
И да, я прекрасно знаю что можно спуститься на уровень пакетов и сделать всю грязную работу там (
Авторизуйтесь для просмотра ссылок.
), но, для начала, хотелось бы выяснить, возможно это баг (возможно, только у меня), или, возможно, я просто делаю что-то не правильно, или, возможно, есть более красивый и простой вариант решения моей проблемы.