Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public void renderItemTexture(int x, int y, ItemStack stack, boolean shouldRenderTextOnLeft, boolean drawText)
- {
- IBakedModel ibakedmodel = mc.getRenderItem().getItemModelMesher().getItemModel(new ItemStack(stack.getItem(),
- 1, stack.getItemDamage()));
- this.renderItemIntoGUI(stack, x, y, ibakedmodel);
- }
- // Custom version of RenderItem#renderItemIntoGui so that it can call custom setupGuiTransformation
- // Is used to render items onto the screen.
- public void renderItemIntoGUI(ItemStack stack, int x, int y, IBakedModel model)
- {
- GlStateManager.pushMatrix();
- this.mc.getTextureManager().bindTexture(TextureMap.locationBlocksTexture);
- this.mc.getTextureManager().getTexture(TextureMap.locationBlocksTexture).setBlurMipmap(false, false);
- GlStateManager.enableRescaleNormal();
- GlStateManager.enableAlpha();
- GlStateManager.alphaFunc(516, 0.1F);
- GlStateManager.enableBlend();
- GlStateManager.blendFunc(770, 771);
- GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F);
- this.setupGuiTransform(stack, x + 8, y + 8, model.isGui3d());
- if (x > mc.displayWidth) x = mc.displayWidth - 32;
- if (y > mc.displayHeight) y = mc.displayHeight - 32;
- model = ForgeHooksClient.handleCameraTransforms(model, ItemCameraTransforms.TransformType.GUI);
- Minecraft.getMinecraft().getRenderItem().renderItem(stack, model);
- GlStateManager.disableLighting();
- GlStateManager.disableBlend();
- GlStateManager.disableAlpha();
- GlStateManager.disableRescaleNormal();
- GlStateManager.popMatrix();
- this.mc.getTextureManager().bindTexture(TextureMap.locationBlocksTexture);
- this.mc.getTextureManager().getTexture(TextureMap.locationBlocksTexture).restoreLastBlurMipmap();
- }
- // Custom version of RenderItem#setupGuiTransformation because using the vanilla one causes
- // rotation, scale, translation errors.
- private void setupGuiTransform(ItemStack stack, int xPosition, int yPosition, boolean isGui3d)
- {
- GlStateManager.translate((float) xPosition, (float) yPosition, this.zLevel - 7.8F);
- GlStateManager.translate(8.0F, 8.0F, -20.0F);
- GlStateManager.scale(1.0F, 1.0F, -1.0F);
- if (stack.getItem().getItemFromBlock(Block.getBlockFromItem(stack.getItem())) != null && isGui3d)
- {
- GlStateManager.scale(40.0F, 40.0F, 40.0F);
- GlStateManager.rotate(210.0F, 1.0F, 0.0F, 0.0F);
- RenderHelper.enableStandardItemLighting();
- GlStateManager.rotate(-135.0F, 0.0F, 1.0F, 0.0F);
- if (stack.getItem().hasEffect(stack))
- {
- GlStateManager.scale(0.5F, 0.5F, 0.5F);
- GlStateManager.translate(0.562F, 0.69F, 0.0F);
- }
- }
- else if (stack.getItem() != null && isGui3d)
- {
- GlStateManager.scale(20.0F, 20.0F, 20.0F);
- GlStateManager.rotate(210.0F, 1.0F, 0.0F, 0.0F);
- RenderHelper.enableStandardItemLighting();
- GlStateManager.rotate(-135.0F, 0.0F, 1.0F, 0.0F);
- GlStateManager.translate(0.5F, 0.6F, 0.0F);
- }
- else if (stack.getItem().getItemFromBlock(Block.getBlockFromItem(stack.getItem())) != null && !isGui3d)
- {
- GlStateManager.scale(64.0F, 64.0F, 64.0F);
- GlStateManager.rotate(180.0F, 1.0F, 0.0F, 0.0F);
- GlStateManager.disableLighting();
- if (stack.getItem().hasEffect(stack))
- {
- GlStateManager.scale(0.5F, 0.5F, 0.5F);
- GlStateManager.translate(-0.248F, 0.248F, 0.0F);
- }
- }
- else
- {
- GlStateManager.scale(32.0F, 32.0F, 32.0F);
- GlStateManager.rotate(180.0F, 1.0F, 0.0F, 0.0F);
- GlStateManager.translate(-0.25F, 0.25F, 0.0F);
- GlStateManager.disableLighting();
- }
- }
- public static void renderItemIcon(float x, float y, float z, Item item, float partialTickTime)
- {
- RenderManager rendermanager = mc.getRenderManager();
- float playerX = (float) (mc.thePlayer.lastTickPosX + (mc.thePlayer.posX -
- mc.thePlayer.lastTickPosX) * partialTickTime);
- float playerY = (float) (mc.thePlayer.lastTickPosY + (mc.thePlayer.posY -
- mc.thePlayer.lastTickPosY) * partialTickTime);
- float playerZ = (float) (mc.thePlayer.lastTickPosZ + (mc.thePlayer.posZ -
- mc.thePlayer.lastTickPosZ) * partialTickTime);
- float dx = x - playerX;
- float dy = y - playerY;
- float dz = z - playerZ;
- float scale = 0.025F;
- GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F);
- GlStateManager.pushMatrix();
- GlStateManager.translate(dx, dy, dz);
- GlStateManager.rotate(-rendermanager.playerViewY, 0.0F, 1.0F, 0.0F);
- GlStateManager.rotate(mc.gameSettings.thirdPersonView != 2 ?
- rendermanager.playerViewX : -rendermanager.playerViewX, 1.0F, 0.0F, 0.0F);
- GlStateManager.scale(-scale, -scale, -scale);
- GlStateManager.disableLighting();
- GlStateManager.disableDepth();
- GlStateManager.enableBlend();
- GlStateManager.blendFunc(770, 771);
- renderItemTexture(-8, -8, item, 16, 16);
- GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F);
- GlStateManager.enableDepth();
- GlStateManager.enableLighting();
- GlStateManager.popMatrix();
- }
- // Used to render Item Icons into the world.
- public static void renderItemTexture(int x, int y, Item item, int width, int height)
- {
- IBakedModel ibakedmodel = mc.getRenderItem().getItemModelMesher().getItemModel(new ItemStack(item));
- TextureAtlasSprite atlas = mc.getTextureMapBlocks().getAtlasSprite(ibakedmodel.getTexture().getIconName());
- mc.getTextureManager().bindTexture(TextureMap.locationBlocksTexture);
- drawTexturedModalRect(x, y, atlas, width, height, 0);
- }
Advertisement
Add Comment
Please, Sign In to add comment