魔兽科普汇聚WoW玩家们专属综合资讯门户网站!

LibSpellDB

LibSpellDB 是一个插件依赖库,为其他插件提供数据或功能支持。

免费下载 举报 收藏插件
插件详情

插件中文资料库

中文说明、玩家点评、适用场景和替代推荐,方便快速判断是否适合你。

玩家一句话点评
LibSpellDB 适合需要运行库、界面增强或玩法辅助的玩家,建议结合自己的职业和版本先测试再长期使用。
适用场景
  • 界面布局、头像框、姓名板和动作条优化

LibSpellDB 插件下载与使用指南

本页整理了 LibSpellDB 的功能用途、适用人群、安装方法和常见问题,方便玩家快速判断是否需要安装。

适合谁用

LibSpellDB 是一款 运行库 / 职业 类插件,适合需要优化界面、提升操作效率或补充游戏信息提示的魔兽世界玩家。

基本信息

  • 插件作者:Veev
  • 插件分类:运行库 / 职业
  • 适配版本:1.15.8,2.5.5
  • 累计下载:3,724

安装方法

  1. 点击上方下载按钮获取 LibSpellDB插件文件。
  2. 解压后将插件文件夹放入 World of Warcraft/_retail_/Interface/AddOns 目录。
  3. 重启游戏或在角色界面点击插件,确认 LibSpellDB 已启用。
  4. 如果插件不生效,请检查版本是否匹配,或关闭同类冲突插件后重试。

使用建议

LibSpellDB 安装后建议先在角色界面确认已启用,进入游戏后根据插件提供的命令、小地图按钮或设置面板进行调整。如遇到报错,可先单独启用该插件排查冲突。

LibSpellDB 常见问题

这个插件适合哪些玩家?

LibSpellDB 适合需要 运行库 / 职业 类功能的玩家,特别是希望提升游戏便利性、界面管理或战斗信息获取效率的用户。

下载后怎么安装?

下载后解压到 Interface/AddOns 目录,然后重启游戏并在角色界面启用插件。

为什么插件不显示或不生效?

常见原因是目录多套一层、游戏版本不匹配、依赖插件缺失或同类插件冲突。

有没有类似插件可以替代?

可以查看本页的替代插件推荐和相关插件区域,按下载量和分类选择同类工具。

插件 AI 问答

可以问:这个插件正式服能用吗、和 DBM 冲突吗、怎么设置、有没有替代插件。

LibSpellDB 是一个插件依赖库,为其他插件提供数据或功能支持。

插件用途

LibSpellDB 主要面向需要运行库功能的玩家,用来改善游戏体验、减少重复操作或补充默认界面没有直接提供的信息。

适用场景

  • 插件库、数据接口或依赖支持

使用建议

安装后建议先在角色选择界面或插件管理器中确认已启用,再进入游戏测试是否与现有整合包、WA 和其他插件冲突。如遇报错,可以先禁用同类插件排查。

LibSpellDB

A shared spell database library for World of Warcraft addon developers, featuring a composable tagging system for granular spell queries.

Overview

LibSpellDB was originally built to power VeevHUD but is designed as a generic, reusable library that any addon can leverage. It provides a centralized, curated repository of spell data including:

  • Cooldowns and durations
  • Buff/debuff associations (when the applied aura uses a different spellId than the ability)
  • Spell ranks (mapping all ranks to a canonical spell ID)
  • Proc information
  • Spec relevance
  • Extensive tagging for categorization

The Composable Tagging Approach

Rather than rigid categories, LibSpellDB uses a composable tag system that allows granular, flexible queries. Each spell can have multiple tags that describe different aspects of what it does and how it's used.

Role Tags

Define what type of throughput the ability provides:

  • DPS — Deals or increases damage
  • HEAL — Heals or increases healing output
  • TANK — Tank-specific ability

Usage Pattern Tags

Describe how/when you use the ability:

  • ROTATIONAL — Core rotation, used on cooldown
  • MAINTENANCE — Buff/debuff to keep active
  • MINOR — Short cooldown (<60s), tactical usage
  • MAJOR — Long cooldown (60s+), save for key moments
  • AOE — AoE-focused ability

Defensive Tags

  • DEFENSIVE — Reduces damage taken
  • PERSONAL_DEFENSIVE — Self-survival cooldowns
  • EXTERNAL_DEFENSIVE — Defensives castable on others
  • IMMUNITY — Full immunity effects
  • DAMAGE_REDUCTION — Flat damage reduction

Crowd Control Tags

  • INTERRUPT — Spell interrupts
  • CC_HARD — Stuns, incapacitates, polymorphs
  • CC_SOFT — Slows, snares
  • ROOT — Root effects
  • SILENCE — Silence effects
  • FEAR — Fear effects
  • DISORIENT — Disorient effects
  • KNOCKBACK — Knockback effects
  • CC_BREAK — Breaks CC (trinket, Berserker Rage)
  • CC_IMMUNITY — Prevents CC application

Movement Tags

  • MOVEMENT — General movement abilities
  • MOVEMENT_GAP_CLOSE — Charges, blinks, leaps
  • MOVEMENT_ESCAPE — Disengages, vanishes

Utility Tags

  • DISPEL_MAGIC, DISPEL_CURSE, DISPEL_POISON, DISPEL_DISEASE — Dispel types
  • PURGE — Offensive dispel (removes enemy buffs)
  • TAUNT — Threat/taunt abilities
  • RESOURCE — Resource generation/management
  • UTILITY — General utility

Pet Tags

  • PET_SUMMON — Summons a permanent pet
  • PET_SUMMON_TEMP — Summons a temporary pet
  • PET_CONTROL — Pet management (dismiss, passive, etc.)
  • REQUIRES_PET — Spell requires an alive pet to function

Mechanic Tags

  • REACTIVE — Conditional abilities (Overpower, Execute, Revenge)
  • PROC — Proc-based buffs to track
  • FINISHER — Combo point/resource spenders
  • HAS_BUFF, HAS_DEBUFF, HAS_DOT, HAS_HOT — Describes what the spell applies
  • RESURRECT, BATTLE_REZ — Resurrection abilities

Query Examples

local LibSpellDB = LibStub("LibSpellDB-1.0")

-- Get all warrior spells
local warriorSpells = LibSpellDB:GetSpellsByClass("WARRIOR")

-- Get all interrupts
local interrupts = LibSpellDB:GetSpellsByTag("INTERRUPT")

-- Get warrior interrupts specifically
local warriorInterrupts = LibSpellDB:GetSpellsByClassAndTag("WARRIOR", "INTERRUPT")

-- Get spells matching ANY of these tags (union)
local ccAbilities = LibSpellDB:GetSpellsByTags({"CC_HARD", "CC_SOFT", "INTERRUPT"})

-- Get spells matching ALL of these tags (intersection)
local rotationalDps = LibSpellDB:GetSpellsByAllTags({"ROTATIONAL", "DPS"})

-- Check if a spell has a specific tag
if LibSpellDB:HasTag(6552, "INTERRUPT") then
    -- Pummel is an interrupt
end

Spell Data Structure

Each spell entry supports the following fields:

{
    spellID = 12345,           -- Required: Primary spell ID
    class = "WARRIOR",         -- Required: Class token (or "SHARED" for racials)
    tags = {"DPS", "ROTATIONAL"},  -- Required: Category tags
    cooldown = 10,             -- Optional: Base cooldown in seconds
    duration = 5,              -- Optional: Buff/effect duration
    priority = 1,              -- Optional: Sort priority within rows
    talent = true,             -- Optional: Requires talent
    ranks = {100, 101, 102},   -- Optional: All rank spell IDs (low to high)
    specs = {"ARMS", "FURY"},  -- Optional: Which specs use this (nil = all)
    race = "Orc",              -- Optional: Race restriction for racials
    auraTarget = "self",       -- Optional: Where buff appears ("self", "ally", "pet", "none")
    cooldownPriority = true,   -- Optional: Show cooldown/prediction first, then aura when ready
    singleTarget = true,       -- Optional: Only one instance can be active at a time
    triggersAuras = {...},     -- Optional: Auras this spell triggers (with different IDs)
    appliesBuff = {8076, 8162},-- Optional: Buff spell IDs applied (when different from cast ID)
    cooldownItemIDs = {5232},  -- Optional: Item IDs for item-based cooldowns (e.g., Soulstone)
    itemCooldown = 120,        -- Optional: Duration when a created item is consumed
    buffGroup = "WARRIOR_SHOUTS", -- Optional: BuffGroup this spell belongs to
    targetLockoutDebuff = 6788,-- Optional: Debuff that blocks re-casting (e.g., Weakened Soul)
    sharedCooldownGroup = "...",  -- Optional: Shared CD group name
}

The auraTarget Field

Controls where consumers should look for this spell's buff/debuff:

  • "self" — Buff appears on caster only (Barkskin, Evasion, Ice Block)
  • "ally" — Can target other players (Renew, BoP, Power Word: Shield)
  • "pet" — Targets pet (Mend Pet)
  • "none" — No unit to track (AoE, totems, placed objects)

When auraTarget is nil, it's inferred from tags — spells with HEAL_SINGLE, HOT, HAS_HOT, HEAL_AOE, or EXTERNAL_DEFENSIVE default to "ally"; all others default to "self".

BuffGroup System

LibSpellDB groups related buff spells for features like buff reminders. Two relationship types:

  • Equivalent — Different spells providing the same buff (Fortitude / Prayer of Fortitude). Any one satisfies the requirement.
  • Exclusive — Only one from the group can be active at a time (Paladin Blessings, Mage Armors, Warrior Shouts).
-- Check if a spell belongs to a buff group
if LibSpellDB:IsInBuffGroup(1243) then
    local groupName, info = LibSpellDB:GetBuffGroup(1243)
    -- groupName = "PRIEST_FORTITUDE"
    -- info.relationship = "equivalent"
    -- info.spells = {1243, 21562}
end

Current Coverage

LibSpellDB includes comprehensive spell data for all classes across Classic Era and TBC (Anniversary). Each class includes rotational abilities, cooldowns, utility, CC, defensives, and more — all properly tagged for flexible querying. The same dataset serves both versions: spells that don't exist in the running client are skipped automatically (see below).

For Addon Developers

LibSpellDB is distributed as a standalone library. To use it in your addon:

  1. Include LibSpellDB as a dependency or embed it
  2. Access via LibStub: local LibSpellDB = LibStub("LibSpellDB-1.0")
  3. Query spells using the API methods above

The library handles spell validation automatically — spells that don't exist in the current game version are silently skipped.

Feedback & Bug Reports

Join the Veev Addons Discord for feedback, suggestions, and bug reports: https://discord.gg/HuSXTa5XNq

CurseForge: https://www.curseforge.com/wow/addons/libspelldb

用户评价

暂无 / 5,0 条评价
免费插件下载后可以评价;付费插件 / WA 购买后可以评价;委托订单完成后可以评价。
暂无评价。

相关推荐

继续看看这些内容

全站搜索