Package extracells.render

Source Code of extracells.render.RenderHandler

package extracells.render;

import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler;
import extracells.blocks.BlockCertusTank;
import extracells.blocks.BlockMonitorStorageFluid;
import extracells.blocks.BlockTerminalFluid;
import extracells.render.helpers.RenderHelperMonitorStorageFluid;
import extracells.render.helpers.RenderHelperTerminalFluid;
import extracells.render.model.ModelCertusTank;
import net.minecraft.block.Block;
import net.minecraft.client.renderer.RenderBlocks;
import net.minecraft.client.renderer.Tessellator;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.IBlockAccess;

public class RenderHandler implements ISimpleBlockRenderingHandler
{
  int renderID = 0;
  RenderHelperMonitorStorageFluid monitorRender = new RenderHelperMonitorStorageFluid();
  RenderHelperTerminalFluid terminalRender = new RenderHelperTerminalFluid();
  ModelCertusTank tank = new ModelCertusTank();
  public static int renderPass;

  public RenderHandler(int id)
  {
    RenderHandler.renderPass = 0;
    renderID = id;
  }

  @Override
  public void renderInventoryBlock(Block block, int metadata, int modelID, RenderBlocks renderer)
  {
    if (block instanceof BlockTerminalFluid)
    {
      terminalRender.renderInventoryBlock(block, metadata, modelID, renderer);
    }
    if (block instanceof BlockMonitorStorageFluid)
    {
      monitorRender.renderInventoryBlock(block, metadata, modelID, renderer);
    }
  }

  @Override
  public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z, Block block, int modelId, RenderBlocks renderer)
  {
    if (block instanceof BlockTerminalFluid)
    {
      return terminalRender.renderWorldBlock(world, x, y, z, block, modelId, renderer);
    }
    if (block instanceof BlockMonitorStorageFluid)
    {
      return monitorRender.renderWorldBlock(world, x, y, z, block, modelId, renderer);
    }
    if (block instanceof BlockCertusTank)
    {
      Tessellator tessellator = Tessellator.instance;
      tessellator.setColorOpaque_F(1, 1, 1);
      boolean oldAO = renderer.enableAO;
      renderer.enableAO = false;
      if (RenderHandler.renderPass == 0)
      {
        tank.renderOuterBlock(block, x, y, z, renderer, world);
      } else
      {
        tank.renderInnerBlock(block, x, y, z, renderer, world);
        TileEntity tileEntity = world.getBlockTileEntity(x, y, z);
        tank.renderFluid(tileEntity, x, y, z, renderer);
      }
      renderer.enableAO = oldAO;
      return true;
    }
    return false;
  }

  @Override
  public boolean shouldRender3DInInventory()
  {
    return true;
  }

  @Override
  public int getRenderId()
  {
    return renderID;
  }
}
TOP

Related Classes of extracells.render.RenderHandler

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.