ClientSemiBlockManager.java 文件源码

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

项目:pnc-repressurized 作者:
@SuppressWarnings({"rawtypes", "unchecked"})
@SubscribeEvent
public void renderWorldLastEvent(RenderWorldLastEvent event) {
    Minecraft mc = FMLClientHandler.instance().getClient();
    EntityPlayer player = mc.player;
    double playerX = player.prevPosX + (player.posX - player.prevPosX) * event.getPartialTicks();
    double playerY = player.prevPosY + (player.posY - player.prevPosY) * event.getPartialTicks();
    double playerZ = player.prevPosZ + (player.posZ - player.prevPosZ) * event.getPartialTicks();

    GL11.glPushMatrix();
    GL11.glTranslated(-playerX, -playerY, -playerZ);
    RenderHelper.enableStandardItemLighting();

    for (Map<BlockPos, List<ISemiBlock>> map : SemiBlockManager.getInstance(player.world).getSemiBlocks().values()) {
        for (List<ISemiBlock> semiBlocks : map.values()) {
            for(ISemiBlock semiBlock : semiBlocks){
                ISemiBlockRenderer renderer = getRenderer(semiBlock);
                if (renderer != null) {
                    GL11.glPushMatrix();
                    GL11.glTranslated(semiBlock.getPos().getX(), semiBlock.getPos().getY(), semiBlock.getPos().getZ());
                    renderer.render(semiBlock, event.getPartialTicks());
                    GL11.glPopMatrix();
                }
            }
        }
    }
    RenderHelper.disableStandardItemLighting();
    GL11.glPopMatrix();
}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号