- 156
- 0
Здравствуйте уважаемые форумчане, у меня недавно возникла небольшая проблема. Хочу сделать поворот своей кастомной модели при постановке блока в зависимости от направления взгляда игрока. Собственно, саму функцию я нашел и нашел способ, как записать результат функции в метаданные. Но при вызове в классе рендера метаданной блока по координатам всегда возвращает ноль. Перерыл уже все форумы, смотрел код самого майна - ничего не помогло. Код куска рендера и блока прилагается
Класс блока
Класс рендера
Класс блока
Код:
public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase living, ItemStack stack) {
byte b0 = 0;
int l = MathHelper.floor_double((double)(living.rotationYaw * 4.0F / 360.0F) + 0.5D) & 3;
if (l == 0)
{
b0 = 2;
}
if (l == 1)
{
b0 = 5;
}
if (l == 2)
{
b0 = 3;
}
if (l == 3)
{
b0 = 4;
}
world.setBlockMetadataWithNotify(x, y, z, (int)b0, 2);
}
Класс рендера
Код:
public void renderTileEntityAt(TileEntityWindmill te, double x, double y, double z, float f) {
int i = 0;
if (te.hasWorldObj()) {
i = te.getBlockMetadata();
}
System.out.println(i);//дебаг
GL11.glPushMatrix();
GL11.glTranslated(x, y, z);
GL11.glTranslatef(0.5F, 0.5F, 0.5F);
bindTexture(texture);
model.renderAll();
GL11.glPopMatrix();
}
@Override
public void renderTileEntityAt(TileEntity te, double x, double y, double z, float f) {
this.renderTileEntityAt((TileEntityWindmill)te, x, y, z, f);
}