- 1
- 0
Видел такой туториал под 1.12, пытался своими силами разобраться с помощью исходного кода печки
Частично разобрался, только с учетом того, что часть текстур отображается некорректно, а точнее не там, где оно нужно
Исходник печки задает текстуру через стороны с помощью тернарной операции, как я понял
В таком виде блок имеет всего 3 текстурки: верх, который одновременно и низ печки, стороны и передняя часть
Пытался подогнать под свои нужды (нужен блок со всеми шестью сторонами, у каждой своя текстура)
В итоге с горем пополам наклепал вот это нечто:
В регистрах указал текстурки, в getIcon попытался воссоздать что-то похожее, что и в печке
Но так как в печке на направление настроена только одна текстура - у меня получилось совсем не то, что я ожидал
Местами текстуры пропадают, а сами по себе хаотичны, нет строгого порядка в них, как того хотелось бы
Не понимаю, как этого добиться, нигде не могу найти хорошего объяснения под мою версию
Подскажите, кто чем сможет
Частично разобрался, только с учетом того, что часть текстур отображается некорректно, а точнее не там, где оно нужно
Исходник печки задает текстуру через стороны с помощью тернарной операции, как я понял
Java:
@SideOnly(Side.CLIENT)
public IIcon getIcon(int side, int meta)
{
return side == 1 ? this.Side1 : (side == 0 ? this.Side1 : (side != meta ? this.blockIcon : this.Side0));
}
@SideOnly(Side.CLIENT)
public void registerBlockIcons(IIconRegister reg)
{
this.blockIcon = reg.registerIcon("furnace_side");
this.Side0 = reg.registerIcon(this.WorkOn ? "furnace_front_on" : "furnace_front_off");
this.Side1 = reg.registerIcon("furnace_top");
}
В таком виде блок имеет всего 3 текстурки: верх, который одновременно и низ печки, стороны и передняя часть
Пытался подогнать под свои нужды (нужен блок со всеми шестью сторонами, у каждой своя текстура)
В итоге с горем пополам наклепал вот это нечто:
Java:
@SideOnly(Side.CLIENT)
public IIcon getIcon(int side, int meta)
{
if (side != meta)
{
return (side == 0) ? this.Side0 :
(side == 1 ? this.Side1 :
(side == 2 ? this.Side2 :
(side == 3 ? this.Side3 :
(side == 5 ? this.Side5 : this.blockIcon))));
} else {
return this.Side4;
}
}
@SideOnly(Side.CLIENT)
public void registerBlockIcons(IIconRegister reg)
{
this.Side0 = reg.registerIcon("B0");
this.Side1 = reg.registerIcon("B1");
this.Side2 = reg.registerIcon("B2");
this.Side3 = reg.registerIcon("B3");
this.Side4 = reg.registerIcon("B4");
this.Side5 = reg.registerIcon("B5");
}
В регистрах указал текстурки, в getIcon попытался воссоздать что-то похожее, что и в печке
Но так как в печке на направление настроена только одна текстура - у меня получилось совсем не то, что я ожидал
Местами текстуры пропадают, а сами по себе хаотичны, нет строгого порядка в них, как того хотелось бы
Не понимаю, как этого добиться, нигде не могу найти хорошего объяснения под мою версию
Подскажите, кто чем сможет