You must be working with an old version of oUF... get the current one from Haste's GitHub repo:
https://github.com/haste/oUF
There aren't separate elements for Soul Shards, Holy Power, etc. anymore. Instead, all of the class powers that are displayed like combo points are combined into the
ClassIcons element. It covers Harmony Orbs (chi), Holy Power, Shadow Orbs, and Soul Shards. If you look at the top of the
classicons.lua element file, you'll see an example. You shouldn't need to change much; mainly changing the name of the element from
SoulShards to
ClassIcons, getting rid of your separate
HolyPower element if you have one, and if your layout uses custom textures, add a class check when you're setting up the
ClassIcons element to set the appropriate textures.
Here's the ClassIcons example from the oUF/elements/classicons.lua file:
Code:
local ClassIcons = {}
for index = 1, 5 do
local Icon = self:CreateTexture(nil, 'BACKGROUND')
-- Position and size.
Icon:SetSize(16, 16)
Icon:SetPoint('TOPLEFT', self, 'BOTTOMLEFT', index * Icon:GetWidth(), 0)
ClassIcons[index] = Icon
end
-- Register with oUF
self.ClassIcons = ClassIcons
You don't need to worry about defining your own
Update function for the element; oUF takes care of everything. It does support
PreUpdate,
PostUpdate, and
Override methods though, if you want to change how the element updates. I'd recommend using
PostUpdate, and changing only the things you want to change, instead of definining an
Override and having to do all the work yourself.
The other warlock powers -- Burning Embers and Demonic Fury -- are not yet supported by oUF itself, but Haste is working on a
ClassBars element that will cover those plus all other class powers that have fill values or durations. If you want to support them in the meantime, you'll have to either write your own element, or use Tukz'
oUF Warlock Spec Bars plugin. If you're writing your own, feel free to look at the WarlockPower.lua file in
oUF Phanx for an example.