Advertisement
Guest User

Untitled

a guest
Oct 23rd, 2014
215
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.08 KB | None | 0 0
  1. package com.creativemd.randomadditions.client.rendering;
  2.  
  3. import org.lwjgl.opengl.GL11;
  4.  
  5. import net.minecraft.block.Block;
  6. import net.minecraft.client.Minecraft;
  7. import net.minecraft.client.gui.FontRenderer;
  8. import net.minecraft.client.renderer.ItemRenderer;
  9. import net.minecraft.client.renderer.OpenGlHelper;
  10. import net.minecraft.client.renderer.RenderBlocks;
  11. import net.minecraft.client.renderer.Tessellator;
  12. import net.minecraft.client.renderer.entity.RenderItem;
  13. import net.minecraft.client.renderer.texture.TextureManager;
  14. import net.minecraft.client.renderer.texture.TextureMap;
  15. import net.minecraft.item.Item;
  16. import net.minecraft.item.ItemStack;
  17. import net.minecraft.util.IIcon;
  18. import net.minecraft.util.ResourceLocation;
  19. import cpw.mods.fml.relauncher.Side;
  20. import cpw.mods.fml.relauncher.SideOnly;
  21.  
  22. @SideOnly(Side.CLIENT)
  23. public class RenderHelper2D {
  24.    
  25.     public static RenderItem renderer = RenderItem.getInstance();
  26.     public static Minecraft mc = Minecraft.getMinecraft();
  27.    
  28.     public static void renderItem(ItemStack stack, int x, int y)
  29.     {
  30.         renderItem(stack, x, y, 1.0);
  31.     }
  32.    
  33.     public static void renderItem(ItemStack stack, int x, int y, double alpha, double rotation)
  34.     {
  35.         renderItem(stack, x, y, alpha, rotation, 16, 16);
  36.     }
  37.    
  38.     public static void renderItem(ItemStack stack, int x, int y, double alpha, double rotation, double sizeX, double sizeY)
  39.     {
  40.         if(stack != null)
  41.             renderItemIntoGUI(mc.fontRenderer, mc.renderEngine, stack, x, y, true, alpha, rotation, sizeX, sizeY);
  42.     }
  43.    
  44.     public static void renderItem(ItemStack stack, int x, int y, double alpha)
  45.     {
  46.         renderItem(stack, x, y, alpha, 0);
  47.     }
  48.    
  49.     public static void renderIcon(IIcon icon, int x, int y, double alpha, boolean isBlock, double rotation, double sizeX, double sizeY)
  50.     {
  51.         GL11.glPushMatrix();
  52.         GL11.glTranslated(x+8, y+8, 0);
  53.         GL11.glRotated(rotation, 0, 0, 1);
  54.         GL11.glTranslated(-x-8, -y-8, 0);
  55.         GL11.glDisable(GL11.GL_LIGHTING);
  56.         GL11.glEnable(GL11.GL_BLEND);
  57.         OpenGlHelper.glBlendFunc(770, 771, 1, 0);
  58.         int sprite = 1;
  59.         if(isBlock)
  60.             sprite = 0;
  61.         ResourceLocation resourcelocation = mc.renderEngine.getResourceLocation(sprite);
  62.         mc.renderEngine.bindTexture(resourcelocation);
  63.        
  64.         GL11.glDisable(GL11.GL_LIGHTING); //Forge: Make sure that render states are reset, a renderEffect can derp them up.
  65.         GL11.glEnable(GL11.GL_ALPHA_TEST);
  66.         GL11.glEnable(GL11.GL_BLEND);
  67.        
  68.         GL11.glColor4d(1, 1, 1, alpha);
  69.        
  70.         renderer.renderIcon(x, y, icon, (int)sizeX, (int)sizeY);
  71.        
  72.         GL11.glEnable(GL11.GL_LIGHTING);
  73.         GL11.glDisable(GL11.GL_ALPHA_TEST);
  74.         GL11.glDisable(GL11.GL_BLEND);
  75.        
  76.         GL11.glEnable(GL11.GL_LIGHTING);
  77.        
  78.         GL11.glEnable(GL11.GL_CULL_FACE);
  79.         GL11.glPopMatrix();
  80.     }
  81.    
  82.     public static void renderItemIntoGUI(FontRenderer font, TextureManager texture, ItemStack stack, int x, int y, boolean renderEffect, double alpha, double rotation, double sizeX, double sizeY)
  83.     {
  84.     //necessary render code
  85.     }
  86. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement