package com.cricketcraft.chisel.block; import java.util.List; import net.minecraft.block.BlockGlass; import net.minecraft.block.material.Material; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.item.Item; import net.minecraft.util.IIcon; import net.minecraft.world.IBlockAccess; import com.cricketcraft.chisel.api.ICarvable; import com.cricketcraft.chisel.api.carving.CarvableHelper; import com.cricketcraft.chisel.api.carving.IVariationInfo; import com.cricketcraft.chisel.api.rendering.ClientUtils; import com.cricketcraft.chisel.init.ChiselTabs; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; public class BlockCarvableGlass extends BlockGlass implements ICarvable { public CarvableHelper carverHelper; private boolean isAlpha = false; public BlockCarvableGlass() { super(Material.glass, false); carverHelper = new CarvableHelper(this); setCreativeTab(ChiselTabs.tabOtherChiselBlocks); } public BlockCarvableGlass setStained(boolean a) { this.isAlpha = a; return this; } @Override public boolean renderAsNormalBlock() { return false; } @Override public boolean isNormalCube() { return true; } @Override public int getRenderType() { return ClientUtils.renderCTMId; } @Override public IIcon getIcon(int side, int metadata) { return carverHelper.getIcon(side, metadata); } @Override public int damageDropped(int i) { return i; } @Override public void registerBlockIcons(IIconRegister register) { carverHelper.registerBlockIcons("Chisel", this, register); } @Override public void getSubBlocks(Item item, CreativeTabs tabs, List list) { carverHelper.registerSubBlocks(this, tabs, list); } @Override public IVariationInfo getManager(IBlockAccess world, int x, int y, int z, int metadata) { return carverHelper.getVariation(metadata); } @Override public IVariationInfo getManager(int meta) { return carverHelper.getVariation(meta); } @Override @SideOnly(Side.CLIENT) public int getRenderBlockPass() { return isAlpha ? 1 : 0; } }