- 1,159
- 38
- 544
Здравствуйте народ. У меня встала довольно обыденная задача - сделать блок с лицевой стороной, способный поворачиваться к игроку при установке, и имеющий разные текстуры для каждой из сторон блока. Т.е. по сути реализовать поведение печки.
Обычно я копипащу код аналогичных блоков, но сегодня моем терпению пришел конец. Видеть подобное я больше не в состоянии:
Читать такое крайне сложно. Поэтому я попытался найти более читаемое решение, но лучше не стало:
Как я могу сделать код
UPD: Решение
Обычно я копипащу код аналогичных блоков, но сегодня моем терпению пришел конец. Видеть подобное я больше не в состоянии:
BlockFurnace:
@SideOnly(Side.CLIENT)
public IIcon getIcon(int p_149691_1_, int p_149691_2_)
{
return p_149691_1_ == 1 ? this.field_149935_N : (p_149691_1_ == 0 ? this.field_149935_N : (p_149691_1_ != p_149691_2_ ? this.blockIcon : this.field_149936_O));
}
Читать такое крайне сложно. Поэтому я попытался найти более читаемое решение, но лучше не стало:
MyDirectionalBlock:
override fun getIcon(side: Int, meta: Int): IIcon {
return if (side == 1) sides[0]
else if (side == 0) sides[0]
else if (meta == 2 && side == 2) sides[2]
else if (meta == 0 && side == 3) sides[2]
else if (meta == 1 && side == 4) sides[2]
else if (meta == 3 && side == 5) sides[2]
else if (meta == 0 && side == 2) sides[3]
else if (meta == 2 && side == 3) sides[3]
else if (meta == 3 && side == 4) sides[3]
else if (meta == 1 && side == 5) sides[3]
else super.getIcon(side, meta)
}
Как я могу сделать код
getIcon()
лучше, когда у меня есть несколько текстур под разные стороны блока и требование поворачиваться лицевой стороной к игроку при установке?UPD: Решение
Последнее редактирование: