Quartz
Quartz is a modular approach to a casting bar addon. An overview of (hopefully most of) the modules:
*Player
The core of Quartz is lightweight implementation of a standard casting bar, with configurable size, text and icon positioning, and colors.
*Target/Focus
Implementation of target and focus casting bars in similar fashion to the player cast bar.
*Buffs
Display of target and focus buffs and debuffs as duration bars.
*Flight
Hooks into FlightMap or InFlight to display the current flight progress on your casting bar.
*Global Cooldown
Displays a tiny spark-bar to show your Global Cooldown near the cast bar. Helpful for those who'd rather not squint at their action bars to see when they can cast again.
*Interrupt
Changes the color and text of your casting bar to help show that your cast has been interrupted (and show who interrupted it).
*Latency
Displays the amount of time spent between cast send and start events, in the form of a bar at the end of your casting bar, with optional text that displays the actual duration of the lag. This helps in canceling casts when they will not actually be interrupted, especially for users with consistently high pings.
*Mirror
Shows the 'basic' timers such as breath and feign death, as well as some 'odd' ones such as party invite time, resurrect timeout, and arena game start, and a framework for injecting custom timers into the bars.
*Range
Recolors the casting bar when your cast target moves out of range mid-cast.
*Swing
Displays a swing timer for your melee weapon as well as hunter autoshot.
*Timer
Allows for creating custom timers displayed on the mirror bars.
*Tradeskill Merge
Merges multiple casts of the same tradeskill item into one big cast bar.
Use /quartz to bring up the configuration menu.
-
View User Profile
-
Send Message
Posted Jan 22, 2026Quartz Addon Fix Guide (Interface / Config / GCD Errors)
⚠ Before you start, make a backup of all original files.
1️⃣ Fix: Quartz not loading (Interface version issue)
Path
_retail_/Interface/AddOns/Quartz/Quartz.toc
Open Quartz.toc with Notepad
On the 2nd line, add 120000 to the ## Interface: value
Example
## Interface: 120000
Save the file
✅ Quartz will now load properly in-game.
2️⃣ Fix: Quartz loads but the settings window won’t open
Path
_retail_/Interface/AddOns/Quartz/Config.lua
Open Config.lua with Notepad
Locate line 201
❌ Remove this line
Settings.OpenToCategory("Quartz 3")
✅ Replace it with the following code
local category = Settings.GetCategory("Quartz 3")
if category then
Settings.OpenToCategory(category:GetID())
else
LibStub("AceConfigDialog-3.0"):Open("Quartz3")
end
Save and run /reload or restart the game
✔ Result
Typing /quartz in chat opens the Quartz settings panel directly
You can resize the window by dragging the bottom-right corner
3️⃣ Fix: Repeated Quartz errors during combat (GCD-related)
BugGrabber / Lua error spam during combat
→ Fixed by preventing hard errors using pcall
Path
_retail_/Interface/AddOns/Quartz/modules/GCD.lua
Open GCD.lua with Notepad
Press Ctrl + F and search for:
function GCD:CheckGCD
❌ Delete the entire original function
function GCD:CheckGCD(event, unit, guid, spell)
if unit == "player" then
local start, dur
if C_Spell and C_Spell.GetSpellCooldown then
local cooldown = C_Spell.GetSpellCooldown(spell)
if cooldown then
start, dur = cooldown.startTime, cooldown.duration
end
else
start, dur = GetSpellCooldown(spell)
end
if dur and dur > 0 and dur <= 1.5 then
starttime = start
duration = dur
gcdbar:Show()
end
end
end
✅ Replace it with this version
function GCD:CheckGCD(event, unit, guid, spell)
if unit == "player" then
local start, dur
if C_Spell and C_Spell.GetSpellCooldown then
local cooldown = C_Spell.GetSpellCooldown(spell)
if cooldown then
start, dur = cooldown.startTime, cooldown.duration
end
else
start, dur = GetSpellCooldown(spell)
end
local success, result = pcall(function()
return dur and dur > 0 and dur <= 1.5
end)
if success and result then
starttime = start
duration = dur
gcdbar:Show()
end
end
end
Save and /reload or restart the game
✔ Result
No more Quartz-related errors during combat
BugGrabber stays quiet
-
View User Profile
-
Send Message
Posted Jan 22, 2026In reply to topkid1219:
Are you able to fix this bug in interrupt.lua? It does not happen when Quartz is disabled so I'm assuming it is the problem.
10x [ADDON_ACTION_FORBIDDEN] AddOn 'BlizzMove' tried to call the protected function 'AceEvent30Frame:RegisterEvent()'.
[!BugGrabber/BugGrabber.lua]:583: in function '?'
[!BugGrabber/BugGrabber.lua]:507: in function <!BugGrabber/BugGrabber.lua:507>
[C]: in function 'RegisterEvent'
[BlizzMove/Libs/AceEvent-3.0-4/AceEvent-3.0.lua]:33: in function 'OnUsed'
[!WilduTools/libs/CallbackHandler-1.0-8/CallbackHandler-1.0.lua]:132: in function 'RegisterEvent'
[Quartz/modules/Interrupt.lua]:49: in function <Quartz/modules/Interrupt.lua:48>
[C]: ?
[!WilduTools/libs/AceAddon-3.0-13/AceAddon-3.0.lua]:66: in function <...ddOns/!WilduTools/libs/AceAddon-3.0/AceAddon-3.0.lua:61>
[!WilduTools/libs/AceAddon-3.0-13/AceAddon-3.0.lua]:523: in function 'EnableAddon'
[!WilduTools/libs/AceAddon-3.0-13/AceAddon-3.0.lua]:536: in function 'EnableAddon'
[!WilduTools/libs/AceAddon-3.0-13/AceAddon-3.0.lua]:626: in function <...ddOns/!WilduTools/libs/AceAddon-3.0/AceAddon-3.0.lua:611>
Locals:
self = <table> {
}
event = "ADDON_ACTION_FORBIDDEN"
addonName = "BlizzMove"
addonFunc = "AceEvent30Frame:RegisterEvent()"
name = "BlizzMove"
badAddons = <table> {
BlizzMove = true
}
-
View User Profile
-
Send Message
Posted Jan 22, 2026In reply to Moreorlessmaybe:
This is not a Quartz Problem !
I had the same with Bartender4.
This is a Blizz Move ADDON Problem, or others...DIK waht is WilduTools is.
I had 4 ADDON*s who crashed Bartender4 with Blocking and dont load.
Make a backup and delete this other addon´s and try if Quartz working alone, so I found my real ADDON`s that dosnt work, and all was ok after i delete them or take a new version.
-
View User Profile
-
Send Message
Posted Jan 22, 2026In reply to topkid1219: only "player" casting bar works / other casting bar does not work
it means time to say "thx and goodbye Quartz"
-
View User Profile
-
Send Message
Posted Jan 28, 2026In reply to topkid1219:
It does "work while not throwing lua errors but does cause taint with just these fixes in place.
Just loading the addon alone causes the taint disable/ignore error.
-
View User Profile
-
Send Message
Posted Jan 22, 2026Hi,
I updated the .toc file to 120000, but everytime I cast a spell the following message pops up:
Message: Interface/AddOns/Quartz/modules/GCD.lua:116: attempt to compare local 'dur' (a secret value)
Time: Wed Jan 21 22:11:51 2026
Count: 6
Stack:
[Interface/AddOns/Quartz/modules/GCD.lua]:116: in function '?'
[Interface/AddOns/DBM-Core/Libs/CallbackHandler-1.0/CallbackHandler-1.0.lua]:109: in function <...ore/Libs/CallbackHandler-1.0/CallbackHandler-1.0.lua:109>
[C]: ?
[Interface/AddOns/DBM-Core/Libs/CallbackHandler-1.0/CallbackHandler-1.0.lua]:19: in function <...ore/Libs/CallbackHandler-1.0/CallbackHandler-1.0.lua:15>
[Interface/AddOns/DBM-Core/Libs/CallbackHandler-1.0/CallbackHandler-1.0.lua]:54: in function 'Fire'
[Interface/AddOns/Quartz/libs/AceEvent-3.0/AceEvent-3.0.lua]:120: in function <...ace/AddOns/Quartz/libs/AceEvent-3.0/AceEvent-3.0.lua:119>
Locals:
self = <table> {
modules = <table> {
}
defaultModuleLibraries = <table> {
}
name = "Quartz3_GCD"
orderedModules = <table> {
}
db = <table> {
}
baseName = "Quartz"
enabledState = true
defaultModuleState = true
moduleName = "GCD"
}
event = "UNIT_SPELLCAST_START"
unit = "player"
guid = "Cast-3-4254-2552-580-34914-0041714117"
spell = 34914
start = <no value>
dur = <no value>
(*temporary) = <table> {
isOnGCD = true
modRate = <no value>
activeCategory = <no value>
isEnabled = <no value>
startTime = <no value>
timeUntilEndOfStartRecovery = <no value>
duration = <no value>
}
(*temporary) = <no value>
(*temporary) = "attempt to compare local 'dur' (a secret value)"
starttime = 7241.890000
duration = 1.137000
gcdbar = Quartz3GCDBar {
Center = Texture {
}
RightEdge = Texture {
}
backdropInfo = <table> {
}
BottomEdge = Texture {
}
BottomLeftCorner = Texture {
}
BottomRightCorner = Texture {
}
TopEdge = Texture {
}
TopRightCorner = Texture {
}
TopLeftCorner = Texture {
}
LeftEdge = Texture {
}
}
Anyone knows how to fix this?
Ty
-
View User Profile
-
Send Message
Posted Jan 21, 2026I've managed to get this working in Midnight by updating the toc file with 12000. Hopefully the addon author will release a proper version soon :)
For anyone wondering how to do it
Locate the toc file in the quartz directory in your addon folder
update Interface with 12000. It should read something like this
## Title: Quartz
## Interface: 120000, 11508,20505,50503,110207
## Notes: Modular casting bar.
## Author: Nevcairiel, Nymbia
You can do this with any addon that isn't updated but there is a chance it may not work with the new blizzard APIs. I've been running Quartz for about 20 mins now with this change and I'm not getting any lua errors so hoping its all good
-
View User Profile
-
Send Message
Posted Jan 21, 2026In reply to Mencc: Works great. Thank you so much.
Unfortunately, this doesn't work for bagnon, decursive, and MSBT.
-
View User Profile
-
Send Message
Posted Jan 21, 2026In reply to YetiMitLaser: I think MSBT will be busted for good due to the changes anyway unfortunately.
-
View User Profile
-
Send Message
Posted Jan 21, 2026In reply to Mencc:
This works but it throws an Ace error at Blizzmove.
-
View User Profile
-
Send Message
Posted Jan 21, 2026In reply to Mencc: This did work, but you need to disable target casts or it throws an error everytime they cast a spell
-
View User Profile
-
Send Message
Posted Jan 21, 2026In reply to Mencc: It works but is incompatible with Better Timeline
-
View User Profile
-
Send Message
Posted Jan 20, 2026if the addons doesn't show on ur list after updating it, simply just right click on it and Reinstall, its working with me now
-
View User Profile
-
Send Message
Posted Jan 20, 2026For anyone having issues in BCC such as the addon not showing up in your list, or giving you errors. If you download the "3.7.16a" version (for vanilla classic, MoP, etc.) manually and replace all the files in the BCC quartz folder with it, you should be able to use quartz in BCC with no errors and function as normal.
-
View User Profile
-
Send Message
Posted Jan 19, 2026And for no apparent reason Quartz is now in my WoW TBC Anniv. add-on list and it works fine again.
I didn;t do a thing to it but it started working again after it showed up.
-
View User Profile
-
Send Message
Posted Jan 18, 2026Will this be updated for midnight?
-
View User Profile
-
Send Message
Posted Jan 20, 2026In reply to Mrcows063: Second this i love using quartz and hope it gets updated
-
View User Profile
-
Send Message
Posted Jan 18, 2026Confirmed latest version broke Quartz. It doesn't show up in, in game add-on list and Quartz Rank is showing Dependency Missing.
-
View User Profile
-
Send Message
Posted Jan 18, 20263.7.17 (2026-01-18) latest changelog broke it for anniversary realms, dont work at all now
-
View User Profile
-
Send Message
Posted Jan 18, 2026The addon worked a sec ago not in bg dosent work after bg dosent work fix it bc dosent work dosent show in addons