Привет. Не особо интересовался я датапаками, но течение популярное и посмотреть захотелось. В особенности меня интересовали не изменения каких-то простых вещей или рецепты, а то, как датапаки могут взаимодействовать с миром и игроков. Я это узнал, и даже предлагаю ради интереса написать простенький свой. Начнём с совсем простого.
Этому и будет посвящен сей материал. Разберём как можно создать свой датапак, его структуру увидим и выведем приветствие игрока в чате. Своего рода Hello world! для датапаков.
Датапаки используют сложные комбинации команд консоли, так что понимание команд игры будет очень полезным.
Свой датапак. Начало!
В удобном месте создаём папку для датапака. Я назову свою hello_datapack.
В неё добавляем файл pack.mcmeta. Буквально можно создать обычный .txt и переименовать. Но так можно сделать только если у вас отображены Расширения имен файлов! Убедитесь, что в конце нет никаких txt!
Пишем туда такую конструкцию:
1 2 3 4 5 6 |
{ "pack": { "pack_format": 6, "description": "Made by Astler" } } |
Как я писал в инструкции к ресурс паку Свои модели для мобов в Minecraft Optifine.
Цифра 6 для pack_format соответствует версиям 1.16.2 — 1.16.5. Для других версий:
- 4 для версий 1.13 – 1.14.4
- 5 для версий 1.15 – 1.16.1
- 6 для версий 1.16.2 – 1.16.5
- 7 для версии 1.17+
Теперь создадим необходимые папки. В корне датапака создаём папку «data». В этой папке нужно добавить ещё две папки: «minecraft» и папку для ваших файлов, имя которой выбираем сами. У меня это будет «geekstand».
Переходим в папку «minecraft». Сюда добавляем папку «tags», а в ней ещё одну «functions». Ух. Много папок. Но тут наконец всё. В «functions» добавляем файл load.json. Туда пишем:
1 2 3 4 5 |
{ "values": [ "geekstand:load" ] } |
Этот файлик создаст точку входа для нашего мода, будет запущено при загрузке мира. И да, нужно учитывать, что вашу надпись можно будет увидеть в консоли при запуске мира, но чтобы этот текст увидел игрок: пишем /reload. Впрочем, я спешу, ведь ещё нет никакой фразы :D.
Теперь переходим к самому контенту датапака. Вернемся в «data». Открываем папку «geekstand» и в неё добавляем ещё одну: «functions». С папками теперь всё.
Помните содержимое файла load.json? Мы написали это: «geekstand:load». Значит теперь, в папку «functions» в папке «geekstand» мы добавим load.mcfunction.
Прописываем туда такую команду:
1 |
tellraw @a [{"text":"\nHi, ","color":"blue","bold":"true"}, {"selector":"@a","color":"blue","bold":"true"}, "!", {"text":"How are you?","color":"gold"}] |
Эту команду вы можете запустить и в обычной игре, но в этом нет никакого интереса.
Сохраняем файлик и собираем это всё в zip архив. Проверьте после запаковки, что папка «data» и файл pack.mcmeta находятся в корне архива.
Установка и запуск датапака
Запускаем игру, переходим к созданию нового мира:
Нажимаем на Наборы данных:
И просто перетягиваем zip датапака в окно игры.
Активируем его и жмём готово. Создаём мир.
Пишем /reload и видим в чате:
Надо добавить пробел. Редактируем команду и перезапускаем:
1 |
tellraw @a [{"text":"\nHi, ","color":"blue","bold":"true"}, {"selector":"@a","color":"blue","bold":"true"}, "!", {"text":" How are you?","color":"gold"}] |
Добавим кликабельную ссылку
Теперь добавим ссылку? Многие датапаки предлагают посетить ресурс автора.
Под предыдущей командой добавляем такую строку:
1 |
tellraw @a [{"text":"Visit my website: ","color":"blue"},{"text":"GeekStand.top\n","color":"#FFD166","clickEvent":{"action":"open_url","value":"https://geekstand.top"}}] |
У меня уже готова вторая часть, она будет круче!
А на этом сегодня всё, можете ещё поиграть с цветами и текстами.
Полезное по теме: Создание датапака (англ.)
Пингбэк: Датапаки. Урок 2. Самостоятельный верстак – GeekStand