Guest User

MilkBarrelRenderer.java

a guest
Dec 24th, 2015
109
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.13 KB | None | 0 0
  1. package com.chef.mod.renderer;
  2.  
  3. import net.minecraft.block.Block;
  4. import net.minecraft.block.BlockLiquid;
  5. import net.minecraft.client.renderer.EntityRenderer;
  6. import net.minecraft.client.renderer.RenderBlocks;
  7. import net.minecraft.client.renderer.Tessellator;
  8. import net.minecraft.util.IIcon;
  9. import net.minecraft.world.IBlockAccess;
  10.  
  11. import com.chef.mod.Reference;
  12. import com.chef.mod.blocks.MilkBarrel;
  13. import com.chef.mod.proxy.ClientProxy;
  14.  
  15. import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler;
  16.  
  17. public class MilkBarrelRenderer implements ISimpleBlockRenderingHandler {
  18.  
  19.     @Override
  20.     public void renderInventoryBlock(Block block, int metadata, int modelId, RenderBlocks renderer) {
  21.        
  22.        
  23.        
  24.     }
  25.  
  26.     @Override
  27.     public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z, Block block, int modelId, RenderBlocks renderer) {
  28.  
  29.         drawMilkBarrel(world, x, y, z, (MilkBarrel)block, modelId, renderer);
  30.         return true;
  31.        
  32.     }
  33.    
  34.     public void drawMilkBarrel(IBlockAccess world, int x, int y, int z, Block block, int modelId, RenderBlocks renderer) {
  35.        
  36.         //renderer.renderStandardBlock(block, x, y, z);
  37.         Tessellator tessellator = Tessellator.instance;
  38.         tessellator.setBrightness(block.getMixedBrightnessForBlock(renderer.blockAccess, x, y, z));
  39.         int l = block.colorMultiplier(renderer.blockAccess, x, y, z);
  40.         float f = (float)(l >> 16 & 255) / 255.0F;
  41.         float f1 = (float)(l >> 8 & 255) / 255.0F;
  42.         float f2 = (float)(l & 255) / 255.0F;
  43.         float f4;
  44.  
  45.         if (EntityRenderer.anaglyphEnable)
  46.         {
  47.             float f3 = (f * 30.0F + f1 * 59.0F + f2 * 11.0F) / 100.0F;
  48.             f4 = (f * 30.0F + f1 * 70.0F) / 100.0F;
  49.             float f5 = (f * 30.0F + f2 * 70.0F) / 100.0F;
  50.             f = f3;
  51.             f1 = f4;
  52.             f2 = f5;
  53.         }
  54.  
  55.         tessellator.setColorOpaque_F(f, f1, f2);
  56.         IIcon iicon1 = block.getBlockTextureFromSide(2);
  57.         f4 = 0.125F;
  58.         renderer.renderFaceXPos(block, (double)((float)x - 1.0F + f4), (double)y, (double)z, iicon1);
  59.         renderer.renderFaceXNeg(block, (double)((float)x + 1.0F - f4), (double)y, (double)z, iicon1);
  60.         renderer.renderFaceZPos(block, (double)x, (double)y, (double)((float)z - 1.0F + f4), iicon1);
  61.         renderer.renderFaceZNeg(block, (double)x, (double)y, (double)((float)z + 1.0F - f4), iicon1);
  62.         IIcon iicon2 = MilkBarrel.getMilkBarrelIcon("inner");
  63.         renderer.renderFaceYPos(block, (double)x, (double)((float)y - 1.0F + 0.25F), (double)z, iicon2);
  64.         renderer.renderFaceYNeg(block, (double)x, (double)((float)y + 1.0F - 0.75F), (double)z, iicon2);
  65.         int i1 = renderer.blockAccess.getBlockMetadata(x, y, z);
  66.  
  67.         if (i1 > 0)
  68.         {
  69.             IIcon iicon = MilkBarrel.getMilkIcon();
  70.             renderer.renderFaceYPos(block, (double)x, (double)((float)y - 1.0F + MilkBarrel.getRenderLiquidLevel(i1)), (double)z, iicon);
  71.         }
  72.        
  73.     }
  74.  
  75.     @Override
  76.     public boolean shouldRender3DInInventory(int modelId) {
  77.        
  78.         return false;
  79.     }
  80.  
  81.     @Override
  82.     public int getRenderId() {
  83.        
  84.         return ClientProxy.milkBarrelRenderType;
  85.     }
  86.  
  87. }
Add Comment
Please, Sign In to add comment