aboutsummaryrefslogtreecommitdiff
path: root/src/Java/binnie/core/machines/RendererMachine.java
blob: 18ad4afe9261a9d7e085267c91112e035f928a4d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
package binnie.core.machines;

import binnie.Binnie;
import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler;
import net.minecraft.block.Block;
import net.minecraft.client.renderer.RenderBlocks;
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;

public class RendererMachine
  extends TileEntitySpecialRenderer
  implements ISimpleBlockRenderingHandler
{
  RenderBlocks blockRenderer;
  
  public void renderTileEntityAt(TileEntity entity, double x, double y, double z, float var8)
  {
    renderTileEntity((TileEntityMachine)entity, x, y, z, var8, this.blockRenderer);
  }
  
  public void renderTileEntity(TileEntityMachine entity, double x, double y, double z, float var8, RenderBlocks renderer)
  {
    if ((entity != null) && (entity.getMachine() != null))
    {
      MachinePackage machinePackage = entity.getMachine().getPackage();
      machinePackage.renderMachine(entity.getMachine(), x, y, z, var8, renderer);
    }
  }
  
  public void renderInvBlock(RenderBlocks renderblocks, Block block, int i, int j)
  {
    TileEntity entity = block.createTileEntity(null, i);
    renderTileEntity((TileEntityMachine)entity, 0.0D, -0.1D, 0.0D, 0.0625F, renderblocks);
  }
  
  public void renderInventoryBlock(Block block, int metadata, int modelID, RenderBlocks renderer)
  {
    if (modelID == Binnie.Machine.getMachineRenderID()) {
      renderInvBlock(renderer, block, metadata, modelID);
    }
  }
  
  public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z, Block block, int modelId, RenderBlocks renderer)
  {
    TileEntityMachine tile = (TileEntityMachine)world.getTileEntity(x, y, z);
    if ((tile != null) && (tile.getMachine() != null) && (tile.getMachine().getPackage() != null) && (tile.getMachine().getPackage().getGroup() != null) && (!tile.getMachine().getPackage().getGroup().customRenderer)) {
      renderTileEntity(tile, x, y, z, 1.0F, renderer);
    }
    return true;
  }
  
  public boolean shouldRender3DInInventory(int i)
  {
    return true;
  }
  
  public int getRenderId()
  {
    return Binnie.Machine.getMachineRenderID();
  }
  
  public void func_147496_a(World par1World)
  {
    this.blockRenderer = new RenderBlocks(par1World);
  }
}