Advertisement
Aladalar

RenderPedestal

Sep 28th, 2016
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.20 KB | None | 0 0
  1. package jds.bibliocraft.rendering;
  2.  
  3. import cpw.mods.fml.client.FMLClientHandler;
  4. import jds.bibliocraft.CommonProxy;
  5. import jds.bibliocraft.models.ModelSwordPedestal;
  6. import net.minecraft.client.Minecraft;
  7. import net.minecraft.client.renderer.Tessellator;
  8. import net.minecraft.client.renderer.texture.TextureManager;
  9. import net.minecraft.item.ItemStack;
  10. import net.minecraft.util.ResourceLocation;
  11. import net.minecraftforge.client.IItemRenderer;
  12. import net.minecraftforge.client.IItemRenderer.ItemRenderType;
  13. import net.minecraftforge.client.IItemRenderer.ItemRendererHelper;
  14. import org.lwjgl.opengl.GL11;
  15.  
  16. public class ItemSwordPedestalRenderer
  17. implements IItemRenderer
  18. {
  19. private ModelSwordPedestal modelPed;
  20.  
  21. public ItemSwordPedestalRenderer()
  22. {
  23. this.modelPed = new ModelSwordPedestal();
  24. }
  25.  
  26. public boolean handleRenderType(ItemStack item, IItemRenderer.ItemRenderType type)
  27. {
  28. return true;
  29. }
  30.  
  31. public boolean shouldUseRenderHelper(IItemRenderer.ItemRenderType type, ItemStack item, IItemRenderer.ItemRendererHelper helper)
  32. {
  33. return true;
  34. }
  35.  
  36. public void renderItem(IItemRenderer.ItemRenderType type, ItemStack item, Object... data)
  37. {
  38. int metaTest = item.func_77960_j();
  39. switch (1.$SwitchMap$net$minecraftforge$client$IItemRenderer$ItemRenderType[type.ordinal()])
  40. {
  41. case 1:
  42. renderItem(0.0F, -0.5F, 0.0F, metaTest, false); break;
  43. case 2:
  44. renderItem(0.6F, 0.1F, 0.8F, metaTest, true); break;
  45. case 3:
  46. renderItem(0.6F, 0.7F, 0.8F, metaTest, true); break;
  47. case 4:
  48. renderItem(0.99F, 0.7F, 1.0F, metaTest, false); break;
  49. }
  50. }
  51.  
  52. private void renderItem(float i, float j, float k, int metaData, boolean entity)
  53. {
  54. Tessellator tesselator = Tessellator.field_78398_a;
  55. GL11.glPushMatrix();
  56. GL11.glTranslatef(i, j, k);
  57. if (entity) {
  58. GL11.glRotatef(180.0F, 0.0F, 1.0F, 0.0F);
  59. }
  60. GL11.glScaled(1.7D, 1.7D, 1.7D);
  61.  
  62. FMLClientHandler.instance().getClient().field_71446_o.func_110577_a(CommonProxy.SWORDPEDESTALPNG);
  63. this.modelPed.renderPedestal();
  64. FMLClientHandler.instance().getClient().field_71446_o.func_110577_a(getClothTexture(metaData));
  65. this.modelPed.renderColoredFront();
  66. GL11.glPopMatrix();
  67. }
  68.  
  69. public ResourceLocation getClothTexture(int color)
  70. {
  71. switch (color)
  72. {
  73. case 0:
  74. return CommonProxy.WHITEWOOL;
  75. case 1:
  76. return CommonProxy.ORANGEWOOL;
  77. case 2:
  78. return CommonProxy.MAGENTAWOOL;
  79. case 3:
  80. return CommonProxy.LBLUEWOOL;
  81. case 4:
  82. return CommonProxy.YELOOWWOOL;
  83. case 5:
  84. return CommonProxy.LIMEWOOL;
  85. case 6:
  86. return CommonProxy.PINKWOOL;
  87. case 7:
  88. return CommonProxy.GRAYWOOL;
  89. case 8:
  90. return CommonProxy.LGRAYWOOL;
  91. case 9:
  92. return CommonProxy.CYANWOOL;
  93. case 10:
  94. return CommonProxy.PURPLEWOOL;
  95. case 11:
  96. return CommonProxy.BLUEWOOL;
  97. case 12:
  98. return CommonProxy.BROWNWOOL;
  99. case 13:
  100. return CommonProxy.GREENWOOL;
  101. case 14:
  102. return CommonProxy.REDWOOL;
  103. case 15:
  104. return CommonProxy.BLACKWOOL;
  105. }
  106. return CommonProxy.WHITEWOOL;
  107. }
  108. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement