Patreon Please support my work on Patreon/GitHub

LibDBIcon-1.0 is a small library you can throw in your addon that will create a minimap icon.

Simply get a reference to the library in your addon like so:

local icon = LibStub("LibDBIcon-1.0")

This library REQUIRES you use a separate library called LibDataBroker (LDB). After you've registered your LDB object called "MyLDB", you can do:

icon:Register("MyLDB", myLDB, savedVarTable)

Where myLDB is a object reference to your LDB display and savedVarTable is a table where the library can store data like minimap position, radius, etc.

When you create the display, the library will automatically hide or show the icon based on the "hide = true/false" key in savedVarTable. If you want to add an option to hide or show the display, you can hide or show the icon manually during play with:



So in conclusion, here is a complete example (using Ace3) of how to use this library:

local addon = LibStub("AceAddon-3.0"):NewAddon("Bunnies")  
local bunnyLDB = LibStub("LibDataBroker-1.1"):NewDataObject("Bunnies", {  
	type = "data source",  
	text = "Bunnies!",  
	icon = "Interface\\Icons\\INV_Chest_Cloth_17",  
	OnClick = function() print("BUNNIES ARE TAKING OVER THE WORLD") end,  
local icon = LibStub("LibDBIcon-1.0")  

function addon:OnInitialize()
	-- Assuming you have a ## SavedVariables: BunniesDB line in your TOC
	self.db = LibStub("AceDB-3.0"):New("BunniesDB", {
		profile = {
			minimap = {
				hide = false,
	icon:Register("Bunnies", bunnyLDB, self.db.profile.minimap)