Advertisement
Guest User

Untitled

a guest
Aug 18th, 2017
204
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.78 KB | None | 0 0
  1. package com.bignose956.VillagerTech.handlers.Rendering;
  2.  
  3. import com.bignose956.VillagerTech.entity.EntityGrenade;
  4. import com.bignose956.VillagerTech.init.VillagerItems;
  5.  
  6. import net.minecraft.client.Minecraft;
  7. import net.minecraft.client.renderer.GlStateManager;
  8. import net.minecraft.client.renderer.block.model.ItemCameraTransforms;
  9. import net.minecraft.client.renderer.entity.Render;
  10. import net.minecraft.client.renderer.entity.RenderItem;
  11. import net.minecraft.client.renderer.entity.RenderManager;
  12. import net.minecraft.client.renderer.texture.TextureMap;
  13. import net.minecraft.item.Item;
  14. import net.minecraft.item.ItemStack;
  15. import net.minecraft.util.ResourceLocation;
  16. import net.minecraftforge.fml.client.registry.IRenderFactory;
  17.  
  18. @SuppressWarnings("deprecation")
  19. public class RenderGrenade extends Render<EntityGrenade>{
  20.  
  21.     protected final Item field_177084_a;
  22.     private final RenderItem field_177083_e;
  23.  
  24.     public static Factory FACTORY = new Factory();
  25.    
  26.     public RenderGrenade(RenderManager renderManagerIn, Item p_i46137_2_, RenderItem p_i46137_3_)
  27.     {
  28.         super(renderManagerIn);
  29.         this.field_177084_a = p_i46137_2_;
  30.         this.field_177083_e = p_i46137_3_;
  31.     }
  32.  
  33.     /**
  34.      * Renders the desired {@code T} type Entity.
  35.      */
  36.     public void doRender(EntityGrenade entity, double x, double y, double z, float entityYaw, float partialTicks)
  37.     {
  38.         GlStateManager.pushMatrix();
  39.         GlStateManager.translate((float)x, (float)y, (float)z);
  40.         GlStateManager.enableRescaleNormal();
  41.         GlStateManager.scale(0.5F, 0.5F, 0.5F);
  42.         GlStateManager.rotate(-this.renderManager.playerViewY, 0.0F, 1.0F, 0.0F);
  43.         GlStateManager.rotate(this.renderManager.playerViewX, 1.0F, 0.0F, 0.0F);
  44.         this.bindTexture(TextureMap.locationBlocksTexture);
  45.         this.field_177083_e.renderItem(this.func_177082_d(entity), ItemCameraTransforms.TransformType.GROUND);
  46.         GlStateManager.disableRescaleNormal();
  47.         GlStateManager.popMatrix();
  48.         super.doRender(entity, x, y, z, entityYaw, partialTicks);
  49.     }
  50.    
  51.     public static class Factory implements IRenderFactory<EntityGrenade>{
  52.  
  53.         @Override
  54.         public Render<? super EntityGrenade> createRenderFor(RenderManager manager) {
  55.             return new RenderGrenade(manager, VillagerItems.grenade_item, Minecraft.getMinecraft().getRenderItem());
  56.         }
  57.     }
  58.  
  59.     public ItemStack func_177082_d(EntityGrenade entityIn)
  60.     {
  61.         return new ItemStack(this.field_177084_a, 1, 0);
  62.     }
  63.  
  64.     /**
  65.      * Returns the location of an entity's texture. Doesn't seem to be called unless you call Render.bindEntityTexture.
  66.      */
  67.     protected ResourceLocation getEntityTexture(EntityGrenade entity)
  68.     {
  69.         return TextureMap.locationBlocksTexture;
  70.     }
  71. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement