Advertisement
MintTheFox

RenderArmoryOre

Apr 20th, 2014
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 11.75 KB | None | 0 0
  1. package armory.core;
  2.  
  3. import net.minecraft.block.Block;
  4. import net.minecraft.client.renderer.RenderBlocks;
  5. import net.minecraft.client.renderer.Tessellator;
  6. import net.minecraft.world.IBlockAccess;
  7.  
  8. import org.lwjgl.opengl.GL11;
  9.  
  10. import armory.blocks.ArmoryOre;
  11. import armory.core.proxy.ClientProxy;
  12. import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler;
  13.  
  14. public class RenderOreBlock implements ISimpleBlockRenderingHandler
  15. {
  16.     @Override
  17.     public void renderInventoryBlock(Block block, int metadata, int modelID, RenderBlocks renderer)
  18.     {
  19.         Tessellator tessellator = Tessellator.instance;
  20.         if(modelID == ClientProxy.OreBlockRenderID)
  21.         {
  22.             ArmoryOre handlerBlock = (ArmoryOre)block;
  23.            
  24.             block.setBlockBoundsForItemRender();
  25.            
  26.             GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
  27.  
  28.            
  29.             //top renderFaceYPos//
  30.             tessellator.startDrawingQuads();
  31.             tessellator.setNormal(0F, +1.0F, 0F);
  32.             renderer.setRenderBounds(0.0001, 0.0001, 0.0001, 0.9999, 0.9999, 0.9999);
  33.            
  34.             if (metadata == 0)
  35.             {
  36.                 tessellator.setColorOpaque_I(0xFFFFFF);
  37.                 renderer.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, handlerBlock.blockIcons[4]);
  38.             }
  39.            
  40.             else if (metadata == 1)
  41.             {
  42.                 tessellator.setColorOpaque_I(0x012345);
  43.                 renderer.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, handlerBlock.blockIcons[5]);
  44.             }
  45.            
  46.             else if (metadata == 2)
  47.             {
  48.                 tessellator.setColorOpaque_I(0xFF0000);
  49.                 renderer.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, handlerBlock.blockIcons[5]);
  50.             }
  51.            
  52.             else if (metadata == 3)
  53.             {
  54.                 tessellator.setColorOpaque_I(0xFFFFFF);
  55.                 renderer.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, handlerBlock.blockIcons[5]);
  56.             }
  57.            
  58.             tessellator.setColorOpaque_I(0xFFFFFF);
  59.             renderer.setRenderBounds(0, 0, 0, 1, 1, 1);
  60.             renderer.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, handlerBlock.blockIcons[metadata]);
  61.             tessellator.draw();
  62.            
  63.            
  64.            
  65.             //bottom renderFaceYNeg//
  66.             tessellator.startDrawingQuads();
  67.             tessellator.setNormal(0F, -1.0F, 0F);
  68.             renderer.setRenderBounds(0.0001, 0.0001, 0.0001, 0.9999, 0.9999, 0.9999);
  69.            
  70.             if (metadata == 0)
  71.             {
  72.                 tessellator.setColorOpaque_I(0xFFFFFF);
  73.                 renderer.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, handlerBlock.blockIcons[4]);
  74.             }
  75.            
  76.             else if (metadata == 1)
  77.             {
  78.                 tessellator.setColorOpaque_I(0x123456);
  79.                 renderer.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, handlerBlock.blockIcons[5]);
  80.             }
  81.            
  82.             else if (metadata == 2)
  83.             {
  84.                 tessellator.setColorOpaque_I(0xFF2222);
  85.                 renderer.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, handlerBlock.blockIcons[5]);
  86.             }
  87.            
  88.             else if (metadata == 3)
  89.             {
  90.                 tessellator.setColorOpaque_I(0xFFFFFF);
  91.                 renderer.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, handlerBlock.blockIcons[5]);
  92.             }
  93.            
  94.             tessellator.setColorOpaque_I(0xFFFFFF);
  95.             renderer.setRenderBounds(0, 0, 0, 1, 1, 1);
  96.             renderer.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, handlerBlock.blockIcons[metadata]);
  97.             tessellator.draw();
  98.            
  99.             //north renderFaceZNeg//
  100.             tessellator.startDrawingQuads();
  101.             tessellator.setNormal(-1.0F, 0F, 0F);
  102.             renderer.setRenderBounds(0.0001, 0.0001, 0.0001, 0.9999, 0.9999, 0.9999);
  103.            
  104.             if (metadata == 0)
  105.             {
  106.                 tessellator.setColorOpaque_I(0xFFFFFF);
  107.                 renderer.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, handlerBlock.blockIcons[4]);
  108.             }
  109.            
  110.             else if (metadata == 1)
  111.             {
  112.                 tessellator.setColorOpaque_I(0x123456);
  113.                 renderer.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, handlerBlock.blockIcons[5]);
  114.             }
  115.            
  116.             else if (metadata == 2)
  117.             {
  118.                 tessellator.setColorOpaque_I(0xFF2222);
  119.                 renderer.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, handlerBlock.blockIcons[5]);
  120.             }
  121.            
  122.             else if (metadata == 3)
  123.             {
  124.                 tessellator.setColorOpaque_I(0xFFFFFF);
  125.                 renderer.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, handlerBlock.blockIcons[5]);
  126.             }
  127.            
  128.             tessellator.setColorOpaque_I(0xFFFFFF);
  129.             renderer.setRenderBounds(0, 0, 0, 1, 1, 1);
  130.             renderer.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, handlerBlock.blockIcons[metadata]);
  131.             tessellator.draw();
  132.            
  133.             //east renderFaceXPos//
  134.             tessellator.startDrawingQuads();
  135.             tessellator.setNormal(0F, 0F, -1.0F);
  136.             renderer.setRenderBounds(0.0001, 0.0001, 0.0001, 0.9999, 0.9999, 0.9999);
  137.            
  138.             if (metadata == 0)
  139.             {
  140.                 tessellator.setColorOpaque_I(0xFFFFFF);
  141.                 renderer.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, handlerBlock.blockIcons[4]);
  142.             }
  143.            
  144.             else if (metadata == 1)
  145.             {
  146.                 tessellator.setColorOpaque_I(0x123456);
  147.                 renderer.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, handlerBlock.blockIcons[5]);
  148.             }
  149.            
  150.             else if (metadata == 2)
  151.             {
  152.                 tessellator.setColorOpaque_I(0xFF2222);
  153.                 renderer.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, handlerBlock.blockIcons[5]);
  154.             }
  155.            
  156.             else if (metadata == 3)
  157.             {
  158.                 tessellator.setColorOpaque_I(0xFFFFFF);
  159.                 renderer.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, handlerBlock.blockIcons[5]);
  160.             }
  161.            
  162.             tessellator.setColorOpaque_I(0xFFFFFF);
  163.             renderer.setRenderBounds(0, 0, 0, 1, 1, 1);
  164.             renderer.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, handlerBlock.blockIcons[metadata]);
  165.             tessellator.draw();
  166.            
  167.             //south renderFaceZPos//
  168.             tessellator.startDrawingQuads();
  169.             tessellator.setNormal(+1.0F, 0F, 0F);
  170.             renderer.setRenderBounds(0.0001, 0.0001, 0.0001, 0.9999, 0.9999, 0.9999);
  171.            
  172.             if (metadata == 0)
  173.             {
  174.                 tessellator.setColorOpaque_I(0xFFFFFF);
  175.                 renderer.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, handlerBlock.blockIcons[4]);
  176.             }
  177.            
  178.             else if (metadata == 1)
  179.             {
  180.                 tessellator.setColorOpaque_I(0x123456);
  181.                 renderer.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, handlerBlock.blockIcons[5]);
  182.             }
  183.            
  184.             else if (metadata == 2)
  185.             {
  186.                 tessellator.setColorOpaque_I(0xFF2222);
  187.                 renderer.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, handlerBlock.blockIcons[5]);
  188.             }
  189.            
  190.             else if (metadata == 3)
  191.             {
  192.                 tessellator.setColorOpaque_I(0xFFFFFF);
  193.                 renderer.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, handlerBlock.blockIcons[5]);
  194.             }
  195.            
  196.             tessellator.setColorOpaque_I(0xFFFFFF);
  197.             renderer.setRenderBounds(0, 0, 0, 1, 1, 1);
  198.             renderer.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, handlerBlock.blockIcons[metadata]);
  199.             tessellator.draw();
  200.            
  201.             //west renderFaceXNeg//
  202.             tessellator.startDrawingQuads();
  203.             tessellator.setNormal(0F, 0F, +1.0F);
  204.             renderer.setRenderBounds(0.0001, 0.0001, 0.0001, 0.9999, 0.9999, 0.9999);
  205.            
  206.             if (metadata == 0)
  207.             {
  208.                 tessellator.setColorOpaque_I(0xFFFFFF);
  209.                 renderer.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, handlerBlock.blockIcons[4]);
  210.             }
  211.            
  212.             else if (metadata == 1)
  213.             {
  214.                 tessellator.setColorOpaque_I(0x123456);
  215.                 renderer.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, handlerBlock.blockIcons[5]);
  216.             }
  217.            
  218.             else if (metadata == 2)
  219.             {
  220.                 tessellator.setColorOpaque_I(0xFF2222);
  221.                 renderer.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, handlerBlock.blockIcons[5]);
  222.             }
  223.            
  224.             else if (metadata == 3)
  225.             {
  226.                 tessellator.setColorOpaque_I(0xFFFFFF);
  227.                 renderer.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, handlerBlock.blockIcons[5]);
  228.             }
  229.            
  230.             tessellator.setColorOpaque_I(0xFFFFFF);
  231.             renderer.setRenderBounds(0, 0, 0, 1, 1, 1);
  232.             renderer.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, handlerBlock.blockIcons[metadata]);
  233.             tessellator.draw();
  234.            
  235.             GL11.glTranslatef(0.5F, 0.5F, 0.5F);
  236.         }
  237.     }
  238.  
  239.     @Override
  240.     public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z, Block block, int modelId, RenderBlocks renderer)
  241.     {
  242.         int metadata = world.getBlockMetadata(x, y, z);
  243.        
  244.         Tessellator tess = Tessellator.instance;
  245.        
  246.         ArmoryOre handlerBlock = (ArmoryOre)block;
  247.                
  248.        
  249.         if (metadata == 0)
  250.         {
  251.             tess.setBrightness(200);
  252.             tess.setColorOpaque_I(0xFFFFFF);
  253.             renderer.renderFaceYPos(block, x, y, z, ((ArmoryOre)block).blockIcons[4]);
  254.             renderer.renderFaceYNeg(block, x, y, z, ((ArmoryOre)block).blockIcons[4]);
  255.             renderer.renderFaceZNeg(block, x, y, z, ((ArmoryOre)block).blockIcons[4]);
  256.             renderer.renderFaceXPos(block, x, y, z, ((ArmoryOre)block).blockIcons[4]);
  257.             renderer.renderFaceZPos(block, x, y, z, ((ArmoryOre)block).blockIcons[4]);
  258.             renderer.renderFaceXNeg(block, x, y, z, ((ArmoryOre)block).blockIcons[4]);
  259.         }
  260.        
  261.         else if (metadata == 1)
  262.         {
  263.             tess.setBrightness(225);
  264.             tess.setColorOpaque_I(0x012345);
  265.             renderer.renderFaceYPos(block, x, y, z, ((ArmoryOre)block).blockIcons[5]);
  266.             renderer.renderFaceYNeg(block, x, y, z, ((ArmoryOre)block).blockIcons[5]);
  267.             renderer.renderFaceZNeg(block, x, y, z, ((ArmoryOre)block).blockIcons[5]);
  268.             renderer.renderFaceXPos(block, x, y, z, ((ArmoryOre)block).blockIcons[5]);
  269.             renderer.renderFaceZPos(block, x, y, z, ((ArmoryOre)block).blockIcons[5]);
  270.             renderer.renderFaceXNeg(block, x, y, z, ((ArmoryOre)block).blockIcons[5]);
  271.         }
  272.  
  273.         else if (metadata == 2)
  274.         {
  275.             tess.setBrightness(150);
  276.             tess.setColorOpaque_I(0xFF0000);
  277.             renderer.renderFaceYPos(block, x, y, z, ((ArmoryOre)block).blockIcons[5]);
  278.             renderer.renderFaceYNeg(block, x, y, z, ((ArmoryOre)block).blockIcons[5]);
  279.             renderer.renderFaceZNeg(block, x, y, z, ((ArmoryOre)block).blockIcons[5]);
  280.             renderer.renderFaceXPos(block, x, y, z, ((ArmoryOre)block).blockIcons[5]);
  281.             renderer.renderFaceZPos(block, x, y, z, ((ArmoryOre)block).blockIcons[5]);
  282.             renderer.renderFaceXNeg(block, x, y, z, ((ArmoryOre)block).blockIcons[5]);
  283.         }
  284.        
  285.         else if (metadata == 3)
  286.         {
  287.             tess.setBrightness(handlerBlock.getMixedBrightnessForBlock(world, x, y, z));
  288.             tess.setColorOpaque_I(0xFFFFFF);
  289.             renderer.renderFaceYPos(block, x, y, z, ((ArmoryOre)block).blockIcons[5]);
  290.             renderer.renderFaceYNeg(block, x, y, z, ((ArmoryOre)block).blockIcons[5]);
  291.             renderer.renderFaceZNeg(block, x, y, z, ((ArmoryOre)block).blockIcons[5]);
  292.             renderer.renderFaceXPos(block, x, y, z, ((ArmoryOre)block).blockIcons[5]);
  293.             renderer.renderFaceZPos(block, x, y, z, ((ArmoryOre)block).blockIcons[5]);
  294.             renderer.renderFaceXNeg(block, x, y, z, ((ArmoryOre)block).blockIcons[5]);
  295.         }
  296.        
  297.         renderer.setRenderBounds(0.001, 0.001, 0.001, 0.999, 0.999, 0.999);
  298.         renderer.renderStandardBlock(block, x, y, z);
  299.         renderer.setRenderBounds(0, 0, 0, 1, 1, 1);
  300.         renderer.clearOverrideBlockTexture();
  301.         renderer.renderStandardBlock(block, x, y, z);
  302.        
  303.         return true;
  304.     }
  305.  
  306.     @Override
  307.     public int getRenderId()
  308.     {
  309.         return ClientProxy.OreBlockRenderID;
  310.     }
  311.  
  312.     @Override
  313.     public boolean shouldRender3DInInventory(int modelId)
  314.     {
  315.         return true;
  316.     }
  317. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement