Minecraft Forge 1.8 - Загрузка блоков текстур

Я только начал изучать Java во время modding Minecraft. Я просмотрел учебник по добавлению блоков в игру с использованием API Minecraft Forge, но у меня есть проблема. Больше не существует метода .setBlockTextureName(), поэтому я не знаю, что делать. У меня есть простой блок, добавленный в мою игру, но у него нет текстуры, и я хочу добавить к нему текстуру. Как мне это сделать для Minecraft 1.8?

PS: Если это дубликат, извините, я только видел вопросы о монах Minecraft, а не текстуры для 1.8 (помните об этом, Forge API для 1.8 отличается от любой другой версии), поэтому я решил спросите себя.

Если мне нужно что-то прояснить, пожалуйста, дайте мне знать!

Ответы

Ответ 1

Текстурирование сильно отличается в 1.8. Вот несколько руководств:

Обновление блоков;
Обновление элементов.

Для обоих вышеперечисленных:

  • Удалите все GameRegistry.registerBlock из основного класса мод. Теперь они должны быть в конструкторе block/item.
  • Добавьте поле private final name и создайте для него геттер.

Для блоков:

  • В src/main/resources/assets/{MODID}/models/block вам понадобятся 2 файла JSON.
    Первый должен называться {BLOCKNAME}.json и содержать следующее:

    {
        "parent": "block/cube_all",
        "textures": {
            "all": "{MODID}:blocks/{BLOCKNAME}"
        }
    }
    

    Второй имеет то же имя, входит в src/main/resources/assets/{MODID}/models/item и имеет этот код:

    {
        "parent": "{MODID}:block/{BLOCKNAME}",
        "display": {
            "thirdperson": {
                "rotation": [ 10, -45, 170 ],
                "translation": [ 0, 1.5, -2.75 ],
                "scale": [ 0.375, 0.375, 0.375 ]
            }
        }
    }
    
  • Теперь в src/main/resources/assets/{MODID}/blockstates вам понадобится еще один JSON файл. С тем же именем он должен содержать этот код:

    {
        "variants": {
            "normal": { "model": "{MODID}:{BLOCKNAME}" }
        }
    }
    

Вы должны заменить {MODID} и {BLOCKNAME} своим идентификатором мод и именем блока соответственно.

Ответ 2

Я рекомендую читать Minecraft Modding

Способ, которым Minecraft отображает блоки, значительно изменился на 1,8. Ранее форма блоков была определена в java-коде. Это означало, что (например) BlockTorch всегда имел бы ту же форму, и только текстуры могли быть изменены. Minecraft теперь использует файлы моделей для определения формы и текстуры.

в частности, "Некоторые разъяснения некоторых ключевых моментов" на приведенной выше странице.

Смотрите также: Блокировать модели