Guest User

Untitled

a guest
Nov 1st, 2018
642
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.37 KB | None | 0 0
  1. /*
  2. ** 2016 March 07
  3. **
  4. ** The author disclaims copyright to this source code. In place of
  5. ** a legal notice, here is a blessing:
  6. ** May you do good and not evil.
  7. ** May you find forgiveness for yourself and forgive others.
  8. ** May you share freely, never taking more than you give.
  9. */
  10. package com.TheRPGAdventurer.ROTD.client.render.dragon.breeds;
  11.  
  12. import java.util.ArrayList;
  13. import java.util.Collections;
  14. import java.util.List;
  15.  
  16. import com.TheRPGAdventurer.ROTD.DragonMounts;
  17. import com.TheRPGAdventurer.ROTD.client.model.dragon.DragonModel;
  18. import com.TheRPGAdventurer.ROTD.client.render.dragon.DragonRenderer;
  19. import com.TheRPGAdventurer.ROTD.client.render.dragon.layer.LayerRendererDragonArmor;
  20. import com.TheRPGAdventurer.ROTD.client.render.dragon.layer.LayerRendererDragonBanner;
  21. import com.TheRPGAdventurer.ROTD.client.render.dragon.layer.LayerRendererDragonChest;
  22. import com.TheRPGAdventurer.ROTD.client.render.dragon.layer.LayerRendererDragonGlow;
  23. import com.TheRPGAdventurer.ROTD.client.render.dragon.layer.LayerRendererDragonSaddle;
  24. import com.TheRPGAdventurer.ROTD.server.entity.EntityTameableDragon;
  25. import com.TheRPGAdventurer.ROTD.server.entity.breeds.EnumDragonBreed;
  26.  
  27. import net.minecraft.client.renderer.entity.layers.LayerRenderer;
  28. import net.minecraft.util.ResourceLocation;
  29.  
  30. /**
  31. *
  32. * @author Nico Bergemann <barracuda415 at yahoo.de>
  33. */
  34. public class DefaultDragonBreedRenderer implements DragonBreedRenderer {
  35.  
  36. protected final List<LayerRenderer<EntityTameableDragon>> layers = new ArrayList<>();
  37.  
  38. private final DragonRenderer renderer;
  39. private final DragonModel model;
  40. private EntityTameableDragon dragon;
  41.  
  42. private final ResourceLocation maleBodyTexture;
  43. private final ResourceLocation femaleBodyTexture;
  44. private final ResourceLocation maleGlowTexture;
  45. private final ResourceLocation femaleGlowTexture;
  46. private final ResourceLocation glowAnimTexture;
  47. private final ResourceLocation saddleTexture;
  48. private final ResourceLocation eggTexture;
  49. private final ResourceLocation dissolveTexture;
  50. private final ResourceLocation chestTexture;
  51. // private final ResourceLocation genderTexture;
  52. // private final ResourceLocation armorTexture;
  53.  
  54. public DefaultDragonBreedRenderer(DragonRenderer parent, EnumDragonBreed breed) {
  55. renderer = parent;
  56. model = new DragonModel(breed);
  57.  
  58. // standard layers
  59. layers.add(new LayerRendererDragonGlow(parent, this, model));
  60. // layers.add(new LayerRendererDragonGlowAnim(parent, this, model));
  61. layers.add(new LayerRendererDragonBanner(parent, this, model));
  62. layers.add(new LayerRendererDragonSaddle(parent, this, model));
  63. layers.add(new LayerRendererDragonArmor(parent, this, model));
  64. layers.add(new LayerRendererDragonChest(parent, this, model));
  65.  
  66.  
  67. // textures
  68. String skin = breed.getBreed().getSkin();
  69. maleBodyTexture = new ResourceLocation(DragonMounts.MODID, DragonRenderer.TEX_BASE + skin + "/bodym.png");
  70. femaleBodyTexture = new ResourceLocation(DragonMounts.MODID, DragonRenderer.TEX_BASE + skin + "/bodyfm.png");
  71. maleGlowTexture = new ResourceLocation(DragonMounts.MODID, DragonRenderer.TEX_BASE + skin + "/glowm.png");
  72. femaleGlowTexture = new ResourceLocation(DragonMounts.MODID, DragonRenderer.TEX_BASE + skin + "/glowfm.png");
  73. glowAnimTexture = new ResourceLocation(DragonMounts.MODID, DragonRenderer.TEX_BASE + skin + "/glow_anim.png");
  74. saddleTexture = new ResourceLocation(DragonMounts.MODID, DragonRenderer.TEX_BASE + skin + "/saddle.png");
  75. eggTexture = new ResourceLocation(DragonMounts.MODID, DragonRenderer.TEX_BASE + skin + "/egg.png");
  76. dissolveTexture = new ResourceLocation(DragonMounts.MODID, DragonRenderer.TEX_BASE + "dissolve.png");
  77. chestTexture = new ResourceLocation(DragonMounts.MODID, DragonRenderer.TEX_BASE + skin + "/chest.png");
  78. }
  79.  
  80. @Override
  81. public List<LayerRenderer<EntityTameableDragon>> getLayers() {
  82. return Collections.unmodifiableList(layers);
  83. }
  84.  
  85. @Override
  86. public DragonRenderer getRenderer() {
  87. return renderer;
  88. }
  89.  
  90. @Override
  91. public DragonModel getModel() {
  92. return model;
  93. }
  94.  
  95. @Override
  96. public ResourceLocation getMaleBodyTexture() {
  97. return maleBodyTexture;
  98. }
  99.  
  100. @Override
  101. public ResourceLocation getFemaleBodyTexture() {
  102. return femaleBodyTexture;
  103. }
  104.  
  105. @Override
  106. public ResourceLocation getMaleGlowTexture() {
  107. return maleGlowTexture;
  108. }
  109.  
  110. @Override
  111. public ResourceLocation getFemaleGlowTexture() {
  112. return femaleGlowTexture;
  113. }
  114.  
  115. @Override
  116. public ResourceLocation getGlowAnimTexture() {
  117. return glowAnimTexture;
  118. }
  119.  
  120. @Override
  121. public ResourceLocation getSaddleTexture() {
  122. return saddleTexture;
  123. }
  124.  
  125. @Override
  126. public ResourceLocation getEggTexture() {
  127. return eggTexture;
  128. }
  129.  
  130. @Override
  131. public ResourceLocation getDissolveTexture() {
  132. return dissolveTexture;
  133. }
  134.  
  135. @Override
  136. public ResourceLocation getChestTexture() {
  137. return chestTexture;
  138. }
  139.  
  140. @Override
  141. public ResourceLocation getGenderTexture() {
  142. return null;
  143. }
  144.  
  145. @Override
  146. public ResourceLocation getArmorTexture() {
  147. return null;
  148. }
  149.  
  150. }
Advertisement
Add Comment
Please, Sign In to add comment