Documentation for the core framework used in Zarillion's HandyNotes expansion plugins.
Groups organize and control the visibility of nodes on the map. They appear in the options menu and allow users to toggle different types of content.
ns.Group(name, icon, attrs)
name (string) (required) - Internal identifier for the groupicon (string/int) (required) - Icon displayed in the options menuattrs (table) - Additional properties and behaviorslabel (string) - Display name in the options menu (defaults to localized name)desc (string) - Description shown in tooltipstype (string) - Group category (expansion, profession, etc.)order (int) - Sort order in the options menudefaults (string) - Default visibility state (ns.GROUP_HIDDEN, ns.GROUP_SHOWN)IsEnabled(self) - Function to determine if group should be shownGetStatus(self) - Function to get group completion status-- From Azj-Kahet plugin - Skinning profession group
ns.groups.ELUSIVE_CREATURE = ns.Group('elusive_creature', 644271, {
defaults = ns.GROUP_HIDDEN,
type = ns.group_types.EXPANSION,
IsEnabled = function(self)
-- Only display group for skinning players
if not ns.professions.SKINNING:HasProfession() then return false end
return ns.Group.IsEnabled(self)
end
})
-- Basic treasure group
ns.groups.TREASURE = ns.Group('treasure', 'chest_gy', {
defaults = ns.GROUP_SHOWN,
type = ns.group_types.CONTENT
})
-- Vendor group for NPCs
ns.groups.VENDOR = ns.Group('vendor', 'peg_bk', {
defaults = ns.GROUP_SHOWN,
type = ns.group_types.CONTENT,
label = L['vendors'],
desc = L['vendor_desc']
})
-- Rare spawns group
ns.groups.RARE = ns.Group('rare', 'skull_b', {
defaults = ns.GROUP_SHOWN,
type = ns.group_types.CONTENT,
order = 10
})