package openblocks.common.block; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.material.Material; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.util.IIcon; import net.minecraft.world.IBlockAccess; import net.minecraftforge.common.util.ForgeDirection; import openblocks.common.tileentity.TileEntityBlockBreaker; import openmods.block.BlockRotationMode; import openmods.infobook.BookDocumentation; @BookDocumentation public class BlockBlockBreaker extends OpenBlock { @SideOnly(Side.CLIENT) private static class Icons { public static IIcon top; public static IIcon top_active; public static IIcon bottom; public static IIcon side; } public BlockBlockBreaker() { super(Material.rock); setRotationMode(BlockRotationMode.SIX_DIRECTIONS); setPlacementMode(BlockPlacementMode.ENTITY_ANGLE); } @Override @SideOnly(Side.CLIENT) public void registerBlockIcons(IIconRegister registry) { super.registerBlockIcons(registry); Icons.top = registry.registerIcon("openblocks:blockBreaker"); Icons.top_active = registry.registerIcon("openblocks:blockBreaker_active"); Icons.bottom = registry.registerIcon("openblocks:blockBreaker_bottom"); Icons.side = registry.registerIcon("openblocks:blockBreaker_side"); setTexture(ForgeDirection.UP, Icons.top); setTexture(ForgeDirection.DOWN, Icons.bottom); setTexture(ForgeDirection.EAST, Icons.side); setTexture(ForgeDirection.WEST, Icons.side); setTexture(ForgeDirection.NORTH, Icons.side); setTexture(ForgeDirection.SOUTH, Icons.side); } @Override public IIcon getUnrotatedTexture(ForgeDirection direction, IBlockAccess world, int x, int y, int z) { if (direction.equals(ForgeDirection.UP)) { TileEntityBlockBreaker tile = getTileEntity(world, x, y, z, TileEntityBlockBreaker.class); if (tile != null && tile.isActivated()) { return Icons.top_active; } } return super.getUnrotatedTexture(direction, world, x, y, z); } }