Skip to content

Cleanup and Modernize Skill API #581

Open

Description

@spacechase0

The skill API is incredibly old and needs cleaning up and modernizing.

On the modernizing side:

The data management would need to take into two legacy data sources (SMAPI data API, and the current legacy file based saved data). Additionally, in future SMAPI, there will likely be an even better option.

It could also just use cleaning up in general. If nobody is using the functionality for multiple professions paths, that could be removed.

I also would like to try and have there be more hooks for mods to use. Maybe it could even be partially data driven?

Activity

  1. Pet-Slime commented on May 30, 2026

    @Pet-Slime
    Contributor

    More hooks would be nice, but what other hooks are there? I remember adding some new ones... last year? Should also make it GSQ or tokens so content patcher has an easier time to get these (I know some stuff like level, and profession is already there)

    We should have (what we do have or what needs to be added, not sure)

    Skill name
    Skill exp
    Skill level
    Skill large icon
    Skill small icon
    Profession Names (in general)
    Profession Icons
    Does player have profession?
    Is skill hidden?
    Is skill locked?

    the bottom two are for things like Sword and Sorcery skills. I actually have a suggestion as well. Maybe we could add better gates for locked / hidden skills. ATM the book patcher has to check to see if a skill is visible, then skip it if it isn't. We could add this into the AddExperience method for better control for skill creators.

    The other suggestion is locked skills. basically hidden just controls if it is on the skill page or not. locked determines if it can get exp yet or not. by default, both set to false, with hooks to make them easier to grab the state. a locked skill will show up on the skill page but no exp bar. We could maybe borrow the locked graphic from the 1.6 ui to display where the exp bar is, to show the player can't get levels.

    Image

    As for multiple profession paths, I don't think I seen anyone use it. Just the standard vanilla 5a/5b -> 10a1, 10a2, 10b1, 10b2.

  2. spacechase0 commented on May 31, 2026

    @spacechase0
    OwnerAuthor

    If I'm understanding right, your suggestion is:

    • split the current ShouldShowOnSkillsPage into hidden and locked
    • hidden functions as the name says
    • locked functions sorta like a combination of the implicit Book of Stars ShouldShowOnSkillsPage feature, being unable to gain experience, and the mastery bar's silhouette
      ?
  3. Pet-Slime commented on May 31, 2026

    @Pet-Slime
    Contributor

    correct.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions