/*
* Copyright (c) CovertJaguar, 2014 http://railcraft.info
*
* This code is the property of CovertJaguar
* and may only be used with explicit written
* permission unless otherwise specified on the
* license page at http://railcraft.info/wiki/info:license.
*/
package mods.railcraft.client.render;
import net.minecraft.block.Block;
import net.minecraft.world.IBlockAccess;
import net.minecraft.client.renderer.RenderBlocks;
import net.minecraft.tileentity.TileEntity;
import mods.railcraft.common.blocks.machine.beta.TileBoilerTank;
/**
*
* @author CovertJaguar <http://www.railcraft.info>
*/
public class RenderBoilerTank implements IBlockRenderer {
private static final float BORDER = RenderTools.PIXEL;
public RenderBoilerTank() {
}
@Override
public void renderBlock(RenderBlocks renderblocks, IBlockAccess world, int x, int y, int z, Block block) {
TileEntity t = world.getTileEntity(x, y, z);
if (t instanceof TileBoilerTank) {
TileBoilerTank myTile = (TileBoilerTank) t;
float x1, x2, z1, z2;
x1 = z1 = BORDER;
x2 = z2 = 1 - BORDER;
if (myTile.isConnected()) {
TileEntity tile = world.getTileEntity(x - 1, y, z);
if (tile instanceof TileBoilerTank) {
x1 = 0;
}
tile = world.getTileEntity(x + 1, y, z);
if (tile instanceof TileBoilerTank) {
x2 = 1;
}
tile = world.getTileEntity(x, y, z - 1);
if (tile instanceof TileBoilerTank) {
z1 = 0;
}
tile = world.getTileEntity(x, y, z + 1);
if (tile instanceof TileBoilerTank) {
z2 = 1;
}
}
block.setBlockBounds(x1, 0, z1, x2, 1, z2);
RenderTools.renderStandardBlock(renderblocks, block, x, y, z);
block.setBlockBounds(0, 0, 0, 1, 1, 1);
}
}
}