BlockRenderingRegistry.java 文件源码

java
阅读 15 收藏 0 点赞 0 评论 0

项目:CodeChickenLib 作者:
static void renderBlockDamage(IBlockAccess world, BlockPos pos, IBlockState state, TextureAtlasSprite sprite) {
    ICCBlockRenderer renderer = blockRendererList.get(state.getRenderType());
    if (renderer != null) {
        state = state.getActualState(world, pos);
        //TODO This needs to be optimized, probably not the most efficient thing in the world..
        BufferBuilder parent = Tessellator.getInstance().getBuffer();
        BakingVertexBuffer buffer = BakingVertexBuffer.create();
        buffer.setTranslation(-pos.getX(), -pos.getY(), -pos.getZ());
        buffer.begin(7, parent.getVertexFormat());
        renderer.handleRenderBlockDamage(world, pos, state, sprite, buffer);
        buffer.finishDrawing();
        buffer.setTranslation(0, 0, 0);
        BlockModelRenderer modelRenderer = Minecraft.getMinecraft().getBlockRendererDispatcher().getBlockModelRenderer();
        modelRenderer.renderModel(world, new PerspectiveAwareBakedModel(buffer.bake(), TransformUtils.DEFAULT_BLOCK, new ModelProperties(true, true, null)), state, pos, parent, true);
    }
}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号