3D render

Как привинтить к итему 3D рендер? Я попробовал, ничего не выходить:

ClientProxy:
Код:
public class ClientProxy extends CommonProxy 
{

    public static ItemLoader il;
    
    
    
    public void load() 
    {
        //Block
        TileEntitySpecialRenderer renderer = new RenderCobbleBlock();
        ClientRegistry.bindTileEntitySpecialRenderer(TECobbles.class, renderer);
        
        TileEntitySpecialRenderer renderer1 = new RenderSticks();
        ClientRegistry.bindTileEntitySpecialRenderer(TESticks.class, renderer1);
        //Item
        MinecraftForgeClient.registerItemRenderer(il.axe, new Test());
        
        
        
        //Event
        MinecraftForge.EVENT_BUS.register(new EventHandlerMod());

        
        
    }

AxeItem:
Код:
public class Test implements IItemRenderer {
        private static Axe model;

        public Test() {
            model = new Axe();
        }

        @Override
        public boolean handleRenderType(ItemStack is, ItemRenderType type) {return true;}

        @Override
        public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack is, ItemRendererHelper helper) {return true;}

        @Override
        public void renderItem(ItemRenderType type, ItemStack is, Object... data) {
            GL11.glPushMatrix();
            GL11.glTranslatef(0.5F, 1.5F, 0.5F);
            GL11.glRotatef(180F, 0.0F, 0.0F, 1.0F);
            Minecraft.getMinecraft().renderEngine.bindTexture("textures/blocks/gravel.png"));
             GL11.glPushMatrix();
                model.rend(0.0625F);
             GL11.glPopMatrix();
            GL11.glPopMatrix();
        }

}
AxeItem:
Код:
public class AxeItem extends AxeClass {

    protected AxeItem(ToolMaterial par1) {
        super(par1);
        
    
    }

}

пните меня, пожалуйста, в нужную сторону.
 
waxta_teemoxi написал(а):
Код:
        @Override
        public void renderItem(ItemRenderType type, ItemStack is, Object... data) {
            GL11.glPushMatrix();
            GL11.glTranslatef(0.5F, 1.5F, 0.5F);
            GL11.glRotatef(180F, 0.0F, 0.0F, 1.0F);
            Minecraft.getMinecraft().renderEngine.bindTexture("textures/blocks/gravel.png"));
             GL11.glPushMatrix();
                model.rend(0.0625F);
             GL11.glPopMatrix();
            GL11.glPopMatrix();
        }

Код:
        @Override
        public void renderItem(ItemRenderType type, ItemStack is, Object... data) {
            GL11.glPushMatrix();
            GL11.glTranslatef(0.5F, 1.5F, 0.5F);
            GL11.glRotatef(180F, 0.0F, 0.0F, 1.0F);
            Minecraft.getMinecraft().renderEngine.bindTexture("textures/blocks/gravel.png"));
            model.rend(0.0625F);
            GL11.glPopMatrix();
        }
Если не помогло, то я точно не знаю в чём может быть проблема.
 
waxta_teemoxi написал(а):
AxeItem:
Код:
public class AxeItem extends AxeClass {

    protected AxeItem(ToolMaterial par1) {
        super(par1);
        
    
    }

}
Код:
public AxeItem(ToolMaterial par1) {
super(par1);
}
Причин может быть множество, нужно смотреть в другой код о возможных проблемах.
 
Всё, разобрался! Просто регистрацию рендера нужно было перенести в конструктор итема. Например:
Код:
public class SameItem extends Item{
      public SameItem(ToolMaterial mat){
      super(mat);
      
      MinecraftForgeClient.registerItemRenderer(this, new SameItemRenderer());
      }
}


У меня другой вопрос:
glRotatef(f,f1,f2,f3);
Какие флоаты за какую плоскость отвечают? 
 
Код:
glRotatef(f,f1,f2,f3);
f - На сколько градусов поворот в float значении (относительно оси),
f1 - В сколько раз больше поворачивать по оси X в float значении,
f2 - В сколько раз больше поворачивать по оси Y в float значении,
f3 - В сколько раз больше поворачивать по оси Z в float значении,
Ну как-то так.
 
Назад
Сверху