LibPeriodicTable-3.1

Forum Discussion Thread

Periodic Table adds organizes many WoW items and spells into sets. Like most Ace addons it's focus is efficiency. PT is a LibStub library for managing these sets (ex: Misc.Spell.Mount, Consumable.Food.Edible.Cheese, Misc.Minipet, ClassSpell) for other addons.

If you are looking for an Ace'd alternative to ReagentInfo (the tooltip display) check out Mendeleev by MoonWolf, which you can find on Curse or WoWI.

Item sets are stored as a comma-delimited strings and parsed out into a table only if requested. This speeds up load time and ensures that memory is only used for sets that are actively used.

If you are interested in using PT with your mod feel free to read the source code (there's not a lot). The comments will tell you everything you need to know.

Modules

PeriodicTable's "modules" are simply sets of sets. Particular mods can link the exact sets they need.

  • ClassSpell - Spells for all classes with subsets for each tree.
  • Consumable - Foods, Potions, Elixirs, Buffing items including type (fruit, meat, etc), quality (inedible, buff) and HP-recovery info.
  • CurrencyItems - Items purchasable with various currencies.
  • Gear - Socketed gear, Trinkets, Vendor Badge gear
  • GearSet - Set Gear. Tier, Reputation, PvP, etc.
  • InstanceLoot - Loot tables for instances and the bosses in those instances (only higher-level instances currently)
  • InstanceLootHeroic - Loot tables for heroic instances
  • Misc - Random stuff like Currency, Containers, Mounts, etc.
  • Reputation - Rewards and Turnins for factions
  • Tradeskill : Profession recipes
  • TradeskillLevels : Profession recipes with level requirements
  • TradeskillResultMats : Some kinda mats required sets for the recipes it looks like

You must login to post a comment. Don't have an account? Register to get one!

  • Avatar of Elkano Elkano Sep 23, 2013 at 08:37 UTC - 0 likes

    I'm still around breathing :) sadly, comments here are easy to miss... LPT has been split into separate data libs for a long time; as a lib it's meant to be run embedded by default so you'd only add those parts you need. That said, in the five years LPT-3.1 has been around by now a lot has changed within WoW. Some of these changes didn't fit that well into the data structures in place. Also, the amount of data has grown... there are almost 90k different items in the client by now (well, some aren't used). So the history has resulted in some brownfields. Also, data mining them from WoWHead has always been a pain (parsing for JSON data, 200 items max, filters, wrong data, ...), WoWDB hasn't been any better (even though we were promised special API calls :/ )

    The core library for LPT is still doing fine and I don't see any needed changes to it. Thus a new version with changed sets would imho still be a 3.x version. The data miner could use a some generic work, maybe splitting it into multiple files (core functionality, data set specific stuff) to make maintaining it a bit easier. For the data sets themselves, there are lots that need serious treatment, e.g. the instance data (currently there is a split into normal, heroic, lfr, though imho the only reasonable split, if any, would be group vs raid, using lfr/normal/hero and size [10/25] as sub-splits where applicable).

    Regarding the "which addons use it", that info sure would be nice to have. There is this "reverse relationship" for projects but iirc it has been broken for ages.

    This posting is made of 100% recycled electrons. BFAK:5708,0e876010cc9217fb077af930852ab4fc2e852191fe41bef05599aa00c446e6ad

  • Avatar of MuffinManKen MuffinManKen Sep 11, 2013 at 18:19 UTC - 0 likes

    Elkano is the Manager/Author, so I think he'd need to be on board for any major changes. I have no idea how active he is in WoW and/or addon development at this point.

  • Avatar of JCinDE JCinDE Aug 28, 2013 at 01:59 UTC - 0 likes

    @ckaotik: Go

    I'd suggest just advancing to LibPeriodicTable-4.0 rather than trying to tie it to a game version. LPT4 would be the core functionality and have no data libraries at all, though it might define a few suggested "official" high level namespaces and offer a template for a dataminer.

    LPT3.1 data libraries could be upgraded, repackaged, or split as needed to create more specialized, more tightly controlled LPT4 versions. Authors that upgrade to LPT4 would embed the core and any necessary data libraries and possibly add specialized data within their own addons (AutoBar).

    I'm sure I'm not the first to say so, but it would be nice if there were a way to officially know which addons use which data libraries and namespaces so that the impact of changes to them could be known ahead of time. Separating the data from the LPT core functionality would be a step in that direction too.

  • Avatar of ckaotik ckaotik Apr 16, 2013 at 11:17 UTC - 0 likes

    @MuffinManKen: Go

    And since many entries in LibPT are hand-maintained, it's necessary to have many people working on it since it's a pain to update.

    However, quite a few hand-maintained sets can now be mined as WowHead added quite a few more filters and useful pages, such as Tier sets. Seemed easier at that time to just add them manually instead of extending the miner... More minable sets -> less manual update required -> more frequent and up to date data, me thinks.

    I also agree with JCinDE that it's a shame LPT is so ... untidy (and in some cases outdated, incorrect, duplicate or existing in one forward but not a backward set etc). It's just such a valuable project and only having alpha releases every couple of days|weeks|months doesn't reach most of the people using it. (Also, adding Tier 12 content when Tier 15 becomes available is kind of uncool)

    To keep compatibility to current addons, we'd need a new branch. I suppose the 3.1 came from back then when patch 3.1 was released? So how about a 5.x tag? :)

    Last edited Jul 01, 2013 by ckaotik: Wowhead, not Curse, stupid me!
  • Avatar of JCinDE JCinDE Mar 19, 2013 at 02:11 UTC - 0 likes

    You raise valid points. Perhaps the obstacles could be overcome if proper advance notice were given for the addon authors to either make their LPT data part of their addon or maintain it separately as a shared dataset. Then what seems to have been the vision for LPT could become reality.

    The LPT core functionality could be packaged without data and each data module could be packaged as its own addon, available for use as needed and loaded only when an addon tries to access one of its sets.

    I dunno. It just prickles my OCD that the best and only item database library is sort of disorganized and cluttery.

  • Avatar of MuffinManKen MuffinManKen Mar 18, 2013 at 02:33 UTC - 0 likes

    The only Addon-specific data that I'm aware of is a few multisets that were added for AutoBar. I agree they shouldn't have been added here, but since they were it's hard to remove them because someone might be using them. At one point I removed the Warlock stones that don't exist anymore and it broke a bunch of addons.

    Any clean up would need to be done as a separate named version (3.2?) to avoid breaking things. Even then it would be a lot of effort and it would be hard to get people to agree on what's needed. And since many entries in LibPT are hand-maintained, it's necessary to have many people working on it since it's a pain to update.

    For example, my stance on the TradeskillLevels is that since they are horribly incorrect they should be removed if they can't be fixed. I know others feel it's better to have bad data than no data.

  • Avatar of JCinDE JCinDE Mar 15, 2013 at 21:47 UTC - 0 likes

    The built-in data in LPT really needs to be cleaned up and standardized. Addon-specific data should not be distributed with the core LPT. Too many cooks, methinks.

  • Avatar of Lufunpsy Lufunpsy Oct 09, 2012 at 00:14 UTC - 0 likes

    A lot of items don't seem to be making it into their natural set. Panderia keystones, for example, are still not getting added to keystones (see Tradeskill.Mat.ByType.Keystone).

  • Avatar of ahua ahua Jul 26, 2012 at 10:01 UTC - 0 likes

    Were many trade skills and levels removed?
    Elixir of Minor Accuracy, Potion of Nightmares, Resurgent Healing Potion, Cataclysm Potions, Fur Lining, and more.

    Last edited Jul 26, 2012 by ahua
  • Avatar of Tostie Tostie May 11, 2011 at 16:01 UTC - 0 likes

    Is it correct The alterac vallley items are not in the lib anymore ? Like the armors/ wingman mats etc..

    If I am wrong where can I find em ? am lost

Facts

Date created
Sep 21, 2008
Category
Last update
Apr 10, 2014
Development stage
Release
Language
  • enUS
License
GNU Lesser General Public License version 2.1 (LGPLv2.1)
Curse link
LibPeriodicTable-3.1
Reverse relationships
35
Downloads
251,891
Recent files
  • A: r442 for 5.4.7 Apr 10, 2014
  • A: r441 for 5.4.7 Apr 10, 2014
  • A: r440 for 5.4.7 Apr 10, 2014
  • A: r439 for 5.4.7 Apr 10, 2014
  • A: r438 for 5.4.1 Nov 05, 2013

Authors