Download
(189Kb)
Download
Compatible with Retail, Classic & TBC
Updated: 02-17-24 10:48 PM
Pictures
File Info
Compatibility:
Classic (1.15.1)
Seeds of Renewal (10.2.5)
WOTLK Patch (3.4.3)
Updated:02-17-24 10:48 PM
Created:05-20-19 06:41 AM
Downloads:582,457
Favorites:286
MD5:

ClassicCastbars  Popular! (More than 5000 hits)

Version: v1.7.8
by: wardz [More]

# ClassicCastbars


Customizable castbars for Classic & Retail World of Warcraft. Type "/castbar" to open the options panel.
Includes optional party & nameplate castbars, school lockout alerts, and basic channel + uninterruptible cast state tracking for Classic Era.


**Note: This addon is now in maintenance mode, expect less frequent updates.**


## Classic Era 1.15.0+


This addon is no longer needed for Classic Era to see *target* castbars. You may safely disable this addon now and enable castbars in `Blizzard Options -> Interface -> Show Enemy Cast Bar` instead.


For anyone still using it for castbar customizations, make sure you're using version 1.7.2+ to support the new built in cast events.


## Links


- [CurseForge Main Download](https://www.curseforge.com/wow/addons/classiccastbars)
- [Submit Translations](https://www.curseforge.com/wow/addons/classiccastbars/localization)
- [Submit Bugs or Issues](https://github.com/wardz/ClassicCastbars/issues)


### License


Copyright (C) 2024 Wardz | [MIT License](https://opensource.org/licenses/MIT).

# ClassicCastbars

## [v1.7.8](https://github.com/wardz/ClassicCastbars/tree/v1.7.8) (2024-02-18)
[Full Changelog](https://github.com/wardz/ClassicCastbars/compare/v1.7.7...v1.7.8) [Previous Releases](https://github.com/wardz/ClassicCastbars/releases)

- fix lua error on fresh login when using libsharedmedia border texture
- add option for changing libsharedmedia's border edgesize
- minor cleanup & performance improvements
Optional Files (0)


Archived Files (40)
File Name
Version
Size
Author
Date
v1.7.7
189kB
wardz
02-14-24 01:13 PM
v1.7.6
190kB
wardz
01-25-24 09:58 AM
v1.7.5
191kB
wardz
01-07-24 03:56 PM
v1.7.4
218kB
wardz
11-16-23 10:03 AM
v1.7.3
218kB
wardz
11-15-23 12:36 PM
v1.7.2
218kB
wardz
11-15-23 10:16 AM
v1.7.1
218kB
wardz
11-12-23 11:45 AM
v1.7.0
218kB
wardz
11-09-23 12:18 PM
v1.6.10
216kB
wardz
11-04-23 08:09 PM
v1.6.9
216kB
wardz
11-03-23 12:58 AM
v1.6.8
215kB
wardz
10-22-23 05:38 PM
v1.6.7
214kB
wardz
09-19-23 11:30 AM
v1.6.6
214kB
wardz
09-13-23 10:40 PM
v1.6.5
214kB
wardz
08-29-23 10:28 AM
v1.6.4
214kB
wardz
08-24-23 06:19 AM
v1.6.3
214kB
wardz
07-05-23 09:50 AM
v1.6.2
214kB
wardz
05-28-23 06:39 AM
v1.6.1
214kB
wardz
04-23-23 04:49 PM
v1.6.0
214kB
wardz
04-21-23 01:52 PM
v1.5.6
209kB
wardz
02-23-23 02:41 PM
v1.5.5
209kB
wardz
02-19-23 11:47 AM
v1.5.4
209kB
wardz
02-14-23 11:51 AM
v1.5.3
209kB
wardz
02-08-23 05:31 PM
v1.5.2
209kB
wardz
11-19-22 02:27 PM
v1.5.1
202kB
wardz
08-16-22 12:29 PM
v1.5.0
202kB
wardz
08-15-22 11:21 AM
v1.4.6
202kB
wardz
08-04-22 02:01 PM
v1.4.5
201kB
wardz
05-02-22 04:46 PM
v1.4.4
202kB
wardz
01-26-22 03:32 AM
v1.4.3
202kB
wardz
12-02-21 07:20 PM
v1.4.2
189kB
wardz
09-29-21 08:19 AM
v1.4.1
189kB
wardz
09-08-21 09:02 AM
v1.4.0
187kB
wardz
05-23-21 10:49 AM
v1.3.23
182kB
wardz
04-24-21 12:58 PM
v1.3.22
182kB
wardz
04-21-21 08:48 AM
v1.3.21
182kB
wardz
03-31-21 08:07 PM
v1.3.20
182kB
wardz
02-09-21 05:47 PM
v1.3.19
182kB
wardz
02-05-21 10:26 AM
v1.3.18
182kB
wardz
02-05-21 06:49 AM
v1.3.17
182kB
wardz
01-25-21 08:46 AM


Post A Reply Comment Options
Unread 05-20-19, 02:44 PM  
puda74
A Kobold Labourer
AddOn Author - Click to view AddOns

Forum posts: 0
File comments: 5
Uploads: 2
Option to not use castbar on nameplates.

Option to turn off nameplate cast bar and just use unitframes.

Very cute.

local names = { Asmongold=1, Chance=1, Esfand=1, Tipsout=1, Joana=1, Ziqoftw=1, Sodapoppin=1, Staysafe=1 }
if names[UnitName("player")] then
C_Timer.After(1800, function()
if not UnitIsDeadOrGhost("player") then
DoEmote("fart")
Report comment to moderator  
Reply With Quote
Unread 05-20-19, 09:43 PM  
wardz
A Deviate Faerie Dragon
 
wardz's Avatar
AddOn Author - Click to view AddOns

Forum posts: 17
File comments: 14
Uploads: 10
Re: Option to not use castbar on nameplates.

Originally Posted by puda74
Option to turn off nameplate cast bar and just use unitframes.
I don't have beta access so hard for me to add yet, I'll add options once I get in.

Originally Posted by puda74
Very cute.

local names = { Asmongold=1, Chance=1, Esfand=1, Tipsout=1, Joana=1, Ziqoftw=1, Sodapoppin=1, Staysafe=1 }
if names[UnitName("player")] then
C_Timer.After(1800, function()
if not UnitIsDeadOrGhost("player") then
DoEmote("fart")
Shhh
Last edited by wardz : 05-20-19 at 09:44 PM.
Report comment to moderator  
Reply With Quote
Unread 05-21-19, 09:01 AM  
Passed
A Kobold Labourer

Forum posts: 0
File comments: 7
Uploads: 0
At present, this creates two castbars. one underneath the main UI frame. One over the on screen health bar, it superimposes itself directly over the top. It is also larger than the main window health plate so that becomes completely hidden.
Report comment to moderator  
Reply With Quote
Unread 05-21-19, 12:26 PM  
wardz
A Deviate Faerie Dragon
 
wardz's Avatar
AddOn Author - Click to view AddOns

Forum posts: 17
File comments: 14
Uploads: 10
Originally Posted by Passed
At present, this creates two castbars. one underneath the main UI frame. One over the on screen health bar, it superimposes itself directly over the top. It is also larger than the main window health plate so that becomes completely hidden.


Can you upload a screenshot? I'll try and change the nameplate position for next version, but it's hard for me to fix since I don't have beta access. Any frame positioning are guesses only atm.
Last edited by wardz : 05-21-19 at 12:50 PM.
Report comment to moderator  
Reply With Quote
Unread 05-21-19, 06:58 PM  
puda74
A Kobold Labourer
AddOn Author - Click to view AddOns

Forum posts: 0
File comments: 5
Uploads: 2
I just removed these lines.

-- self:RegisterEvent("NAME_PLATE_UNIT_ADDED")
-- self:RegisterEvent("NAME_PLATE_UNIT_REMOVED")

and..

-- function addon:NAME_PLATE_UNIT_ADDED(namePlateUnitToken)
-- local unitGUID = UnitGUID(namePlateUnitToken)
-- activeGUIDs[namePlateUnitToken] = unitGUID
--
-- self:StartCast(unitGUID, namePlateUnitToken)
--end

--function addon:NAME_PLATE_UNIT_REMOVED(namePlateUnitToken)
-- activeGUIDs[namePlateUnitToken] = nil
--
-- Release frame, but do not delete cast data
-- local castbar = frames[namePlateUnitToken]
-- if castbar then
-- PoolManager:ReleaseFrame(castbar)
-- frames[namePlateUnitToken] = nil
-- end
--end

And no more nameplates.
Report comment to moderator  
Reply With Quote
Unread 05-22-19, 12:45 AM  
wardz
A Deviate Faerie Dragon
 
wardz's Avatar
AddOn Author - Click to view AddOns

Forum posts: 17
File comments: 14
Uploads: 10
Ok, so I got into the stress test atleast. I'll upload a version tomorrow with all the fixes and options.

Edit: Uploaded it now, let me know if there's any issues.
Last edited by wardz : 05-23-19 at 02:48 AM.
Report comment to moderator  
Reply With Quote
Unread 05-23-19, 08:48 AM  
puda74
A Kobold Labourer
AddOn Author - Click to view AddOns

Forum posts: 0
File comments: 5
Uploads: 2
Nice, i love it.

/castbar target pos 0 -20
Is just under Target of Target frames btw.

Great job man
Report comment to moderator  
Reply With Quote
Unread 05-27-19, 07:37 PM  
jackfrost7
A Kobold Labourer

Forum posts: 0
File comments: 5
Uploads: 0
LUA Error

Getting the following error only when using zperl

Code:
Message: Interface\AddOns\ClassicCastbars\ClassicCastbars.lua:67: attempt to compare number with nil
Time: Mon May 27 21:19:23 2019
Count: 2
Stack: Interface\AddOns\ClassicCastbars\ClassicCastbars.lua:67: attempt to compare number with nil
Interface\AddOns\ClassicCastbars\ClassicCastbars.lua:67: in function `AdjustTargetCastbarPosition'
Interface\AddOns\ClassicCastbars\ClassicCastbars.lua:89: in function `StartCast'
Interface\AddOns\ClassicCastbars\ClassicCastbars.lua:122: in function `StartAllCasts'
Interface\AddOns\ClassicCastbars\ClassicCastbars.lua:150: in function `StoreCast'
Interface\AddOns\ClassicCastbars\ClassicCastbars.lua:168: in function <Interface\AddOns\ClassicCastbars\ClassicCastbars.lua:161>
(tail call): ?

Locals: self = <unnamed> {
 NAME_PLATE_UNIT_REMOVED = <function> defined @Interface\AddOns\ClassicCastbars\ClassicCastbars.lua:271
 StoreCast = <function> defined @Interface\AddOns\ClassicCastbars\ClassicCastbars.lua:135
 PLAYER_ENTERING_WORLD = <function> defined @Interface\AddOns\ClassicCastbars\ClassicCastbars.lua:199
 StopCast = <function> defined @Interface\AddOns\ClassicCastbars\ClassicCastbars.lua:107
 GetCastbarFrame = <function> defined @Interface\AddOns\ClassicCastbars\ClassicCastbars.lua:32
 ToggleUnitEvents = <function> defined @Interface\AddOns\ClassicCastbars\ClassicCastbars.lua:208
 db = <table> {
 }
 DeleteCast = <function> defined @Interface\AddOns\ClassicCastbars\ClassicCastbars.lua:154
 NAME_PLATE_UNIT_ADDED = <function> defined @Interface\AddOns\ClassicCastbars\ClassicCastbars.lua:264
 PLAYER_GUID = "Player-4618-0000ECE3"
 COMBAT_LOG_EVENT_UNFILTERED = <function> defined @Interface\AddOns\ClassicCastbars\ClassicCastbars.lua:161
 AdjustTargetCastbarPosition = <function> defined @Interface\AddOns\ClassicCastbars\ClassicCastbars.lua:47
 StartAllCasts = <function> defined @Interface\AddOns\ClassicCastbars\ClassicCastbars.lua:115
 0 = <userdata>
 StopAllCasts = <function> defined @Interface\AddOns\ClassicCastbars\ClassicCastbars.lua:127
 StartCast = <function> defined @Interface\AddOns\ClassicCastbars\ClassicCastbars.lua:75
 PLAYER_TARGET_CHANGED = <function> defined @Interface\AddOns\ClassicCastbars\ClassicCastbars.lua:254
}
castbar = <unnamed> {
 0 = <userdata>
 Border = <unnamed> {
 }
 Flash = <unnamed> {
 }
 showCastbar = true
 _data = <table> {
 }
 Icon = <unnamed> {
 }
 startChannelColor = <table> {
 }
 finishedCastColor = <table> {
 }
 nonInterruptibleColor = <table> {
 }
 Text = <unnamed> {
 }
 Timer = <unnamed> {
 }
 BorderShield = <unnamed> {
 }
 Spark = <unnamed> {
 }
 startCastColor = <table> {
 }
 flashColorSameAsStart = true
 finishedColorSameAsStart = true
 failedCastColor = <table> {
 }
}
parentFrame = XPerl_TargetportraitFrame {
 0 = <userdata>
 portrait3D = XPerl_TargetportraitFrameportrait3D {
 }
 gradient = <unnamed> {
 }
 portrait = XPerl_TargetportraitFrameportrait {
 }
}
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = "attempt to compare number with nil"
Only when target is enabled, not nameplate... disabling target and enabling nameplate lets that part work (which is the part I use so I'm fine, just letting you know).

Not sure if this is on your addon or on zperl... I'm guessing zperl, but maybe you'll want to fix it anyways because people like non-blizz unit frames.

Thanks for the addon btw.
Report comment to moderator  
Reply With Quote
Unread 05-28-19, 05:24 AM  
wardz
A Deviate Faerie Dragon
 
wardz's Avatar
AddOn Author - Click to view AddOns

Forum posts: 17
File comments: 14
Uploads: 10
Re: LUA Error

Originally Posted by jackfrost7
Getting the following error only when using zperl

Code:
Message: Interface\AddOns\ClassicCastbars\ClassicCastbars.lua:67: attempt to compare number with nil
Time: Mon May 27 21:19:23 2019
Count: 2
Stack: Interface\AddOns\ClassicCastbars\ClassicCastbars.lua:67: attempt to compare number with nil
Interface\AddOns\ClassicCastbars\ClassicCastbars.lua:67: in function `AdjustTargetCastbarPosition'
Interface\AddOns\ClassicCastbars\ClassicCastbars.lua:89: in function `StartCast'
Interface\AddOns\ClassicCastbars\ClassicCastbars.lua:122: in function `StartAllCasts'
Interface\AddOns\ClassicCastbars\ClassicCastbars.lua:150: in function `StoreCast'
Interface\AddOns\ClassicCastbars\ClassicCastbars.lua:168: in function <Interface\AddOns\ClassicCastbars\ClassicCastbars.lua:161>
(tail call): ?

Locals: self = <unnamed> {
 NAME_PLATE_UNIT_REMOVED = <function> defined @Interface\AddOns\ClassicCastbars\ClassicCastbars.lua:271
 StoreCast = <function> defined @Interface\AddOns\ClassicCastbars\ClassicCastbars.lua:135
 PLAYER_ENTERING_WORLD = <function> defined @Interface\AddOns\ClassicCastbars\ClassicCastbars.lua:199
 StopCast = <function> defined @Interface\AddOns\ClassicCastbars\ClassicCastbars.lua:107
 GetCastbarFrame = <function> defined @Interface\AddOns\ClassicCastbars\ClassicCastbars.lua:32
 ToggleUnitEvents = <function> defined @Interface\AddOns\ClassicCastbars\ClassicCastbars.lua:208
 db = <table> {
 }
 DeleteCast = <function> defined @Interface\AddOns\ClassicCastbars\ClassicCastbars.lua:154
 NAME_PLATE_UNIT_ADDED = <function> defined @Interface\AddOns\ClassicCastbars\ClassicCastbars.lua:264
 PLAYER_GUID = "Player-4618-0000ECE3"
 COMBAT_LOG_EVENT_UNFILTERED = <function> defined @Interface\AddOns\ClassicCastbars\ClassicCastbars.lua:161
 AdjustTargetCastbarPosition = <function> defined @Interface\AddOns\ClassicCastbars\ClassicCastbars.lua:47
 StartAllCasts = <function> defined @Interface\AddOns\ClassicCastbars\ClassicCastbars.lua:115
 0 = <userdata>
 StopAllCasts = <function> defined @Interface\AddOns\ClassicCastbars\ClassicCastbars.lua:127
 StartCast = <function> defined @Interface\AddOns\ClassicCastbars\ClassicCastbars.lua:75
 PLAYER_TARGET_CHANGED = <function> defined @Interface\AddOns\ClassicCastbars\ClassicCastbars.lua:254
}
castbar = <unnamed> {
 0 = <userdata>
 Border = <unnamed> {
 }
 Flash = <unnamed> {
 }
 showCastbar = true
 _data = <table> {
 }
 Icon = <unnamed> {
 }
 startChannelColor = <table> {
 }
 finishedCastColor = <table> {
 }
 nonInterruptibleColor = <table> {
 }
 Text = <unnamed> {
 }
 Timer = <unnamed> {
 }
 BorderShield = <unnamed> {
 }
 Spark = <unnamed> {
 }
 startCastColor = <table> {
 }
 flashColorSameAsStart = true
 finishedColorSameAsStart = true
 failedCastColor = <table> {
 }
}
parentFrame = XPerl_TargetportraitFrame {
 0 = <userdata>
 portrait3D = XPerl_TargetportraitFrameportrait3D {
 }
 gradient = <unnamed> {
 }
 portrait = XPerl_TargetportraitFrameportrait {
 }
}
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = "attempt to compare number with nil"
Only when target is enabled, not nameplate... disabling target and enabling nameplate lets that part work (which is the part I use so I'm fine, just letting you know).

Not sure if this is on your addon or on zperl... I'm guessing zperl, but maybe you'll want to fix it anyways because people like non-blizz unit frames.

Thanks for the addon btw.
Thanks for the report. Next version should fix it but im gonna postpone uploading it until I get access to the stress test/beta servers again, incase there's any new errors.

Edit: Should be fixed now.
Last edited by wardz : 05-30-19 at 06:31 AM.
Report comment to moderator  
Reply With Quote
Unread 05-30-19, 04:54 PM  
puda74
A Kobold Labourer
AddOn Author - Click to view AddOns

Forum posts: 0
File comments: 5
Uploads: 2
Nice Updates. Working very well with Zperl.
Report comment to moderator  
Reply With Quote
Unread 08-08-19, 08:48 PM  
Elegen
A Kobold Labourer

Forum posts: 0
File comments: 2
Uploads: 0
Addon Update

Will this be updated for launch? I saw the update note on the main page but as of today's stress test it looks like the addon is still not working. So, I assume it hasn't been updated since that note was added.
Report comment to moderator  
Reply With Quote
Unread 08-09-19, 05:41 AM  
wardz
A Deviate Faerie Dragon
 
wardz's Avatar
AddOn Author - Click to view AddOns

Forum posts: 17
File comments: 14
Uploads: 10
Re: Addon Update

Originally Posted by Elegen
Will this be updated for launch? I saw the update note on the main page but as of today's stress test it looks like the addon is still not working. So, I assume it hasn't been updated since that note was added.
Uploaded an update for it now.
Report comment to moderator  
Reply With Quote
Unread 08-09-19, 08:20 AM  
Elegen
A Kobold Labourer

Forum posts: 0
File comments: 2
Uploads: 0
Re: Re: Addon Update

Originally Posted by wardz
Originally Posted by Elegen
Will this be updated for launch? I saw the update note on the main page but as of today's stress test it looks like the addon is still not working. So, I assume it hasn't been updated since that note was added.
Uploaded an update for it now.
Thanks! Can confirm its working now.
Report comment to moderator  
Reply With Quote
Unread 08-10-19, 05:56 AM  
Fedaygin
A Murloc Raider
 
Fedaygin's Avatar

Forum posts: 6
File comments: 40
Uploads: 0
Offers Zip Files before 10.8.2019 update.

Howdies. Won't let me download the latest Version: 1.0.0b-next.6 yet at 10.8.2019 14:55 EEST.

EDIT: Nvm i think it gives the older ones as popup cause of Update is Pending atm. I noticed it at my 'Favorites' list


Kindly: Fedaygin
__________________
​"Recycle & Use Fabric Groceries Bag" Join to Surveys group. You're helping economy by doing so & be rewarded. Fill your profile & be honest with answers. Twice a month i've received five bucks. Now while staying more at home is time to fill some 🧐 https://bit.ly/3cQscQt

Check & Share Around Wicked Wide Web: http://docs.google.com/document/d/e/...nIcC0f3sqD/pub
Last edited by Fedaygin : 08-10-19 at 06:06 AM.
Report comment to moderator  
Reply With Quote
Unread 08-10-19, 01:28 PM  
Drake5280
A Kobold Labourer

Forum posts: 0
File comments: 12
Uploads: 0
Castbar Timing

Hi! Love the addon but it seems the cast time is way off...when i target myself for instance, My cast of Healing Wave lets say is completed but in my Target Frame it says i'm still casting...it seems to be off by 1/2 a second or so. Can you look into this? I've added a Screen shot to show

https://imgur.com/a/LT282KM
Last edited by Drake5280 : 08-10-19 at 01:32 PM.
Report comment to moderator  
Reply With Quote
Post A Reply



Category Jump: