package net.minecraft.src;

import net.minecraft.src.forge.ITextureProvider;

/**
 * Decorative block;<br>
 * Subtypes: iron frame, redstone storage, enderpearl storage;
 * 
 * @author MightyPork
 * @copy (c) 2012
 *
 */
public class PCde_BlockDecorative extends Block implements PC_IBlockType, PC_ISwapTerrain, ITextureProvider {

	@Override
	public String getTextureFile() {
		return getTerrainFile();
	}

	@Override
	public String getTerrainFile() {
		return mod_PCcore.getTerrainFile();
	}

	/**
	 * Decorative block;
	 * @param i id
	 * @param j texture index
	 * @param material block material
	 */
	public PCde_BlockDecorative(int i, int j, Material material) {
		super(i, j, material);
	}

	@Override
	protected int damageDropped(int i) {
		return 0;
	}

	@Override
	public boolean shouldSideBeRendered(IBlockAccess iblockaccess, int i, int j, int k, int l) {
		if(iblockaccess.getBlockMetadata(i,j,k) == 0) return true;
		return super.shouldSideBeRendered(iblockaccess, i,j,k,l);
	}

	@Override
	public int getRenderBlockPass() {
		return 0;//solid
	}

	@Override
	public boolean isOpaqueCube() {
		return false;
	}

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

	@Override
	public int getRenderType() {
		return PCde_Renderer.decorativeBlockRenderer;
	}

	// @formatter:off
	
	@Override
	public boolean isTranslucentForLaser(IBlockAccess world, PC_CoordI pos) { return pos.getMeta(world) == 0; }
	@Override
	public boolean isHarvesterIgnored(IBlockAccess world, PC_CoordI pos) { return pos.getMeta(world) == 0; }
	@Override
	public boolean isHarvesterDelimiter(IBlockAccess world, PC_CoordI pos) { return false; }
	@Override
	public boolean isBuilderIgnored() { return false; }
	@Override
	public boolean isConveyor(IBlockAccess world, PC_CoordI pos) { return false; }
	@Override
	public boolean isElevator(IBlockAccess world, PC_CoordI pos) { return false; }
	
	// @formatter:off
}
