Announcement Making mod installation easier

Discussion in 'Starbound Modding' started by bartwe, Dec 14, 2013.

  1. Wyngale

    Wyngale Star Wrangler

    Totally lost, can't get my recipes to work now. *-*
     
  2. Force2Reckon

    Force2Reckon Phantasmal Quasar

    Nevermind, got it to work.
     
    Last edited: Dec 15, 2013
  3. ollj

    ollj Big Damn Hero

    for now the simplest way to give custom recipes is by crafting an item that gives recipes on ,"learnBlueprintsOnPickup":[],

    Code:
    {
      "objectName" : "blockmaker",
      "rarity" : "Common",
      "objectType" : "interactable",
      "learnBlueprintsOnPickup" : [
      "accordion","acousticguitar","banjo","bassguitar","bones","clarinet","drumkit","dulcimer","electricbass","femmicrophone","flute",
      "harmonica","harp","koto","leadguitar","microphone","musicbox","nylonguitar","oboe","ocarina","overdriveguitar","piano","reedorgan","rockorgan","saxophone","steeldrum","trumpet","violin",
      "bubbleboost-chip","butterflyboost-chip","cameramanboost-chip","dashTech-chip","doublejumpTech-chip","hoverTech-chip","humanMechTech-chip","jetpackTech-chip","morphballTech-chip","rocketjump-chip","targetblinktech-chip"
      ],
    
    ...
    
    }
    
    with that item and its recipe being in the mods folder.

    The item that gives the recipes can be a product of smelting or a custom quest reward.

    The same item can be used to build compatible recipes if is triggers a workbench dialog.

    this only modifies files in the /mods folder.

    the ber-me mod demonstrates this nicely.
     
    Last edited: Dec 15, 2013
  4. Leosky

    Leosky Void-Bound Voyager

    i'ml not familiar with json notation :x. But here, I wanted to name dependencies properties explicitly to allow easy notation evolution. With your notation, adding a property to not import biodomes update files will make the array not very intuitive like :

    Code:
    {
      "name" : "sparkz",
      "content_version" : 2,
      "game_version" : "Beta v. Indignant Koala",
      "path" : ".",
      "dependencies" : [ ["tabularasa",0,false], ["libveryuseful", 3] ],
      "metadata": {
        "author" : "foo"
        "description" : "bar",
        "support_url" : "baz"
      }
    and i dont speak about multiplying properties it become very obscure due to the necessity to add explicitly every properties before the one you want.

    Code:
    {
      "name" : "sparkz",
      "content_version" : 2,
      "game_version" : "Beta v. Indignant Koala",
      "path" : ".",
      "dependencies" : [ ["tabularasa",0,0,true,true,true,true,false], ["libveryuseful", 3,1,true,false] ],
      "metadata": {
        "author" : "foo"
        "description" : "bar",
        "support_url" : "baz"
      }
    Naming them make things to get sens :

    Code:
    {
      "name" : "sparkz",
      "content_version" : 2,
      "game_version" : "Beta v. Indignant Koala",
      "path" : ".",
      "dependencies" : [ {"name" : "tabularasa", "update_biodomes" : false}, {"name" : "libveryuseful", "version" : 3, "load_order"  : 1, "exact_mod_version" = false} ],
      "metadata": {
        "author" : "foo"
        "description" : "bar",
        "support_url" : "baz"
      }
    (sorry for my bad English skills :( )
     
    Last edited: Dec 15, 2013
  5. gibbed

    gibbed Orbital Explorer

    Introducing such complexity into the dependencies system is a horrible idea. It needs to be simple and clean, version is the only thing that should be considered. If you need specific portions of another mod, you should either cut that portion out into a new mod or ask the author to provide such.
     
  6. tifel100

    tifel100 Void-Bound Voyager

    No need! This new system merges player.configs together

    If you have /mods/Yourmodname/player.config

    Just add recipes in to this:
    http://www.mediafire.com/view/xsuvez2fuzs6az9/player.config
     
  7. Cheremenin

    Cheremenin Scruffy Nerf-Herder

    Thank you for making modding as easy as it is in (for example) Cortex Command.
    What about the server and more seamless mod integration though?

    :love:
     
    Last edited: Dec 15, 2013
  8. omegadrace

    omegadrace Cosmic Narwhal

    What about multiple mods with entries that are the same? Do things get replaced?
     
  9. tifel100

    tifel100 Void-Bound Voyager

    if you don't edit player.config except for add a recipe to the top, it stlll works.
    I removed the others because it's not needed and I wanted to test without it as well.
    I tried running 2 mods and it worked fine.
     
  10. Cheremenin

    Cheremenin Scruffy Nerf-Herder

    Wait, no longer we will have to replace player.config?
    Oh god yes
     
  11. Black--snow

    Black--snow Cosmic Narwhal

    Player.Config will still have to be over-written, just the same as before with Bootstrap.config
     
  12. Leosky

    Leosky Void-Bound Voyager

    that's why dependencies aren't always simple :>. As dev i know pretty well it can be very complicated, even for simple / minor change.
     
  13. Cheremenin

    Cheremenin Scruffy Nerf-Herder

    But they're in different folders now, no?

    /mods/Yourmodname/player.config

    Each for every mod?
     
  14. Black--snow

    Black--snow Cosmic Narwhal

    They always were...

    The new version doesn't combine files like some other users have said... It simply is an easier to use modloader.
     
  15. Cheremenin

    Cheremenin Scruffy Nerf-Herder

    Oh. I thought there was only one player.config that you had to manually edit every time you added in custom crafting recipes. Sorry.

    So, in the end, is adding mods now modloader-enabled by default, so you only need to drag-and-drop?
     
  16. snowboudmage

    snowboudmage Void-Bound Voyager

    Oh yeah, made my mod work. This system is very neat. Now more people will install them because of no editing .config files or overwriting game files.
     
  17. Leosky

    Leosky Void-Bound Voyager

    some file are quite difficult to handle for the moment (as player.config).

    adding a recipe with

    Code:
    {
      "defaultBlueprints" : {
        "tier1" : [
          { "item" : "steelaxe" }
        ]
      }
    }
    lead to crash, you have to copy the whole player.config and then add your recipes... or i make something wrong

    your can create a single mod called "playerMod", containing juste "playerMod.modinfo" and "player.config" to handle multiple mods for the moment.
     
  18. omegadrace

    omegadrace Cosmic Narwhal

    So, more or less, it's still not possible to have two mods using player.config without merging them?
     
  19. Black--snow

    Black--snow Cosmic Narwhal

    That's correct.

    But, it's being worked on to automatically merge Json files.
     
  20. tifel100

    tifel100 Void-Bound Voyager

    you have to keep everything thing, the only things that you can remove are the defaults recipes, so atleast you remove like 40 lines.
     

Share This Page