Bazooka
Bazooka is a Data Broker Display similar in functionality and looks to FuBar.
Feature highlights
- Top/Bottom alignment or free moving of bars.
- Left-click drag moves, alt-right-click drag resizes the bar (unless the frames are locked).
- Drag-and-drop plugin placement with highlighted drop positions.
- Configurable background / font / icon size.
- The usual options for data broker displays (show text/icon/label, optionally show title in place of label if it's missing).
- Support of iconCoords and icon[RGB] (TomTom arrow, for example).
- Left / Center-Left / Center / Center-Right / Right placement position for plugins within bars, allowing easy layout of plugins. Plugins placed in the Center area are centered as a bunch.
- Optional auto-fade while in combat / out of combat.
- Optionally disable mouse / tooltips.
- Optional simple tooltips (just show title if Alt is held while moving the mouse pointer over the plugin).
- Optional highlight on mouseover for the active plugin.
- Load-on-demand configuration options, small memory footprint for "standard" operation.
- Bulk mode configuration that allows configuring multiple bars/plugins easily.
- Restrict plugin text width
- Disable minimap icons
- Tooltip scale override
- Support for OnMouseWheel, OnReceiveDrag and OnDoubleClick script handlers for plugins
- Optionally override plugin defined text colors
Usage
Getting started
- Create new bars from the main options window
- Drag plugins to desired location
- Drag plugins off bars to disable them
- Dragging bars while holding Alt will change their attached/detached state. Otherwise top/bottom bars will snap back to top or bottom depending on where you drop them.
Using the bulk configuration (standard method)
- Uncheck Auto-apply.
- Check the bars/plugins you want the settings to apply to.
- Check Apply next to the settings you want to change, and set them to the value you need.
- Click Apply at the bottom of the options. The changes you selected will be applied to all selected bars/plugins at this point.
Using the bulk configuration (auto-apply method)
- Check Auto-apply.
- Check the bars/plugins you want the settings to apply to.
- Change the settings (or click the Apply text next to them if their current value is the one you want). The changes will be applied immediately to all selected bars/plugins.
Slash commands
/bazooka
- Open configuration.
/bazooka locked
- Toggle locked/unlocked state.
/bazooka hidebars
- Make the bars hidden. If no bar numbers are specified, then it works on the marked bars (see bar options).
/bazooka showbars
- Make the bars visible. If no bar numbers are specified, then it works on the marked bars (see bar options).
/bazooka togglebars
- Toggle hidden/visible state of bars. If no bar numbers are specified, then it works on the marked bars (see bar options).
Obtaining plugins
You can find Data Broker plugins at these places:
- Data Broker plugins on Curse
- Data Broker plugins on WowAce
- Data Broker plugins on WoWInterface
- Tekkub's list
In reply to Turducken_McNugget:
Ftr, titan panel is having issues with resizing the Bluzz frames as well. This is the note they have in their description: "Note: Due to the UI changes in DragonFlight, Titan Panel no longer auto adjusts the UI elements / frames. Please use the WoW UI edit mode to adjust frames away from Titan Panel bar(s)"
In reply to Calathan_FoE:
I'd noticed that with the changes I'd made to LibJostle that it would sometimes put the minimap below the Bazooka bar and sometimes not. I wondered if it was a case of the game trying to put the minimap back where it had originally been "set" to be parked and whether Edit Mode was going to be the only real fix.
In reply to Turducken_McNugget:
With it happening on another addon it looks like the Edit mode will be the only way to fix it for the time being.
In reply to Calathan_FoE:
I'm currently getting 3 different errors related to the Option menu
First:
Interface/AddOns/Bazooka_Options/Options.lua:1563: bad argument #1 to 'ipairs' (table expected, got nil)Interface/AddOns/Bazooka_Options/Options.lua:1563: bad argument #1 to 'ipairs' (table expected, got nil)
[string "=[C]"]: in function `ipairs'[string "@Interface/AddOns/Bazooka_Options/Options.lua"]:1563: in main chunk
[string "=[C]"]: in function `LoadAddOn'
[string "@Interface/AddOns/Bazooka/Bazooka.lua"]:2699: in function `loadOptions'
[string "@Interface/AddOns/Bazooka/Bazooka.lua"]:2709: in function `openConfigDialog'
[string "@Interface/AddOns/Bazooka/Bazooka.lua"]:548: in function <Interface/AddOns/Bazooka/Bazooka.lua:542>
Locals: (*temporary) = nil(*temporary) = "table expected, got nil" = <function> defined =[C]:-1
Second:
Interface/AddOns/Bazooka/Bazooka.lua:2710: attempt to call global 'InterfaceAddOnsList_Update' (a nil value)
[string "@Interface/AddOns/Bazooka/Bazooka.lua"]:2710: in function `openConfigDialog'
[string "@Interface/AddOns/Bazooka/Bazooka.lua"]:548: in function <Interface/AddOns/Bazooka/Bazooka.lua:542>
Locals: self = <table> {
SetDefaultModuleLibraries = <function> defined @Interface/AddOns/Bazooka/libs/Ace3/AceAddon-3.0/AceAddon-3.0.lua:363
updatePluginOptions = <function> defined @Interface/AddOns/Bazooka_Options/Options.lua:963
initAnchors = <function> defined @Interface/AddOns/Bazooka/Bazooka.lua:2190
EnableModule = <function> defined @Interface/AddOns/Bazooka/libs/Ace3/AceAddon-3.0/AceAddon-3.0.lua:328
attachedBars = <table> {
}
openConfigDialog = <function> defined @Interface/AddOns/Bazooka_Options/Options.lua:95
IterateEmbeds = <function> defined @Interface/AddOns/Bazooka/libs/Ace3/AceAddon-3.0/AceAddon-3.0.lua:438
AttachNames = <table> {
}
locked = false
enabled = true
MODIFIER_STATE_CHANGED = <function> defined @Interface/AddOns/Bazooka/Bazooka.lua:2169
init = <function> defined @Interface/AddOns/Bazooka/Bazooka.lua:2226
attachPlugin = <function> defined @Interface/AddOns/Bazooka/Bazooka.lua:2434
SetDefaultModulePrototype = <function> defined @Interface/AddOns/Bazooka/libs/Ace3/AceAddon-3.0/AceAddon-3.0.lua:405
closeStaticDialog = <function> defined @Interface/AddOns/Bazooka/Bazooka.lua:2725
defaultModuleState = false
IsEnabled = <function> defined @Interface/AddOns/Bazooka/libs/Ace3/AceAddon-3.0/AceAddon-3.0.lua:447
onLeavingCombat = <function> defined @Interface/AddOns/Bazooka/Bazooka.lua:2128
AreaNames = <table> {
}
highlight = <function> defined @Interface/AddOns/Bazooka/Bazooka.lua:2631
numBars = 2
RegisterMessage = <function> defined @Interface/AddOns/Bazooka/libs/CallbackHandler-1.0/CallbackHandler-1.0.lua:90
UnregisterMessage = <function> defined @Interface/AddOns/Bazooka/libs/CallbackHandler-1.0/CallbackHandler-1.0.lua:153
setBottomAnchorPoints = <function> defined @Interface/AddOns/Bazooka/Bazooka.lua:2214
bottomBottom = 0
SetEnabledState = <function> defined @Interface/AddOns/Bazooka/libs/Ace3/AceAddon-3.0/AceAddon-3.0.lua:420
updatePluginOrder = <function> defined @Interface/AddOns/Bazooka_Options/Options.lua:954
enabledState = true
attachBarImpl = <function> defined @Interface/AddOns/Bazooka/Bazooka.lua:2302
RegisterEvent = <function> defined @Interface/AddOns/Bazooka/libs/CallbackHandler-1.0/CallbackHandler-1.0.lua:90
updateAnchors = <function> defined @Interface/AddOns/Bazooka/Bazooka.lua:2492
toggleLocked = <function> defined @Interface/AddOns/Bazooka/Bazooka.lua:2532
sortPlugins = <function> defined @Interface/AddOns/Bazooka_Options/Options.lua:945
Plugin = <table> {
}
IterateModules = <function> defined @Interface/AddOns/Bazooka/libs/Ace3/AceAddon-3.0/AceAddon-3.0.lua:433
setOption = <function> defined @Interface/AddOns/Bazooka_Options/Options.lua:112
ldbOnTooltipShow = <function> defined @Interface/AddOns/Bazooka/Bazooka.lua:2561
setupLDB = <function> defined @Interface/AddOns/Bazooka/Bazooka.lua:2551
onPetBattleEnd = <function> defined @Interface/AddOns/Bazooka/Bazooka.lua:2160
setTopAnchorPoints = <function> defined @Interface/AddOns/Bazooka/Bazooka.lua:2206
AppName = "Bazooka"
getOption = <function> defined @Interface/AddOns/Bazooka_Options/Options.lua:108
dummyOpts = Frame {
}
disablePlugin = <function> defined @Interface/AddOns/Bazooka/Bazooka.lua:2429
detachBar = <function> defined @Interface/AddOns/Bazooka/Bazooka.lua:2353
OnInitialize = <function> defined @Interface/AddOns/Bazooka/Bazooka.lua:2054
NewModule = <function> defined @Interface/AddOns/Bazooka/libs/Ace3/AceAddon-3.0/AceAddon-3.0.lua:231
ldbOnClick = <function> defined @Interface/AddOns/Bazooka/Bazooka.lua:2552
db =
Third:
Interface/AddOns/Bazooka_Options/Options.lua:1 (null)
In reply to Turducken_McNugget:
Thanks. That really helped. My bar is showing up again.
But the settings menu is empty. I dont really need it but still.
for me it worked out to remove LibJostle-3.0 from the addon, as this caused the main issues.
removed "libs\LibJostle-3.0\lib.xml" from bazooka.toc
removed "local Jostle = LibStub:GetLibrary("LibJostle-3.0", true)" from bazooka.lua (line 21)
at least my static bars is showing again, but they cant adjust the blizzard frames (buffbar, minimap) anymore as this was done my libjostle.
also options arent working for me, so i also hope for an update of the addon :)
Hello,
I no longer play WoW, but I try to keep some of my mods working as far as I can. I'm sad to hear that it breaks completely with the new patch... Can you post some error logs? Will try to fix it if I'll have some time.
In reply to mitchnull:
Hope this helps and thank you for your hard work!
1x FrameXML\Bindings.xml:1 Interface/AddOns/Bazooka/libs/LibJostle-3.0/LibJostle-3.0.lua:1 (null)
1x Interface/AddOns/Bazooka/libs/LibJostle-3.0-90071/LibJostle-3.0.lua:1 (null)
1x Interface/AddOns/Bazooka/Bazooka.lua:746: attempt to call method 'SetMinResize' (a nil value)
[string "@Interface/AddOns/Bazooka/Bazooka.lua"]:746: in function `enable'
[string "@Interface/AddOns/Bazooka/Bazooka.lua"]:594: in function `New'
[string "@Interface/AddOns/Bazooka/Bazooka.lua"]:2269: in function `createBar'
[string "@Interface/AddOns/Bazooka/Bazooka.lua"]:2242: in function `init'
[string "@Interface/AddOns/Bazooka/Bazooka.lua"]:2084: in function <Interface/AddOns/Bazooka/Bazooka.lua:2082>
[string "=[C]"]: ?
[string "@Interface/AddOns/!KalielsTracker/Libs/AceAddon-3.0-13/AceAddon-3.0.lua"]:66: in function <...s/!KalielsTracker/Libs/AceAddon-3.0/AceAddon-3.0.lua:61>
[string "@Interface/AddOns/!KalielsTracker/Libs/AceAddon-3.0-13/AceAddon-3.0.lua"]:523: in function `EnableAddon'
[string "@Interface/AddOns/!KalielsTracker/Libs/AceAddon-3.0-13/AceAddon-3.0.lua"]:626: in function <...s/!KalielsTracker/Libs/AceAddon-3.0/AceAddon-3.0.lua:611>
1x .../AddOns/Bazooka/libs/LibJostle-3.0-90071/LibJostle-3.0.lua:89: hooksecurefunc(): FCF_UpdateDockPosition is not a function
[string "=[C]"]: in function `hooksecurefunc'
[string "@Interface/AddOns/Bazooka/libs/LibJostle-3.0-90071/LibJostle-3.0.lua"]:89: in main chunk
Locals:
In reply to mitchnull:
From https://wowpedia.fandom.com/wiki/Patch_10.0.0/API_changes
Frame:SetMinResize
and similar changed to Frame:SetResizeBounds.After changing
self.frame:SetMinResize(Defaults.minFrameWidth, Defaults.minFrameHeight)
self.frame:SetMaxResize(Defaults.maxFrameWidth, Defaults.maxFrameHeight)
to
self.frame:SetResizeBounds(Defaults.minFrameWidth, Defaults.minFrameHeight, Defaults.maxFrameWidth, Defaults.maxFrameHeight)
The errors I'm getting are all in LibJostle and then Bazooka trying to calling that LibJostle for things and that not working but it was busted. So, next thing we would need is to get LibJostle fixed.
In reply to mitchnull:
Ty man! It would be awesome if you fix it :)
In reply to mitchnull:
That's dope you're willing to fix despite not playing anymore. Hopefully it's not too much of a hassle.
In reply to mitchnull:
Ty! Would be great if you found the time to update this. None of the others are as good as this one.
Think the options are broken because they have moved, it´s all under options now.
In reply to mitchnull:
I just want to say you are an absolute legend for continuing to work on these addons despite not playing. Truly truly appreciate it from the bottom of my minimap-button-hating heart.
Yeap as other said, not working at all :(
This is not working even a little bit right now, which makes me sad. Hopefully you'll be able to come up with a fix soon, please and thank you! <3
Please tell me you're going to update this for Dragonflight. I am trying to use Titan Panel and it freaking sucks balls. It's so counterintuitive compare to Bazooka it's insane!
Would love to see an update for this for the pre-patch and for dragonflight when its released
Is there a way to use Bazooka in Dragonflight?
I've tried the PTR and the BETA server, but nothing shows up here anymore.
using v 2.9.11
i get these three errors when using esc/interface/addons/bazooka or when /bazooka
1x Bazooka_Options\Options-Options.lua:1582: Usage: LibDualSpec:EnhanceOptions(optionTable, target): EnhanceDatabase should be called before EnhanceOptions(optionTable, target).
[string "=[C]"]: in function `error'
[string "@Dominos\libs\LibDualSpec-1.0\LibDualSpec-1.0-22.lua"]:396: in function `?'
[string "@Bazooka_Options\Options-Options.lua"]:1582: in main chunk
[string "=[C]"]: in function `LoadAddOn'
[string "@Bazooka\Bazooka-v2.9.11.lua"]:2700: in function `loadOptions'
[string "@Bazooka\Bazooka-v2.9.11.lua"]:2710: in function `openConfigDialog'
[string "@Bazooka\Bazooka-v2.9.11.lua"]:2689: in function <Bazooka\Bazooka.lua:2684>
[string "=[C]"]: in function `Show'
[string "@FrameXML\InterfaceOptionsFrame.lua"]:29: in function <FrameXML\InterfaceOptionsFrame.lua:18>
[string "=[C]"]: in function `InterfaceOptionsList_DisplayPanel'
[string "@FrameXML\InterfaceOptionsFrame.lua"]:47: in function `InterfaceOptionsListButton_OnClick'
[string "@Skinner\Core\SharedFuncs.lua"]:235: in function <Skinner\Core\SharedFuncs.lua:227>
[string "=(tail call)"]: ?
[string "*:OnClick"]:2: in function <[string "*:OnClick"]:1>
Locals:
(*temporary) = "Usage: LibDualSpec:EnhanceOptions(optionTable, target): EnhanceDatabase should be called before EnhanceOptions(optionTable, target)."
1x FrameXML\InterfaceOptionsFrame.lua:430: Usage: InterfaceOptionsFrame_OpenToCategory("categoryName" or panel)
[string "=[C]"]: in function `assert'
[string "@FrameXML\InterfaceOptionsFrame.lua"]:430: in function <FrameXML\InterfaceOptionsFrame.lua:423>
[string "=[C]"]: in function `InterfaceOptionsFrame_OpenToCategory'
[string "@Bazooka_Options\Options-Options.lua"]:103: in function <Bazooka_Options\Options.lua:95>
[string "=(tail call)"]: ?
[string "@Bazooka\Bazooka-v2.9.11.lua"]:2689: in function <Bazooka\Bazooka.lua:2684>
[string "=[C]"]: in function `Show'
[string "@FrameXML\InterfaceOptionsFrame.lua"]:29: in function <FrameXML\InterfaceOptionsFrame.lua:18>
[string "=[C]"]: in function `InterfaceOptionsList_DisplayPanel'
[string "@FrameXML\InterfaceOptionsFrame.lua"]:47: in function `InterfaceOptionsListButton_OnClick'
[string "@Skinner\Core\SharedFuncs.lua"]:235: in function <Skinner\Core\SharedFuncs.lua:227>
[string "=(tail call)"]: ?
[string "*:OnClick"]:2: in function <[string "*:OnClick"]:1>
Locals:
(*temporary) = nil
(*temporary) = "Usage: InterfaceOptionsFrame_OpenToCategory("categoryName" or panel)"
3x (null)
In reply to amey0:
This was probably caused by an issue in LibDualSpec. I've tagged a new release (2.9.12) to pick up a new version from LibDualSpec, I hope it fixes the issue.