Advertisement
Guest User

Untitled

a guest
Mar 8th, 2015
257
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.84 KB | None | 0 0
  1. public class FuelBlockRenderHandler implements ISimpleBlockRenderingHandler{
  2.  
  3.  
  4. @Override
  5. public void renderInventoryBlock(Block block, int metadata, int modelId, RenderBlocks renderer) {
  6. }
  7.  
  8. @Override
  9. public boolean renderWorldBlock(IBlockAccess world, int xCoord, int yCoord, int zCoord, Block block, int modelId, RenderBlocks renderer) {
  10. BlockFuel blockFuel = (BlockFuel) world.getBlock(xCoord, yCoord, zCoord);
  11. Item arcaneFuelItem = new ItemStack(InitializeItems.magicalFuel).getItem();
  12. int worldBlockMetaData = world.getBlockMetadata(xCoord, yCoord, zCoord);
  13.  
  14. if (Client.renderPass == 0) {
  15. //renderer.renderStandardBlock(blockFuel, xCoord, yCoord, zCoord);
  16. } else if (Client.renderPass == 1) {
  17. switch (worldBlockMetaData) {
  18. case Metadata.ARCANE_FUEL:
  19. IIcon aracneFuelIcon = InitializeItems.magicalFuel.getIconFromDamage(Metadata.ARCANE_FUEL);
  20. /* Transparent Cyan Texture & Item Render*/
  21. //drawFuelBlock(blockFuel, xCoord, yCoord, zCoord, Metadata.ARCANE_FUEL);
  22. renderer.clearOverrideBlockTexture();
  23. renderer.overrideBlockTexture = aracneFuelIcon;
  24. drawItemOntoBlock(aracneFuelIcon, xCoord, yCoord, zCoord, Metadata.ARCANE_FUEL);
  25. break;
  26. case Metadata.TAINT_INFUSED_COAL:
  27. IIcon taintInfusedCoalIcon = renderer.getIconSafe(InitializeItems.magicalFuel.getIconFromDamage(Metadata.TAINT_INFUSED_COAL));
  28. /* Transparent Purple Texture & Item Render*/
  29. //drawFuelBlock(blockFuel, xCoord, yCoord, zCoord, Metadata.TAINT_INFUSED_COAL);
  30. renderer.clearOverrideBlockTexture();
  31. renderer.overrideBlockTexture = taintInfusedCoalIcon;
  32. drawItemOntoBlock(taintInfusedCoalIcon, xCoord, yCoord, zCoord, Metadata.TAINT_INFUSED_COAL);
  33. break;
  34. case Metadata.COMBUSIBLE_DARK_MATTER:
  35. IIcon combusibleDarkMatterIcon = renderer.getIconSafe(InitializeItems.magicalFuel.getIconFromDamage(Metadata.COMBUSIBLE_DARK_MATTER));
  36. /* Transparent Black Texture & Item Render*/
  37. //drawFuelBlock(blockFuel, xCoord, yCoord, zCoord, Metadata.COMBUSIBLE_DARK_MATTER);
  38. renderer.clearOverrideBlockTexture();
  39. renderer.overrideBlockTexture = combusibleDarkMatterIcon;
  40. drawItemOntoBlock(combusibleDarkMatterIcon, xCoord, yCoord, zCoord, Metadata.COMBUSIBLE_DARK_MATTER);
  41. break;
  42. case Metadata.COSMIC_INCENDIARY_CHUNK:
  43. IIcon cosmicIncendiaryChunkIcon = renderer.getIconSafe(InitializeItems.magicalFuel.getIconFromDamage(Metadata.COSMIC_INCENDIARY_CHUNK));
  44. /* Transparent Red Texture & Item Render*/
  45. //drawFuelBlock(blockFuel, xCoord, yCoord, zCoord, Metadata.COSMIC_INCENDIARY_CHUNK);
  46. renderer.clearOverrideBlockTexture();
  47. renderer.overrideBlockTexture = cosmicIncendiaryChunkIcon;
  48. drawItemOntoBlock(cosmicIncendiaryChunkIcon, xCoord, yCoord, zCoord, Metadata.COSMIC_INCENDIARY_CHUNK);
  49. break;
  50. }
  51. }
  52. return true;
  53. }
  54.  
  55. @Override
  56. public boolean shouldRender3DInInventory(int modelId) {
  57. return true;
  58. }
  59.  
  60. @Override
  61. public int getRenderId() {
  62. return Client.fuelBlockRenderTypeID;
  63. }
  64.  
  65. public void drawItemOntoBlock(IIcon icon, int xCoord, int yCoord, int zCoord, int metaData) {
  66. TextureManager textureManager = Minecraft.getMinecraft().renderEngine;
  67. Tessellator t = Tessellator.instance;
  68.  
  69. float iconTexMaxV = icon.getMaxV();
  70. float iconTexMinV = icon.getMinV();
  71. float iconTexWidth = icon.getIconWidth();
  72. float iconTexHeight = icon.getIconHeight();
  73. float iconTexMaxU = icon.getMaxU();
  74. float iconTexMinU = icon.getMinU();
  75.  
  76.  
  77. //GL11.glEnable(GL11.GL_BLEND);
  78. switch (metaData) {
  79. case Metadata.ARCANE_FUEL:
  80. t.addTranslation(xCoord, yCoord, zCoord);
  81. textureManager.bindTexture(new ResourceLocation(Textures.RESOURCE_PREFIX + Textures.ITEM_LOCATION + Names.Items.MAGICAL_FUEL + "." + Names.Items.FUEL_TYPES[metaData] + ".png"));
  82. t.addVertexWithUV(0, 1, 1, iconTexMinU + 0.01F, iconTexMinV + 0.01F);
  83. t.addVertexWithUV(1, 1, 1, iconTexMinU + 0.01F, iconTexMaxV + 0.01F);
  84. t.addVertexWithUV(1, 1, 0, iconTexMaxU + 0.01F, iconTexMaxV + 0.01F);
  85. t.addVertexWithUV(0, 1, 0, iconTexMaxU + 0.01F, iconTexMinV + 0.01F);
  86. break;
  87. case Metadata.TAINT_INFUSED_COAL:
  88. textureManager.bindTexture(new ResourceLocation(Textures.RESOURCE_PREFIX + Textures.ITEM_LOCATION + Names.Items.MAGICAL_FUEL + "." + Names.Items.FUEL_TYPES[metaData] + ".png"));
  89. t.addTranslation(xCoord, yCoord, zCoord);
  90. t.addVertexWithUV(0, 1, 1, iconTexMinU, iconTexMinV);
  91. t.addVertexWithUV(1, 1, 1, iconTexMinU, iconTexMaxV);
  92. t.addVertexWithUV(1, 1, 0, iconTexMaxU, iconTexMaxV);
  93. t.addVertexWithUV(0, 1, 0, iconTexMaxU, iconTexMinV);
  94. break;
  95. case Metadata.COMBUSIBLE_DARK_MATTER:
  96. textureManager.bindTexture(new ResourceLocation(Textures.RESOURCE_PREFIX + Textures.ITEM_LOCATION + Names.Items.MAGICAL_FUEL + "." + Names.Items.FUEL_TYPES[metaData] + ".png"));
  97. t.addTranslation(xCoord, yCoord, zCoord);
  98. t.addVertexWithUV(0, 1, 1, iconTexMinU, iconTexMinV);
  99. t.addVertexWithUV(1, 1, 1, iconTexMinU, iconTexMaxV);
  100. t.addVertexWithUV(1, 1, 0, iconTexMaxU, iconTexMaxV);
  101. t.addVertexWithUV(0, 1, 0, iconTexMaxU, iconTexMinV);
  102. break;
  103. case Metadata.COSMIC_INCENDIARY_CHUNK:
  104. t.addTranslation(xCoord, yCoord, zCoord);
  105. textureManager.bindTexture(new ResourceLocation(Textures.RESOURCE_PREFIX + Textures.ITEM_LOCATION + Names.Items.MAGICAL_FUEL + "." + Names.Items.FUEL_TYPES[metaData] + ".png"));
  106. t.addVertexWithUV(0, 1, 1, iconTexMinU, iconTexMinV);
  107. t.addVertexWithUV(1, 1, 1, iconTexMinU, iconTexMaxV);
  108. t.addVertexWithUV(1, 1, 0, iconTexMaxU, iconTexMaxV);
  109. t.addVertexWithUV(0, 1, 0, iconTexMaxU, iconTexMinV);
  110. break;
  111. }
  112. }
  113.  
  114. public void drawFuelBlock(Block block, int xCoord, int yCoord, int zCoord, int metaData) {
  115. TextureManager textureManager = Minecraft.getMinecraft().renderEngine;
  116. Tessellator t = Tessellator.instance;
  117. BlockFuel blockFuel = new BlockFuel();
  118. IIcon overlay = Blocks.coal_block.getIcon(1, 1);
  119.  
  120. float overlayMaxV = overlay.getMaxV();
  121. float overlayMinV = overlay.getMinV();
  122. float overlayWidth = overlay.getIconWidth();
  123. float overlayHeight = overlay.getIconHeight();
  124. float overlayMaxU = overlay.getMaxU();
  125. float overlayMinU = overlay.getMinU();
  126.  
  127. float redRGB[] = new float[] {
  128. 198, 52, 52
  129. };
  130. float cyanRGB[] = new float[] {
  131. 0, 153, 153
  132. };
  133. float blackRGB[] = new float[] {
  134. 0, 0, 0
  135. };
  136. float purpleRGB[] = new float[] {
  137. 153, 0, 153
  138. };
  139. int R = 0;
  140. int G = 1;
  141. int B = 2;
  142.  
  143. float overlayAlpha = 0.9F;
  144.  
  145. GL11.glEnable(GL11.GL_BLEND);
  146. switch (metaData) {
  147. case Metadata.ARCANE_FUEL:
  148. t.setColorRGBA_F(cyanRGB[R], cyanRGB[G], cyanRGB[B], overlayAlpha);
  149. /* Draw the stuff */
  150. t.addTranslation(xCoord, yCoord, zCoord);
  151. t.addVertexWithUV(0, 1, 1, overlayMinU, overlayMinV);
  152. t.addVertexWithUV(1, 1, 1, overlayMinU, overlayMaxV);
  153. t.addVertexWithUV(1, 1, 0, overlayMaxU, overlayMaxV);
  154. t.addVertexWithUV(0, 1, 0, overlayMaxU, overlayMinV);
  155. break;
  156. case Metadata.TAINT_INFUSED_COAL:
  157. t.setColorRGBA_F(purpleRGB[R], purpleRGB[G], purpleRGB[B], overlayAlpha);
  158. /* Draw the stuff */
  159. t.addTranslation(xCoord, yCoord, zCoord);
  160. t.addVertexWithUV(0, 1, 1, overlayMinU, overlayMinV);
  161. t.addVertexWithUV(1, 1, 1, overlayMinU, overlayMaxV);
  162. t.addVertexWithUV(1, 1, 0, overlayMaxU, overlayMaxV);
  163. t.addVertexWithUV(0, 1, 0, overlayMaxU, overlayMinV);
  164. break;
  165. case Metadata.COMBUSIBLE_DARK_MATTER:
  166. t.setColorRGBA_F(blackRGB[R], blackRGB[G], blackRGB[B], overlayAlpha);
  167. /* Draw the stuff */
  168. t.addTranslation(xCoord, yCoord, zCoord);
  169. t.addVertexWithUV(0, 1, 1, overlayMinU, overlayMinV);
  170. t.addVertexWithUV(1, 1, 1, overlayMinU, overlayMaxV);
  171. t.addVertexWithUV(1, 1, 0, overlayMaxU, overlayMaxV);
  172. t.addVertexWithUV(0, 1, 0, overlayMaxU, overlayMinV);
  173. break;
  174. case Metadata.COSMIC_INCENDIARY_CHUNK:
  175. t.setColorRGBA_F(redRGB[R], redRGB[G], redRGB[B], overlayAlpha);
  176. /* Draw the stuff */
  177. t.addTranslation(xCoord, yCoord, zCoord);
  178. t.addVertexWithUV(0, 1, 1, overlayMinU, overlayMinV);
  179. t.addVertexWithUV(1, 1, 1, overlayMinU, overlayMaxV);
  180. t.addVertexWithUV(1, 1, 0, overlayMaxU, overlayMaxV);
  181. t.addVertexWithUV(0, 1, 0, overlayMaxU, overlayMinV);
  182. break;
  183. }
  184. }
  185. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement