Добавить сущности модель, соответсвующующую obj

Версия Minecraft
1.12.2
7,099
324
1,510
У мя есть obj-модель, хочу чтобы у моей сущности была такая же модель.
Попробовал следующее: зарегать эту модель для блока и отрендерить этот блок в рендере сущности.
Результат: у блока модель норм(скрин один, без текстуры), а в рендере сущности заюзать не получается(второй скрин).
Че я делаю не правильно?
blockstate:
{
  "forge_marker": 1,
  "defaults": {
    "textures": {},
    "model": "modid:some_model.obj"
  },
  "variants": {
    "normal": [{}],
    "inventory": [{
      "transform": "forge:default-block"
    }]
  }
}
рендер сущности:
 @Override
    public void doRender(BaseEntity entity, double x, double y, double z, float entityYaw, float partialTicks) {
        GlStateManager.pushMatrix();
        GlStateManager.disableCull();
        OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, 0F, 240F);

        GlStateManager.translate(x,y,z);

        /* First variant
        ItemRenderer ir = Minecraft.getMinecraft().getItemRenderer();
        ir.renderItem(Minecraft.getMinecraft().player,
                GameRegistry.makeItemStack(entity.getModel().getResourceDomain()+":"+entity.getModel().getResourcePath(),0,1,""),
                ItemCameraTransforms.TransformType.GROUND);
        */
        
        //Second
        IBakedModel model = Minecraft.getMinecraft().getBlockRendererDispatcher().getBlockModelShapes().getModelManager().getModel(entity.getModel());

        Tessellator tessellator = Tessellator.getInstance();
        BufferBuilder bufferbuilder = tessellator.getBuffer();
        bufferbuilder.begin(7, DefaultVertexFormats.BLOCK);

        for (EnumFacing enumfacing : EnumFacing.values()) {
            List<BakedQuad> quads = model.getQuads(null, enumfacing, 0L);
            renderQuads(bufferbuilder, quads);
        }

        List<BakedQuad> quads = model.getQuads(null, null, 0L);
        renderQuads(bufferbuilder, quads);
        tessellator.draw();

        GlStateManager.setActiveTexture(OpenGlHelper.lightmapTexUnit);
        GlStateManager.enableTexture2D();
        GlStateManager.setActiveTexture(OpenGlHelper.defaultTexUnit);
        GlStateManager.enableCull();
        GlStateManager.popMatrix();
    }
1576517944025.png

1576517977957.png


Бонусный вопрос:
Есть ли способ сконвертировать obj-модель в java-модель, которая целиком кодом, через вызовы тесселятора, типо

Заранее спасибо)
 
1,038
57
229
Есть ли способ сконвертировать obj-модель в java-модель
могу написать конвертер если хочешь, но это будет зависеть именно от версии майна.
либо можешь использовать мои наработки по DeepStation.

а в рендере сущности заюзать не получается
явно что-то с регистрацией рендера, возможно у тебя их несколько и ты видишь какой то другой рендер (пробовал, когда то давно для 1.2.5 но это было так давно... что ничем не поможет).
 
Сверху