Advertisement
Corosus

herpdercherp

Dec 10th, 2011
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 8.12 KB | None | 0 0
  1. package net.minecraft.src;
  2.  
  3. import net.minecraft.src.AxisAlignedBB;
  4. import net.minecraft.src.Entity;
  5. import net.minecraft.src.EntityScent;
  6. import net.minecraft.src.Render;
  7. import net.minecraft.src.Tessellator;
  8. import org.lwjgl.opengl.GL11;
  9.  
  10. public class RenderScent extends Render {
  11.  
  12.     public static final boolean renderLine = true;
  13.     public static final boolean renderBobber = false;
  14.     public static float yoffset = 0.4F;
  15.     public static float caughtOffset = 0.8F;
  16.     public static int stringColor = 8947848;
  17.  
  18.  
  19.     public void doRenderNode(Entity var1, double var2, double var4, double var6, float var8, float var9) {
  20.         //System.out.println("1");
  21.  
  22.         //System.out.println("2");
  23.         if (((EntityScent)var1).type == 1) {
  24.             //renderImage(var1, var2, var4, var6, var8, var9, "/misc/shadow.png");
  25.         } else {
  26.             renderImage(var1, var2, var4, var6, var8, var9, "/misc/blood.png");
  27.         }
  28.  
  29.         //}
  30.     }
  31.  
  32.     public void doRender(Entity var1, double var2, double var4, double var6, float var8, float var9) {
  33.         //if (((EntityScent)var1).type == 0) {
  34.         shadowSize = 1.0F;
  35.         //System.out.println("!!!!!!!!!!!!!! - " + (double)(((double)((EntityScent)var1).strength)/100.0D));
  36.         //}
  37.         GL11.glPushMatrix();
  38.         this.doRenderNode(var1, var2, var4, var6, var8, var9);
  39.         shadowSize = 0.0F;
  40.         //renderOffsetAABB(var1.boundingBox, var2 - var1.lastTickPosX, var4 - var1.lastTickPosY, var6 - var1.lastTickPosZ, ((EntityScent)var1).isUsed);
  41.         GL11.glPopMatrix();
  42.     }
  43.  
  44.     private void renderImage(Entity var1, double var2, double var4, double var6, float var8, float var9, String img) {
  45.         GL11.glEnable(3042 /*GL_BLEND*/);
  46.         GL11.glBlendFunc(770, 771);
  47.         RenderEngine var10 = this.renderManager.renderEngine;
  48.         this.loadTexture(img);
  49.         //var10.bindTexture(var10.getTexture(img));
  50.         World var11 = this.getWorldFromRenderManager();
  51.         GL11.glDepthMask(false);
  52.         float var12 = this.shadowSize;
  53.         double var13 = var1.lastTickPosX + (var1.posX - var1.lastTickPosX) * (double)var9;
  54.         double var15 = var1.lastTickPosY + (var1.posY - var1.lastTickPosY) * (double)var9 + (double)var1.getShadowSize();
  55.         double var17 = var1.lastTickPosZ + (var1.posZ - var1.lastTickPosZ) * (double)var9;
  56.         int var19 = MathHelper.floor_double(var13 - (double)var12);
  57.         int var20 = MathHelper.floor_double(var13 + (double)var12);
  58.         int var21 = MathHelper.floor_double(var15 - (double)var12);
  59.         int var22 = MathHelper.floor_double(var15);
  60.         int var23 = MathHelper.floor_double(var17 - (double)var12);
  61.         int var24 = MathHelper.floor_double(var17 + (double)var12);
  62.         double var25 = var2 - var13;
  63.         double var27 = var4 - var15;
  64.         double var29 = var6 - var17;
  65.         Tessellator var31 = Tessellator.instance;
  66.         var31.startDrawingQuads();
  67.         double str = (double)(((double)((EntityScent)var1).strength)/100.0D);
  68.  
  69.         //System.out.println("hmmm? - " + var1 + " - " + str);
  70.         for(int var32 = var19; var32 <= var20; ++var32) {
  71.             for(int var33 = var21; var33 <= var22; ++var33) {
  72.                 for(int var34 = var23; var34 <= var24; ++var34) {
  73.                     int var35 = var11.getBlockId(var32, var33 - 1, var34);
  74.  
  75.                     //System.out.println("1 - " + var35 + " - " + var11.getBlockLightValue(var32, var33, var34));
  76.                     if(var35 > 0 && var11.getBlockLightValue(var32, var33, var34) > 3) {
  77.                         //System.out.println("2");
  78.                         this.renderImageOnBlock(Block.blocksList[var35], var2, var4 + (double)var1.getShadowSize(), var6, var32, var33, var34, var8, var12, var25, var27 + (double)var1.getShadowSize(), var29, str);
  79.                     }
  80.                 }
  81.             }
  82.         }
  83.  
  84.         var31.draw();
  85.         GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
  86.         GL11.glDisable(3042 /*GL_BLEND*/);
  87.         GL11.glDepthMask(true);
  88.     }
  89.  
  90.     private World getWorldFromRenderManager() {
  91.         return this.renderManager.worldObj;
  92.     }
  93.  
  94.     private void renderImageOnBlock(Block var1, double var2, double var4, double var6, int var8, int var9, int var10, float var11, float var12, double var13, double var15, double var17, double transparency) {
  95.         Tessellator var19 = Tessellator.instance;
  96.  
  97.         //System.out.println("3");
  98.         if(var1.renderAsNormalBlock()) {
  99.             double var20 = transparency;//((double)var11 - (var4 - ((double)var9 + var15)) / 2.0D) * 0.5D * (double)this.getWorldFromRenderManager().getLightBrightness(var8, var9, var10);
  100.  
  101.             //System.out.println("4");
  102.             //if(var20 >= 0.0D) {
  103.             //System.out.println("5");
  104.             if(var20 > 1.0D) {
  105.                 var20 = 1.0D;
  106.             }
  107.  
  108.             //System.out.println(var20);
  109.             var19.setColorRGBA_F(1.0F, 1.0F, 1.0F, (float)var20);
  110.             double var22 = (double)var8 + var1.minX + var13;
  111.             double var24 = (double)var8 + var1.maxX + var13;
  112.             double var26 = (double)var9 + var1.minY + var15 + 0.015625D;
  113.             double var28 = (double)var10 + var1.minZ + var17;
  114.             double var30 = (double)var10 + var1.maxZ + var17;
  115.             float var32 = (float)((var2 - var22) / 2.0D / (double)var12 + 0.5D);
  116.             float var33 = (float)((var2 - var24) / 2.0D / (double)var12 + 0.5D);
  117.             float var34 = (float)((var6 - var28) / 2.0D / (double)var12 + 0.5D);
  118.             float var35 = (float)((var6 - var30) / 2.0D / (double)var12 + 0.5D);
  119.             var19.addVertexWithUV(var22, var26, var28, (double)var32, (double)var34);
  120.             var19.addVertexWithUV(var22, var26, var30, (double)var32, (double)var35);
  121.             var19.addVertexWithUV(var24, var26, var30, (double)var33, (double)var35);
  122.             var19.addVertexWithUV(var24, var26, var28, (double)var33, (double)var34);
  123.             //}
  124.         }
  125.     }
  126.  
  127.     public static void renderOffsetAABB(AxisAlignedBB var0, double var1, double var3, double var5, boolean var7) {
  128.         GL11.glDisable(3553 /*GL_TEXTURE_2D*/);
  129.         Tessellator var8 = Tessellator.instance;
  130.  
  131.         if(var7) {
  132.             GL11.glColor4f(0.0F, 0.0F, 1.0F, 1.0F);
  133.         } else {
  134.             GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
  135.         }
  136.  
  137.         var8.startDrawingQuads();
  138.         var8.setTranslationD(var1, var3, var5);
  139.         var8.setNormal(0.0F, 0.0F, -1.0F);
  140.         var8.addVertex(var0.minX, var0.maxY, var0.minZ);
  141.         var8.addVertex(var0.maxX, var0.maxY, var0.minZ);
  142.         var8.addVertex(var0.maxX, var0.minY, var0.minZ);
  143.         var8.addVertex(var0.minX, var0.minY, var0.minZ);
  144.         var8.setNormal(0.0F, 0.0F, 1.0F);
  145.         var8.addVertex(var0.minX, var0.minY, var0.maxZ);
  146.         var8.addVertex(var0.maxX, var0.minY, var0.maxZ);
  147.         var8.addVertex(var0.maxX, var0.maxY, var0.maxZ);
  148.         var8.addVertex(var0.minX, var0.maxY, var0.maxZ);
  149.         var8.setNormal(0.0F, -1.0F, 0.0F);
  150.         var8.addVertex(var0.minX, var0.minY, var0.minZ);
  151.         var8.addVertex(var0.maxX, var0.minY, var0.minZ);
  152.         var8.addVertex(var0.maxX, var0.minY, var0.maxZ);
  153.         var8.addVertex(var0.minX, var0.minY, var0.maxZ);
  154.         var8.setNormal(0.0F, 1.0F, 0.0F);
  155.         var8.addVertex(var0.minX, var0.maxY, var0.maxZ);
  156.         var8.addVertex(var0.maxX, var0.maxY, var0.maxZ);
  157.         var8.addVertex(var0.maxX, var0.maxY, var0.minZ);
  158.         var8.addVertex(var0.minX, var0.maxY, var0.minZ);
  159.         var8.setNormal(-1.0F, 0.0F, 0.0F);
  160.         var8.addVertex(var0.minX, var0.minY, var0.maxZ);
  161.         var8.addVertex(var0.minX, var0.maxY, var0.maxZ);
  162.         var8.addVertex(var0.minX, var0.maxY, var0.minZ);
  163.         var8.addVertex(var0.minX, var0.minY, var0.minZ);
  164.         var8.setNormal(1.0F, 0.0F, 0.0F);
  165.         var8.addVertex(var0.maxX, var0.minY, var0.minZ);
  166.         var8.addVertex(var0.maxX, var0.maxY, var0.minZ);
  167.         var8.addVertex(var0.maxX, var0.maxY, var0.maxZ);
  168.         var8.addVertex(var0.maxX, var0.minY, var0.maxZ);
  169.         var8.setTranslationD(0.0D, 0.0D, 0.0D);
  170.         var8.draw();
  171.         GL11.glEnable(3553 /*GL_TEXTURE_2D*/);
  172.     }
  173.  
  174. }
  175.  
  176.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement