Modding Help Unisex Hairstyles

Discussion in 'Starbound Modding' started by Fae, Feb 5, 2017.

  1. Fae

    Fae Scruffy Nerf-Herder

    Hey everyone,

    There is a certain vanilla male hairstyle I would always use on each new female character I made using SBSE Desktop and, unlike mods that need to be included on your friends' PCs to be seen, they were always visible to anyone that played with me (I guess it's because they are vanilla hairstyles).

    However, SBSE Desktop is currently incompatible with Starbound's current version, so I have no clue how to go about obtaining that male hairstyle again for my female characters since I have no modding experience whatsoever. :cry:

    Does anyone know how to do this or how to make all vanilla hairstyles unisex?
    Thanks~ :love:
     
  2. Cyel

    Cyel Scruffy Nerf-Herder

    You need to patch the /species/human.species to add the hairstyles in the hair array of each genders.

    This one will make the 64 vanilla gendered human hairstyles available for both genders:
    Code:
    [
        {"op": "add", "path": "/genders/0/hair/-", "value":"fem1"},
        {"op": "add", "path": "/genders/0/hair/-", "value":"fem2"},
        {"op": "add", "path": "/genders/0/hair/-", "value":"fem3"},
        {"op": "add", "path": "/genders/0/hair/-", "value":"fem4"},
        {"op": "add", "path": "/genders/0/hair/-", "value":"fem5"},
        {"op": "add", "path": "/genders/0/hair/-", "value":"fem6"},
        {"op": "add", "path": "/genders/0/hair/-", "value":"fem7"},
        {"op": "add", "path": "/genders/0/hair/-", "value":"fem8"},
        {"op": "add", "path": "/genders/0/hair/-", "value":"fem9"},
        {"op": "add", "path": "/genders/0/hair/-", "value":"fem10"},
        {"op": "add", "path": "/genders/0/hair/-", "value":"fem11"},
        {"op": "add", "path": "/genders/0/hair/-", "value":"fem12"},
        {"op": "add", "path": "/genders/0/hair/-", "value":"fem13"},
        {"op": "add", "path": "/genders/0/hair/-", "value":"fem14"},
        {"op": "add", "path": "/genders/0/hair/-", "value":"fem15"},
        {"op": "add", "path": "/genders/0/hair/-", "value":"fem16"},
        {"op": "add", "path": "/genders/0/hair/-", "value":"fem17"},
        {"op": "add", "path": "/genders/0/hair/-", "value":"fem18"},
        {"op": "add", "path": "/genders/0/hair/-", "value":"fem19"},
        {"op": "add", "path": "/genders/0/hair/-", "value":"fem20"},
        {"op": "add", "path": "/genders/0/hair/-", "value":"fem21"},
        {"op": "add", "path": "/genders/0/hair/-", "value":"fem22"},
        {"op": "add", "path": "/genders/0/hair/-", "value":"fem23"},
        {"op": "add", "path": "/genders/0/hair/-", "value":"fem24"},
        {"op": "add", "path": "/genders/0/hair/-", "value":"fem25"},
        {"op": "add", "path": "/genders/0/hair/-", "value":"fem26"},
        {"op": "add", "path": "/genders/0/hair/-", "value":"fem27"},
        {"op": "add", "path": "/genders/0/hair/-", "value":"fem28"},
        {"op": "add", "path": "/genders/0/hair/-", "value":"fem29"},
        {"op": "add", "path": "/genders/0/hair/-", "value":"fem30"},
        {"op": "add", "path": "/genders/0/hair/-", "value":"fem31"},
        {"op": "add", "path": "/genders/0/hair/-", "value":"fem32"},
        {"op": "add", "path": "/genders/0/hair/-", "value":"fem33"},
        {"op": "add", "path": "/genders/0/hair/-", "value":"fem34"},
        {"op": "add", "path": "/genders/0/hair/-", "value":"fem35"},
        {"op": "add", "path": "/genders/0/hair/-", "value":"fem36"},
        {"op": "add", "path": "/genders/0/hair/-", "value":"fem37"},
        {"op": "add", "path": "/genders/0/hair/-", "value":"fem38"},
        {"op": "add", "path": "/genders/0/hair/-", "value":"fem39"},
        {"op": "add", "path": "/genders/0/hair/-", "value":"fem40"},
        {"op": "add", "path": "/genders/0/hair/-", "value":"fem41"},
        {"op": "add", "path": "/genders/0/hair/-", "value":"fem42"},
        {"op": "add", "path": "/genders/0/hair/-", "value":"fem43"},
        {"op": "add", "path": "/genders/0/hair/-", "value":"fem44"},
        {"op": "add", "path": "/genders/0/hair/-", "value":"fem45"},
        {"op": "add", "path": "/genders/0/hair/-", "value":"fem46"},
        {"op": "add", "path": "/genders/0/hair/-", "value":"fem47"},
        {"op": "add", "path": "/genders/0/hair/-", "value":"fem48"},
        {"op": "add", "path": "/genders/0/hair/-", "value":"fem49"},
        {"op": "add", "path": "/genders/0/hair/-", "value":"fem50"},
        {"op": "add", "path": "/genders/0/hair/-", "value":"fem51"},
        {"op": "add", "path": "/genders/0/hair/-", "value":"fem52"},
        {"op": "add", "path": "/genders/0/hair/-", "value":"fem53"},
        {"op": "add", "path": "/genders/0/hair/-", "value":"fem54"},
        {"op": "add", "path": "/genders/0/hair/-", "value":"fem55"},
        {"op": "add", "path": "/genders/0/hair/-", "value":"fem56"},
        {"op": "add", "path": "/genders/0/hair/-", "value":"fem57"},
        {"op": "add", "path": "/genders/0/hair/-", "value":"fem58"},
        {"op": "add", "path": "/genders/0/hair/-", "value":"fem59"},
        {"op": "add", "path": "/genders/0/hair/-", "value":"fem60"},
        {"op": "add", "path": "/genders/0/hair/-", "value":"fem61"},
        {"op": "add", "path": "/genders/0/hair/-", "value":"fem62"},
        {"op": "add", "path": "/genders/0/hair/-", "value":"fem63"},
        {"op": "add", "path": "/genders/0/hair/-", "value":"fem64"},
    
        {"op": "add", "path": "/genders/1/hair/-", "value":"male1"},
        {"op": "add", "path": "/genders/1/hair/-", "value":"male2"},
        {"op": "add", "path": "/genders/1/hair/-", "value":"male3"},
        {"op": "add", "path": "/genders/1/hair/-", "value":"male4"},
        {"op": "add", "path": "/genders/1/hair/-", "value":"male5"},
        {"op": "add", "path": "/genders/1/hair/-", "value":"male6"},
        {"op": "add", "path": "/genders/1/hair/-", "value":"male7"},
        {"op": "add", "path": "/genders/1/hair/-", "value":"male8"},
        {"op": "add", "path": "/genders/1/hair/-", "value":"male9"},
        {"op": "add", "path": "/genders/1/hair/-", "value":"male10"},
        {"op": "add", "path": "/genders/1/hair/-", "value":"male11"},
        {"op": "add", "path": "/genders/1/hair/-", "value":"male12"},
        {"op": "add", "path": "/genders/1/hair/-", "value":"male13"},
        {"op": "add", "path": "/genders/1/hair/-", "value":"male14"},
        {"op": "add", "path": "/genders/1/hair/-", "value":"male15"},
        {"op": "add", "path": "/genders/1/hair/-", "value":"male16"},
        {"op": "add", "path": "/genders/1/hair/-", "value":"male17"},
        {"op": "add", "path": "/genders/1/hair/-", "value":"male18"},
        {"op": "add", "path": "/genders/1/hair/-", "value":"male19"},
        {"op": "add", "path": "/genders/1/hair/-", "value":"male20"},
        {"op": "add", "path": "/genders/1/hair/-", "value":"male21"},
        {"op": "add", "path": "/genders/1/hair/-", "value":"male22"},
        {"op": "add", "path": "/genders/1/hair/-", "value":"male23"},
        {"op": "add", "path": "/genders/1/hair/-", "value":"male24"},
        {"op": "add", "path": "/genders/1/hair/-", "value":"male25"},
        {"op": "add", "path": "/genders/1/hair/-", "value":"male26"},
        {"op": "add", "path": "/genders/1/hair/-", "value":"male27"},
        {"op": "add", "path": "/genders/1/hair/-", "value":"male28"},
        {"op": "add", "path": "/genders/1/hair/-", "value":"male29"},
        {"op": "add", "path": "/genders/1/hair/-", "value":"male30"},
        {"op": "add", "path": "/genders/1/hair/-", "value":"male31"},
        {"op": "add", "path": "/genders/1/hair/-", "value":"male32"},
        {"op": "add", "path": "/genders/1/hair/-", "value":"male33"},
        {"op": "add", "path": "/genders/1/hair/-", "value":"male34"},
        {"op": "add", "path": "/genders/1/hair/-", "value":"male35"},
        {"op": "add", "path": "/genders/1/hair/-", "value":"male36"},
        {"op": "add", "path": "/genders/1/hair/-", "value":"male37"},
        {"op": "add", "path": "/genders/1/hair/-", "value":"male38"},
        {"op": "add", "path": "/genders/1/hair/-", "value":"male39"},
        {"op": "add", "path": "/genders/1/hair/-", "value":"male40"},
        {"op": "add", "path": "/genders/1/hair/-", "value":"male41"},
        {"op": "add", "path": "/genders/1/hair/-", "value":"male42"},
        {"op": "add", "path": "/genders/1/hair/-", "value":"male43"},
        {"op": "add", "path": "/genders/1/hair/-", "value":"male44"},
        {"op": "add", "path": "/genders/1/hair/-", "value":"male45"},
        {"op": "add", "path": "/genders/1/hair/-", "value":"male46"},
        {"op": "add", "path": "/genders/1/hair/-", "value":"male47"},
        {"op": "add", "path": "/genders/1/hair/-", "value":"male48"},
        {"op": "add", "path": "/genders/1/hair/-", "value":"male49"},
        {"op": "add", "path": "/genders/1/hair/-", "value":"male50"},
        {"op": "add", "path": "/genders/1/hair/-", "value":"male51"},
        {"op": "add", "path": "/genders/1/hair/-", "value":"male52"},
        {"op": "add", "path": "/genders/1/hair/-", "value":"male53"},
        {"op": "add", "path": "/genders/1/hair/-", "value":"male54"},
        {"op": "add", "path": "/genders/1/hair/-", "value":"male55"},
        {"op": "add", "path": "/genders/1/hair/-", "value":"male56"},
        {"op": "add", "path": "/genders/1/hair/-", "value":"male57"},
        {"op": "add", "path": "/genders/1/hair/-", "value":"male58"},
        {"op": "add", "path": "/genders/1/hair/-", "value":"male59"},
        {"op": "add", "path": "/genders/1/hair/-", "value":"male60"},
        {"op": "add", "path": "/genders/1/hair/-", "value":"male61"},
        {"op": "add", "path": "/genders/1/hair/-", "value":"male62"},
        {"op": "add", "path": "/genders/1/hair/-", "value":"male63"},
        {"op": "add", "path": "/genders/1/hair/-", "value":"male64"}
    
    ]


    If you're just interested in the mod itself, I packed it and zipped it, and if you want it on the steam workshop, it's there too: http://steamcommunity.com/sharedfiles/filedetails/?id=857480234

    Otherwise, info about patches can be found here: http://community.playstarbound.com/threads/basic-patching-now-with-path-guide-v1-9.84496/
    Infos about the JSON format: http://starbounder.org/Modding:JSON
    And a cool tool to check patches is http://json-schema-validator.herokuapp.com/jsonpatch.jsp

    Basically, patches are files the game reads at startup and applies to the actually existing files. They allow multiple mods to modify the same "resource" without coliding with eachother.
     

    Attached Files:

    Last edited: Feb 5, 2017
    Fae and Errors4l like this.
  3. Fae

    Fae Scruffy Nerf-Herder

    Thank you so much! I really appreciate this. :love:

    I'll use this for my next characters since I'm not so sure if I can change my current character's hairstyle.
    Although, I think it's possible with some tweaking but that's something I'll have to figure out how to do. :nod:

    If I only want one of the human male hairstyles to become unisex, I assume all I need to do is delete all of the "{"op": "add", "path": "/genders/1/hair/-", "value":"???"}" excluding the one within my interest?
     
    Cyel likes this.
  4. Cyel

    Cyel Scruffy Nerf-Herder

    Happy to help, and yes. If you unpacked the assets, you can find the human hairstyles in /humanoid/human/hair
     
    Fae likes this.

Share This Page