Advertisement
Guest User

Render Mongoose

a guest
Jun 16th, 2015
552
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.37 KB | None | 0 0
  1. package halocraft;
  2.  
  3. import net.minecraft.block.state.IBlockState;
  4. import net.minecraft.client.Minecraft;
  5. import net.minecraft.client.model.ModelBase;
  6. import net.minecraft.client.model.ModelBoat;
  7. import net.minecraft.client.renderer.BlockModelRenderer;
  8. import net.minecraft.client.renderer.BlockRendererDispatcher;
  9. import net.minecraft.client.renderer.GlStateManager;
  10. import net.minecraft.client.renderer.Tessellator;
  11. import net.minecraft.client.renderer.WorldRenderer;
  12. import net.minecraft.client.renderer.entity.Render;
  13. import net.minecraft.client.renderer.entity.RenderManager;
  14. import net.minecraft.client.resources.IResourceManager;
  15. import net.minecraft.client.resources.model.IBakedModel;
  16. import net.minecraft.client.resources.model.ModelResourceLocation;
  17. import net.minecraft.entity.Entity;
  18. import net.minecraft.entity.item.EntityBoat;
  19. import net.minecraft.util.BlockPos;
  20. import net.minecraft.util.MathHelper;
  21. import net.minecraft.util.ResourceLocation;
  22. import net.minecraft.world.World;
  23. import net.minecraftforge.client.event.ModelBakeEvent;
  24. import net.minecraftforge.client.model.ICustomModelLoader;
  25. import net.minecraftforge.client.model.IFlexibleBakedModel;
  26. import net.minecraftforge.client.model.IModel;
  27. import net.minecraftforge.client.model.ModelLoaderRegistry;
  28. import net.minecraftforge.client.model.b3d.B3DLoader;
  29. import net.minecraftforge.fml.relauncher.Side;
  30. import net.minecraftforge.fml.relauncher.SideOnly;
  31.  
  32. @SideOnly(Side.CLIENT)
  33. public class RenderMongooseEntity extends Render
  34. {
  35.     private static final ResourceLocation boatTextures = new ResourceLocation("halocraft:textures/entities/MongooseRender.png");
  36.     private static final ModelResourceLocation boatModel = new ModelResourceLocation("/assets/models/Mongoose.b3d");
  37.     private static final String __OBFID = "CL_00000981";
  38.     IModel model = null;
  39.     public RenderMongooseEntity(RenderManager p_i46190_1_)
  40.     {
  41.         super(p_i46190_1_);
  42.         B3DLoader.instance.addDomain("halocraft");
  43.         model = B3DLoader.instance.loadModel(boatModel);
  44.         this.shadowSize = 0.5F;
  45.     }
  46.  
  47.     public void doRender(EntityMongoose par1EntityMongoose, double p_180552_2_, double p_180552_4_, double p_180552_6_, float p_180552_8_, float p_180552_9_)
  48.     {
  49.         World world = par1EntityMongoose.getWorldObj();
  50.         BlockPos blockpos = new BlockPos(par1EntityMongoose);
  51.         Tessellator tessellator = Tessellator.getInstance();
  52.         WorldRenderer worldrenderer = tessellator.getWorldRenderer();
  53.         GlStateManager.pushMatrix();
  54.         GlStateManager.translate((float)p_180552_2_, (float)p_180552_4_ + 1.5F, (float)p_180552_6_);
  55.         //GlStateManager.rotate(180.0F - p_180552_8_, 0.0F, 1.0F, 0.0F);
  56.         float f2 = (float)par1EntityMongoose.getTimeSinceHit() - p_180552_9_;
  57.         float f3 = par1EntityMongoose.getDamageTaken() - p_180552_9_;
  58.  
  59.         if (f3 < 0.0F)
  60.         {
  61.             f3 = 0.0F;
  62.         }
  63.  
  64.         if (f2 > 0.0F)
  65.         {
  66.             GlStateManager.rotate(MathHelper.sin(f2) * f2 * f3 / 10.0F * (float)par1EntityMongoose.getForwardDirection(), 1.0F, 0.0F, 0.0F);
  67.         }
  68.        
  69.         float f4 = 0.75F;
  70.         GlStateManager.scale(f4, f4, f4);
  71.         GlStateManager.scale(1.0F / f4, 1.0F / f4, 1.0F / f4);
  72.         this.bindEntityTexture(par1EntityMongoose);
  73.         GlStateManager.scale(-1.0F, -1.0F, 1.0F);
  74.         BlockRendererDispatcher blockrendererdispatcher = Minecraft.getMinecraft().getBlockRendererDispatcher();
  75.         IBakedModel ibakedmodel = blockrendererdispatcher.getModelFromBlockState(null, world, blockpos);
  76.         BlockModelRenderer r = new BlockModelRenderer();
  77.         r.renderModel(world, ibakedmodel, null, blockpos, worldrenderer);
  78.                 //this.modelBoat.render(par1EntityMongoose, 0.0F, 0.0F, -0.1F, 0.0F, 0.0F, 0.0625F);
  79.         GlStateManager.popMatrix();
  80.         super.doRender(par1EntityMongoose, p_180552_2_, p_180552_4_, p_180552_6_, p_180552_8_, p_180552_9_);
  81.     }
  82.  
  83.     protected ResourceLocation getEntityTexture(EntityMongoose p_180553_1_)
  84.     {
  85.         return boatTextures;
  86.     }
  87.  
  88.     protected ResourceLocation getEntityTexture(Entity entity)
  89.     {
  90.         return this.getEntityTexture((EntityMongoose)entity);
  91.     }
  92.  
  93.     public void doRender(Entity entity, double x, double y, double z, float p_76986_8_, float partialTicks)
  94.     {
  95.         this.doRender((EntityMongoose)entity, x, y, z, p_76986_8_, partialTicks);
  96.     }
  97. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement