- 156
- 0
Вечер добрый всем! Сразу перейду к вопросу. Делаю кастомную коллизию для блока с определенным NBT тегом. Пока что у меня в классе блока прописано это:
TileEntityRoof_Con_Int - это тайл энтити блока.
getPosition() - функция из класса тайла, возвращающая переменную, которую я предварительно записываю в нбт теги и считываю.
При заходе в игру у блока обычная коллизия, но если повторно поставить его - коллизия становится кастомной. Как можно решить эту проблему?
P.S. И да, не надо предлагать мне делать коллизии с помощью метадат, в данной ситуации мне выгоднее было бы использовать NBT теги.
Код:
@Override
public void setBlockBoundsBasedOnState(IBlockAccess world, int x, int y, int z) {
TileEntityRoof_Con_Int tile = (TileEntityRoof_Con_Int) world.getTileEntity(x, y, z);
if(tile.getPosition() == 2) {
this.setBlockBounds(0.0F, 0.5F, 0.0F, 1.0F, 1.0F, 1.0F);
}
else {
this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F);
}
}
getPosition() - функция из класса тайла, возвращающая переменную, которую я предварительно записываю в нбт теги и считываю.
При заходе в игру у блока обычная коллизия, но если повторно поставить его - коллизия становится кастомной. Как можно решить эту проблему?
P.S. И да, не надо предлагать мне делать коллизии с помощью метадат, в данной ситуации мне выгоднее было бы использовать NBT теги.