Advertisement
WackoMcGoose

Render dem inventory blocks

Feb 22nd, 2012
100
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 8.08 KB | None | 0 0
  1. //Add to RenderBlocks.java
  2.  
  3.     public static void renderStandardInvBlock(RenderBlocks renderblocks, Tessellator tessellator, Block block, int i)
  4.     {
  5.         GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
  6.         tessellator.startDrawingQuads();
  7.         tessellator.setNormal(0.0F, -1F, 0.0F);
  8.         renderblocks.renderBottomFace(block, 0.0D, 0.0D, 0.0D, block.getBlockTextureFromSideAndMetadata(0, i));
  9.         tessellator.draw();
  10.         tessellator.startDrawingQuads();
  11.         tessellator.setNormal(0.0F, 1.0F, 0.0F);
  12.         renderblocks.renderTopFace(block, 0.0D, 0.0D, 0.0D, block.getBlockTextureFromSideAndMetadata(1, i));
  13.         tessellator.draw();
  14.         tessellator.startDrawingQuads();
  15.         tessellator.setNormal(0.0F, 0.0F, -1F);
  16.         renderblocks.renderEastFace(block, 0.0D, 0.0D, 0.0D, block.getBlockTextureFromSideAndMetadata(2, i));
  17.         tessellator.draw();
  18.         tessellator.startDrawingQuads();
  19.         tessellator.setNormal(0.0F, 0.0F, 1.0F);
  20.         renderblocks.renderWestFace(block, 0.0D, 0.0D, 0.0D, block.getBlockTextureFromSideAndMetadata(3, i));
  21.         tessellator.draw();
  22.         tessellator.startDrawingQuads();
  23.         tessellator.setNormal(-1F, 0.0F, 0.0F);
  24.         renderblocks.renderNorthFace(block, 0.0D, 0.0D, 0.0D, block.getBlockTextureFromSideAndMetadata(4, i));
  25.         tessellator.draw();
  26.         tessellator.startDrawingQuads();
  27.         tessellator.setNormal(1.0F, 0.0F, 0.0F);
  28.         renderblocks.renderSouthFace(block, 0.0D, 0.0D, 0.0D, block.getBlockTextureFromSideAndMetadata(5, i));
  29.         tessellator.draw();
  30.         GL11.glTranslatef(0.5F, 0.5F, 0.5F);
  31.     }
  32.  
  33. //==========================================================================================================
  34. //Example usage
  35.  
  36. //The original RenderPlanterPotInWorld
  37.     private boolean RenderPlanterPotInWorld(RenderBlocks renderblocks, IBlockAccess iblockaccess, int i, int j, int k, Block block)
  38.     {
  39.         //Base
  40.         block.setBlockBounds(0.1875F, 0.0F, 0.1875F, 0.8125F, 0.0625F, 0.8125F);
  41.         renderblocks.renderStandardBlock(block, i, j, k);
  42.         //Inner sides, also collision box
  43.         block.setBlockBounds(0.1875F, 0.0F, 0.125F, 0.875F, 0.8125F, 0.1875F);
  44.         renderblocks.renderStandardBlock(block, i, j, k);
  45.         block.setBlockBounds(0.1875F, 0.0F, 0.8125F, 0.875F, 0.8125F, 0.875F);
  46.         renderblocks.renderStandardBlock(block, i, j, k);
  47.         block.setBlockBounds(0.125F, 0.0F, 0.1875F, 0.1875F, 0.875F, 0.8125F);
  48.         renderblocks.renderStandardBlock(block, i, j, k);
  49.         block.setBlockBounds(0.8125F, 0.0F, 0.1875F, 0.875F, 0.875F, 0.8125F);
  50.         renderblocks.renderStandardBlock(block, i, j, k);
  51.         //Inner side-lip
  52.         block.setBlockBounds(0.125F, 0.8125F, 0.125F, 0.875F, 0.875F, 0.1875F);
  53.         renderblocks.renderStandardBlock(block, i, j, k);
  54.         block.setBlockBounds(0.125F, 0.8125F, 0.8125F, 0.875F, 0.875F, 0.875F);
  55.         renderblocks.renderStandardBlock(block, i, j, k);
  56.         //Outer sides
  57.         block.setBlockBounds(0.25F, 0.0F, 0.0625F, 0.75F, 0.8125F, 0.125F);
  58.         renderblocks.renderStandardBlock(block, i, j, k);
  59.         block.setBlockBounds(0.25F, 0.0F, 0.875F, 0.75F, 0.8125F, 0.9375F);
  60.         renderblocks.renderStandardBlock(block, i, j, k);
  61.         block.setBlockBounds(0.0625F, 0.0F, 0.25F, 0.125F, 0.8125F, 0.75F);
  62.         renderblocks.renderStandardBlock(block, i, j, k);
  63.         block.setBlockBounds(0.875F, 0.0F, 0.25F, 0.9375F, 0.8125F, 0.75F);
  64.         renderblocks.renderStandardBlock(block, i, j, k);
  65.         //Inner lip
  66.         block.setBlockBounds(0.1875F, 0.8125F, 0.0625F, 0.8125F, 0.875F, 0.125F);
  67.         renderblocks.renderStandardBlock(block, i, j, k);
  68.         block.setBlockBounds(0.1875F, 0.8125F, 0.875F, 0.8125F, 0.875F, 0.9375F);
  69.         renderblocks.renderStandardBlock(block, i, j, k);
  70.         block.setBlockBounds(0.0625F, 0.8125F, 0.1875F, 0.125F, 0.875F, 0.8125F);
  71.         renderblocks.renderStandardBlock(block, i, j, k);
  72.         block.setBlockBounds(0.875F, 0.8125F, 0.1875F, 0.9375F, 0.875F, 0.8125F);
  73.         renderblocks.renderStandardBlock(block, i, j, k);
  74.         //Outer lip
  75.         block.setBlockBounds(0.25F, 0.8125F, 0.0F, 0.75F, 0.875F, 0.0625F);
  76.         renderblocks.renderStandardBlock(block, i, j, k);
  77.         block.setBlockBounds(0.25F, 0.8125F, 0.9375F, 0.75F, 0.875F, 1.0F);
  78.         renderblocks.renderStandardBlock(block, i, j, k);
  79.         block.setBlockBounds(0.0F, 0.8125F, 0.25F, 0.0625F, 0.875F, 0.75F);
  80.         renderblocks.renderStandardBlock(block, i, j, k);
  81.         block.setBlockBounds(0.9375F, 0.8125F, 0.25F, 1.0F, 0.875F, 0.75F);
  82.         renderblocks.renderStandardBlock(block, i, j, k);
  83.         //Not rendered, just fix the stupid hitbox
  84.         block.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 0.875F, 1.0F);
  85.         return false;
  86.     }
  87.  
  88. //And its inventory counterpart. Note the glColor4F (which is handled by block.colorMultiplier for the worldrender)
  89.     private void RenderPlanterPotInInv(RenderBlocks renderblocks, Block block, int i)
  90.     {
  91.         Tessellator tessellator = Tessellator.instance;
  92.         GL11.glColor4f(1.0F, 0.125F, 0.125F, 1.0F);
  93.         //Base
  94.         block.setBlockBounds(0.1875F, 0.0F, 0.1875F, 0.8125F, 0.0625F, 0.8125F);
  95.         renderblocks.renderStandardInvBlock(renderblocks, tessellator, block, i);
  96.         //Inner sides, also collision box
  97.         block.setBlockBounds(0.1875F, 0.0F, 0.125F, 0.875F, 0.8125F, 0.1875F);
  98.         renderblocks.renderStandardInvBlock(renderblocks, tessellator, block, i);
  99.         block.setBlockBounds(0.1875F, 0.0F, 0.8125F, 0.875F, 0.8125F, 0.875F);
  100.         renderblocks.renderStandardInvBlock(renderblocks, tessellator, block, i);
  101.         block.setBlockBounds(0.125F, 0.0F, 0.1875F, 0.1875F, 0.875F, 0.8125F);
  102.         renderblocks.renderStandardInvBlock(renderblocks, tessellator, block, i);
  103.         block.setBlockBounds(0.8125F, 0.0F, 0.1875F, 0.875F, 0.875F, 0.8125F);
  104.         renderblocks.renderStandardInvBlock(renderblocks, tessellator, block, i);
  105.         //Inner side-lip
  106.         block.setBlockBounds(0.125F, 0.8125F, 0.125F, 0.875F, 0.875F, 0.1875F);
  107.         renderblocks.renderStandardInvBlock(renderblocks, tessellator, block, i);
  108.         block.setBlockBounds(0.125F, 0.8125F, 0.8125F, 0.875F, 0.875F, 0.875F);
  109.         renderblocks.renderStandardInvBlock(renderblocks, tessellator, block, i);
  110.         //Outer sides
  111.         block.setBlockBounds(0.25F, 0.0F, 0.0625F, 0.75F, 0.8125F, 0.125F);
  112.         renderblocks.renderStandardInvBlock(renderblocks, tessellator, block, i);
  113.         block.setBlockBounds(0.25F, 0.0F, 0.875F, 0.75F, 0.8125F, 0.9375F);
  114.         renderblocks.renderStandardInvBlock(renderblocks, tessellator, block, i);
  115.         block.setBlockBounds(0.0625F, 0.0F, 0.25F, 0.125F, 0.8125F, 0.75F);
  116.         renderblocks.renderStandardInvBlock(renderblocks, tessellator, block, i);
  117.         block.setBlockBounds(0.875F, 0.0F, 0.25F, 0.9375F, 0.8125F, 0.75F);
  118.         renderblocks.renderStandardInvBlock(renderblocks, tessellator, block, i);
  119.         //Inner lip
  120.         block.setBlockBounds(0.1875F, 0.8125F, 0.0625F, 0.8125F, 0.875F, 0.125F);
  121.         renderblocks.renderStandardInvBlock(renderblocks, tessellator, block, i);
  122.         block.setBlockBounds(0.1875F, 0.8125F, 0.875F, 0.8125F, 0.875F, 0.9375F);
  123.         renderblocks.renderStandardInvBlock(renderblocks, tessellator, block, i);
  124.         block.setBlockBounds(0.0625F, 0.8125F, 0.1875F, 0.125F, 0.875F, 0.8125F);
  125.         renderblocks.renderStandardInvBlock(renderblocks, tessellator, block, i);
  126.         block.setBlockBounds(0.875F, 0.8125F, 0.1875F, 0.9375F, 0.875F, 0.8125F);
  127.         renderblocks.renderStandardInvBlock(renderblocks, tessellator, block, i);
  128.         //Outer lip
  129.         block.setBlockBounds(0.25F, 0.8125F, 0.0F, 0.75F, 0.875F, 0.0625F);
  130.         renderblocks.renderStandardInvBlock(renderblocks, tessellator, block, i);
  131.         block.setBlockBounds(0.25F, 0.8125F, 0.9375F, 0.75F, 0.875F, 1.0F);
  132.         renderblocks.renderStandardInvBlock(renderblocks, tessellator, block, i);
  133.         block.setBlockBounds(0.0F, 0.8125F, 0.25F, 0.0625F, 0.875F, 0.75F);
  134.         renderblocks.renderStandardInvBlock(renderblocks, tessellator, block, i);
  135.         block.setBlockBounds(0.9375F, 0.8125F, 0.25F, 1.0F, 0.875F, 0.75F);
  136.         renderblocks.renderStandardInvBlock(renderblocks, tessellator, block, i);
  137.         //Not rendered, just fix the stupid hitbox
  138.         block.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 0.875F, 1.0F);
  139.     }
  140.  
  141. //Essentially, change all this:
  142.         renderblocks.renderStandardBlock(block, i, j, k);
  143. //to this
  144.         renderblocks.renderStandardInvBlock(renderblocks, tessellator, block, i);
  145. //and remove the "return false;" (invrenders can't return anything), also make a Tessellator reference
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement