Для простого блока создать ресурсы ненамного сложнее чем мы это делали для предмета. Но есть и весомое отличие. Блоки имеют ещё один обязательный тип ресурсов: blockstate.
Так что для создания полного набора ресурсов для блока нам нужны такие папки:
1 2 3 |
src/main/resources/assets/YOUR_MODID/blockstates/ src/main/resources/assets/YOUR_MODID/models/block/ src/main/resources/assets/YOUR_MODID /textures/block/ |
В blockstates разделение на папки не нужно, т.к. они существуют только для блоков.
И само собой нам ещё нужна будет модель для предмета, который отображает блок в инвентаре (если такой блок существует). Понятное дело, что техническим блокам такой предмет не нужен.
Самый простой блок
Для начала организуем самый простой блок. Все стороны одинаковые, и вариант расположения в пространстве тоже.
Для примера я буду использовать блок с именем fortified_stone.json, который я добавлял в моде с MODID gsmod.
В модели блока пишем следующее:
1 2 3 4 5 6 |
{ "parent": "minecraft:block/cube_all", "textures": { "all": "gsmod:block/fortified_stone" } } |
Родителем берём блок, у которого все стороны одинаковые. Так что нужно показать только текстуру all, т.е. для всех сторон.
В папку с текстурами блоков просто добавляем текстуру своего блока.
А в blockstates создаём ещё один файл fortified_stone.json. Этот блок отображает различные модели для блоков, в зависимости от их положения и т.д. Например: колокол, факел, забор.
Но у нас простой блок, у которого только одно возможное состояние:
1 2 3 4 5 6 7 |
{ "variants": { "": { "model": "gsmod:block/fortified_stone" } } } |
Тут мы просто указали модель, которую нужно использовать для этого состояния. Состояние только одно, так что в любом случае будет использована только одна модель.
Как вы могли заметить, у предметов обязательным было имя модели, а иначе он не будет отрисован. Но тут обязательным будет только соответствие имени blockstate блока, а модели уже прописываем сами, как и текстуры.
Модель для предмета
И не забываем, что если у вашего блока есть предмет, то его тоже нужно прописать! Для этого в папке с моделями для предметов создаём fortified_stone.json и просто пишем там ссылку на модель для блока. Больше ничего не нужно.
1 2 3 |
{ "parent": "gsmod:block/fortified_stone" } |
Можно и какую-то другую модель использовать, но подробнее об этом можно найти в разборе ресурсов предмета тут.
Список всех уроков: Создание модов для Minecraft 1.15-1.17 [Forge/Fabric]
Исходный код проекта на Github