spenk

BlockSeedPotRender

Aug 22nd, 2013
104
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.21 KB | None | 0 0
  1. package net.bplaced.spenk.drugmod.generator;
  2.  
  3. import java.util.Random;
  4.  
  5. import net.bplaced.spenk.drugmod.ClientProxy;
  6. import net.bplaced.spenk.drugmod.DrugsMod;
  7. import net.minecraft.block.Block;
  8. import net.minecraft.block.BlockAnvil;
  9. import net.minecraft.block.BlockBeacon;
  10. import net.minecraft.block.BlockBrewingStand;
  11. import net.minecraft.block.BlockCauldron;
  12. import net.minecraft.block.BlockCocoa;
  13. import net.minecraft.block.BlockComparator;
  14. import net.minecraft.block.BlockDragonEgg;
  15. import net.minecraft.block.BlockEndPortalFrame;
  16. import net.minecraft.block.BlockFence;
  17. import net.minecraft.block.BlockFenceGate;
  18. import net.minecraft.block.BlockFire;
  19. import net.minecraft.block.BlockFlower;
  20. import net.minecraft.block.BlockFlowerPot;
  21. import net.minecraft.block.BlockHopper;
  22. import net.minecraft.block.BlockPane;
  23. import net.minecraft.block.BlockRailBase;
  24. import net.minecraft.block.BlockRedstoneLogic;
  25. import net.minecraft.block.BlockRedstoneRepeater;
  26. import net.minecraft.block.BlockStairs;
  27. import net.minecraft.block.BlockWall;
  28. import net.minecraft.client.Minecraft;
  29. import net.minecraft.client.renderer.EntityRenderer;
  30. import net.minecraft.client.renderer.RenderBlocks;
  31. import net.minecraft.client.renderer.Tessellator;
  32. import net.minecraft.src.FMLRenderAccessLibrary;
  33. import net.minecraft.util.Icon;
  34. import net.minecraft.world.IBlockAccess;
  35. import net.minecraft.world.World;
  36. import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler;
  37. import cpw.mods.fml.relauncher.Side;
  38. import cpw.mods.fml.relauncher.SideOnly;
  39.  
  40. public class BlockSeedpotRender implements ISimpleBlockRenderingHandler {
  41.  
  42.     @Override
  43.     public void renderInventoryBlock(Block block, int metadata, int modelID, RenderBlocks renderer) {
  44.  
  45.     }
  46.  
  47.     @Override
  48.     public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z, Block block, int modelId, RenderBlocks renderer) {
  49.         if (ClientProxy.renderPass == 0) {
  50.             renderBlockSeedpot(world, block, renderer, x, y, z);
  51.         } else {
  52.         }
  53.         return true;
  54.     }
  55.    
  56.     public boolean renderBlockSeedpot(IBlockAccess world, Block block, RenderBlocks renderer, int par2, int par3, int par4) {
  57.         renderer.renderStandardBlock(block, par2, par3, par4);
  58.         Tessellator tessellator = Tessellator.instance;
  59.         tessellator.setBrightness(block.getMixedBrightnessForBlock(renderer.blockAccess, par2, par3, par4));
  60.         float f = 1.0F;
  61.         int l = block.colorMultiplier(renderer.blockAccess, par2, par3, par4);
  62.         Icon icon = renderer.getBlockIconFromSide(block, 0);
  63.         float f1 = (float) (l >> 16 & 255) / 255.0F;
  64.         float f2 = (float) (l >> 8 & 255) / 255.0F;
  65.         float f3 = (float) (l & 255) / 255.0F;
  66.         float f4;
  67.         float f5;
  68.  
  69.         if (EntityRenderer.anaglyphEnable) {
  70.             f4 = (f1 * 30.0F + f2 * 59.0F + f3 * 11.0F) / 100.0F;
  71.             float f6 = (f1 * 30.0F + f2 * 70.0F) / 100.0F;
  72.             f5 = (f1 * 30.0F + f3 * 70.0F) / 100.0F;
  73.             f1 = f4;
  74.             f2 = f6;
  75.             f3 = f5;
  76.         }
  77.  
  78.         tessellator.setColorOpaque_F(f * f1, f * f2, f * f3);
  79.         f4 = 0.1865F;
  80.         renderer.renderFaceXPos(block, (double) ((float) par2 - 0.5001F + f4), (double) par3, (double) par4, icon);
  81.         renderer.renderFaceXNeg(block, (double) ((float) par2 + 0.5001F - f4), (double) par3, (double) par4, icon);
  82.         renderer.renderFaceZPos(block, (double) par2, (double) par3, (double) ((float) par4 - 0.5001F + f4), icon);
  83.         renderer.renderFaceZNeg(block, (double) par2, (double) par3, (double) ((float) par4 + 0.5001F - f4), icon);
  84.         renderer.renderFaceYPos(block, (double) par2, (double) ((float) par3 - 0.5F + f4 + 0.1875F), (double) par4, renderer.getBlockIcon(Block.tilledField));
  85.         int i1 = renderer.blockAccess.getBlockMetadata(par2, par3, par4);
  86.         if (i1 != 0) {
  87.             f5 = 0.0F;
  88.             float f7 = 4.0F;
  89.             float f8 = 0.0F;
  90.             BlockFlower blockflower = null;
  91.  
  92.             switch (i1) {
  93.             case 1:
  94.                 blockflower = DrugsMod.blockPotCanabis;
  95.             }
  96.  
  97.             tessellator.addTranslation(f5 / 16.0F, f7 / 16.0F, f8 / 16.0F);
  98.  
  99.             if (blockflower != null) {
  100.                 renderer.renderBlockByRenderType(blockflower, par2, par3, par4);
  101.             }
  102.  
  103.             tessellator.addTranslation(-f5 / 16.0F, -f7 / 16.0F, -f8 / 16.0F);
  104.         }
  105.         return true;
  106.     }
  107.  
  108.     @Override
  109.     public boolean shouldRender3DInInventory() {
  110.         return false;
  111.     }
  112.  
  113.     @Override
  114.     public int getRenderId() {
  115.         return ClientProxy.seedPotRender;
  116.     }
  117. }
Advertisement
Add Comment
Please, Sign In to add comment