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
What happened to "Durability" plugin for last two updates? It used to be there and working two or three days ago and now it's not there anymore. 🙁
In reply to lovelywaz:
Looks like the issue was with Broker_Everything addon. It was recently updated and Durability plugin is back on the bar too!
In reply to lovelywaz:
Please try 3.0.0, I've reworked some of the options related things (compared to 2.9.x). I don't see the issue if I only have Bazooka, and some other addons loaded (RangeDisplay, CooldownToGo and BugSack/BugGrabber).
Can you try by enabling only Bazooka to see if you still have the issue (assuming it doesn't go away in 3.0.0)?
In reply to mitchnull:
So, it looks like it works fine with very few plugins. As you add more plugins it takes more and more time to process.
At 5-10 it takes a few seconds, at 20 it took ~1min, if I load my full setup it didn't unstick for 15m.
So something in the processing of the plugins, or cycling thru them seems to have a growing problem with more plugins activated at once.
I tried with random plugins, and it always stacked and eventually died with no specific plugin seemingly causing the problem.
In reply to trelander84:
Thanks for testing this. Seems like the new Settings API doesn't like too many settings... Does this only happen if you actually go into the plugin settings? If so, you can use the bulk-config mode as a workaround in the meantime.
Dito! Clicking on anything bazooka related after entering the plugin menu will cause the game to freeze
In reply to Der_Adrinator:
confirmed
Tried your Alpha and your newest build, it´s mostly working. Thx for taking the time to fix it! <3
However, Options are showing now. but if I go toPlugins and change something there, and then back to Bars, the game freezes and have to restart it. No Error messages, game just freezes forever.
I've mostly got Bazooka working. In Bazooka.lua change from
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 rest of the changes so far need to be in LibJostle; check https://www.wowace.com/projects/libjostle-3-0/issues/19 for what I've figured out so far. EDIT: LibJostle may be a lost cause as I'm hearing other devs talk about taint issues that happen when you touch edit mode frames which is exactly what LibJostle would be doing right?
Those changes have got Bazooka and plugins showing.
The Options menu has an entry for Bazooka, but nothing is showing there. That will still need to be fixed.
1x 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'
and
1x 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'
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 :)