TileEntityCrateRenderer.java 文件源码

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

项目:TechStack-s-HeavyMachineryMod 作者:
@Override
public void render(TileEntity tileentity, double x, double y, double z, float f, int i, float a) {

    Tessellator tessellator = Tessellator.getInstance();

    // Minecraft.getMinecraft().entityRenderer.enableLightMap() and
    // .disableLightMap(),

    GL11.glPushMatrix();

    // GL11.glEnable(GL12.GL_RESCALE_NORMAL);

    GL11.glTranslated(x + .5f, y, z + .5f);
    GL11.glScalef(.5F, .5F, .5F);
    this.bindTexture(getResourceLocation());

    this.teModel.render(tileentity, 0.0F, 0.0F, -0.1F, 0.0F, 0.0F, 0.0625F);
    GL11.glScalef(2f, 2f, 2f);
    // GL11.glScalef(2f, 2f, 2f);
    // GL11.glTranslated(-.5f, .5f, -.5f);
    // ((ModelTractor) this.modelTractor).renderGroupObject("Plow_Cube");
    // GL11.glDisableClientState(GL11.GL_LIGHTING);
    GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F);
    String str = "";
    if (tileentity instanceof TileEntityCrate) {
        TileEntityCrate te = (TileEntityCrate) tileentity;
        int count = 0;
        int inventoryIndex = 0;
        ItemStack is = te.getStackInSlot(inventoryIndex);
        if (is != null && !is.isEmpty()) {
            str = FormatAmount(is.getCount() + te.AmtInReserve);
            // EntityItem customitem = new EntityItem(eDT.worldObj);
            // customitem.hoverStart = 0f;
            // customitem.setEntityItemStack(is);
            IBakedModel ibakedmodel = itemRenderer.getItemModelMesher().getItemModel(is);
            GL11.glRotatef(te.rotAmt, 0, 1, 0);

            GlStateManager.translate(-.25F, 0.05F, -.25F);
            GL11.glScalef(.5F, .5F, .5F);
            //

            GlStateManager.enableRescaleNormal();
            if (ibakedmodel.isBuiltInRenderer()) {

                TileEntityItemStackRenderer.instance.renderByItem(is);

            } else {
                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.glPopMatrix();
        float f2 = this.renderManager.playerViewY;
        float f1 = this.renderManager.playerViewX;
        boolean flag1 = this.renderManager.options.thirdPersonView == 2;
        // String str = "" + is.stackSize;
        Entity entity = this.rendererDispatcher.entity;
        double d0 = te.getDistanceSq(entity.posX, entity.posY, entity.posZ);
        // the 400 on the next line is the square of 20 *20 // save 1 math operation by pre calc
        if (d0 <= (double) (400) && Minecraft.getMinecraft().player.isSneaking()) {
            if (!str.equals("")) {
                EntityRenderer.drawNameplate(this.renderManager.getFontRenderer(), str, (float) x + .5f, (float) y + .75f, (float) z + .5f, 0, f2, f1, flag1, false);
            }
        }
    }

}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号