Текстура

Версия Minecraft
1.7.10
3
0
Как можно сделать каждую сторону блока другой текстурой?
 
97
2
21
Код:
{
    "variants": {
        "facing=north": { "model": "furnace" },
        "facing=south": { "model": "furnace", "y": 180 },
        "facing=west":  { "model": "furnace", "y": 270 },
        "facing=east":  { "model": "furnace", "y": 90 }
    }
}
Код:
{
    "variants": {
        "facing=north": { "model": "lit_furnace" },
        "facing=south": { "model": "lit_furnace", "y": 180 },
        "facing=west":  { "model": "lit_furnace", "y": 270 },
        "facing=east":  { "model": "lit_furnace", "y": 90 }
    }
}
 
269
8
19
Из установленного твоего setTextureName("названиетекстуры")
делаешь в папке с текстурой блока
названиетекстуры_0
названиетекстуры_1
названиетекстуры_2
названиетекстуры_3
названиетекстуры_4
названиетекстуры_5

6 текстур потому-что у блока 6 сторон.

Java:
public IIcon[] iconsSide = new IIcon[6];



 @Override

        public IIcon getIcon(int side, int meta) {

            return this.iconsSide [side];

        }

        @Override

        public void registerBlockIcons(IIconRegister reg) {

            for (int i = 0; i < 6; i ++) {

                this.iconsSide [i] = reg.registerIcon(this.textureName + "_" + i);

            }

            

        }
 
32
1
11
Например, у тебя есть 3 разные текстуры, которые ты хочешь повесить на один блок. Соответственно, тебе нужны 3 переменные типа IIcon, объявленные в классе блока. В registerBlockIcons регаешь путь к текстурам. А сами текстуры ставятся на блок методом getIcon. Там есть 2 функции: одна для отрисовки блока в мире, вторая - для инвентаря. И там, и там есть параметр side, который определяет номер стороны, на которой будет отрендерена текстура.
 
683
3
21
Java:
public IIcon[] icons = new IIcon[6];
//тут твой конструктор...
@Override
public void registerBlockIcons(IIconRegister reg) {
    for (int i = 0; i < 6; i ++) {
        this.icons[i] = reg.registerIcon(this.textureName + "_" + i);
    }
}
//В папку assets/id твоего мода/resources/textures/blocks/ добавь файлы с таким именем которые ты указал в this.setBlockTextureName>_<код стороны блока>
@Override
public IIcon getIcon(int side, int meta) {
    return this.icons[side];
}
 
Сверху