Advertisement
Guest User

Untitled

a guest
Nov 25th, 2018
162
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.54 KB | None | 0 0
  1. package com.TheRPGAdventurer.ROTD.client.render.dragon.layer;
  2.  
  3. import java.util.UUID;
  4.  
  5. import javax.annotation.Nullable;
  6.  
  7. import org.apache.commons.lang3.StringUtils;
  8.  
  9. import com.TheRPGAdventurer.ROTD.client.model.dragon.DragonModel;
  10. import com.TheRPGAdventurer.ROTD.client.render.dragon.DragonRenderer;
  11. import com.TheRPGAdventurer.ROTD.client.render.dragon.breeds.DefaultDragonBreedRenderer;
  12. import com.TheRPGAdventurer.ROTD.server.entity.EntityTameableDragon;
  13. import com.TheRPGAdventurer.ROTD.util.math.Interpolation;
  14. import com.TheRPGAdventurer.ROTD.util.math.MathX;
  15. import com.mojang.authlib.GameProfile;
  16.  
  17. import net.minecraft.block.BlockBanner;
  18. import net.minecraft.block.BlockPumpkin;
  19. import net.minecraft.block.state.IBlockState;
  20. import net.minecraft.client.Minecraft;
  21. import net.minecraft.client.model.ModelBanner;
  22. import net.minecraft.client.renderer.BannerTextures;
  23. import net.minecraft.client.renderer.GlStateManager;
  24. import net.minecraft.client.renderer.block.model.ItemCameraTransforms;
  25. import net.minecraft.client.renderer.block.model.ItemCameraTransforms.TransformType;
  26. import net.minecraft.client.renderer.entity.layers.LayerCustomHead;
  27. import net.minecraft.client.renderer.tileentity.TileEntityBannerRenderer;
  28. import net.minecraft.client.renderer.tileentity.TileEntitySkullRenderer;
  29. import net.minecraft.entity.monster.EntityZombieVillager;
  30. import net.minecraft.entity.passive.EntityVillager;
  31. import net.minecraft.init.Blocks;
  32. import net.minecraft.init.Items;
  33. import net.minecraft.inventory.EntityEquipmentSlot;
  34. import net.minecraft.item.Item;
  35. import net.minecraft.item.ItemArmor;
  36. import net.minecraft.item.ItemBanner;
  37. import net.minecraft.item.ItemStack;
  38. import net.minecraft.nbt.NBTTagCompound;
  39. import net.minecraft.nbt.NBTUtil;
  40. import net.minecraft.tileentity.TileEntityBanner;
  41. import net.minecraft.tileentity.TileEntitySkull;
  42. import net.minecraft.util.EnumFacing;
  43. import net.minecraft.util.ResourceLocation;
  44. import net.minecraft.util.math.MathHelper;
  45.  
  46. public class LayerRendererDragonBanner extends LayerRendererDragon {
  47.  
  48. private final ModelBanner bannerModel = new ModelBanner();
  49.  
  50. public LayerRendererDragonBanner(DragonRenderer renderer, DefaultDragonBreedRenderer breedRenderer,
  51. DragonModel model) {
  52. super(renderer, breedRenderer, model);
  53.  
  54. }
  55.  
  56. @Override
  57. public void doRenderLayer(EntityTameableDragon dragon, float limbSwing, float limbSwingAmount, float partialTicks, float ageInTicks, float netHeadYaw, float headPitch, float scale) {
  58. Minecraft mc = Minecraft.getMinecraft();
  59. ItemStack itemstack = dragon.dragonInv.getStackInSlot(31);
  60. ItemStack itemstack2 = dragon.dragonInv.getStackInSlot(32);
  61. ItemStack itemstack3 = dragon.dragonInv.getStackInSlot(33);
  62. ItemStack itemstack4 = dragon.dragonInv.getStackInSlot(34);
  63.  
  64. GlStateManager.pushMatrix();
  65.  
  66. if(dragon.isBannered1()) {
  67. float f = 0.625F;
  68. model.body.postRender(0.0625F);
  69. GlStateManager.translate(1.0F, 0.4F, -0.5F);
  70. GlStateManager.translate(0.0F, 0.0, Interpolation.smoothStep(-2.5F, 0.0F, dragon.getAnimator().getSpeed()));
  71. GlStateManager.translate(0, Interpolation.smoothStep(0.3F, dragon.getAnimator().getModelOffsetY() + 1.5F, dragon.getAnimator().getSpeed()), 0);
  72. GlStateManager.rotate(90.0F, 0.0F, 1.0F, 0.0F);
  73. GlStateManager.rotate(-dragon.getBodyPitch(), 0.0F, 0.0F, 1.0F);
  74. GlStateManager.scale(0.625F, -0.625F, -0.625F);
  75. mc.getItemRenderer().renderItem(dragon, itemstack, ItemCameraTransforms.TransformType.HEAD);
  76.  
  77. }
  78.  
  79. GlStateManager.popMatrix();
  80.  
  81. GlStateManager.pushMatrix();
  82.  
  83. if (dragon.isBannered2()) {
  84. float f = 0.625F;
  85. model.body.postRender(0.0625F);
  86. GlStateManager.translate(-1.0F, 0.4, -0.5F);
  87. GlStateManager.translate(0.0F, 0.0, Interpolation.smoothStep(-2.5F, 0.0F, dragon.getAnimator().getSpeed()));
  88. GlStateManager.translate(0, Interpolation.smoothStep(0.3F, dragon.getAnimator().getModelOffsetY() + 1.5F, dragon.getAnimator().getSpeed()), 0);
  89. GlStateManager.rotate(-90.0F, 0.0F, 1.0F, 0.0F);
  90. GlStateManager.rotate(dragon.getBodyPitch(), 0.0F, 0.0F, 1.0F);
  91. GlStateManager.scale(0.625F, -0.625F, -0.625F);
  92. mc.getItemRenderer().renderItem(dragon, itemstack2, ItemCameraTransforms.TransformType.HEAD);
  93. }
  94.  
  95. GlStateManager.popMatrix();
  96.  
  97. GlStateManager.pushMatrix();
  98.  
  99. if (dragon.isBannered3()) {
  100. float f = 0.625F;
  101. model.body.postRender(0.0625F);
  102. GlStateManager.translate(-0.4F, -1.7F, 1.7F);
  103. GlStateManager.translate(0.0F, 0.0, Interpolation.smoothStep(0F, 0.0F, dragon.getAnimator().getSpeed()));
  104. GlStateManager.translate(0, Interpolation.smoothStep(3.2F, dragon.getAnimator().getModelOffsetY() + 1.5F, dragon.getAnimator().getSpeed()), 0);
  105. GlStateManager.translate(0, 0, Interpolation.smoothStep(-1.9F, dragon.getAnimator().getModelOffsetZ() + 1.5F, dragon.getAnimator().getSpeed()));
  106. GlStateManager.rotate(90.0F, 1.0F, 0.0F, 0.0F);
  107. GlStateManager.rotate(-dragon.getBodyPitch() - 5, 1.0F, 0.0F, 0.0F);
  108. GlStateManager.scale(0.525F, -0.625F, -0.625F);
  109. mc.getItemRenderer().renderItem(dragon, itemstack3, ItemCameraTransforms.TransformType.HEAD);
  110. }
  111.  
  112. GlStateManager.popMatrix();
  113.  
  114. GlStateManager.pushMatrix();
  115.  
  116. if (dragon.isBannered4()) {
  117. float f = 0.625F;
  118. model.body.postRender(0.0625F);
  119. GlStateManager.translate(0.4F, -1.7F, 1.7F);
  120. GlStateManager.translate(0, Interpolation.smoothStep(3.2F, dragon.getAnimator().getModelOffsetY() + 1.5F, dragon.getAnimator().getSpeed()), 0);
  121. GlStateManager.translate(0, 0, Interpolation.smoothStep(-1.9F, dragon.getAnimator().getModelOffsetZ() + 1.5F, dragon.getAnimator().getSpeed()));
  122.  
  123. GlStateManager.rotate(90.0F, 1.0F, 0.0F, 0.0F);
  124. GlStateManager.rotate(-dragon.getBodyPitch() - 5, 1.0F, 0.0F, 0.0F);
  125.  
  126. GlStateManager.scale(0.525F, -0.625F, -0.625F);
  127. mc.getItemRenderer().renderItem(dragon, itemstack4, ItemCameraTransforms.TransformType.HEAD);
  128. }
  129.  
  130. GlStateManager.popMatrix();
  131. }
  132.  
  133. @Override
  134. public boolean shouldCombineTextures() {
  135. return true;
  136. }
  137. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement