Урок пятый. Модель и текстура предмета

Список уроков
Урок четвертый. Добавляем предмет!

В прошлом уроке мы добавили свой собственный блок в Minecraft! Воодушевляет? Не сомневаюсь! Вот только одна беда, модели у него все еще нет и потому выглядит он как какой-то непонятный ящик со страшненькой текстурой. Игра в логах так же не оставляет это без внимания, и при загрузке можно увидеть ошибку FileNotFoundException.

[18:15:15] [Server-Worker-4/WARN] [minecraft/ModelBakery]: Unable to load model: ‘tutorial_mod_gs:sausage#inventory’ referenced from: tutorial_mod_gs:sausage#inventory: java.io.FileNotFoundException: tutorial_mod_gs:models/item/sausage.json

Она указывает, что игра не смогла найти соответствующей нашему предмету модель.  Пора это исправить.

Файлы моделей — json файлики. Полный путь к каждому должен быть таким: —src/main/resources/assets/YOUR_MODID/models/item/YOUR_MODEL.json.

Как вы догадались, ресурсы — особый вид данных внутри программы. К ним относят картинки, аудио, текстовые документы и так далее. В том числе и json модели, рецепты, состояния блоков и файлы локализации.

Из заданного пути у вас уже есть папка resources, а значит нужно создать внутри assets, папку с id мода, models, item, и уже только в последней файл в формате .json.

Так как для примера я создал предмет sausage, то его мой файл будет таким sausage.json.

А полный путь для примера будет таким: src/main/resources/assets/tutorial_mod_gs/models/item/sausage.json.

В файл sausage.json напишем такой код:

Тут используем максимально простую модель. Значение для «parent»: «item/generated» указывает игре, что мы хотим использовать плоскую модель предмета. Большинство предметов в игре её и используют. А «layer0»: «tutorial_mod_gs:item/sausage» указывает имя текстуры нашего предмета. layer0 используется в указанной нами плоской модели. Там же снова указан наш mod id. Это нужно игре, чтобы знать, а где именно искать эту текстуру? В нашем моде? В каком-то другом? А может быть в самом майнкрафте?

Отлично, модель написали, текстуру указали. Но не спешим запускать, ведь фактически текстуры еще нет. Путь к ней должен быть таким: src/main/resources/assets/tutorial_mod_gs/textures/item/sausage.png. Как видите, путь аналогичен модели, но вместо папки models мы идем в textures. Текстуры должны быть квадратными, сам майнкрафт использует размер текстуры 16×16. И обязательно .png.

Если все создали, добавили, правильно подписали и написали — запускаем. Текстура появилась? У меня да! 😀

Еее! Сосиска в игре!

Да, только сейчас подумал, как же сильно она похожа не на сосиску… Нужно будет перерисовать. Но урок у нас не о том, как рисовать сосиски или вообще текстуры, а потому будем считать это успехом!

Работает!

На этом пока все, спасибо за внимание. Дальше будет интереснее!

Урок шестой. Добавляем вкладку!

Добавить комментарий