Advertisement
Corosus

Untitled

Nov 9th, 2012
59
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 9.10 KB | None | 0 0
  1. package weather.blocks;
  2.  
  3. import net.minecraft.client.Minecraft;
  4. import net.minecraft.src.Block;
  5. import net.minecraft.src.Entity;
  6. import net.minecraft.src.EntityLiving;
  7. import net.minecraft.src.EntityRenderer;
  8. import net.minecraft.src.FontRenderer;
  9. import net.minecraft.src.MathHelper;
  10. import net.minecraft.src.Render;
  11. import net.minecraft.src.RenderBlocks;
  12. import net.minecraft.src.Tessellator;
  13. import net.minecraft.src.World;
  14.  
  15. import org.lwjgl.opengl.GL11;
  16.  
  17. public class MovingBlockRenderer extends Render
  18. {
  19.     private RenderBlocks a;
  20.  
  21.     public MovingBlockRenderer()
  22.     {
  23.         this.shadowSize = 0.5F;
  24.         this.a = new RenderBlocks();
  25.     }
  26.  
  27.     public void a(MovingBlock var1, double var2, double var4, double var6, float var8, float var9)
  28.     {
  29.         GL11.glPushMatrix();
  30.         GL11.glTranslatef((float)var2, (float)var4, (float)var6);
  31.         this.loadTexture("/terrain.png");
  32.         Block var10 = Block.blocksList[var1.tile];
  33.         World var11 = var1.worldObj;
  34.         GL11.glDisable(GL11.GL_LIGHTING);
  35.         GL11.glRotatef((float)(var1.vecX * 180.0D / 12.566370964050293D - 0.0D), 1.0F, 0.0F, 0.0F);
  36.         GL11.glRotatef((float)(var1.vecY * 180.0D / (Math.PI * 2D) - 0.0D), 0.0F, 1.0F, 0.0F);
  37.         GL11.glRotatef((float)(var1.vecZ * 180.0D / (Math.PI * 2D) - 0.0D), 0.0F, 0.0F, 1.0F);
  38.         this.renderFallingCube(var1, var10, var11, MathHelper.floor_double(var1.posX), MathHelper.floor_double(var1.posY), MathHelper.floor_double(var1.posZ), var1.metadata);
  39.        
  40.         //renderAABB(var1.boundingBox);
  41.        
  42.         //passSpecialRender(var1, var2, var4, var6);
  43.         //passSpecialRender(var1, 0, 0, 0);
  44.        
  45.         GL11.glEnable(GL11.GL_LIGHTING);
  46.         GL11.glPopMatrix();
  47.     }
  48.  
  49.     public void renderFallingCube(MovingBlock var1, Block var2, World var3, int var4, int var5, int var6, int var7)
  50.     {
  51.         float var8 = 0.5F;
  52.         float var9 = 1.0F;
  53.         float var10 = 0.8F;
  54.         float var11 = 0.6F;
  55.         Tessellator var12 = Tessellator.instance;
  56.         var12.startDrawingQuads();
  57.         float var13 = var2.getBlockBrightness(var3, var4, var5, var6);
  58.         float var14 = var2.getBlockBrightness(var3, var4, var5 - 1, var6);
  59.         var12.setBrightness(var2.getMixedBrightnessForBlock(var3, var4, var5, var6));
  60.  
  61.         if (var14 < var13)
  62.         {
  63.             ;
  64.         }
  65.  
  66.         var13 = 1.0F;
  67.         var14 = 1.0F;
  68.         float var15 = 1.0F;
  69.         float var16 = 1.0F;
  70.         float var17 = 1.0F;
  71.  
  72.         if (var2.blockID == Block.leaves.blockID)
  73.         {
  74.             int var18 = var2.colorMultiplier(var3, (int)var1.posX, (int)var1.posY, (int)var1.posZ);
  75.             var15 = (float)(var18 >> 16 & 255) / 255.0F;
  76.             var16 = (float)(var18 >> 8 & 255) / 255.0F;
  77.             var17 = (float)(var18 & 255) / 255.0F;
  78.  
  79.             if (EntityRenderer.anaglyphEnable)
  80.             {
  81.                 float var19 = (var15 * 30.0F + var16 * 59.0F + var17 * 11.0F) / 100.0F;
  82.                 float var20 = (var15 * 30.0F + var16 * 70.0F) / 100.0F;
  83.                 float var21 = (var15 * 30.0F + var17 * 70.0F) / 100.0F;
  84.                 var15 = var19;
  85.                 var16 = var20;
  86.                 var17 = var21;
  87.             }
  88.         }
  89.        
  90.         //NEW! - set block render size
  91.         a.func_83020_a(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
  92.         //a.func_83020_a(0.25D, 0.25D, 0.25D, 0.75D, 0.75D, 0.75D);
  93.  
  94.         var12.setColorOpaque_F(var15 * var8 * var14, var16 * var8 * var14, var17 * var8 * var14);
  95.         this.a.renderBottomFace(var2, -0.5D, -0.5D, -0.5D, var2.getBlockTextureFromSideAndMetadata(0, var7));
  96.  
  97.         if (var14 < var13)
  98.         {
  99.             var14 = var13;
  100.         }
  101.  
  102.         var12.setColorOpaque_F(var15 * var9 * var14, var16 * var9 * var14, var17 * var9 * var14);
  103.         this.a.renderTopFace(var2, -0.5D, -0.5D, -0.5D, var2.getBlockTextureFromSideAndMetadata(1, var7));
  104.  
  105.         if (var14 < var13)
  106.         {
  107.             var14 = var13;
  108.         }
  109.  
  110.         var12.setColorOpaque_F(var15 * var10 * var14, var16 * var10 * var14, var17 * var10 * var14);
  111.         this.a.renderEastFace(var2, -0.5D, -0.5D, -0.5D, var2.getBlockTextureFromSideAndMetadata(2, var7));
  112.  
  113.         if (var14 < var13)
  114.         {
  115.             var14 = var13;
  116.         }
  117.  
  118.         var12.setColorOpaque_F(var15 * var10 * var14, var16 * var10 * var14, var17 * var10 * var14);
  119.         this.a.renderWestFace(var2, -0.5D, -0.5D, -0.5D, var2.getBlockTextureFromSideAndMetadata(3, var7));
  120.  
  121.         if (var14 < var13)
  122.         {
  123.             var14 = var13;
  124.         }
  125.  
  126.         var12.setColorOpaque_F(var15 * var11 * var14, var16 * var11 * var14, var17 * var11 * var14);
  127.         this.a.renderNorthFace(var2, -0.5D, -0.5D, -0.5D, var2.getBlockTextureFromSideAndMetadata(4, var7));
  128.  
  129.         if (var14 < var13)
  130.         {
  131.             var14 = var13;
  132.         }
  133.  
  134.         var12.setColorOpaque_F(var15 * var11 * var14, var16 * var11 * var14, var17 * var11 * var14);
  135.         this.a.renderSouthFace(var2, -0.5D, -0.5D, -0.5D, var2.getBlockTextureFromSideAndMetadata(5, var7));
  136.         var12.draw();
  137.     }
  138.  
  139.     public void doRender(Entity var1, double var2, double var4, double var6, float var8, float var9)
  140.     {
  141.         this.a((MovingBlock)var1, var2, var4, var6, var8, var9);
  142.        
  143.     }
  144.    
  145.     protected void passSpecialRender(Entity entityliving, double d, double d1, double d2)
  146.     {
  147.         renderName(entityliving, d, d1, d2);
  148.         //c_CoroAIUtil.renderJobs((c_EnhAI)entityliving);
  149.     }
  150.  
  151.  
  152.     protected void renderName(Entity entitykoa, double d, double d1, double d2)
  153.     {
  154.         //  System.out.println("counter: " + counter);
  155.  
  156.         if(Minecraft.isGuiEnabled() && entitykoa != renderManager.livingPlayer)
  157.         {
  158.             float f = 1.6F;
  159.             float f1 = 0.01666667F * f;
  160.             float f2 = entitykoa.getDistanceToEntity(renderManager.livingPlayer);
  161.             float f3 = entitykoa.isSneaking() ? 32F : 64F;
  162.             String s = "sdfsdfsfsdf";
  163.             if(f2 < f3)
  164.             {
  165.                
  166.  
  167.                 if(!entitykoa.isSneaking())
  168.                 {
  169.                     renderLivingLabel(entitykoa, s, d, d1, d2, 64);
  170.                
  171.                 } else
  172.                 {
  173.                     FontRenderer fontrenderer = getFontRendererFromRenderManager();
  174.                     GL11.glPushMatrix();
  175.                     GL11.glTranslatef((float)d + 0.0F, (float)d1 + 2.3F, (float)d2);
  176.                     GL11.glNormal3f(0.0F, 1.0F, 0.0F);
  177.                     GL11.glRotatef(-renderManager.playerViewY, 0.0F, 1.0F, 0.0F);
  178.                     GL11.glRotatef(renderManager.playerViewX, 1.0F, 0.0F, 0.0F);
  179.                     GL11.glScalef(-f1, -f1, f1);
  180.                     GL11.glDisable(2896 /*GL_LIGHTING*/);
  181.                     GL11.glTranslatef(0.0F, 0.25F / f1, 0.0F);
  182.                     GL11.glDepthMask(false);
  183.                     GL11.glEnable(3042 /*GL_BLEND*/);
  184.                     GL11.glBlendFunc(770, 771);
  185.                     Tessellator tessellator = Tessellator.instance;
  186.                     GL11.glDisable(3553 /*GL_TEXTURE_2D*/);
  187.                     tessellator.startDrawingQuads();
  188.                     int i = fontrenderer.getStringWidth(s) / 2;
  189.                     tessellator.setColorRGBA_F(0.0F, 0.0F, 0.0F, 0.25F);
  190.                     tessellator.addVertex(-i - 1, -1D, 0.0D);
  191.                     tessellator.addVertex(-i - 1, 8D, 0.0D);
  192.                     tessellator.addVertex(i + 1, 8D, 0.0D);
  193.                     tessellator.addVertex(i + 1, -1D, 0.0D);
  194.                     tessellator.draw();
  195.                     GL11.glEnable(3553 /*GL_TEXTURE_2D*/);
  196.                     GL11.glDepthMask(true);
  197.                     fontrenderer.drawString(s, -fontrenderer.getStringWidth(s) / 2, 0, 0x20ffffff);
  198.                     GL11.glEnable(2896 /*GL_LIGHTING*/);
  199.                     GL11.glDisable(3042 /*GL_BLEND*/);
  200.                     GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
  201.                     GL11.glPopMatrix();
  202.                 }
  203.             }
  204.         }
  205.     }
  206.    
  207.     protected void renderLivingLabel(Entity entityliving, String s, double d, double d1, double d2, int i)
  208.     {
  209.         float f = entityliving.getDistanceToEntity(renderManager.livingPlayer);
  210.         if(f > (float)i)
  211.         {
  212.             return;
  213.         }
  214.         FontRenderer fontrenderer = getFontRendererFromRenderManager();
  215.         float f1 = 1.6F;
  216.         float f2 = 0.01666667F * f1;
  217.         GL11.glPushMatrix();
  218.         GL11.glTranslatef((float)d + 0.0F, (float)d1 + 2.3F, (float)d2);
  219.         GL11.glNormal3f(0.0F, 1.0F, 0.0F);
  220.         GL11.glRotatef(-renderManager.playerViewY, 0.0F, 1.0F, 0.0F);
  221.         GL11.glRotatef(renderManager.playerViewX, 1.0F, 0.0F, 0.0F);
  222.         GL11.glScalef(-f2, -f2, f2);
  223.         GL11.glDisable(2896 /*GL_LIGHTING*/);
  224.         GL11.glDepthMask(false);
  225.         GL11.glDisable(2929 /*GL_DEPTH_TEST*/);
  226.         GL11.glEnable(3042 /*GL_BLEND*/);
  227.         GL11.glBlendFunc(770, 771);
  228.         Tessellator tessellator = Tessellator.instance;
  229.         byte byte0 = 0;
  230.         if(s != null && s.equals("deadmau5"))
  231.         {
  232.             byte0 = -10;
  233.         }
  234.         GL11.glDisable(3553 /*GL_TEXTURE_2D*/);
  235.         tessellator.startDrawingQuads();
  236.         int j = fontrenderer.getStringWidth(s) / 2;
  237.         tessellator.setColorRGBA_F(0.0F, 0.0F, 0.0F, 0.25F);
  238.         tessellator.addVertex(-j - 1, -1 + byte0, 0.0D);
  239.         tessellator.addVertex(-j - 1, 8 + byte0, 0.0D);
  240.         tessellator.addVertex(j + 1, 8 + byte0, 0.0D);
  241.         tessellator.addVertex(j + 1, -1 + byte0, 0.0D);
  242.         tessellator.draw();
  243.         GL11.glEnable(3553 /*GL_TEXTURE_2D*/);
  244.         fontrenderer.drawString(s, -fontrenderer.getStringWidth(s) / 2, byte0, 0x20ffffff);
  245.         GL11.glEnable(2929 /*GL_DEPTH_TEST*/);
  246.         GL11.glDepthMask(true);
  247.         fontrenderer.drawString(s, -fontrenderer.getStringWidth(s) / 2, byte0, -1);
  248.         GL11.glEnable(2896 /*GL_LIGHTING*/);
  249.         GL11.glDisable(3042 /*GL_BLEND*/);
  250.         GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
  251.         GL11.glPopMatrix();
  252.     }
  253. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement