RenderExcavator.java 文件源码

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

项目:TechStack-s-HeavyMachineryMod 作者:
@Override
public void doRender(Entity entity, double x, double y, double z, float yaw, float pitch) {

    GL11.glPushMatrix();
    GL11.glTranslatef((float) x, (float) y, (float) z);
    GL11.glRotatef(180.0F, 0.0F, 1.0F, 0.0F);
    GL11.glRotatef(180.0F, 1.0F, 0.0F, 0.0F);

    this.bindEntityTexture(entity);

    this.modelExcavator.render(entity, 0.0F, 0.0F, -0.1F, 0.0F, 0.0F, 0.0625F);

    GlStateManager.translate(-1.00f, -1.75F, -.85F);
    GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F);
    GL11.glScalef(.5f, .5f, .5f);
    EntityExcavator eL = ((EntityExcavator) entity);

    boolean even = true;
    int count = 0;
    for (int i = 0; i < eL.SIZE; i++) {
        ItemStack is = eL.inventory.getStackInSlot(i);
        if (!is.isEmpty()) {
            // EntityItem customitem = new EntityItem(eDT.worldObj);
            // customitem.hoverStart = 0f;
            // customitem.setEntityItemStack(is);
            IBakedModel ibakedmodel = itemRenderer.getItemModelMesher().getItemModel(is);

            if (count > 4) {
                count = 0;
                GlStateManager.translate(-3.0f, 0.0F, 0F);
                GlStateManager.translate(0, 0.5F, .5F);

            }
            GlStateManager.translate(.5F, 0.0F, 0F);
            count += 1;

            GL11.glRotatef(45, 1, 1, 0);

            GlStateManager.enableRescaleNormal();

            if (ibakedmodel.isBuiltInRenderer()) {

                TileEntityItemStackRenderer.instance.renderByItem(is);

            } else {
                Tessellator tessellator = Tessellator.getInstance();
                BufferBuilder worldrenderer = tessellator.getBuffer();
                worldrenderer.begin(GL11.GL_QUADS, DefaultVertexFormats.ITEM);
                this.renderManager.renderEngine.bindTexture(TextureMap.LOCATION_BLOCKS_TEXTURE);
                EnumFacing[] aenumfacing = EnumFacing.values();
                int j = aenumfacing.length;

                for (int k = 0; k < j; ++k) {
                    EnumFacing enumfacing = aenumfacing[k];
                    this.RenderHelper_a(worldrenderer, ibakedmodel.getQuads(null, enumfacing, 0), -1, is);

                }

                this.RenderHelper_a(worldrenderer, ibakedmodel.getQuads(null, null, 0), -1, is);
                tessellator.draw();
            }
            GL11.glRotatef(-45, 1, 1, 0);
            even = !even;
        }
    }

    GL11.glPopMatrix();
}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号