Guest User

Untitled

a guest
Apr 25th, 2018
266
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.39 KB | None | 0 0
  1. package com.TheRPGAdventurer.ROTD.client.render;
  2.  
  3. import com.TheRPGAdventurer.ROTD.RealmOfTheDragons;
  4.  
  5. import net.minecraft.client.Minecraft;
  6. import net.minecraft.client.renderer.BufferBuilder;
  7. import net.minecraft.client.renderer.GlStateManager;
  8. import net.minecraft.client.renderer.Tessellator;
  9. import net.minecraft.client.renderer.entity.Render;
  10. import net.minecraft.client.renderer.entity.RenderManager;
  11. import net.minecraft.client.renderer.texture.TextureAtlasSprite;
  12. import net.minecraft.client.renderer.vertex.DefaultVertexFormats;
  13. import net.minecraft.entity.projectile.EntityFireball;
  14. import net.minecraft.init.Items;
  15. import net.minecraft.util.ResourceLocation;
  16.  
  17. public class RenderFlameBreathFX extends Render<FlameBreathFX> {
  18.  
  19. private final float scale;
  20. private final ResourceLocation fireballRL = new ResourceLocation(RealmOfTheDragons.MODID + ":textures/entities/breath_fire");
  21.  
  22.  
  23. protected RenderFlameBreathFX(RenderManager renderManager, float scale) {
  24. super(renderManager);
  25. this.scale = scale;
  26. }
  27.  
  28. @Override
  29. protected ResourceLocation getEntityTexture(FlameBreathFX entity) {
  30. return fireballRL;
  31. }
  32.  
  33. /**
  34. * Renders the desired {@code T} type Entity.
  35. */
  36. public void doRender(FlameBreathFX entity, double x, double y, double z, float entityYaw, float partialTicks)
  37. {
  38. GlStateManager.pushMatrix();
  39. this.bindEntityTexture(entity);
  40. GlStateManager.translate((float)x, (float)y, (float)z);
  41. GlStateManager.enableRescaleNormal();
  42. GlStateManager.scale(this.scale, this.scale, this.scale);
  43. TextureAtlasSprite textureatlassprite = Minecraft.getMinecraft().getRenderItem().getItemModelMesher().getParticleIcon(Items.FIRE_CHARGE);
  44. Tessellator tessellator = Tessellator.getInstance();
  45. BufferBuilder bufferbuilder = tessellator.getBuffer();
  46. float f = textureatlassprite.getMinU();
  47. float f1 = textureatlassprite.getMaxU();
  48. float f2 = textureatlassprite.getMinV();
  49. float f3 = textureatlassprite.getMaxV();
  50. float f4 = 1.0F;
  51. float f5 = 0.5F;
  52. float f6 = 0.25F;
  53. GlStateManager.rotate(180.0F - this.renderManager.playerViewY, 0.0F, 1.0F, 0.0F);
  54. GlStateManager.rotate((float)(this.renderManager.options.thirdPersonView == 2 ? -1 : 1) * -this.renderManager.playerViewX, 1.0F, 0.0F, 0.0F);
  55.  
  56. if (this.renderOutlines)
  57. {
  58. GlStateManager.enableColorMaterial();
  59. GlStateManager.enableOutlineMode(this.getTeamColor(entity));
  60. }
  61.  
  62. bufferbuilder.begin(7, DefaultVertexFormats.POSITION_TEX_NORMAL);
  63. bufferbuilder.pos(-0.5D, -0.25D, 0.0D).tex((double)f, (double)f3).normal(0.0F, 1.0F, 0.0F).endVertex();
  64. bufferbuilder.pos(0.5D, -0.25D, 0.0D).tex((double)f1, (double)f3).normal(0.0F, 1.0F, 0.0F).endVertex();
  65. bufferbuilder.pos(0.5D, 0.75D, 0.0D).tex((double)f1, (double)f2).normal(0.0F, 1.0F, 0.0F).endVertex();
  66. bufferbuilder.pos(-0.5D, 0.75D, 0.0D).tex((double)f, (double)f2).normal(0.0F, 1.0F, 0.0F).endVertex();
  67. tessellator.draw();
  68.  
  69. if (this.renderOutlines)
  70. {
  71. GlStateManager.disableOutlineMode();
  72. GlStateManager.disableColorMaterial();
  73. }
  74.  
  75. GlStateManager.disableRescaleNormal();
  76. GlStateManager.popMatrix();
  77. super.doRender(entity, x, y, z, entityYaw, partialTicks);
  78. }
  79.  
  80. }
Advertisement
Add Comment
Please, Sign In to add comment