Advertisement
LamboSV

RenderCyborgCreeper

Mar 31st, 2013
58
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.42 KB | None | 0 0
  1. package cyborgcreeper.client;
  2.  
  3. import cpw.mods.fml.relauncher.Side;
  4. import cpw.mods.fml.relauncher.SideOnly;
  5. import net.minecraft.client.model.ModelBase;
  6. import net.minecraft.client.model.ModelCreeper;
  7. import net.minecraft.client.renderer.entity.RenderLiving;
  8. import net.minecraft.entity.EntityLiving;
  9. import net.minecraft.entity.monster.EntityCreeper;
  10. import net.minecraft.util.MathHelper;
  11. import org.lwjgl.opengl.GL11;
  12. import net.minecraft.src.*;
  13.  
  14. @SideOnly(Side.CLIENT)
  15. public class RenderCyborgCreeper extends RenderLiving
  16. {
  17.     /** The creeper model. */
  18.     private ModelBase creeperModel = new ModelCreeper(2.0F);
  19.  
  20.     public RenderCyborgCreeper(ModelCyborgCreeper modelCyborgCreeper, float f)
  21.     {
  22.         super(new ModelCreeper(), 0.5F);
  23.     }
  24.  
  25.     /**
  26.      * Updates creeper scale in prerender callback
  27.      */
  28.     protected void updateCreeperScale(EntityCreeper par1EntityCreeper, float par2)
  29.     {
  30.         float f1 = par1EntityCreeper.getCreeperFlashIntensity(par2);
  31.         float f2 = 1.0F + MathHelper.sin(f1 * 100.0F) * f1 * 0.01F;
  32.  
  33.         if (f1 < 0.0F)
  34.         {
  35.             f1 = 0.0F;
  36.         }
  37.  
  38.         if (f1 > 1.0F)
  39.         {
  40.             f1 = 1.0F;
  41.         }
  42.  
  43.         f1 *= f1;
  44.         f1 *= f1;
  45.         float f3 = (1.0F + f1 * 0.4F) * f2;
  46.         float f4 = (1.0F + f1 * 0.1F) / f2;
  47.         GL11.glScalef(f3, f4, f3);
  48.     }
  49.  
  50.  
  51.     protected int updateCreeperColorMultiplier(EntityCreeper par1EntityCreeper, float par2, float par3)
  52.     {
  53.         float f2 = par1EntityCreeper.getCreeperFlashIntensity(par3);
  54.  
  55.         if ((int)(f2 * 10.0F) % 2 == 0)
  56.         {
  57.             return 0;
  58.         }
  59.         else
  60.         {
  61.             int i = (int)(f2 * 0.2F * 255.0F);
  62.  
  63.             if (i < 0)
  64.             {
  65.                 i = 0;
  66.             }
  67.  
  68.             if (i > 255)
  69.             {
  70.                 i = 255;
  71.             }
  72.  
  73.             short short1 = 255;
  74.             short short2 = 255;
  75.             short short3 = 255;
  76.             return i << 24 | short1 << 16 | short2 << 8 | short3;
  77.         }
  78.     }
  79.  
  80.  
  81.     protected void preRenderCallback(EntityLiving par1EntityLiving, float par2)
  82.     {
  83.         this.updateCreeperScale((EntityCreeper)par1EntityLiving, par2);
  84.     }
  85.  
  86.    
  87.     protected int getColorMultiplier(EntityLiving par1EntityLiving, float par2, float par3)
  88.     {
  89.         return this.updateCreeperColorMultiplier((EntityCreeper)par1EntityLiving, par2, par3);
  90.     }
  91.  
  92. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement