Modding Help New Race Mod Help .Species file

Discussion in 'Starbound Modding' started by Mimaah, Sep 5, 2015.

  1. Mimaah

    Mimaah Phantasmal Quasar

    This is my first time modding and first time making a custom race and I followed Kayuko's tutorial as well as used other race mods for reference as what folders to use and what should go where and what not. My main problem is with the .species file. I used the avian one as reference and I wanted to have options for hair and face pattern and then a primary and secondary color option. My current .species file works except instead of choosing a secondary colour, it just adds more hair onto it so both the hair and secondary options add hair to my race.

    When I try and alter it or try and alter the apex.species (since it has the closest options to what I want) I get two different errors. I either get this:



    [​IMG]

    [18:48:15.180] Error: Exception caught loading asset: /species/chitten.species, (AssetException) Could not read variant asset /species/chitten.species
    [0] 161eaaa
    [1] 161bc38
    [2] 161bcff
    [3] 124d5b8
    [4] 124e987
    [5] 124a156
    [6] 124c7a6
    [7] 124aba6
    [8] 124ef7a
    [9] 121310a
    [10] 124957b
    [11] 1248c4a
    [12] 1248921
    [13] 1248509
    [14] 1248329
    [15] 162ee91
    [16] 162f0d1
    [17] 77167c04 BaseThreadInitThunk
    [18] 7782ad1f RtlInitializeExceptionChain
    [19] 7782acea RtlInitializeExceptionChain
    Caused by: (JsonParsingException) Cannot parse json file: /species/chitten.species
    [0] 161eaaa
    [1] 161bc38
    [2] 161bcff
    [3] 124d728
    [4] 1247d05
    [5] 124e911
    [6] 124a156
    [7] 124c7a6
    [8] 124aba6
    [9] 124ef7a
    [10] 121310a
    [11] 124957b
    [12] 1248c4a
    [13] 1248921
    [14] 1248509
    [15] 1248329
    [16] 162ee91
    [17] 162f0d1
    [18] 77167c04 BaseThreadInitThunk
    [19] 7782ad1f RtlInitializeExceptionChain
    [20] 7782acea RtlInitializeExceptionChain
    Caused by: (JsonParsingException) Error parsing json: bad array, should be ',' or ']' at 146:28
    [0] 161eaaa
    [1] 161bc38
    [2] 11e33ce
    [3] 124767d
    [4] 124e911
    [5] 124a156
    [6] 124c7a6
    [7] 124aba6
    [8] 124ef7a
    [9] 121310a
    [10] 124957b
    [11] 1248c4a
    [12] 1248921
    [13] 1248509
    [14] 1248329
    [15] 162ee91
    [16] 162f0d1
    [17] 77167c04 BaseThreadInitThunk
    [18] 7782ad1f RtlInitializeExceptionChain
    [19] 7782acea RtlInitializeExceptionChain
    [18:48:15.181] Info: Loading QuestTemplateDatabase
    [18:48:15.195] Info: Done loading QuestTemplateDatabase in 0.0139999 seconds
    [18:48:15.196] Error: Exception raised during Root finishLoad: (AssetException) Error loading asset /species/chitten.species
    [0] 161eaaa
    [1] 161bc38
    [2] 124821a
    [3] 1244995
    [4] 13968d6
    [5] 11e7d44
    [6] 11e5bc2
    [7] 11e109b
    [8] 11e291b
    [9] 11e352b
    [10] 11e2e89
    [11] 11e298c
    [12] 11e2874
    [13] 11ebf83
    [14] 1672393
    [15] 1671da6
    [16] 162f0d1
    [17] 77167c04 BaseThreadInitThunk
    [18] 7782ad1f RtlInitializeExceptionChain
    [19] 7782acea RtlInitializeExceptionChain
    [18:48:15.206] Info: Renderer destroyed
    [18:48:15.305] Info: Shutting down Star::Root
    [18:48:15.443] Error: Fatal Exception caught: (StarException) An error occurred during loading: (AssetException) Error loading asset /species/chitten.species


    or this:



    [​IMG]

    [18:38:07.504] Error: Exception raised during Root finishLoad: (JsonException) Improper conversion to JsonArray from null
    [0] 161eaaa
    [1] 161bc38
    [2] 16333db
    [3] 163027e
    [4] 1630346
    [5] 1647930
    [6] 139524f
    [7] 139741a
    [8] 13968e4
    [9] 11e7d44
    [10] 11e5bc2
    [11] 11e109b
    [12] 11e291b
    [13] 11e352b
    [14] 11e2e89
    [15] 11e298c
    [16] 11e2874
    [17] 11ebf83
    [18] 1672393
    [19] 1671da6
    [20] 162f0d1
    [21] 77167c04 BaseThreadInitThunk
    [22] 7782ad1f RtlInitializeExceptionChain
    [23] 7782acea RtlInitializeExceptionChain

    [18:38:07.519] Info: Renderer destroyed

    [18:38:07.614] Info: Shutting down Star::Root

    [18:38:07.614] Info: Writing Star::Configuration to '.\..\giraffe_storage\starbound.config'

    [18:38:07.742] Error: Fatal Exception caught: (StarException) An error occurred during loading: (JsonException) Improper conversion to JsonArray from null


    It'm not sure what's going wrong or how to modify the species file, this is the current one that works:


    "kind" : "chitten",
    "nameGen" : [ "/species/chittennamegen.config:names", "/species/chittennamegen.config:names" ],
    "ouchNoises" : [ "/sfx/humanoid/avianhurt_male1.wav", "/sfx/humanoid/avianhurt_female1.wav" ],
    "gruntNoises" : [ [ "/sfx/humanoid/aviangrunt1.wav", "/sfx/humanoid/aviangrunt2.wav" ], [ "/sfx/humanoid/aviangrunt1.wav", "/sfx/humanoid/aviangrunt2.wav" ] ],
    "charGenTextLabels" : [ "BODY COLOR", "HAIR", "SHIRT", "PANTS", "FACE PATTERN", "SECONDARY COLOR", "SHIRT COLOR", "PANTS COLOR", "CHITTEN", "PERSONALITY" ],
    "skull" : "/humanoid/chitten/dead.png",
    "defaultBlueprints" : {
    "tier1" : [
    { "item" : "aviantier1hammer" },
    { "item" : "aviantier1shortsword" },
    { "item" : "aviantier1broadsword" },
    { "item" : "aviantier1spear" },
    { "item" : "aviantier1axe" },
    { "item" : "aviantier1dagger" },
    { "item" : "aviantier1head" },
    { "item" : "aviantier1chest" },
    { "item" : "aviantier1pants" },
    { "item" : "avianadventurershirt" },
    { "item" : "avianadventurerpants" },
    { "item" : "aviancommonershirt" },
    { "item" : "aviancommonerlegs" },
    { "item" : "avianfancyshirt" },
    { "item" : "avianfancyskirt" },
    { "item" : "avianworkershirt" },
    { "item" : "avianworkerpants" },
    { "item" : "aviannudeshirt" },
    { "item" : "aviannudepants" },

    { "item" : "avianstoragelocker" },

    { "item" : "flagavian" },

    // { "item" : "aviantier2head" },
    // { "item" : "aviantier2chest" },
    // { "item" : "aviantier2pants" },
    { "item" : "aviantier2hammer" },
    { "item" : "aviantier2shortsword" },
    { "item" : "aviantier2broadsword" },
    { "item" : "aviantier2spear" },
    { "item" : "aviantier2axe" },
    { "item" : "aviantier2dagger" },

    { "item" : "aviantier3head" },
    { "item" : "aviantier3chest" },
    { "item" : "aviantier3pants" },
    { "item" : "aviantier3hammer" },
    { "item" : "aviantier3shortsword" },
    { "item" : "aviantier3broadsword" },
    { "item" : "aviantier3spear" },
    { "item" : "aviantier3axe" },
    { "item" : "aviantier3dagger" },

    // { "item" : "aviantier4head" },
    // { "item" : "aviantier4chest" },
    // { "item" : "aviantier4pants" },
    { "item" : "aviantier4hammer" },
    { "item" : "aviantier4shortsword" },
    { "item" : "aviantier4broadsword" },
    { "item" : "aviantier4spear" },
    { "item" : "aviantier4axe" },
    { "item" : "aviantier4dagger" },

    { "item" : "aviantier5ahead" },
    { "item" : "aviantier5achest" },
    { "item" : "aviantier5apants" },
    { "item" : "aviantier5dagger" },

    { "item" : "aviantier5mhead" },
    { "item" : "aviantier5mchest" },
    { "item" : "aviantier5mpants" },

    { "item" : "aviantier5shead" },
    { "item" : "aviantier5schest" },
    { "item" : "aviantier5spants" },
    { "item" : "aviantier8hammer" },
    { "item" : "aviantier8shortsword" },
    { "item" : "aviantier8broadsword" },
    { "item" : "aviantier8spear" },
    { "item" : "aviantier8axe" },
    { "item" : "aviantier8dagger" },

    // { "item" : "aviantier6ahead" },
    // { "item" : "aviantier6achest" },
    // { "item" : "aviantier6apants" },
    { "item" : "aviantier6dagger" },

    // { "item" : "aviantier6mhead" },
    // { "item" : "aviantier6mchest" },
    // { "item" : "aviantier6mpants" },

    // { "item" : "aviantier6shead" },
    // { "item" : "aviantier6schest" },
    // { "item" : "aviantier6spants" },
    { "item" : "aviantier10hammer" },
    { "item" : "aviantier10shortsword" },
    { "item" : "aviantier10broadsword" },
    { "item" : "aviantier10spear" },
    { "item" : "aviantier10axe" },
    { "item" : "aviantier10dagger" }
    ]
    },

    "headOptionAsFacialhair" : true,
    "altOptionAsFacialMask" : true,
    "bodyColorAsFacialMaskSubColor" : true,
    "altColorAsFacialMaskSubColor" : true,
    "genders" : [
    {
    "name" : "male",
    "image" : "/interface/title/male.png",
    "characterImage" : "/interface/title/chittenmale.png",
    "hair" : [ "1", "2", "3", "4", "5", "6" ],
    "shirt" : [ "avianadventurershirt", "aviancommonershirt", "avianfancyshirt", "avianworkershirt", "aviannudeshirt" ],
    "pants" : [ "avianadventurerpants", "aviancommonerlegs", "avianfancyskirt", "avianworkerpants", "aviannudepants" ],
    "facialHairGroup" : "hair",
    "facialHair" : [ "1", "2", "3", "4", "5", "6" ],
    "facialMaskGroup" : "pattern",
    "facialMask" : [ "1", "2", "3", "4", "5", "6" ]
    },
    {
    "name" : "female",
    "image" : "/interface/title/female.png",
    "characterImage" : "/interface/title/chittenfemale.png",
    "hair" : [ "1", "2", "3", "4", "5", "6" ],
    "shirt" : [ "avianadventurershirt", "aviancommonershirt", "avianfancyshirt", "avianworkershirt", "aviannudeshirt" ],
    "pants" : [ "avianadventurerpants", "aviancommonerlegs", "avianfancyskirt", "avianworkerpants", "aviannudepants" ],
    "facialHairGroup" : "hair",
    "facialHair" : [ "1", "2", "3", "4", "5", "6" ],
    "facialMaskGroup" : "pattern",
    "facialMask" : [ "1", "2", "3", "4", "5", "6" ]
    }
    ],
    "bodyColor" : [
    { "ffca8a" : "f0608b", "e0975c" : "cd5061", "a85636" : "95484c", "6f2919" : "6a3836", "f32200" : "f6fbfb", "dc1f00" : "d7e8e8", "be1b00" : "8fa7a3", "951500" : "5d6d69", "d9c189" : "eacf60", "a38d59" : "c1a24e", "735e3a" : "977841" },
    { "ffca8a" : "7fdadd", "e0975c" : "61aebf", "a85636" : "4e7a90", "6f2919" : "3f566e", "f32200" : "f6fbfb", "dc1f00" : "d7e8e8", "be1b00" : "8fa7a3", "951500" : "5d6d69", "d9c189" : "eacf60", "a38d59" : "c1a24e", "735e3a" : "977841" },
    { "ffca8a" : "add068", "e0975c" : "85ac1b", "a85636" : "6e8210", "6f2919" : "596809", "f32200" : "f6fbfb", "dc1f00" : "d7e8e8", "be1b00" : "8fa7a3", "951500" : "5d6d69", "d9c189" : "eacf60", "a38d59" : "c1a24e", "735e3a" : "977841" },
    { "ffca8a" : "f3efa3", "e0975c" : "e3d965", "a85636" : "baa94a", "6f2919" : "98832d", "f32200" : "f6fbfb", "dc1f00" : "d7e8e8", "be1b00" : "8fa7a3", "951500" : "5d6d69", "d9c189" : "efad56", "a38d59" : "c5813e", "735e3a" : "9b6638" },
    { "ffca8a" : "998779", "e0975c" : "836752", "a85636" : "625244", "6f2919" : "4e3b2e", "f32200" : "f6fbfb", "dc1f00" : "d7e8e8", "be1b00" : "8fa7a3", "951500" : "5d6d69", "d9c189" : "efad56", "a38d59" : "c5813e", "735e3a" : "9b6638" },
    { "ffca8a" : "737275", "e0975c" : "595760", "a85636" : "3f3e43", "6f2919" : "212123", "f32200" : "f6fbfb", "dc1f00" : "d7e8e8", "be1b00" : "8fa7a3", "951500" : "5d6d69", "d9c189" : "eacf60", "a38d59" : "c1a24e", "735e3a" : "977841" },
    { "ffca8a" : "eebfea", "e0975c" : "de8ddd", "a85636" : "c060bb", "6f2919" : "9a4b9c", "f32200" : "f6fbfb", "dc1f00" : "d7e8e8", "be1b00" : "8fa7a3", "951500" : "5d6d69", "d9c189" : "eae660", "a38d59" : "c1b54e", "735e3a" : "978841" },
    { "ffca8a" : "d18bd5", "e0975c" : "a766bc", "a85636" : "814797", "6f2919" : "693367", "f32200" : "f6fbfb", "dc1f00" : "d7e8e8", "be1b00" : "8fa7a3", "951500" : "5d6d69", "d9c189" : "efad56", "a38d59" : "c5813e", "735e3a" : "9b6638" },
    { "ffca8a" : "f3c873", "e0975c" : "db9c38", "a85636" : "b17628", "6f2919" : "89561f", "f32200" : "f6fbfb", "dc1f00" : "d7e8e8", "be1b00" : "8fa7a3", "951500" : "5d6d69", "d9c189" : "eae660", "a38d59" : "c1b54e", "735e3a" : "978841" },
    { "ffca8a" : "deeded", "e0975c" : "c5d8d8", "a85636" : "96aba9", "6f2919" : "6f807e", "f32200" : "f6fbfb", "dc1f00" : "d7e8e8", "be1b00" : "8fa7a3", "951500" : "5d6d69", "d9c189" : "eacf60", "a38d59" : "c1a24e", "735e3a" : "977841" }
    ],
    "undyColor" : [ "" ],
    "hairColor" : [ "" ]
    }



    Another issue I'm having is when talking to the AI, no text appears on the buttons

    [​IMG]
    I'm still browsing through code to find an issue but most of the files were copied across from the Avikan species (Aegonian was trying to help me with getting this race to work as well) with only name changes to the code (from Avikan to Chitten etc)

    Would you know what's causing the text not to appear?

    Any help would be appreciated,

    Thanks!

    Edit: Another question. The face pattern is shown over the top of the hair, is there a way to switch them around so the hair is on top and the face pattern behind?

    Edit 2: I got the ship text to appear, it was a line I completely missed where I got to replace the species name, the only issues now is the .species file and how to get the face pattern behind the hair.
     
    Last edited: Sep 5, 2015
  2. C0bra5

    C0bra5 Oxygen Tank

    Best Answer
    it's official i think i nailed it down!

    i had to do some cheaty stuff but here is what i did

    • since you wanted the hair color and facial pattern i had to make so that the hair becomes the facial hair and vice-versa, but don't worry the hair will be the only one to get color since the "hairColor" element does not have the facial pattern colors in it's base colors
    • fixed the button text to match what they actually do,
      • the primary color button is now the fur color which changes the hair and red parts color to match what ever you them to be.
      • the face pattern is now the skin color, aka your old primary color, i had to make it the undy color, anyway, that is the only way i can make this work.
      • the hair style is has become the face pattern button because overlay reasons.
      • the secondary color is now the face color again because the secondary color is now the fur color, and because you needed a way to put the hair over the face pattern and turns out the facial hair layer is over the head one.

        here is an image with the new interface names:
        View attachment 131772
    • renamed the "undyColor" as "body color" and vice-versa
    • copied the "undyColor" values to hair color since you need to be able to color them
    • replaced this:
      Code:
      "headOptionAsFacialhair" : false,
      "altOptionAsFacialMask" : true,
      "bodyColorAsFacialMaskSubColor" : true,
      "altColorAsFacialMaskSubColor" : false
      
      By this
      Code:
      "headOptionAsFacialhair" : true,
      "altOptionAsUndyColor" : true,
      
    so... ya that's about everything you need to know!

    here is the new code:
    Code:
    {
        "kind" : "chitten",
        "nameGen" : [ "/species/chittennamegen.config:names", "/species/chittennamegen.config:names" ],
        "ouchNoises" : [ "/sfx/humanoid/avianhurt_male1.wav", "/sfx/humanoid/avianhurt_female1.wav" ],
        "gruntNoises" : [ [ "/sfx/humanoid/aviangrunt1.wav", "/sfx/humanoid/aviangrunt2.wav" ], [ "/sfx/humanoid/aviangrunt1.wav", "/sfx/humanoid/aviangrunt2.wav" ] ],
        "charGenTextLabels" : [ "FUR COLOR", "FACE PATTERN", "SHIRT", "PANTS", "SKIN COLOR", "HAIR STYLE", "SHIRT COLOR", "PANTS COLOR", "CHITTEN", "PERSONALITY" ],
        "skull" : "/humanoid/chitten/dead.png",
        "defaultBlueprints" : {
            "tier1" : [
                { "item" : "aviantier1hammer" },
                { "item" : "aviantier1shortsword" },
                { "item" : "aviantier1broadsword" },
                { "item" : "aviantier1spear" },
                { "item" : "aviantier1axe" },
                { "item" : "aviantier1dagger" },
                { "item" : "aviantier1head" },
                { "item" : "aviantier1chest" },
                { "item" : "aviantier1pants" },
                { "item" : "avianadventurershirt" },
                { "item" : "avianadventurerpants" },
                { "item" : "aviancommonershirt" },
                { "item" : "aviancommonerlegs" },
                { "item" : "avianfancyshirt" },
                { "item" : "avianfancyskirt" },
                { "item" : "avianworkershirt" },
                { "item" : "avianworkerpants" },
                { "item" : "aviannudeshirt" },
                { "item" : "aviannudepants" },
    
                { "item" : "avianstoragelocker" },
            
                { "item" : "flagavian" },
            
                // { "item" : "aviantier2head" },
                // { "item" : "aviantier2chest" },
                // { "item" : "aviantier2pants" },
                { "item" : "aviantier2hammer" },
                { "item" : "aviantier2shortsword" },
                { "item" : "aviantier2broadsword" },
                { "item" : "aviantier2spear" },
                { "item" : "aviantier2axe" },
                { "item" : "aviantier2dagger" },
            
                { "item" : "aviantier3head" },
                { "item" : "aviantier3chest" },
                { "item" : "aviantier3pants" },
                { "item" : "aviantier3hammer" },
                { "item" : "aviantier3shortsword" },
                { "item" : "aviantier3broadsword" },
                { "item" : "aviantier3spear" },
                { "item" : "aviantier3axe" },
                { "item" : "aviantier3dagger" },
            
                // { "item" : "aviantier4head" },
                // { "item" : "aviantier4chest" },
                // { "item" : "aviantier4pants" },
                { "item" : "aviantier4hammer" },
                { "item" : "aviantier4shortsword" },
                { "item" : "aviantier4broadsword" },
                { "item" : "aviantier4spear" },
                { "item" : "aviantier4axe" },
                { "item" : "aviantier4dagger" },
    
                { "item" : "aviantier5ahead" },
                { "item" : "aviantier5achest" },
                { "item" : "aviantier5apants" },
                { "item" : "aviantier5dagger" },
    
                { "item" : "aviantier5mhead" },
                { "item" : "aviantier5mchest" },
                { "item" : "aviantier5mpants" },
    
                { "item" : "aviantier5shead" },
                { "item" : "aviantier5schest" },
                { "item" : "aviantier5spants" },
                { "item" : "aviantier8hammer" },
                { "item" : "aviantier8shortsword" },
                { "item" : "aviantier8broadsword" },
                { "item" : "aviantier8spear" },
                { "item" : "aviantier8axe" },
                { "item" : "aviantier8dagger" },
    
                // { "item" : "aviantier6ahead" },
                // { "item" : "aviantier6achest" },
                // { "item" : "aviantier6apants" },
                { "item" : "aviantier6dagger" },
    
                // { "item" : "aviantier6mhead" },
                // { "item" : "aviantier6mchest" },
                // { "item" : "aviantier6mpants" },
    
                // { "item" : "aviantier6shead" },
                // { "item" : "aviantier6schest" },
                // { "item" : "aviantier6spants" },
                { "item" : "aviantier10hammer" },
                { "item" : "aviantier10shortsword" },
                { "item" : "aviantier10broadsword" },
                { "item" : "aviantier10spear" },
                { "item" : "aviantier10axe" },
                { "item" : "aviantier10dagger" }
            ]
        },
        "headOptionAsFacialhair" : true,
        "altOptionAsUndyColor" : true,
        "genders" : [
            {
                "name" : "male",
                "image" : "/interface/title/male.png",
                "characterImage" : "/interface/title/chittenmale.png",
                "hairGroup" : "pattern",
                "hair" : [ "1", "2", "3", "4", "5", "6" ],
                "shirt" : [ "avianadventurershirt", "aviancommonershirt", "avianfancyshirt", "avianworkershirt", "aviannudeshirt" ],
                "pants" : [ "avianadventurerpants", "aviancommonerlegs", "avianfancyskirt", "avianworkerpants", "aviannudepants" ],
                "facialHairGroup" : "hair",
                "facialHair" : [ "1", "2", "3", "4", "5", "6" ],
                "facialMaskGroup" : "",
                "facialMask" : []
            },
            {
                "name" : "female",
                "image" : "/interface/title/female.png",
                "characterImage" : "/interface/title/chittenfemale.png",
                "hairGroup" : "pattern",
                "hair" : [ "1", "2", "3", "4", "5", "6" ],
                "shirt" : [ "avianadventurershirt", "aviancommonershirt", "avianfancyshirt", "avianworkershirt", "aviannudeshirt" ],
                "pants" : [ "avianadventurerpants", "aviancommonerlegs", "avianfancyskirt", "avianworkerpants", "aviannudepants" ],
                "facialHairGroup" : "hair",
                "facialHair" : [ "1", "2", "3", "4", "5", "6" ],
                "facialMaskGroup" : "",
                "facialMask" : []
            }
        ],
    
        //red parts
        "bodyColor" : [
            // { "951500" : "DARK    ", "be1b00" : "NORMAL", "dc1f00" : "LIGHT " }, // Base
            { "951500" : "412F1D", "be1b00" : "775E42", "dc1f00" : "A0805E" }, // Brown
            { "951500" : "3F2306", "be1b00" : "5E4529", "dc1f00" : "876745" }, // Saturated Brown
            { "951500" : "513B2B", "be1b00" : "766250", "dc1f00" : "978574" }, // Greyish Brown
            { "951500" : "4F3D2B", "be1b00" : "8A7155", "dc1f00" : "B69674" }, // Light Brown
            { "951500" : "3D3022", "be1b00" : "725F4A", "dc1f00" : "998168" }, // Desaturated Brown
            { "951500" : "482D13", "be1b00" : "805C33", "dc1f00" : "AC7E4D" }, // Light Saturated Brown
            { "951500" : "453317", "be1b00" : "7D6438", "dc1f00" : "A88852" }, // Yellowish
            { "951500" : "452317", "be1b00" : "7D4C38", "dc1f00" : "A86A52" }, // Red
            { "951500" : "1C1A18", "be1b00" : "46403E", "dc1f00" : "665D56" }, // Black
            { "951500" : "4A413F", "be1b00" : "907D71", "dc1f00" : "B6A095" },    // White
            { "951500" : "553428", "be1b00" : "A35638", "dc1f00" : "C97354" }, // Reddish Orange
            { "951500" : "553C28", "be1b00" : "A36838", "dc1f00" : "C98754" }, // Orange
            { "951500" : "503A2C", "be1b00" : "986442", "dc1f00" : "BC825E" }, // Light Orangey Brown
            { "951500" : "50362C", "be1b00" : "985A42", "dc1f00" : "BC775E" }, // Light Reddish Orange
            { "951500" : "564937", "be1b00" : "998261", "dc1f00" : "D7B889" }, // Sand Coloured
            { "951500" : "453826", "be1b00" : "7F6847", "dc1f00" : "B59667" }    // Darker Sand Coloured
        ],
      
        //beigeParts
        "undyColor" : [
            // { "6f2919" : "DARKER", "a85636" : "DARK    ", "e0975c" : "NORMAL", "ffca8a" : "LIGHT "}, // Base
            { "6f2919" : "412F1D", "a85636" : "775E42", "e0975c" : "A0805E", "ffca8a" : "CAA881" }, // Brown
            { "6f2919" : "3F2306", "a85636" : "5E4529", "e0975c" : "876745", "ffca8a" : "B18F68" }, // Saturated Brown
            { "6f2919" : "513B2B", "a85636" : "766250", "e0975c" : "978574", "ffca8a" : "BAADA0" }, // Greyish Brown
            { "6f2919" : "4F3D2B", "a85636" : "8A7155", "e0975c" : "B69674", "ffca8a" : "E5C39C" }, // Light Brown
            { "6f2919" : "3D3022", "a85636" : "725F4A", "e0975c" : "998168", "ffca8a" : "C3A98C" }, // Desaturated Brown
            { "6f2919" : "482D13", "a85636" : "805C33", "e0975c" : "AC7E4D", "ffca8a" : "D7A66D" }, // Light Saturated Brown
            { "6f2919" : "453317", "a85636" : "7D6438", "e0975c" : "A88852", "ffca8a" : "D3B174" }, // Yellowish
            { "6f2919" : "452317", "a85636" : "7D4C38", "e0975c" : "A86A52", "ffca8a" : "D38F74" }, // Red
            { "6f2919" : "1C1A18", "a85636" : "46403E", "e0975c" : "665D56", "ffca8a" : "837667" }, // Black
            { "6f2919" : "4A413F", "a85636" : "907D71", "e0975c" : "B6A095", "ffca8a" : "DEC7BF" }    // White
        ],
    
        //facial hair and hair but you don't hit the facial hair in your base colors
        "hairColor" : [
            // { "951500" : "DARK    ", "be1b00" : "NORMAL", "dc1f00" : "LIGHT " }, // Base
            { "951500" : "412F1D", "be1b00" : "775E42", "dc1f00" : "A0805E" }, // Brown
            { "951500" : "3F2306", "be1b00" : "5E4529", "dc1f00" : "876745" }, // Saturated Brown
            { "951500" : "513B2B", "be1b00" : "766250", "dc1f00" : "978574" }, // Greyish Brown
            { "951500" : "4F3D2B", "be1b00" : "8A7155", "dc1f00" : "B69674" }, // Light Brown
            { "951500" : "3D3022", "be1b00" : "725F4A", "dc1f00" : "998168" }, // Desaturated Brown
            { "951500" : "482D13", "be1b00" : "805C33", "dc1f00" : "AC7E4D" }, // Light Saturated Brown
            { "951500" : "453317", "be1b00" : "7D6438", "dc1f00" : "A88852" }, // Yellowish
            { "951500" : "452317", "be1b00" : "7D4C38", "dc1f00" : "A86A52" }, // Red
            { "951500" : "1C1A18", "be1b00" : "46403E", "dc1f00" : "665D56" }, // Black
            { "951500" : "4A413F", "be1b00" : "907D71", "dc1f00" : "B6A095" },    // White
            { "951500" : "553428", "be1b00" : "A35638", "dc1f00" : "C97354" }, // Reddish Orange
            { "951500" : "553C28", "be1b00" : "A36838", "dc1f00" : "C98754" }, // Orange
            { "951500" : "503A2C", "be1b00" : "986442", "dc1f00" : "BC825E" }, // Light Orangey Brown
            { "951500" : "50362C", "be1b00" : "985A42", "dc1f00" : "BC775E" }, // Light Reddish Orange
            { "951500" : "564937", "be1b00" : "998261", "dc1f00" : "D7B889" }, // Sand Coloured
            { "951500" : "453826", "be1b00" : "7F6847", "dc1f00" : "B59667" }    // Darker Sand Coloured
        ]
    }
    
    before i end this message i would just want you to know that you can write [-code]inset code here [-/code] but remove the - because it wont work if you keep them. it just makes code easier to read and spot.

    have fun!
     
    Mimaah likes this.
  3. C0bra5

    C0bra5 Oxygen Tank

    i think i might know why, it looks like you are lacking a { at the start of your file and as for the ai, you need to create an entry for them in the ai folder, look at my modpack. I have already made a bunch of them since. the thing is that the game has no default text option for the races, each races must have a specific text, and i am surprised it didn't crashed asking you for one.[DOUBLEPOST=1441472281][/DOUBLEPOST]and you might want to look at the option "headOptionAsHairColor" : boolean, in your .species file for the head adding hair color or something problem
     
  4. Mimaah

    Mimaah Phantasmal Quasar

    Oops sorry, there is a { at the start, it just snuck past me when I copied the .species code into here! As for the ship ai, It was still registering as

    [
    {"op" : "add"
    ,"path" : "/speciesText/avikan"
    , "value" : {

    as I forgot to change avikan to chitten.

    --

    As for the species file, when I try and add the hex codes to the hairColor is causes a fatal error, when I get rid of either the facialHair or facialMaskGroup i.e.

    "facialHairGroup" : "",
    "facialHair" : [ ],
    "facialMaskGroup" : "pattern",
    "facialMask" : [ "1", "2", "3", "4", "5", "6" ]

    I get a different fatal error.

    The chitten.species listed in the first post works and does not crash but it registers the secondary color option as a hair slider rather than a colour slider and I don't know how to change that.

    As well as that, I don't know if there is a way to put the face pattern behind the hair rather than it in the front, I don't know if that's a load order within the .species file or not.
     
  5. C0bra5

    C0bra5 Oxygen Tank

    where do you add your hex codes for the hairs, you should normally insert them in the hair color file with a format that looks like the one you use for the body color.

    * shameless self promotion here: i made a tool that help with making recolorings, it's called the recolor maker, you can find it in my signature
     
  6. Mimaah

    Mimaah Phantasmal Quasar

    Ah.. This wasn't in the tutorial. Can you explain this for me? Where can I find those files in the assets and where would they be added in a mod?

    Edit: Okay, I got a bit confused there. For the mod I want a primary colour and a secondary colour, the primary is the body and the secondary would be the red parts on the sprite sheet as well as the hair. How would I do this?
     
  7. C0bra5

    C0bra5 Oxygen Tank

    let me 30 minutes i'm writing it down
     
  8. Mimaah

    Mimaah Phantasmal Quasar

    Thanks[DOUBLEPOST=1441474871][/DOUBLEPOST]Sorry, I don't have that program and searching for it, it looks like you deleted. :(

    On my spritesheets, there's two main colours used, there's a cream for primary and red for secondary, this is my body spritesheet

    [​IMG]

    The cream is #E0975C (with the lighter and two darker colours similar) and red #BE1B00 (again with lighter and darker similar). The separate hair choices are also the same colour red. Is it possible to have the second body or "undieColor" option change the hair colour as well?
     
    Last edited: Sep 5, 2015
  9. C0bra5

    C0bra5 Oxygen Tank

    ya i deleted it because i wan't done i clicked the submit button, by accident, i need to go fix somethng in it before i can continue so it might take me longer​
     
  10. Mimaah

    Mimaah Phantasmal Quasar

    Okay that's fine. In the mean time I'm just looking at the avikan.species file for reference on what to put for the hex codes in bodyColor and hairColor[DOUBLEPOST=1441478047][/DOUBLEPOST]I just don't understand why this .species file hates me..

    the original one (in the first post) works fine, yet I change the hex colours (copied the avikan ones to see if that would work) and at first it does.. but when I try and alter more so the secondary color option will stop selection hair to make it select more colours, that's when I get this error:



    [​IMG]

    [02:31:06.053] Error: Exception caught loading asset: /species/chitten.species, (AssetException) Could not read variant asset /species/chitten.species
    [0] 161eaaa
    [1] 161bc38
    [2] 161bcff
    [3] 124d5b8
    [4] 124e987
    [5] 124a156
    [6] 124c7a6
    [7] 124aba6
    [8] 124ef7a
    [9] 121310a
    [10] 124957b
    [11] 1248c4a
    [12] 1248921
    [13] 1248509
    [14] 1248329
    [15] 162ee91
    [16] 162f0d1
    [17] 77167c04 BaseThreadInitThunk
    [18] 7782ad1f RtlInitializeExceptionChain
    [19] 7782acea RtlInitializeExceptionChain
    Caused by: (JsonParsingException) Cannot parse json file: /species/chitten.species
    [0] 161eaaa
    [1] 161bc38
    [2] 161bcff
    [3] 124d728
    [4] 1247d05
    [5] 124e911
    [6] 124a156
    [7] 124c7a6
    [8] 124aba6
    [9] 124ef7a
    [10] 121310a
    [11] 124957b
    [12] 1248c4a
    [13] 1248921
    [14] 1248509
    [15] 1248329
    [16] 162ee91
    [17] 162f0d1
    [18] 77167c04 BaseThreadInitThunk
    [19] 7782ad1f RtlInitializeExceptionChain
    [20] 7782acea RtlInitializeExceptionChain
    Caused by: (JsonParsingException) Error parsing json: unexpected character parsing word at 6:27
    [0] 161eaaa
    [1] 161bc38
    [2] 11e33ce
    [3] 124767d
    [4] 124e911
    [5] 124a156
    [6] 124c7a6
    [7] 124aba6
    [8] 124ef7a
    [9] 121310a
    [10] 124957b
    [11] 1248c4a
    [12] 1248921
    [13] 1248509
    [14] 1248329
    [15] 162ee91
    [16] 162f0d1
    [17] 77167c04 BaseThreadInitThunk
    [18] 7782ad1f RtlInitializeExceptionChain
    [19] 7782acea RtlInitializeExceptionChain
    [02:31:06.054] Info: Loading QuestTemplateDatabase
    [02:31:06.083] Info: Done loading QuestTemplateDatabase in 0.0289998 seconds
    [02:31:06.083] Error: Exception raised during Root finishLoad: (AssetException) Error loading asset /species/chitten.species
    [0] 161eaaa
    [1] 161bc38
    [2] 124821a
    [3] 1244995
    [4] 13968d6
    [5] 11e7d44
    [6] 11e5bc2
    [7] 11e109b
    [8] 11e291b
    [9] 11e352b
    [10] 11e2e89
    [11] 11e298c
    [12] 11e2874
    [13] 11ebf83
    [14] 1672393
    [15] 1671da6
    [16] 162f0d1
    [17] 77167c04 BaseThreadInitThunk
    [18] 7782ad1f RtlInitializeExceptionChain
    [19] 7782acea RtlInitializeExceptionChain
    [02:31:06.097] Info: Renderer destroyed
    [02:31:06.226] Info: Shutting down Star::Root
    [02:31:06.359] Error: Fatal Exception caught: (StarException) An error occurred during loading: (AssetException) Error loading asset /species/chitten.species



    :cry:

    This was the modified .species file:



    {
    "kind" : "chitten",
    "nameGen" : [ "/species/chittennamegen.config:names", "/species/chittennamegen.config:names" ],
    "ouchNoises" : [ "/sfx/humanoid/avianhurt_male1.wav", "/sfx/humanoid/avianhurt_female1.wav" ],
    "gruntNoises" : [ [ "/sfx/humanoid/aviangrunt1.wav", "/sfx/humanoid/aviangrunt2.wav" ], [ "/sfx/humanoid/aviangrunt1.wav", "/sfx/humanoid/aviangrunt2.wav" ] ],
    "charGenTextLabels" : [ FUR COLOR", "HAIR STYLE", "SHIRT", "PANTS", "BELLY COLOR", "FACE PATTERN", "SHIRT COLOR", "PANTS COLOR", "CHITTEN", "PERSONALITY" ],
    "skull" : "/humanoid/chitten/dead.png",
    "defaultBlueprints" : {
    "tier1" : [
    { "item" : "aviantier1hammer" },
    { "item" : "aviantier1shortsword" },
    { "item" : "aviantier1broadsword" },
    { "item" : "aviantier1spear" },
    { "item" : "aviantier1axe" },
    { "item" : "aviantier1dagger" },
    { "item" : "aviantier1head" },
    { "item" : "aviantier1chest" },
    { "item" : "aviantier1pants" },
    { "item" : "avianadventurershirt" },
    { "item" : "avianadventurerpants" },
    { "item" : "aviancommonershirt" },
    { "item" : "aviancommonerlegs" },
    { "item" : "avianfancyshirt" },
    { "item" : "avianfancyskirt" },
    { "item" : "avianworkershirt" },
    { "item" : "avianworkerpants" },
    { "item" : "aviannudeshirt" },
    { "item" : "aviannudepants" },

    { "item" : "avianstoragelocker" },

    { "item" : "flagavian" },

    // { "item" : "aviantier2head" },
    // { "item" : "aviantier2chest" },
    // { "item" : "aviantier2pants" },
    { "item" : "aviantier2hammer" },
    { "item" : "aviantier2shortsword" },
    { "item" : "aviantier2broadsword" },
    { "item" : "aviantier2spear" },
    { "item" : "aviantier2axe" },
    { "item" : "aviantier2dagger" },

    { "item" : "aviantier3head" },
    { "item" : "aviantier3chest" },
    { "item" : "aviantier3pants" },
    { "item" : "aviantier3hammer" },
    { "item" : "aviantier3shortsword" },
    { "item" : "aviantier3broadsword" },
    { "item" : "aviantier3spear" },
    { "item" : "aviantier3axe" },
    { "item" : "aviantier3dagger" },

    // { "item" : "aviantier4head" },
    // { "item" : "aviantier4chest" },
    // { "item" : "aviantier4pants" },
    { "item" : "aviantier4hammer" },
    { "item" : "aviantier4shortsword" },
    { "item" : "aviantier4broadsword" },
    { "item" : "aviantier4spear" },
    { "item" : "aviantier4axe" },
    { "item" : "aviantier4dagger" },

    { "item" : "aviantier5ahead" },
    { "item" : "aviantier5achest" },
    { "item" : "aviantier5apants" },
    { "item" : "aviantier5dagger" },

    { "item" : "aviantier5mhead" },
    { "item" : "aviantier5mchest" },
    { "item" : "aviantier5mpants" },

    { "item" : "aviantier5shead" },
    { "item" : "aviantier5schest" },
    { "item" : "aviantier5spants" },
    { "item" : "aviantier8hammer" },
    { "item" : "aviantier8shortsword" },
    { "item" : "aviantier8broadsword" },
    { "item" : "aviantier8spear" },
    { "item" : "aviantier8axe" },
    { "item" : "aviantier8dagger" },

    // { "item" : "aviantier6ahead" },
    // { "item" : "aviantier6achest" },
    // { "item" : "aviantier6apants" },
    { "item" : "aviantier6dagger" },

    // { "item" : "aviantier6mhead" },
    // { "item" : "aviantier6mchest" },
    // { "item" : "aviantier6mpants" },

    // { "item" : "aviantier6shead" },
    // { "item" : "aviantier6schest" },
    // { "item" : "aviantier6spants" },
    { "item" : "aviantier10hammer" },
    { "item" : "aviantier10shortsword" },
    { "item" : "aviantier10broadsword" },
    { "item" : "aviantier10spear" },
    { "item" : "aviantier10axe" },
    { "item" : "aviantier10dagger" }
    ]
    },

    "headOptionAsFacialhair" : true,
    "altOptionAsFacialMask" : true,
    "bodyColorAsFacialMaskSubColor" : true,
    "altColorAsFacialMaskSubColor" : true,
    "genders" : [
    {
    "name" : "male",
    "image" : "/interface/title/male.png",
    "characterImage" : "/interface/title/chittenmale.png",
    "hairGroup" : "hair",
    "hair" : [ "1", "2", "3", "4", "5", "6" ],
    "shirt" : [ "avianadventurershirt", "aviancommonershirt", "avianfancyshirt", "avianworkershirt", "aviannudeshirt" ],
    "pants" : [ "avianadventurerpants", "aviancommonerlegs", "avianfancyskirt", "avianworkerpants", "aviannudepants" ],
    "facialHairGroup" : "pattern",
    "facialHair" : [ "1", "2", "3", "4", "5", "6" ],
    "facialMaskGroup" : "",
    "facialMask" : [ ]
    },
    {
    "name" : "female",
    "image" : "/interface/title/female.png",
    "characterImage" : "/interface/title/chittenfemale.png",
    "hairGroup" : "hair",
    "hair" : [ "1", "2", "3", "4", "5", "6" ],
    "shirt" : [ "avianadventurershirt", "aviancommonershirt", "avianfancyshirt", "avianworkershirt", "aviannudeshirt" ],
    "pants" : [ "avianadventurerpants", "aviancommonerlegs", "avianfancyskirt", "avianworkerpants", "aviannudepants" ],
    "facialHairGroup" : "pattern",
    "facialHair" : [ "1", "2", "3", "4", "5", "6" ],
    "facialMaskGroup" : "",
    "facialMask" : [ ]
    }
    ],
    "bodyColor" : [
    // { "6f2919" : "DARKER", "a85636" : "DARK ", "e0975c" : "NORMAL", "ffca8a" : "LIGHT "} Base

    { "6f2919" : "412F1D", "a85636" : "775E42", "e0975c" : "A0805E", "ffca8a" : "CAA881" }, // Brown
    { "6f2919" : "3F2306", "a85636" : "5E4529", "e0975c" : "876745", "ffca8a" : "B18F68" }, // Saturated Brown
    { "6f2919" : "513B2B", "a85636" : "766250", "e0975c" : "978574", "ffca8a" : "BAADA0" }, // Greyish Brown
    { "6f2919" : "4F3D2B", "a85636" : "8A7155", "e0975c" : "B69674", "ffca8a" : "E5C39C" }, // Light Brown
    { "6f2919" : "3D3022", "a85636" : "725F4A", "e0975c" : "998168", "ffca8a" : "C3A98C" }, // Desaturated Brown
    { "6f2919" : "482D13", "a85636" : "805C33", "e0975c" : "AC7E4D", "ffca8a" : "D7A66D" }, // Light Saturated Brown
    { "6f2919" : "453317", "a85636" : "7D6438", "e0975c" : "A88852", "ffca8a" : "D3B174" }, // Yellowish
    { "6f2919" : "452317", "a85636" : "7D4C38", "e0975c" : "A86A52", "ffca8a" : "D38F74" }, // Red
    { "6f2919" : "1C1A18", "a85636" : "46403E", "e0975c" : "665D56", "ffca8a" : "837667" }, // Black
    { "6f2919" : "4A413F", "a85636" : "907D71", "e0975c" : "B6A095", "ffca8a" : "DEC7BF" } // White
    ],
    "undyColor" : [ "" ],
    "hairColor" : [
    // { "951500" : "DARK ", "be1b00" : "NORMAL", "dc1f00" : "LIGHT " }

    // Body Colour as Hair Colour
    { "951500" : "412F1D", "be1b00" : "775E42", "dc1f00" : "A0805E" }, // Brown
    { "951500" : "3F2306", "be1b00" : "5E4529", "dc1f00" : "876745" }, // Saturated Brown
    { "951500" : "513B2B", "be1b00" : "766250", "dc1f00" : "978574" }, // Greyish Brown
    { "951500" : "4F3D2B", "be1b00" : "8A7155", "dc1f00" : "B69674" }, // Light Brown
    { "951500" : "3D3022", "be1b00" : "725F4A", "dc1f00" : "998168" }, // Desaturated Brown
    { "951500" : "482D13", "be1b00" : "805C33", "dc1f00" : "AC7E4D" }, // Light Saturated Brown
    { "951500" : "453317", "be1b00" : "7D6438", "dc1f00" : "A88852" }, // Yellowish
    { "951500" : "452317", "be1b00" : "7D4C38", "dc1f00" : "A86A52" }, // Red
    { "951500" : "1C1A18", "be1b00" : "46403E", "dc1f00" : "665D56" }, // Black
    { "951500" : "4A413F", "be1b00" : "907D71", "dc1f00" : "B6A095" }, // White
    // Unique Hair Colour
    { "951500" : "553428", "be1b00" : "A35638", "dc1f00" : "C97354" }, // Reddish Orange
    { "951500" : "553C28", "be1b00" : "A36838", "dc1f00" : "C98754" }, // Orange
    { "951500" : "503A2C", "be1b00" : "986442", "dc1f00" : "BC825E" }, // Light Orangey Brown
    { "951500" : "50362C", "be1b00" : "985A42", "dc1f00" : "BC775E" }, // Light Reddish Orange
    { "951500" : "564937", "be1b00" : "998261", "dc1f00" : "D7B889" }, // Sand Coloured
    { "951500" : "453826", "be1b00" : "7F6847", "dc1f00" : "B59667" } // Darker Sand Coloured

    ]
    }




    Edit: Same error for when I switch it around too



    "headOptionAsFacialhair" : true,
    "altOptionAsFacialMask" : true,
    "bodyColorAsFacialMaskSubColor" : true,
    "altColorAsFacialMaskSubColor" : true,
    "genders" : [
    {
    "name" : "male",
    "image" : "/interface/title/male.png",
    "characterImage" : "/interface/title/chittenmale.png",
    "hairGroup" : "hair",
    "hair" : [ "1", "2", "3", "4", "5", "6" ],
    "shirt" : [ "avianadventurershirt", "aviancommonershirt", "avianfancyshirt", "avianworkershirt", "aviannudeshirt" ],
    "pants" : [ "avianadventurerpants", "aviancommonerlegs", "avianfancyskirt", "avianworkerpants", "aviannudepants" ],
    "facialHairGroup" : "",
    "facialHair" : [ ],
    "facialMaskGroup" : "pattern",
    "facialMask" : [ "1", "2", "3", "4", "5", "6" ]
    },
    {
    "name" : "female",
    "image" : "/interface/title/female.png",
    "characterImage" : "/interface/title/chittenfemale.png",
    "hairGroup" : "hair",
    "hair" : [ "1", "2", "3", "4", "5", "6" ],
    "shirt" : [ "avianadventurershirt", "aviancommonershirt", "avianfancyshirt", "avianworkershirt", "aviannudeshirt" ],
    "pants" : [ "avianadventurerpants", "aviancommonerlegs", "avianfancyskirt", "avianworkerpants", "aviannudepants" ],
    "facialHairGroup" : "",
    "facialHair" : [ ],
    "facialMaskGroup" : "pattern",
    "facialMask" : [ "1", "2", "3", "4", "5", "6" ]
    }

     
    Last edited: Sep 5, 2015
  11. The | Suit

    The | Suit Agent S. Forum Moderator

    It isn't the species file which hates you.
    You are not learning how to read your log errors.

    It tells you where the issue is
    Caused by: (JsonParsingException) Error parsing json: unexpected character parsing word at 6:27

    It is saying on line 6 of space 27 there is a mistake.
    Use a JSON lint to parse your document
    http://jsonlint.com/

    Only when JSON lint says your document is 100% ok - try it in game.
    If JSON lint finds an error, then it won't work.

    I should also note just because JSON lint finds no error - does not mean there are no errors.
    It just means there are no syntax errors - could still be issues in format.

    In which case you should compare your file to a vanillia file and see what you did differently.
     
  12. Mimaah

    Mimaah Phantasmal Quasar

    Ah thank you, but the new error that is coming up is something that's in the vanilla file.

    [​IMG]

    Not sure what's going on here and sorry, I'm very new to coding, while I can recognize and edit some parts, I'm not that advanced. :(
     
  13. C0bra5

    C0bra5 Oxygen Tank

    remove coments when you lint something, and also thecomments we see are breaking what ever you are doing
     
  14. Mimaah

    Mimaah Phantasmal Quasar

    Alright, I got it to work in JSON lint but now I crash for a different reason. Here's my log:


    Start logging at: 2015-09-06 03:16:19.032
    [03:16:19.032] Info: Star::Root using bootstrap file 'C:\Program Files (x86)\Steam\steamapps\common\Starbound\win32\sbboot.config'
    [03:16:19.033] Info: Star::Root using storage directory 'C:\Program Files (x86)\Steam\steamapps\common\Starbound\giraffe_storage\'
    [03:16:19.033] Info: Preparing Star::Root...
    [03:16:19.033] Info: Detected mod 'Chitten Race Mod' at '../giraffe_storage/mods\ChittenRace\.'
    [03:16:19.033] Info: Detected mod 'charactercreationmod' at '../giraffe_storage/mods\charactercreationmod\.'
    [03:16:19.033] Info: Loading Configuration with config file: 'starbound.config'
    [03:16:19.033] Info: Loading Star::Configuration from 'Just (.\..\giraffe_storage\starbound.config)'
    [03:16:19.034] Info: Writing Star::Configuration to '.\..\giraffe_storage\starbound.config'
    [03:16:19.037] Info: Initializing Star::Root with 4 assets sources
    [03:16:19.037] Info: Done preparing Star::Root.
    [03:16:19.037] Info: Client Version 'Beta v. Pleased Giraffe - Update 4' Revision: 5184a3ff872476a2d102c534b1b27e7e7b99c2b4 Protocol: 691
    [03:16:19.037] Info: Initialized SDL
    [03:16:19.047] Info: Initialized SDL Video
    [03:16:19.057] Info: Initialized SDL Joystick
    [03:16:19.058] Info: Initialized SDL Sound
    [03:16:19.068] Info: Opened default audio device with 44khz / 16 bit stereo audio, 2048 sample size buffer
    [03:16:19.068] Info: Loading Assets
    [03:16:19.068] Info: Loading assets from: '../assets/packed.pak'
    [03:16:19.068] Info: Loading assets from: '../assets/user'
    [03:16:19.068] Info: Loading assets from: '../giraffe_storage/mods\ChittenRace\.'
    [03:16:19.068] Info: Loading assets from: '../giraffe_storage/mods\charactercreationmod\.'
    [03:16:19.293] Info: Done loading Assets in 0.225 seconds
    [03:16:19.295] Info: Loading NameGenerator
    [03:16:19.295] Info: Initializing SDL Window
    [03:16:19.299] Info: Done loading NameGenerator in 0.00399995 seconds
    [03:16:19.299] Info: Loading ObjectDatabase
    [03:16:19.336] Info: Created initial window 704x861
    [03:16:19.344] Info: Renderer initialized
    [03:16:19.345] Info: Renderer destroyed
    [03:16:19.345] Info: Initializing SDL Window
    [03:16:19.387] Info: Re-created window 1858x1057
    [03:16:19.398] Info: Renderer initialized
    [03:16:19.399] Info: Loading ImageMetadataDatabase
    [03:16:19.399] Info: Done loading ImageMetadataDatabase in 0 seconds
    [03:16:19.913] Info: Done loading ObjectDatabase in 0.614 seconds
    [03:16:19.913] Info: Loading PlantDatabase
    [03:16:20.035] Info: Done loading PlantDatabase in 0.122 seconds
    [03:16:20.035] Info: Loading ProjectileDatabase
    [03:16:20.218] Info: Done loading ProjectileDatabase in 0.183 seconds
    [03:16:20.218] Info: Loading MonsterDatabase
    [03:16:20.486] Info: Done loading MonsterDatabase in 0.268 seconds
    [03:16:20.486] Info: Loading NpcDatabase
    [03:16:20.539] Info: Done loading NpcDatabase in 0.053 seconds
    [03:16:20.539] Info: Loading StagehandDatabase
    [03:16:20.541] Info: Done loading StagehandDatabase in 0.00200009 seconds
    [03:16:20.541] Info: Loading PlayerFactory
    [03:16:20.544] Info: Done loading PlayerFactory in 0.00300002 seconds
    [03:16:20.544] Info: Loading EntityFactory
    [03:16:20.544] Info: Loading VersioningDatabase
    [03:16:20.545] Info: Done loading VersioningDatabase in 0.000999928 seconds
    [03:16:20.545] Info: Done loading EntityFactory in 0.000999928 seconds
    [03:16:20.545] Info: Loading ItemDatabase
    [03:16:24.037] Info: Writing Star::Configuration to '.\..\giraffe_storage\starbound.config'
    [03:16:25.632] Info: Loading FunctionDatabase
    [03:16:25.645] Info: Done loading FunctionDatabase in 0.013 seconds
    [03:16:25.645] Info: Loading ParticleDatabase
    [03:16:25.723] Info: Done loading ParticleDatabase in 0.0780001 seconds
    [03:16:27.360] Info: Done loading ItemDatabase in 6.814 seconds
    [03:16:27.360] Info: Loading MaterialDatabase
    [03:16:27.420] Info: Done loading MaterialDatabase in 0.0599999 seconds
    [03:16:27.420] Info: Loading TerrainDatabase
    [03:16:27.430] Info: Done loading TerrainDatabase in 0.00999999 seconds
    [03:16:27.431] Info: Loading BiomeDatabase
    [03:16:27.475] Info: Done loading BiomeDatabase in 0.0440001 seconds
    [03:16:27.475] Info: Loading LiquidsDatabase
    [03:16:27.476] Info: Done loading LiquidsDatabase in 0.000999928 seconds
    [03:16:27.476] Info: Loading StatusEffectDatabase
    [03:16:27.501] Info: Done loading StatusEffectDatabase in 0.0249999 seconds
    [03:16:27.502] Info: Loading DamageDatabase
    [03:16:27.591] Info: Done loading DamageDatabase in 0.089 seconds
    [03:16:27.591] Info: Loading EffectSourceDatabase
    [03:16:27.614] Info: Done loading EffectSourceDatabase in 0.0219998 seconds
    [03:16:27.614] Info: Loading TreasureDatabase
    [03:16:27.636] Info: Done loading TreasureDatabase in 0.0219998 seconds
    [03:16:27.636] Info: Loading DungeonDefinitions
    [03:16:27.925] Info: Done loading DungeonDefinitions in 0.289 seconds
    [03:16:27.925] Info: Loading EmoteProcessor
    [03:16:27.925] Info: Done loading EmoteProcessor in 0 seconds
    [03:16:27.925] Info: Loading SpeciesDatabase
    [03:16:27.932] Info: Done loading SpeciesDatabase in 0.00699997 seconds
    [03:16:27.932] Info: Loading QuestTemplateDatabase
    [03:16:27.945] Info: Done loading QuestTemplateDatabase in 0.013 seconds
    [03:16:27.945] Info: Loading AiDatabase
    [03:16:27.967] Info: Done loading AiDatabase in 0.0220001 seconds
    [03:16:27.967] Info: Loading TechDatabase
    [03:16:27.974] Info: Done loading TechDatabase in 0.00600004 seconds
    [03:16:27.974] Info: Loading CodexDatabase
    [03:16:28.031] Info: Done loading CodexDatabase in 0.0570002 seconds
    [03:16:28.032] Info: Loading BehaviorDatabase
    [03:16:28.072] Info: Done loading BehaviorDatabase in 0.04 seconds
    [03:16:28.072] Info: Done fully loading Star::Root
    [03:16:28.081] Info: Renderer destroyed
    [03:16:28.629] Info: Shutting down Star::Root
    [03:16:28.756] Error: Fatal Exception caught: (OutOfRangeException)




    I've had this error before and it was fixed because I was missing a patch but I'm not sure I'd be missing anything now?
     
  15. C0bra5

    C0bra5 Oxygen Tank

    it's your luck day! that's one of the thing's i love to do!

    first, you will need an hair asset. normally we use some brownish colors for the "recolorable" assets.
    here is an example from my mod:
    upload_2015-9-5_15-52-15.png

    second now let's create the recoloring string thingy!
    you have 3 ways, the manual wand tedious way, the let's use a tool way and the i already know my colors way,

    for the "i already know my colors" way

    if you already know what each color in your asset might look like, it's as simple as making the body recolors, but this time use your hair file colors as your base colors.​




    since i like shameless promotion, i will start with, the let's use a tool way,

    first open download my recoloring tool, it's a java executable so make sure to execute it as a java executable and not open it whit a compressing tool or something else.
    link if you don't see my signature: http://community.playstarbound.com/threads/sprite-recoloring-tool.98361/
    it will ask you to pick a file, for safety reasons, backup the file your about to recolor, you might save as over it by accident.



    once you've opened the file, in the recoloring tool it should look like this, but with a your hair asset instead:
    upload_2015-9-5_15-47-24.png

    now let's start creating the recolor string,
    first you can click anywhere on the images and it will display the color information in the top right of the window. so let's pick a color!
    you can either click somewhere on the image and write it down or click on the button next to the top row of entry boxes in a panel (there is four of them on the right side). if you click the button a window like this should open:
    upload_2015-9-5_15-47-7.png



    you can navigate on the images or use the scale options to pick the color you want.
    once you have selected a color, click ok.
    if you have done every thing right, an the color you picked will appear as in the fields right next to the button you previously pressed and it will change the row color to match your picked color
    upload_2015-9-5_15-46-45.png



    now you can write down the color you want it replaced with or you can use the color picker button right next to it.
    if you've done everything correctly your panel should look like that but with your colors, values and selected scale(you can select the color scale you want to use using the panel's drop down box):
    upload_2015-9-5_15-45-41.png



    now check the active box and click apply and look at the picture on the right, magic isn't it!
    upload_2015-9-5_15-45-8.png



    now simply repeat the steps until you've have entered all the colors you need to replace. if 4 colors isn't enough you can click the more colors button and you will get 5 more panels for you to use. and do it again if you need even more for some weird reasons
    when your done your left image should be fully colored.
    upload_2015-9-5_15-12-59.png


    now let's transfer that to understandable code!, simply open the file menu, and click on export to json option or press ctrl+e and a window with the code should appear
    upload_2015-9-5_15-14-3.png

    now simply paste that in your .species file inside of you "hairColors" key and you should be able to use it:
    upload_2015-9-5_15-16-32.png

    now go to the end of this post because i still have important stuff to say,




    the manual way:

    since photoshop is the tool i won for this kind of work, that's what i will be using, but using some simple logic, you should be able to do that in any advanced image editor such as paint.net or gimp

    first open your image,

    second a use the color picker tool and pick the a color you want to recolor,

    then open the color option for your color, in Photoshop double click on the primary color,
    upload_2015-9-5_15-23-47.png

    in the window you opened you should have a the hex of the color somwhere, copy it down somewhere
    upload_2015-9-5_15-26-8.png

    now you can use use the bucket tool to help you find the right replacement color, once you found it, you can just use the same technique we used to find the hex of the base color to find you replacement color hex code.

    now format format your codes like that:
    { "baseColorHexCode" : "ReplacementColorHexCode"}

    you can do these steps as many times you need too, once your done you value should look like this but with your hex codes
    { "00ff00" : "0000ff" , "223322" : "332233" , "133704" : "420420" }

    now let's add it to you file
    once it is added it should look like this:
    upload_2015-9-5_15-16-32.png

    done !​

    before i leave i end this, i would like to specify a guide line you might need to follow:
    you should always have the same number of entries in each recoloring option, since it will mean that one of you hair option might not have a part that isn't recolored.

    welp that should be enough! have fun recolloring!
     
    Last edited: Sep 5, 2015
    The | Suit likes this.
  16. Mimaah

    Mimaah Phantasmal Quasar

    Thank you so much for the tutorial! It definitely helped and I understand more of how the colour and hex codes work in the .species file now. Everything is fine on JSON lit but when I go to run starbound now I get the fatal error

    [03:16:28.756] Error: Fatal Exception caught: (OutOfRangeException)

    Do you know what could be causing this now?
     
  17. C0bra5

    C0bra5 Oxygen Tank

    that doesn't say enough, can you post more? and also i need to fix some images in the tutorial, it sould be fixed in a minute or two

    edit:the images are fixed now! have fun!
     
  18. Mimaah

    Mimaah Phantasmal Quasar

    I had posted the log up above the tutorial but here it is again



    Start logging at: 2015-09-06 03:16:19.032
    [03:16:19.032] Info: Star::Root using bootstrap file 'C:\Program Files (x86)\Steam\steamapps\common\Starbound\win32\sbboot.config'
    [03:16:19.033] Info: Star::Root using storage directory 'C:\Program Files (x86)\Steam\steamapps\common\Starbound\giraffe_storage\'
    [03:16:19.033] Info: Preparing Star::Root...
    [03:16:19.033] Info: Detected mod 'Chitten Race Mod' at '../giraffe_storage/mods\ChittenRace\.'
    [03:16:19.033] Info: Detected mod 'charactercreationmod' at '../giraffe_storage/mods\charactercreationmod\.'
    [03:16:19.033] Info: Loading Configuration with config file: 'starbound.config'
    [03:16:19.033] Info: Loading Star::Configuration from 'Just (.\..\giraffe_storage\starbound.config)'
    [03:16:19.034] Info: Writing Star::Configuration to '.\..\giraffe_storage\starbound.config'
    [03:16:19.037] Info: Initializing Star::Root with 4 assets sources
    [03:16:19.037] Info: Done preparing Star::Root.
    [03:16:19.037] Info: Client Version 'Beta v. Pleased Giraffe - Update 4' Revision: 5184a3ff872476a2d102c534b1b27e7e7b99c2b4 Protocol: 691
    [03:16:19.037] Info: Initialized SDL
    [03:16:19.047] Info: Initialized SDL Video
    [03:16:19.057] Info: Initialized SDL Joystick
    [03:16:19.058] Info: Initialized SDL Sound
    [03:16:19.068] Info: Opened default audio device with 44khz / 16 bit stereo audio, 2048 sample size buffer
    [03:16:19.068] Info: Loading Assets
    [03:16:19.068] Info: Loading assets from: '../assets/packed.pak'
    [03:16:19.068] Info: Loading assets from: '../assets/user'
    [03:16:19.068] Info: Loading assets from: '../giraffe_storage/mods\ChittenRace\.'
    [03:16:19.068] Info: Loading assets from: '../giraffe_storage/mods\charactercreationmod\.'
    [03:16:19.293] Info: Done loading Assets in 0.225 seconds
    [03:16:19.295] Info: Loading NameGenerator
    [03:16:19.295] Info: Initializing SDL Window
    [03:16:19.299] Info: Done loading NameGenerator in 0.00399995 seconds
    [03:16:19.299] Info: Loading ObjectDatabase
    [03:16:19.336] Info: Created initial window 704x861
    [03:16:19.344] Info: Renderer initialized
    [03:16:19.345] Info: Renderer destroyed
    [03:16:19.345] Info: Initializing SDL Window
    [03:16:19.387] Info: Re-created window 1858x1057
    [03:16:19.398] Info: Renderer initialized
    [03:16:19.399] Info: Loading ImageMetadataDatabase
    [03:16:19.399] Info: Done loading ImageMetadataDatabase in 0 seconds
    [03:16:19.913] Info: Done loading ObjectDatabase in 0.614 seconds
    [03:16:19.913] Info: Loading PlantDatabase
    [03:16:20.035] Info: Done loading PlantDatabase in 0.122 seconds
    [03:16:20.035] Info: Loading ProjectileDatabase
    [03:16:20.218] Info: Done loading ProjectileDatabase in 0.183 seconds
    [03:16:20.218] Info: Loading MonsterDatabase
    [03:16:20.486] Info: Done loading MonsterDatabase in 0.268 seconds
    [03:16:20.486] Info: Loading NpcDatabase
    [03:16:20.539] Info: Done loading NpcDatabase in 0.053 seconds
    [03:16:20.539] Info: Loading StagehandDatabase
    [03:16:20.541] Info: Done loading StagehandDatabase in 0.00200009 seconds
    [03:16:20.541] Info: Loading PlayerFactory
    [03:16:20.544] Info: Done loading PlayerFactory in 0.00300002 seconds
    [03:16:20.544] Info: Loading EntityFactory
    [03:16:20.544] Info: Loading VersioningDatabase
    [03:16:20.545] Info: Done loading VersioningDatabase in 0.000999928 seconds
    [03:16:20.545] Info: Done loading EntityFactory in 0.000999928 seconds
    [03:16:20.545] Info: Loading ItemDatabase
    [03:16:24.037] Info: Writing Star::Configuration to '.\..\giraffe_storage\starbound.config'
    [03:16:25.632] Info: Loading FunctionDatabase
    [03:16:25.645] Info: Done loading FunctionDatabase in 0.013 seconds
    [03:16:25.645] Info: Loading ParticleDatabase
    [03:16:25.723] Info: Done loading ParticleDatabase in 0.0780001 seconds
    [03:16:27.360] Info: Done loading ItemDatabase in 6.814 seconds
    [03:16:27.360] Info: Loading MaterialDatabase
    [03:16:27.420] Info: Done loading MaterialDatabase in 0.0599999 seconds
    [03:16:27.420] Info: Loading TerrainDatabase
    [03:16:27.430] Info: Done loading TerrainDatabase in 0.00999999 seconds
    [03:16:27.431] Info: Loading BiomeDatabase
    [03:16:27.475] Info: Done loading BiomeDatabase in 0.0440001 seconds
    [03:16:27.475] Info: Loading LiquidsDatabase
    [03:16:27.476] Info: Done loading LiquidsDatabase in 0.000999928 seconds
    [03:16:27.476] Info: Loading StatusEffectDatabase
    [03:16:27.501] Info: Done loading StatusEffectDatabase in 0.0249999 seconds
    [03:16:27.502] Info: Loading DamageDatabase
    [03:16:27.591] Info: Done loading DamageDatabase in 0.089 seconds
    [03:16:27.591] Info: Loading EffectSourceDatabase
    [03:16:27.614] Info: Done loading EffectSourceDatabase in 0.0219998 seconds
    [03:16:27.614] Info: Loading TreasureDatabase
    [03:16:27.636] Info: Done loading TreasureDatabase in 0.0219998 seconds
    [03:16:27.636] Info: Loading DungeonDefinitions
    [03:16:27.925] Info: Done loading DungeonDefinitions in 0.289 seconds
    [03:16:27.925] Info: Loading EmoteProcessor
    [03:16:27.925] Info: Done loading EmoteProcessor in 0 seconds
    [03:16:27.925] Info: Loading SpeciesDatabase
    [03:16:27.932] Info: Done loading SpeciesDatabase in 0.00699997 seconds
    [03:16:27.932] Info: Loading QuestTemplateDatabase
    [03:16:27.945] Info: Done loading QuestTemplateDatabase in 0.013 seconds
    [03:16:27.945] Info: Loading AiDatabase
    [03:16:27.967] Info: Done loading AiDatabase in 0.0220001 seconds
    [03:16:27.967] Info: Loading TechDatabase
    [03:16:27.974] Info: Done loading TechDatabase in 0.00600004 seconds
    [03:16:27.974] Info: Loading CodexDatabase
    [03:16:28.031] Info: Done loading CodexDatabase in 0.0570002 seconds
    [03:16:28.032] Info: Loading BehaviorDatabase
    [03:16:28.072] Info: Done loading BehaviorDatabase in 0.04 seconds
    [03:16:28.072] Info: Done fully loading Star::Root
    [03:16:28.081] Info: Renderer destroyed
    [03:16:28.629] Info: Shutting down Star::Root
    [03:16:28.756] Error: Fatal Exception caught: (OutOfRangeException)




    The first time it crashed when I tried to select it on the character screen, the second time the character didn't even appear in the extended character creation box and the third time I crashed while opening up Starbound.
     
  19. C0bra5

    C0bra5 Oxygen Tank

    weird it seems to have no problems, did you add the name of your race in the "speciesOredring" element using a patch file in the charcreation.config
     
  20. Mimaah

    Mimaah Phantasmal Quasar

    Yep, that's already been patched.
     
  21. C0bra5

    C0bra5 Oxygen Tank

Share This Page