Modding Help Cannot call get with key on Json type string, must be Object type?

Discussion in 'Starbound Modding' started by dan96kid, Apr 7, 2016.

  1. dan96kid

    dan96kid Space Hobo

    This is my first time trying to make a mod for Starbound, and I'm currently trying to fix this json error. I've already tried to google it and failed.

    Starbound.log error message:
    Code:
    [19:16:22.634] Error: Could not load image asset '/icons.png:chest', using placeholder default.
    (AssetException) No associated frames file found for image '/icons.png' while resolving image frame '/icons.png:chest'
    [19:16:22.635] Error: Could not instantiate item '[swimsuitchest, 1, {}]'. (JsonException) Cannot call get with key on Json type string, must be Object type
    [19:16:22.636] Error: Could not load image asset '/icons.png:pants', using placeholder default.
    (AssetException) No associated frames file found for image '/icons.png' while resolving image frame '/icons.png:pants'
    [19:16:23.147] Error: Could not instantiate item '[swimsuitchest, 1, {}]'. (JsonException) Cannot call get with key on Json type string, must be Object type
    
    The file for "swimsuitchest" (swimsuit.chest):
    Code:
    {
      "itemName" : "swimsuitchest",
      "price" : 75,
      "inventoryIcon" : "icons.png:chest",
      "maxStack" : 1,
      "rarity" : "Common",
      "description" : "A swimsuit.",
      "shortdescription" : "Swimsuit.",
      "tooltipKind" : "armor",
    
      "maleFrames" : "chestm.png",
      "femaleFrames" : "chestf.png",
    
      "statusEffects" : [
        {
          "stat" : "powerMultiplier",
          "baseMultiplier" : 1.35
        },
    
        {
          "stat" : "protection",
          "amount" : 2
        },
    
        {
          "stat" : "maxHealth",
          "amount" : 3
        }
      ],
    
      "colorOptions" : [
        /* BLUE */
        { "ffca8a" : "96cbe7", "e0975c" : "5588d4", "a85636" : "344495", "6f2919" : "1a1c51" },
        /* BLACK */
        { "ffca8a" : "838383", "e0975c" : "555555", "a85636" : "383838", "6f2919" : "151515" },
        /* GREY */
        { "ffca8a" : "b5b5b5", "e0975c" : "808080", "a85636" : "555555", "6f2919" : "303030" },
        /* WHITE */
        { "ffca8a" : "e6e6e6", "e0975c" : "b6b6b6", "a85636" : "7b7b7b", "6f2919" : "373737" },
        /* RED */
        { "ffca8a" : "f4988c", "e0975c" : "d93a3a", "a85636" : "932625", "6f2919" : "601119" },
        /* ORANGE */
        { "ffca8a" : "ffd495", "e0975c" : "ea9931", "a85636" : "af4e00", "6f2919" : "6e2900" },
        /* YELLOW */
        { "ffca8a" : "ffffa7", "e0975c" : "e2c344", "a85636" : "a46e06", "6f2919" : "642f00" },
        /* GREEN */
        { "ffca8a" : "b2e89d", "e0975c" : "51bd3b", "a85636" : "247824", "6f2919" : "144216" },
        /* BLUE */
        { "ffca8a" : "96cbe7", "e0975c" : "5588d4", "a85636" : "344495", "6f2919" : "1a1c51" },
        /* PURPLE */
        { "ffca8a" : "d29ce7", "e0975c" : "a451c4", "a85636" : "6a2284", "6f2919" : "320c40" },
        /* PINK */
        { "ffca8a" : "eab3db", "e0975c" : "d35eae", "a85636" : "97276d", "6f2919" : "59163f" },
        /* BROWN */
        { "ffca8a" : "ccae7c", "e0975c" : "a47844", "a85636" : "754c23", "6f2919" : "472b13" }
    
      ]
    }
    
    I have no clue why swimsuitchest is mentioned twice in the error log. Help would be greatly appreciated.
     
  2. Kezeal

    Kezeal Ketchup Robot

    It says it can't find the frames file.
    (AssetException) No associated frames file found for image '/icons.png'
     
  3. dan96kid

    dan96kid Space Hobo

    Sorry for replying late, but I fixed the frame file issue. However, that was not the cause of that json error I'm still dealing with.

    The latest error text from starbound.log:
    Code:
    [13:40:17.591] Error: Could not instantiate item '[swimsuitchest, 1, {}]'. (JsonException) Cannot call get with key on Json type string, must be Object type
    [13:40:18.123] Error: Could not instantiate item '[swimsuitchest, 1, {}]'. (JsonException) Cannot call get with key on Json type string, must be Object type
    
     
  4. Mackinz

    Mackinz The Waste of Time

    I'm not at home so I can't compare to vanilla assets, but what have you changed between your swimsuit and a vanilla chest item?
     
  5. lazarus78

    lazarus78 The Waste of Time

    Where you define the frames is incorrect. At least this is what vanilla assets do.

    Code:
    "maleFrames" : {
        "body" : "chestm.png",
        "backSleeve" : "bsleeve.png",
        "frontSleeve" : "fsleeve.png"
      },
    
      "femaleFrames" : {
        "body" : "chestf.png",
        "backSleeve" : "bsleeve.png",
        "frontSleeve" : "fsleeve.png"
      },
    
     
  6. dan96kid

    dan96kid Space Hobo

    This seems to have fixed it. Thank you.
     
  7. Kezeal

    Kezeal Ketchup Robot

    I noticed the vanilla ones having a "itemTags" in them.
    EDIT: Looks like while I was looking for the solution, I was ninja'ed 25 minutes.
     

Share This Page