Реализация вводного инструктажа для новых игроков

NeMaster

Новичок
Пользователь
Баллы
21
Принципиально я пришёл к двум вариантам:
- Писать короткие инструкции на табличка
- Выдать книгу при первом входе

Но можно ли на табличках сделать локализацию текста или плагину это недоступно?
 
Принципиально я пришёл к двум вариантам:
- Писать короткие инструкции на табличка
- Выдать книгу при первом входе
Есть ещё один - показывать игроку синематик. От его лица перемещать камеру и выполнять необходимые действия. Сейчас существуют плагины, которые позволяют реализовать это максимально натурально.

можно ли на табличках сделать локализацию текста или плагину это недоступно?
Можно. На уровне пакетов перехватывается текст и заменяется на другой в зависимости от локали игрока.
Но перед реализацией 10 раз подумай, нужна ли на твоём сервере система локализации. Это достаточно трудоёмкий процесс, которые экономически оправдан крайне редко
 
Хм, думал книгу выдать будет легче. Что-то я завяз на этапе создания страниц в книге.
Не очень ясно как без особых премудростей массив строк конвертировать в страницы в Component.

addPage устарела, примеров addPages маловато, хотя я пока и одну страницу не осилил, прямо обидно.
 
Хм, думал книгу выдать будет легче. Что-то я завяз на этапе создания страниц в книге.
Не очень ясно как без особых премудростей массив строк конвертировать в страницы в Component.

addPage устарела, примеров addPages маловато, хотя я пока и одну страницу не осилил, прямо обидно.

PHP:
    public static Book createBook(String title, String author, List<List<String>> pages) {
        if (pages.size() < 1)
            throw new IllegalArgumentException("Невозможно создать книгу без страниц");

        Book.Builder builder = Book.builder();

        if (title != null) builder.title(Component.text(title));
        if (author != null) builder.author(Component.text(author));

        for (List<String> page : pages) {
            builder.addPage(Component.text(String.join("\n", page)));
        }

        return builder.build();
    }
 
Интересненько...
А этот бук, это net.kyori.adventure.inventory.Book?

Не совсем пока понимаю где этот объект нужно потом использовать, в мете книги? Типа

Код:
ItemStack item = new ItemStack(Material.WRITTEN_BOOK);
BookMeta bm = (BookMeta) item.getItemMeta();
bm.addPages(createBook("My title", "Author", pages));
player.getInventory().addItem(item);
 
Интересненько...
А этот бук, это net.kyori.adventure.inventory.Book?

Не совсем пока понимаю где этот объект нужно потом использовать, в мете книги? Типа

Код:
ItemStack item = new ItemStack(Material.WRITTEN_BOOK);
BookMeta bm = (BookMeta) item.getItemMeta();
bm.addPages(createBook("My title", "Author", pages));
player.getInventory().addItem(item);
Мой createBook() возвращает не список страниц, а объект Book, содержащий полную информацию о книге, включая название и автора.

Как создать из объекта Book предмет я пока не знаю. Всегда использовал их только для того, чтобы сразу открыть игроку при помощи Player#openBook(Book)

Точно знаю, что предмет можно как и раньше создавать при помощи BookMeta с использованием новых методов из AdventureAPI
 
Последнее редактирование:
Есть ещё один - показывать игроку синематик. От его лица перемещать камеру и выполнять необходимые действия. Сейчас существуют плагины, которые позволяют реализовать это максимально натурально.
Привет, а можешь накидать по памяти названий? Сам написал такой давно-давно, но лет 5 назад забросил, даже не знаю, работает ли он нынче, или нет :)
 
Привет, а можешь накидать по памяти названий? Сам написал такой давно-давно, но лет 5 назад забросил, даже не знаю, работает ли он нынче, или нет :)
Вспомнить не смог, но нашёл достаточно много вариантов.

Запись передвижения игроков:
https://spigotmc.org/resources/49554
https://spigotmc.org/resources/84751
https://spigotmc.org/resources/61524

Плавный полёт:
https://spigotmc.org/resources/11102
https://spigotmc.org/resources/98653
https://spigotmc.org/resources/14834
https://spigotmc.org/resources/95576
https://spigotmc.org/resources/31300
 
Назад
Верх