3D рендер иконки в инвентаре

Версия Minecraft
1.7.10
Сделал блок с кастомным рендером, когда ставишь его, рендер работает, но в инвентаре иконка предмета не 3D . (Должна быть 3D моделька в инветаре и в руке, а не 2D).

Где может быть ошибка?


ItemRender:

Java:
public class ItemRenderOakTable implements IItemRenderer {

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

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

    @Override
    public void renderItem(ItemRenderType type, ItemStack item, Object... data) {
    
        TileEntityRendererDispatcher.instance.renderTileEntityAt(new TileEntityOakTableBlock(), 0.0d, 0.0d, 0.0d, 0.0f);
    }
}



Client Proxy :


Java:
public class ClientProxy extends CommonProxy {
     public void registerRenderThings() {
         //Oak table
         TileEntitySpecialRenderer render = new RenderOakTable();
         ClientRegistry.bindTileEntitySpecialRenderer(TileEntityOakTableBlock.class, render);
        MinecraftForgeClient.registerItemRenderer(Item.getItemFromBlock(Solyanka.blockOakTableBlock), new ItemRenderOakTable());
     }



Block Render:


Java:
public class RenderOakTable extends TileEntitySpecialRenderer{

    private static final ResourceLocation texture = new ResourceLocation(Solyanka.modid+ ":" + "textures/model/Oak table.png");
    
    private OakTable model;
    
    public RenderOakTable() {
        this.model = new OakTable();
    }
    
    @Override
    public void renderTileEntityAt(TileEntity tileentity, double x, double y, double z, float f) {
        GL11.glPushMatrix();
        GL11.glTranslatef((float)x + 0.5F, (float)y + 1.5F, (float)z + 0.5F);
        GL11.glRotatef(180, 0F, 0F, 1F);
        this.bindTexture(texture);
        GL11.glPushMatrix();
        this.model.renderModel(0.0625F);
        GL11.glPopMatrix();
        GL11.glPopMatrix();
    }
}



Block:


Java:
public class OakTableBlock extends BlockContainer{

    public OakTableBlock(Material matrerial) {
        super(matrerial);
        this.setHardness(1.6F);
        this.setResistance(2.1F);
         this.setBlockBounds(1f/16f*6f, 0.0f, 1f/16f*6f, 1f-1f/16f*6f, 1f-1f/16f*11f,1f-1f/16f*6f);
        this.setCreativeTab(Solyanka.solyankaTab);
    }
    
    public int getRenderType() {
        return -9060;
    }
    
    public boolean isOpaqueCube() {
        return false;
        }
    
    public boolean renderAsNormalBlock() {
        return false;
    }

    @Override
    public TileEntity createNewTileEntity(World world, int p_149915_2_) {
                 return new TileEntityOakTableBlock();
    }
    
    @SideOnly(Side.CLIENT)
    public void registerBlockIcons(IIconRegister iconRegister) {
        this.blockIcon = iconRegister.registerIcon(Solyanka.modid + ":" + this.getUnlocalizedName().substring(5));
    }
    
    @SideOnly(Side.CLIENT)
     public Block getBlockDropped(int par1, Random par2, int par3)
     {
     return Solyanka.blockOakTableBlock;
     }
}



Model :



Java:
public class OakTable extends ModelBase
{
  //fields
    ModelRenderer Shape1;
    ModelRenderer Shape2;
    ModelRenderer Shape3;
    ModelRenderer Shape4;
    ModelRenderer Shape5;
 
  public OakTable()
  {
    textureWidth = 64;
    textureHeight = 64;
    
      Shape1 = new ModelRenderer(this, 0, 0);
      Shape1.addBox(0F, 0F, 0F, 16, 2, 16);
      Shape1.setRotationPoint(-8F, 11F, -8F);
      Shape1.setTextureSize(64, 64);
      Shape1.mirror = true;
      setRotation(Shape1, 0F, 0F, 0F);
      Shape2 = new ModelRenderer(this, 0, 0);
      Shape2.addBox(0F, 0F, 0F, 2, 11, 2);
      Shape2.setRotationPoint(-7F, 13F, -7F);
      Shape2.setTextureSize(64, 64);
      Shape2.mirror = true;
      setRotation(Shape2, 0F, 0F, 0F);
      Shape3 = new ModelRenderer(this, 0, 0);
      Shape3.addBox(0F, 0F, 0F, 2, 11, 2);
      Shape3.setRotationPoint(5F, 13F, 5F);
      Shape3.setTextureSize(64, 64);
      Shape3.mirror = true;
      setRotation(Shape3, 0F, 0F, 0F);
      Shape4 = new ModelRenderer(this, 0, 0);
      Shape4.addBox(0F, 0F, 0F, 2, 11, 2);
      Shape4.setRotationPoint(-7F, 13F, 5F);
      Shape4.setTextureSize(64, 64);
      Shape4.mirror = true;
      setRotation(Shape4, 0F, 0F, 0F);
      Shape5 = new ModelRenderer(this, 0, 0);
      Shape5.addBox(0F, 0F, 0F, 2, 11, 2);
      Shape5.setRotationPoint(5F, 13F, -7F);
      Shape5.setTextureSize(64, 64);
      Shape5.mirror = true;
      setRotation(Shape5, 0F, 0F, 0F);
  }
 
  public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5)
  {
    super.render(entity, f, f1, f2, f3, f4, f5);
    setRotationAngles(f, f1, f2, f3, f4, f5, entity);
    Shape1.render(f5);
    Shape2.render(f5);
    Shape3.render(f5);
    Shape4.render(f5);
    Shape5.render(f5);
  }
 
  public void renderModel(float f) {
        Shape1.render(f);
        Shape2.render(f);
        Shape3.render(f);
        Shape4.render(f);
        Shape5.render(f);
  }
 
  public void setRotation(ModelRenderer model, float x, float y, float z)
  {
    model.rotateAngleX = x;
    model.rotateAngleY = y;
    model.rotateAngleZ = z;
  }
 
  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);
  }
}
 
Рендери модель тайла отдельно в рендере предмета
Java:
    @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(RenderTile.texture);
        RenderTile.model.render();
        GL11.glPopMatrix();
    }
 
Рендери модель тайла отдельно в рендере предмета
Java:
@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(RenderTile.texture);
RenderTile.model.render();
GL11.glPopMatrix();
}

К сожалению, не помогло, иконка все еще 2d
 
Назад
Сверху