Modding Help local mods that are dependent on steam-installed mods

Discussion in 'Starbound Modding' started by IHart, Jan 7, 2017.

  1. IHart

    IHart Scruffy Nerf-Herder

    is this impossible? making a compatability patch for the longbows in grandarmory and the crit mechanic added by FU and the new local mod is throwing the error:
    Caused by: (StarException) Asset source 'GRANDARM-FU.IHC' is missing dependency 'FrackinUniverse'
    Code:
    [16:54:08.990] [Info] Root: Preparing Root...
    [16:54:08.991] [Info] Root: Done preparing Root.
    [16:54:08.992] [Info] Client Version 1.2.1 (linux x86_64) Source ID: f15286d545debbcdb4e5e73680a1805ad29308da Protocol: 729
    [16:54:08.992] [Info] Root: Scanning for asset sources in directory '../assets/'
    [16:54:09.137] [Info] Root: Scanning for asset sources in directory '../mods/'
    [16:54:09.142] [Warn] Root: Unrecognized file in asset directory 'mods_go_here', skipping
    [16:54:09.159] [Info] Root: Shutting down Root
    [16:54:09.164] [Error] Fatal Exception caught: (ApplicationException) Application threw exception during startup
    ./starbound(_ZN4Star13StarExceptionC2EPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE+0x66) [0xa29296]
    ./starbound(_ZN4Star13StarExceptionC2EPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt9exception+0x72) [0xa29782]
    ./starbound(_ZN4Star11SdlPlatformC2ESt10unique_ptrINS_11ApplicationESt14default_deleteIS2_EENS_10StringListE+0x871) [0x12642b1]
    ./starbound(_ZN4Star18runMainApplicationESt10unique_ptrINS_11ApplicationESt14default_deleteIS1_EENS_10StringListE+0x3f) [0x1261cff]
    ./starbound(main+0x457) [0x903d97]
    /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf5) [0x7eff5ddaff45]
    ./starbound() [0x9115cc]
    Caused by: (StarException) Asset source 'GRANDARM-FU.IHC' is missing dependency 'FrackinUniverse'
    ./starbound(_ZN4Star13StarExceptionC2EPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE+0x66) [0xa29296]
    ./starbound(_ZN4Star13StarExceptionC1ENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE+0x4b) [0xa295cb]
    ./starbound() [0xe74a99]
    ./starbound(_ZN4Star4Root19scanForAssetSourcesERKNS_10StringListE+0x26d0) [0xe81030]
    ./starbound() [0xe81ea5]
    ./starbound(_ZN4Star4Root6assetsEv+0xd1) [0xe78311]
    ./starbound(_ZN4Star17ClientApplication7startupERKNS_10StringListE+0x309) [0x9135c9]
    ./starbound(_ZN4Star11SdlPlatformC2ESt10unique_ptrINS_11ApplicationESt14default_deleteIS2_EENS_10StringListE+0x1a1) [0x1263be1]
    ./starbound(_ZN4Star18runMainApplicationESt10unique_ptrINS_11ApplicationESt14default_deleteIS1_EENS_10StringListE+0x3f) [0x1261cff]
    ./starbound(main+0x457) [0x903d97]
    /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf5) [0x7eff5ddaff45]
    ./starbound() [0x9115cc]
    Caught at:
    ./starbound(_ZN4Star14fatalExceptionERKSt9exceptionb+0x42) [0xa2b592]
    ./starbound(_ZN4Star18runMainApplicationESt10unique_ptrINS_11ApplicationESt14default_deleteIS1_EENS_10StringListE+0xa90) [0x1262750]
    ./starbound(main+0x457) [0x903d97]
    /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf5) [0x7eff5ddaff45]
    ./starbound() [0x9115cc]
    Code:
    {
      "author" : "isaac as THE HONEY BADGER",
      "description" : "nhjys43r",
      "friendlyName" : "fsefosyb8o",
      "includes" : ["FrackinUniverse","GRANDARM.IHC"],
      "name" : "GRANDARM-FU.IHC",
      "requires" : ["FrackinUniverse","GRANDARM.IHC"],
      "version" : "0.1"
    }


    and yes both FU and grandarm are subscribed to through steam and function when this mod is disabled.
     
  2. bk3k

    bk3k Oxygen Tank

    My thought is you possibly launched Starbound either on its own(not through Steam) or in offline mode.

    That should work, but one thing is you don't need both "requires" and "includes" to cover the same mods. "requires" makes those mods mandatory(and loads them first). "includes" doesn't mandate them, but if present they will load first. So in this case "includes" is a redundancy in behavior. Still I don't think doing what you did would cause a problem... probably. I think it actually just didn't load the Steam mods at all, thus the error.

    I do exactly what you're talking about. For example I have Mad Tulip's ship mod(Steam only) and my Shipyard Rebuild mod(local clearly makes the most sense for your own mods). It is necessary to have my mod load after, and that's exactly what it does without issue. But without using either "requires" or "includes" the local mods always load first, then Steam mods.
     
  3. IHart

    IHart Scruffy Nerf-Herder

    As far as i can tell starbound is booting from steam properly, despite this the error is consistently replicatable on my end. To finish development i downloaded local copies of the mods i was working with.
     
  4. DaWrecka

    DaWrecka Pangalactic Porcupine

    Using "requires" results in the game bombing out if the required mod is installed via Workshop but the current mod isn't; However, if you use "includes" instead, for some reason it works okay in the same situation. I'm not sure why. My guess would be that "requires" is validated early in the process, while "includes" is mostly-ignored until after the full list of installed mods, Workshop and local combined, is generated.
     

Share This Page