Броня 1.7.10

Привет! Я опять пришел просить помощи. Да-да я тот самый человек который пришел на форум из за того что у меня не собирался декомпилированный мод, каюсь.
Суть проблемы.
Импортировал я obj в игру как броню.
И она прикрепилась к телу. Я так понимаю из за рендера как предмета.
И мне нужно привязать её к голове.
Вот код привязки модели
Код:
@SideOnly(Side.CLIENT)
@Override
   public ModelBiped getArmorModel(EntityLivingBase entityLiving, ItemStack itemStack, int armorSlot)
     {
        return new HelmRender();
     }
А вот код рендера
Код:
public class HelmRender extends ModelBiped
{
    IModelCustom model = AdvancedModelLoader.loadModel(new ResourceLocation(ModInfo.MODID, "obj/HelmMod.obj"));
    ResourceLocation texture = new ResourceLocation(ModInfo.MODID, "textures/models/armor/HelmTexture.png");


    public void render(Entity entity)
       {
    if(entity instanceof EntityPlayer)
          {
            GL11.glPushMatrix();
            Minecraft.getMinecraft().getTextureManager().bindTexture(this.texture);
            GL11.glRotatef(180.0F, -280.0f, 0.0f, 270.0f);
            GL11.glScalef(0.29F, 0.29F, 0.29F);
            GL11.glTranslatef(0.16F, 0.8F, 0.0F);
            this.model.renderAll();
    
            GL11.glPopMatrix();
          }
       }
    }
[merge_posts_bbcode]Добавлено: 25.04.2016 17:02:27[/merge_posts_bbcode]

Да, я понимаю что нужно брать угол поворота головы и его переносить на броню.
 
Попробуй GL11.glRotatef(180, 1, 0, 0);
Да и покажи модель шлема, а то я же не понимаю как шлем должен выглядеть.
 
Я ведь скрин скинул, все отображается нормально. Просто за головой не вращается, а мне это нужно
 
Я видел это, не могу прикрутить код рассчитывающий угол поворота головы
Это вроде он
Код:
public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) {
    super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); 
    //те 2 строки из ModelBiped
    setRotationAngleY(f3 / (180F / (float)Math.PI));
    setRotationAngleX(f4 / (180F / (float)Math.PI));
}

Но, это для течне модели. И указывается он в классе модели.
Я пока не могу попробовать но есть предположение что сделать можно сделать так
Код:
public void render(float f, float f1, float f2, float f3, float f4, float f5, Entity entity, float headRotY, float headRotX)
       {
    if(entity instanceof EntityPlayer)
          {
            GL11.glPushMatrix();
            Minecraft.getMinecraft().getTextureManager().bindTexture(this.texture);
            GL11.glRotatef(f1, f2, f3, f4, f5, entity);//вот тут мне кажется что нельзя так указать
            this.headRotY(f3 / (180F / (float)Math.PI));
            this.headRotX(f4 / (180F / (float)Math.PI));
            GL11.glScalef(0.29F, 0.29F, 0.29F);
            GL11.glTranslatef(0.16F, 0.8F, 0.0F);
            this.model.renderAll();
    
            GL11.glPopMatrix();
          }
       }
 
Назад
Сверху