Метадата! Опять! (1.8.8)

Так, рябяты. Пытаюсь добавить варианты блока с метадатой в креативную вкладку.
Делаю через ItemBlock по старинке. Блоки добавляются, имена видны нормально, однако моделей их майн не видит и blockstage ищет по имени основного блока, а не сабблоков.
Если смотреть пример того же блока кварца, то для каждого варианта у него свой файл стадий.

Подскажите, где прописываются пути к этим файлам?
Или хотя бы где лежит ванильный файлик ItemBlock для блока кварца? Что-то не могу его найти.
Спасибо.
 
Liahim написал(а):
Так, рябяты. Пытаюсь добавить варианты блока с метадатой в креативную вкладку.
Делаю через ItemBlock по старинке. Блоки добавляются, имена видны нормально, однако моделей их майн не видит и blockstage ищет по имени основного блока, а не сабблоков.
Если смотреть пример того же блока кварца, то для каждого варианта у него свой файл стадий.
Мне кажется, это по твоей теме. Там как раз пример добавления блоков с разной метадатой.
 
Да, я видел этот пример, но хотел разобраться именно в блоке кварца.
В указанном примере автор все варианты пихает в один blockstate.
Код:
 private EnumType(int ID, String name) {}


А в кварце они разные для каждого варианта блока:
Код:
 private EnumType(int ID, String name, String unlocalizedName) {}

Мне показалось, так удобнее. Ну, если не разберусь, придётся делать как в примере )
Спасибо.
 
Нужен ещё совет.
Пытаюсь добавить плиту.
В классе создаю BlockState:
Код:
    protected BlockState createBlockState()
    {
        return this.isDouble() ? new BlockState(this, new IProperty[] {VARIANT}): new BlockState(this, new IProperty[] {VARIANT, HALF});
    }

Но при запуске майн всё равно ищет у двойных плит вариант HALF.
Код:
Model definition for location mymod:slabDouble#half=bottom,variant=brick not found
Model definition for location mymod:slabDouble#half=top,variant=brick not found

В чём может быть беда?
 
Liahim написал(а):
Код:
{VARIANT, HALF}
Но при запуске майн всё равно ищет у двойных плит вариант HALF.
Код:
Model definition for location mymod:slabDouble#half=bottom,variant=brick not found
Model definition for location mymod:slabDouble#half=top,variant=brick not found
В чём может быть беда?

Ну там если у твоих плит 2 параметра (VARIANT и HALF), то очевидно, что он и будет искать модели для верхней и нижней части плиты. Посмотри на Wiki , там у плит есть такие разновидности, как Каменная плита (44:0) и Одиночная каменная плита (44:8). Может в этом дело?

Я в твоем случае просто сделал бы им модели и посмотрел на результат.
 
Ну, логично сделать модели, конечно...
Но, я думал, параметр isDouble() должен отсекать добавление таких вариантов, ведь если он верен, пропертисы добавляются только одни
Код:
new BlockState(this, new IProperty[] {VARIANT})



Тут же речь идёт именно о двойных плитах.
В них по стандарту есть такой параметр как seamless, но его я удалил за ненадобностью.

Вот строчка из ванильной плиты:
Код:
protected BlockState createBlockState()
    {
        return this.isDouble() ? new BlockState(this, new IProperty[] {SEAMLESS, VARIANT}): new BlockState(this, new IProperty[] {HALF, VARIANT});
    }

В итоге, он у меня не удалился, а заменился на HALF О_о
[merge_posts_bbcode]Добавлено: 03.12.2015 11:59:26[/merge_posts_bbcode]

Такое ощущение, что проверка isDouble() не работает... Хотя, с виду, плиты функционируют как надо.
 
В общем, видимо, плиты плохо воспринимают isDouble() прописанный при регистрации.
Для нормальной работы потребовалось создать по техническому классу для двойных плит и обычных, в которых уже указывается нужный булеан.
Использовал этот тутор.
 
Назад
Сверху