HandyNotes Plugin Documentation

Documentation for the core framework used in Zarillion's HandyNotes expansion plugins.

View the Project on GitHub zarillion/handynotes-plugins

Group Class

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.

Basic Group Creation

ns.Group(name, icon, attrs)

Parameters

Group Properties

Core Properties

Behavior Functions

Real Plugin Examples

Profession-Based Group

-- 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
})

Standard Content Groups

-- 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
})