Modding Help Steam Workshop: Mod Dependencies / Load order

Discussion in 'Starbound Modding' started by Amadox, Jul 24, 2016.

  1. Amadox

    Amadox Void-Bound Voyager

    Hi there!

    I'm currently in the process of updating my mods for Steam Workshop. One of them, Lettered Ores, has modified ore sprites. That works well for the ores from the base game, but the moment I want to try and add support for ores from Frackin' Universe, I run into problems, because if Starbound loads FU after my mod, FU's ore sprites replace mine instead of my updated ones replacing FU's.

    With the old modinfo files I could set dependencies, and Starbound would load those before the main mod. So I went ahead and created a separate mod with the sole purpose to add letters to FU ores, and set FU as depencency. Worked like a charm, FU got loaded first and my mods after that.

    Steam Workshop though obviously ignores the modinfo file, and uses their own system. I saw that I can "Add/Remove Required Items" on the Workshop Page of the mod, and I did so, adding my main Lettered Ores mod as well as FU as dependencies for my "Lettered Ores for Frackin' Universe" Mod. Now apparently, all that does is make sure that the user has those mods, but it doesn't seem to influence load order at all. My mods still get loaded before FU, making them entirely useless.

    Did I miss something or is it not possible to influence load order for Workshop Mods?
     
  2. The | Suit

    The | Suit Agent S. Forum Moderator

    Instead of dependency we use
    Requires and Includes.

    Requires = Will not load unless mod is present
    Includes = Will load even if mod is not present, but if it is present will load after.
    Code:
    {
      "requires: ["mod name here"]
      "includes: ["mode name here"]
    }
    
     
    Shakar likes this.
  3. Spodi

    Spodi Scruffy Nerf-Herder

    Can I force a local (non Workshop) mod to load after the workshop? I tried to set requires, but the game can't find the workshop mod even it says the workshop one is active ingame.
     
  4. The | Suit

    The | Suit Agent S. Forum Moderator

    Ya I reported the bug to the dev's I don't think they will look into it for a while. Right now they are focusing on trying to get the users whose games do not work to work.
     
    Spodi likes this.
  5. Amadox

    Amadox Void-Bound Voyager

    where do I put those settings then to make it work for steam workshop? does pak.modinfo still get loaded after all?
     
  6. The | Suit

    The | Suit Agent S. Forum Moderator

    We don't use modinfo file at all anymore.
    We only use .metadata
     
  7. Amadox

    Amadox Void-Bound Voyager

    ah, now I get it, I think. thx :) is there somewhere some documentation to look up these kinds of things?
     
  8. The | Suit

    The | Suit Agent S. Forum Moderator

  9. soopytwist

    soopytwist Pangalactic Porcupine

    It seems to me that "includes" is only useful if you know what mod you want your mod to run after. So how do I make mod run after ANY other mod? I made replacement teleport beams but if the mod is loaded before any race mod then the new beam colours don't work for those races. The workaround is to use a third party mod loader to change the order of the mods but isn't there an easy way to do this via the game?

    Or do I have to add...

    {
    "includes: ["mode name here"]
    "includes: ["mode name here"]
    "includes: ["mode name here"]
    "includes: ["mode name here"]
    "includes: ["mode name here"]
    "includes: ["mode name here"]
    "includes: ["mode name here"]
    "includes: ["mode name here"]
    "includes: ["mode name here"]
    "includes: ["mode name here"]
    "includes: ["mode name here"]
    "includes: ["mode name here"]
    "includes: ["mode name here"]
    "includes: ["mode name here"]
    }

    etc, etc, etc for every single mod I can find on the Workshop that adds a new race? Pain in the arse if it is.
     
  10. Naddox

    Naddox Cosmic Narwhal

    Unfortunately, that is the only way to make your mod load last at this time.

    EDIT: Nvm, read the reply below.
     
    Last edited: Aug 9, 2016
  11. The | Suit

    The | Suit Agent S. Forum Moderator

    Actually the proper way to use includes is
    Code:
    {
    "includes: ["mode name here","mode name here","mode name here"]
    } 
    But in this case you would use priority
    Code:
     "priority" : 99 
     
  12. soopytwist

    soopytwist Pangalactic Porcupine

    Aha! priority 99, that did the trick, thanks The | Suit.
     
    The | Suit likes this.
  13. Mackinz

    Mackinz The Waste of Time

    Priority can be any number between -1and 99 to my knowledge. The lower the better. I have Tabula Rasa set to -1 priority so it loads before any other mods whether inatalled via workshop or manually.
     
  14. soopytwist

    soopytwist Pangalactic Porcupine

    If mod A and mod B have -1 priority, which one gets loaded first?
     
  15. The | Suit

    The | Suit Agent S. Forum Moderator

    More than likely revert to alphabetical.
     
  16. Hugoroxas

    Hugoroxas Void-Bound Voyager

    the mod name in "includes: ["mode name here"] is the "name" parameter of said mod?
     
  17. Naddox

    Naddox Cosmic Narwhal

    Yes
     
  18. Shakar

    Shakar Phantasmal Quasar

    So, while I know this thread is old, I do want to say thank you, The | Suit. I was having some issues with my mod not loading after others as well until I found this thread. I would like to add onto your post though.

    It can work with Steam Workshop mods if you know what "name" the mod is going by. You can get it either by unpacking the mod or asking the mod developer for the "name" field on their _metadata file. As for mods like mine, the mod will load after anything that is placed in the mod's _metadata file for the "requires" and "includes".

    So, I guess what I want to add for people who find this in the future, you want your _metadata file to have "includes" and/or "requires". You can add multiple mods to the includes part if you wish your mod to load up either alone or have certain parts enable after other mods are there.
     

Share This Page