Modding Help how do i design a ship

Discussion in 'Starbound Modding' started by --birbboi--, Dec 31, 2020.

Tags:
  1. --birbboi--

    --birbboi-- Void-Bound Voyager

    hi! i've been a bit of a lurker on this forum for a while, and i'm working on a race mod. i've been able to figure out most of it on my own, however making a custom ship scares me. it seems really complicated and easy to mess up. does anybody have any tips or guides?
     
  2. bk3k

    bk3k Oxygen Tank

    It isn't super-complicated once you understand how it works. First off unpack your vanilla assets if you haven't already - simply to see how it works in vanilla. You can do the same with various ship mods.

    The blockKey is the most complicated part, and I'll just copy/paste a previous post of mine related to that -
    The blockKey is there to interpret your blockImages (create 1 per tier). Block images create the layout itself.

    You also want a decent text editor for most modding - something like Notepad++ is good. As for other files -
    universe_server.config.patch
    Code:
    [
      {
        "op" : "add",
        "path" : "/speciesShips/<speciesName>",
        "value" : [
          "/ships/<speciesName>/ship_T0.structure",
          "/ships/<speciesName>/ship_T1.structure",
          "/ships/<speciesName>/ship_T2.structure",
          "/ships/<speciesName>/ship_T3.structure",
          "/ships/<speciesName>/ship_T4.structure",
          "/ships/<speciesName>/ship_T5.structure",
          "/ships/<speciesName>/ship_T6.structure",
          "/ships/<speciesName>/ship_T7.structure",
          "/ships/<speciesName>/ship_T8.structure"
        ]
      }
    ]
    
    Obviously you will replace <speciesName> with your species's name. And that tells the game where to find your ship's .structure files for each tier.
    Make a folder within /ships/ with that same name.
    Put your .structure files within it. You can copy/paste some vanilla species files in there and edit them. Also rename them to match what's in your universe_server.config.patch
    In
    For the .structure files, here is the novakid's tier 8
    Code:
    {
      "config" : {
        "shipUpgrades" : {
          "capabilities" : ["teleport", "planetTravel", "systemTravel"],
          "crewSize" : 12
        }
      },
    
      "backgroundOverlays" : [
        {
          "image" : "novakidT8_1.png",
          "position" : [131.86, 20.75],
          "fullbright" : true
        },
        {
          "image" : "novakidT8_1lit.png",
          "position" : [131.86, 20.75]
        },
       
        {
          "image" : "novakidT8_2.png",
          "position" : [11.61, 20.75],
          "fullbright" : true
        },
       
        {
          "image" : "novakidT8_2lit.png",
          "position" : [11.61, 20.75]
        }
      ],
    
      "blockKey" : "blockKey.config:blockKey",
      "blockImage" : "novakidT8blocks.png"
    }
    Should be fairly self-evident what most that does. Note that your ship images are basically there to create the illusion of a ship from simple blocks (walls are invisible metamaterials) and objects. Also note you can use "foregroundOverlays" identically to "backgroundOverlays" except those will be drawn in front of the player rather than behind the player + foreground/background blocks. A great place for partially transparent images.
     
  3. --birbboi--

    --birbboi-- Void-Bound Voyager

    thank you!
     

Share This Page