Modding Help Error (ItemException)

Discussion in 'Starbound Modding' started by TheBigBlueSerpent, Jun 10, 2015.

  1. TheBigBlueSerpent

    TheBigBlueSerpent Existential Complex

    While trying to create a bellpepper crop that has different harvests for differing stages.. I ran across this error testing the mod.
    Everything seems in order, i tested it in a fresh giraffe_storage and the error still occurs.


    Start logging at: 2015-06-10 04:06:09.561
    [04:06:09.564] Info: Star::Root using bootstrap file 'C:\Program Files (x86)\Steam\steamapps\common\Starbound\win32\sbboot.config'
    [04:06:09.564] Info: Star::Root using storage directory 'C:\Program Files (x86)\Steam\steamapps\common\Starbound\giraffe_storage\'
    [04:06:09.564] Info: Preparing Star::Root...
    [04:06:09.567] Info: Detected mod 'morefood' at '../giraffe_storage/mods\MFM 2\.'
    [04:06:09.567] Info: Loading Configuration with config file: 'starbound.config'
    [04:06:09.568] Info: Loading Star::Configuration from 'Just (.\..\giraffe_storage\starbound.config)'
    [04:06:09.579] Info: Writing Star::Configuration to '.\..\giraffe_storage\starbound.config'
    [04:06:09.642] Info: Initializing Star::Root with 3 assets sources
    [04:06:09.656] Info: Done preparing Star::Root.
    [04:06:09.656] Info: Client Version 'Beta v. Spirited Giraffe - Update 5' Revision: b121429b907d2919c3f1d5e25303c5bb571ed61a Protocol: 679
    [04:06:09.657] Info: Initialized SDL
    [04:06:09.685] Info: Initialized SDL Video
    [04:06:09.788] Info: Initialized SDL Joystick
    [04:06:09.792] Info: Initialized SDL Sound
    [04:06:09.850] Info: Opened default audio device with 44khz / 16 bit stereo audio, 2048 sample size buffer
    [04:06:09.851] Info: Loading Assets
    [04:06:09.851] Info: Loading Star::Assets from: '../assets/packed.pak'
    [04:06:09.853] Info: Loading Star::Assets from: '../assets/user'
    [04:06:09.853] Info: Loading Star::Assets from: '../giraffe_storage/mods\MFM 2\.'
    [04:06:10.872] Info: Done loading Assets
    [04:06:10.883] Info: Fully loading Star::Root...
    [04:06:10.890] Info: Initializing SDL Window
    [04:06:10.907] Info: Loading NameGenerator
    [04:06:10.912] Info: Loading ObjectDatabase
    [04:06:10.932] Info: Loading PlantDatabase
    [04:06:10.960] Info: Loading ProjectileDatabase
    [04:06:10.965] Info: Loading MonsterDatabase
    [04:06:10.996] Info: Loading NpcDatabase
    [04:06:10.999] Info: Loading PlayerFactory
    [04:06:11.021] Info: Done loading PlayerFactory
    [04:06:11.022] Info: Loading EntityFactory
    [04:06:11.022] Info: Loading ItemDatabase
    [04:06:11.126] Info: Done loading NameGenerator
    [04:06:11.127] Info: Loading MaterialDatabase
    [04:06:11.127] Info: Loading ParticleDatabase
    [04:06:11.417] Info: Done loading ParticleDatabase
    [04:06:12.212] Info: Done loading PlantDatabase
    [04:06:12.212] Info: Loading TerrainDatabase
    [04:06:12.329] Info: Done loading TerrainDatabase
    [04:06:12.329] Info: Loading BiomeDatabase
    [04:06:12.755] Info: Done loading MaterialDatabase
    [04:06:12.755] Info: Loading LiquidsDatabase
    [04:06:12.760] Info: Done loading LiquidsDatabase
    [04:06:12.761] Info: Loading StatusEffectDatabase
    [04:06:12.793] Info: Done loading BiomeDatabase
    [04:06:12.793] Info: Loading DamageDatabase
    [04:06:12.832] Info: Done loading StatusEffectDatabase
    [04:06:12.833] Info: Loading EffectSourceDatabase
    [04:06:12.999] Info: Done loading EffectSourceDatabase
    [04:06:12.999] Info: Loading FunctionDatabase
    [04:06:13.025] Info: Done loading FunctionDatabase
    [04:06:13.025] Info: Loading TreasureDatabase
    [04:06:13.450] Info: Done loading TreasureDatabase
    [04:06:13.454] Info: Loading DungeonDefinitions
    [04:06:14.649] Error: Exception caught loading asset: /objects/farmables/bellpeppermfm/bellpeppermfmseed.object, (AssetException) Could not read variant asset /objects/farmables/bellpeppermfm/bellpeppermfmseed.object
    StarException::StarException(string, exception)
    AssetException::AssetException(string, exception)
    _Function_handler<shared_ptr<Assets::AssetData> (), Assets::loadJson(String)::{lambda()#1}>::(_Any_data)
    Assets::processAssetData(function<shared_ptr<Assets::AssetData> ()>)
    Assets::loadJson(String)
    Assets::loadAsset(Assets::AssetId)
    Assets::doLoad(Assets::AssetId)
    Assets::getAsset(Assets::AssetId)
    Assets::json(String)
    ObjectDatabase::ObjectDatabase()
    Root::eek:bjectDatabase()
    _Function_handler<void (), SwallowReturn<_Bind<_Mem_fn<shared_ptr<ObjectDatabase> (Root::*)()> (Root*)> > >::(_Any_data)
    _Function_handler<void (), WorkerPool::addWork(function<void ()>)::{lambda()#1}>::(_Any_data)
    WorkerPool::WorkerThread::run()
    ThreadImpl::runThread(void*)
    BaseThreadInitThunk
    RtlInitializeExceptionChain
    RtlInitializeExceptionChain

    Caused by: (JsonParsingException) Cannot parse json file: /objects/farmables/bellpeppermfm/bellpeppermfmseed.object
    StarException::StarException(string, exception)
    Assets::readJson(String)
    _Function_handler<shared_ptr<Assets::AssetData> (), Assets::loadJson(String)::{lambda()#1}>::(_Any_data)
    Assets::processAssetData(function<shared_ptr<Assets::AssetData> ()>)
    Assets::loadJson(String)
    Assets::loadAsset(Assets::AssetId)
    Assets::doLoad(Assets::AssetId)
    Assets::getAsset(Assets::AssetId)
    Assets::json(String)
    ObjectDatabase::ObjectDatabase()
    Root::eek:bjectDatabase()
    _Function_handler<void (), SwallowReturn<_Bind<_Mem_fn<shared_ptr<ObjectDatabase> (Root::*)()> (Root*)> > >::(_Any_data)
    _Function_handler<void (), WorkerPool::addWork(function<void ()>)::{lambda()#1}>::(_Any_data)
    WorkerPool::WorkerThread::run()
    ThreadImpl::runThread(void*)
    BaseThreadInitThunk
    RtlInitializeExceptionChain
    RtlInitializeExceptionChain

    Caused by: (JsonParsingException) Error parsing json: bad object, should be '}' or ',' at 45:7
    JsonParsingException::JsonParsingException(string)
    Json inputUtf8Json<char*>(char*, char*, bool)
    Assets::readJson(String)
    _Function_handler<shared_ptr<Assets::AssetData> (), Assets::loadJson(String)::{lambda()#1}>::(_Any_data)
    Assets::processAssetData(function<shared_ptr<Assets::AssetData> ()>)
    Assets::loadJson(String)
    Assets::loadAsset(Assets::AssetId)
    Assets::doLoad(Assets::AssetId)
    Assets::getAsset(Assets::AssetId)
    Assets::json(String)
    ObjectDatabase::ObjectDatabase()
    Root::eek:bjectDatabase()
    _Function_handler<void (), SwallowReturn<_Bind<_Mem_fn<shared_ptr<ObjectDatabase> (Root::*)()> (Root*)> > >::(_Any_data)
    _Function_handler<void (), WorkerPool::addWork(function<void ()>)::{lambda()#1}>::(_Any_data)
    WorkerPool::WorkerThread::run()
    ThreadImpl::runThread(void*)
    BaseThreadInitThunk
    RtlInitializeExceptionChain
    RtlInitializeExceptionChain

    [04:06:14.650] Info: Created initial window 1000x600
    [04:06:15.353] Error: Error loading object file /objects/farmables/bellpeppermfm/bellpeppermfmseed.object: (AssetException) Error loading asset /objects/farmables/bellpeppermfm/bellpeppermfmseed.object
    AssetException::AssetException(string)
    Assets::getAsset(Assets::AssetId)
    Assets::json(String)
    ObjectDatabase::ObjectDatabase()
    Root::eek:bjectDatabase()
    _Function_handler<void (), SwallowReturn<_Bind<_Mem_fn<shared_ptr<ObjectDatabase> (Root::*)()> (Root*)> > >::(_Any_data)
    _Function_handler<void (), WorkerPool::addWork(function<void ()>)::{lambda()#1}>::(_Any_data)
    WorkerPool::WorkerThread::run()
    ThreadImpl::runThread(void*)
    BaseThreadInitThunk
    RtlInitializeExceptionChain
    RtlInitializeExceptionChain

    [04:06:15.354] Info: Renderer initialized
    [04:06:15.358] Info: Renderer destroyed
    [04:06:15.359] Info: Initializing SDL Window
    [04:06:16.779] Info: Done loading NpcDatabase
    [04:06:16.779] Info: Loading EmoteProcessor
    [04:06:16.780] Info: Done loading EmoteProcessor
    [04:06:16.781] Info: Loading SpeciesDatabase
    [04:06:16.824] Info: Done loading SpeciesDatabase
    [04:06:16.825] Info: Loading ImageMetadataDatabase
    [04:06:16.825] Info: Done loading ImageMetadataDatabase
    [04:06:16.825] Info: Loading VersioningDatabase
    [04:06:16.827] Info: Done loading VersioningDatabase
    [04:06:16.828] Info: Loading QuestTemplateDatabase
    [04:06:16.910] Info: Done loading DamageDatabase
    [04:06:16.910] Info: Loading AiDatabase
    [04:06:16.972] Info: Done loading AiDatabase
    [04:06:16.972] Info: Loading TechDatabase
    [04:06:17.031] Info: Done loading QuestTemplateDatabase
    [04:06:17.032] Info: Loading CodexDatabase
    [04:06:17.290] Info: Done loading TechDatabase
    [04:06:17.405] Info: Done loading ProjectileDatabase
    [04:06:17.618] Info: Done loading CodexDatabase
    [04:06:18.667] Info: Done loading ObjectDatabase
    [04:06:18.742] Info: Done loading MonsterDatabase
    [04:06:18.742] Info: Done loading EntityFactory
    [04:06:19.349] Info: Re-created window 1600x837
    [04:06:19.393] Info: Renderer initialized
    [04:06:23.744] Info: Writing Star::Configuration to '.\..\giraffe_storage\starbound.config'
    [04:06:50.297] Error: Could not instantiate item '[bellpepperMFMseed, 1, {}]'. (ItemException) No such item 'bellpepperMFMseed'
    [04:07:00.582] Error: Could not instantiate item '[bellpepperMFMseed, 1, {}]'. (ItemException) No such item 'bellpepperMFMseed'
    [04:07:05.425] Info: Done loading DungeonDefinitions
    [04:07:05.999] Error: Exception raised during Root finishLoad: (ItemException) Could not create blueprint item from recipe
    StarException::StarException(string, exception)
    StarException::StarException(char*, exception)
    ItemDatabase::addBlueprints()
    ItemDatabase::ItemDatabase()
    Root::itemDatabase()
    _Function_handler<void (), SwallowReturn<_Bind<_Mem_fn<shared_ptr<ItemDatabase> (Root::*)()> (Root*)> > >::(_Any_data)
    _Function_handler<void (), WorkerPool::addWork(function<void ()>)::{lambda()#1}>::(_Any_data)
    WorkerPool::WorkerThread::run()
    ThreadImpl::runThread(void*)
    BaseThreadInitThunk
    RtlInitializeExceptionChain
    RtlInitializeExceptionChain

    Caused by: (ItemException) No such item 'bellpepperMFMseed'
    ItemException::ItemException(string)
    ItemDatabase::itemData(String)
    ItemDatabase::addBlueprints()
    ItemDatabase::ItemDatabase()
    Root::itemDatabase()
    _Function_handler<void (), SwallowReturn<_Bind<_Mem_fn<shared_ptr<ItemDatabase> (Root::*)()> (Root*)> > >::(_Any_data)
    _Function_handler<void (), WorkerPool::addWork(function<void ()>)::{lambda()#1}>::(_Any_data)
    WorkerPool::WorkerThread::run()
    ThreadImpl::runThread(void*)
    BaseThreadInitThunk
    RtlInitializeExceptionChain
    RtlInitializeExceptionChain

    [04:07:06.006] Info: Renderer destroyed
    [04:07:06.096] Info: Shutting down Star::Root
    [04:07:07.100] Error: Fatal Exception Caught: (StarException) An error occurred during loading: (ItemException) Could not create blueprint item from recipe
    Caused by: (ItemException) No such item 'bellpepperMFMseed'
    ClientApplication::postSplashInitialization()
    ClientApplication::update()
    StarApplicationBase::run()
    _SDL_main
    _console_main


     
  2. kyleetehkitty

    kyleetehkitty Title Not Found

    Looks like the bellpeppermfmseed.object file has some JSON syntax issues. One of the errors gives some hints at where to look with the line: Caused by: (JsonParsingException) Error parsing json: bad object, should be '}' or ',' at 45:7
     
    TheBigBlueSerpent likes this.
  3. TheBigBlueSerpent

    TheBigBlueSerpent Existential Complex

    I noticed that too. Maybe the crops can't have multiple harvests?
    here is the obj-

    {
    "objectName" : "bellpepperMFMseed",
    "rarity" : "Common",
    "category" : "farmable",
    "description" : "Bell pepper.",
    "shortdescription" : "Bell Pepper Seed",
    "objectType" : "farmable",
    "printable" : false,

    "apexDescription" : "Seeds for bell peppers!",
    "avianDescription" : "Seeds for bell peppers!",
    "floranDescription" : "Ssseeds for bell peppersss!",
    "glitchDescription" : "Identify. Bell pepper seeds.",
    "humanDescription" : "Oh sweet! Bell pepper seeds!",
    "hylotlDescription" : "Seeds for bell peppers.",

    "inventoryIcon" : "bellpepperMFMseedicon.png",
    "orientations" : [
    {
    "dualImage" : "bellpepperMFMseed.png:<color>.<stage>.<alt>",
    "imagePosition" : [0, 0],
    "frames" : 1,
    "animationCycle" : 0.5,

    "spaces" : [ [1, 0], [0, 0], [1, 1], [0, 1], [1, 2], [0, 2], [1, 3], [0, 3] ],
    "requireTilledAnchors" : true,
    "anchors" : [ "bottom" ]

    }
    ],

    "stages" : [
    {
    "duration" : [100, 105]
    },
    {
    "duration" : [100, 105]
    },
    {
    "duration" : [100, 105]
    },
    {
    "alts" : 2,
    "duration" : [400, 440]
    "harvestPool" : "greenbellpepperMFMHarvest",
    "resetToStage" : 2
    },
    {
    "duration" : [400, 440]
    "harvestPool" : "yellowbellpepperMFMHarvest",
    "resetToStage" : 2
    },
    {
    "duration" : [400, 440]
    "harvestPool" : "orangebellpepperMFMHarvest",
    "resetToStage" : 2
    },
    {
    "alts" : 5,
    "harvestPool" : "redbellpepperMFMHarvest",
    "resetToStage" : 2
    }
    ]
    }
     
  4. kyleetehkitty

    kyleetehkitty Title Not Found

    I haven't played with seeds and harvestable yet, but if the vanilla game assets are any indicator it might not be possible to do with just the object files if it is possible at all.
     
  5. TheBigBlueSerpent

    TheBigBlueSerpent Existential Complex

    Yeah.. I'll ask around later and see if its even possible. Thanks! ^◡^
     
  6. Kayuko

    Kayuko Oxygen Tank

    It's not something that complicated, it's simply you missing some Json-base things.

    Code:
    "alts" : 2,
    "duration" : [400, 440]
    "harvestPool" : "greenbellpepperMFMHarvest",
    "resetToStage" : 2
    },
    {
    "duration" : [400, 440]
    "harvestPool" : "yellowbellpepperMFMHarvest",
    "resetToStage" : 2
    },
    {
    "duration" : [400, 440]
    "harvestPool" : "orangebellpepperMFMHarvest",
    "resetToStage" : 2
    },
    {
    "alts" : 5,
    "harvestPool" : "redbellpepperMFMHarvest",
    "resetToStage" : 2
    }
    
    That's your code.

    Code:
    "alts" : 2,
    "duration" : [400, 440],
    "harvestPool" : "greenbellpepperMFMHarvest",
    "resetToStage" : 2
    },
    {
    "duration" : [400, 440],
    "harvestPool" : "yellowbellpepperMFMHarvest",
    "resetToStage" : 2
    },
    {
    "duration" : [400, 440],
    "harvestPool" : "orangebellpepperMFMHarvest",
    "resetToStage" : 2
    },
    {
    "alts" : 5,
    "harvestPool" : "redbellpepperMFMHarvest",
    "resetToStage" : 2
    }
    
    That's what it should look like.
    Always keep in mind, commas matter.
    Also double-check your Json syntax via JSONLint if you're stuck with a syntax error.
     
  7. TheBigBlueSerpent

    TheBigBlueSerpent Existential Complex

    Ah! I see now! ≧﹏≦

    Thank you so much kayuko! ^ヮ^[DOUBLEPOST=1433944900][/DOUBLEPOST]
    Kayuko? It works now.. but instead of moving along the stage from green, to yellow, orange, then red.. It goes from green to red and gives a green pepper when harvested. Any ideas? @﹏@
     
    Last edited: Jun 10, 2015
    Kayuko likes this.
  8. Kayuko

    Kayuko Oxygen Tank

    I never worked with farmables and have no access to the game assets at the moment, so the only thing I could think of is either:

    Your harvest pool is screwed up.
    It tries to vary instead of advancing, try to remove the alts section for that.
    The frames and animations are faulty (do farmables even have those things?)

    I'll take a closer look at it when starbound finished downloading. :p
     
    TheBigBlueSerpent likes this.
  9. TheBigBlueSerpent

    TheBigBlueSerpent Existential Complex

    Thank you kayuko! ^◡^
     
  10. Kayuko

    Kayuko Oxygen Tank

    Okay, got an update.

    Code:
    {
    
      "frameGrid" : {
        "size" : [8, 16],
        "dimensions" : [8, 2],
        "names" : [
          [ "default.0.0", "default.1.0", "default.2.0", "default.2.1", "default.2.2", "default.2.3", "default.2.4", null ],
          [ null, null, "default.3.0", "default.3.1", "default.3.2", "default.3.3", "default.3.4", null ]
        ]
      },
    
      "aliases" : {
        "default.default.default" : "default.0.0"
      }
    }
    
    Seems quite messy, but after looking at the spritesheet, it works ike this:

    "stages" : [
    {
    "duration" : [100, 105] // "default.0.0" = Stage 0, variation 0 (freshly planted)
    },
    {
    "duration" : [100, 105] // "default.1.0" = Stage 1, variation 0 (just growing)
    },
    {
    "alts" : 5,
    "duration" : [400, 440] // "default.2.0" - "default.2.4" = Stage 2, variation 1-5 ("alts")
    },
    {
    "alts" : 5,
    "harvestPool" : "beakseedHarvest", // "default.3.0" - "default.3.4" = Stage 3, variation 1-5 ("alts" -- Ready to harvest)
    "resetToStage" : 2
    }
    ]

    It's probably easier to see the red part ("default.0.0") as an array index used in "stages".
    But if your files match this system you should be fine.
     
    TheBigBlueSerpent likes this.
  11. TheBigBlueSerpent

    TheBigBlueSerpent Existential Complex

    *Is confused*
     
  12. Kayuko

    Kayuko Oxygen Tank

    Send me the farmable (including .frames and spritesheet) and I'll change it so it works, so you have a reference.
    Not sure how I could explain it more understandable, sorry. >_<
     
  13. TheBigBlueSerpent

    TheBigBlueSerpent Existential Complex

    Sure here you go -
    http://www.mediafire.com/download/9sztf1vycjvxvf4/Bellpeppers.zip
    Its okay! Its my fault for not getting it.. > . <
     
  14. Kayuko

    Kayuko Oxygen Tank

  15. TheBigBlueSerpent

    TheBigBlueSerpent Existential Complex

  16. Kayuko

    Kayuko Oxygen Tank

    Huh? There is a random file in there? Whoops. :D
     
  17. TheBigBlueSerpent

    TheBigBlueSerpent Existential Complex

    " Thumbs.db " :D
     

Share This Page