1. Please be advised of a few specific rules and guidelines for this section.

RELEASED Unofficial Modding Ebook 2.0 SB v1.05 [ Ebook v2.2a ]

Learn to make mods for Starbound 1.0

  1. The | Suit

    The | Suit Agent S. Forum Moderator

  2. Tofu Mc Dog

    Tofu Mc Dog Starship Captain

    Wow! Yes!
    You, Sir, have just won an internet.

    I have just been browsing through it, but still there are a few things you might consider.

    page 21 currently:

    Unless of course that intension in the first place

    which looks like you should have been asleep and resting instead of doing community service :).

    My proposal:

    Unless, of course, that was your intention in the first place.

    The other one, on page 20, is somewhat ephemeral:

    Though to be clear since we are making a custom object it is not necessary to place it in the object
    folder. Since it is a custom object you can follow any folder directory structure you wish, maintaining
    parallel directory structure is only important when modifying vanilla files. I am simply doing it this way
    for sake of good practice to follow for beginner users.

    Which I'd like to see changed to a strong recommendation in favor of parallel directory structures, maybe with the keyword "bugfixing" thrown in for good measure - after all the community will have an easier time assisting if everybody followed the same structure.
    As your book is addressed at beginners (like me), I would not mind a little more incentive for using good practice than just stating the fact that it is such, but maybe I am overly careful there.

    Regards
     
    The | Suit likes this.
  3. agmoyer

    agmoyer Cosmic Narwhal

    I would've also suggested paint.net as a tool for pixel editing, it's one of the oldest pixel editing programs I know of and is pretty descent. I made my icon, weapons, and armour in it.
     
  4. The | Suit

    The | Suit Agent S. Forum Moderator

    Thanks - I fixed the typo's for the next update.

    Ya i will try to focus more on "Good practices"- but I don't want it to come off too much as a hard and fast rule either. Since many tiny projects I do don't follow it.

    Not a huge fan of Paint.net when it comes to pixel art - but I will add it. Thanks.
     
  5. Tofu Mc Dog

    Tofu Mc Dog Starship Captain

    @ good practice:

    Yes, there are the Scylla of rearing a generation of sloppy modders and the Charybdis of putting too many off by thumping them with "the book". Personally I am more afraid of the first case, but that is me.
    As a compromise maybe something about coding style and maintenance-friendliness could go in the preface.

    The aseprite editor is not free (anymore?), btw. The download costs $15.-


    another one: page 14, testing the *.patch file.
    When I tried it I would need a number in the console command,
    like:
    /spawnitem diamond 1. Without the number simply nothing would happen.
    Maybe flashlight is a special case and doesn't need the number (I did not test that), but diamonds sure do.
     
  6. The | Suit

    The | Suit Agent S. Forum Moderator

    Thanks made the corrections.
    Asperite is free - but only the older versions now.

    I didn't notice they changed it when they hit 1.0.
    Oh well I will remove it from the list.
     
  7. The | Suit

    The | Suit Agent S. Forum Moderator

    Check your starbound.log - that is always the best way to find out what is causing the issue.
    Also please don't take screen shots - copy the actual code with [code] [/code] tags.

    It is much easier to work with then images.
    Finally there is a working example at the end of the tutorial - to compare with.
     
  8. goldsoul

    goldsoul Big Damn Hero

    error loading cube.object
    Could not instantiate item fo_cube
    Code:
    {
        "objectName" : "fo_cube",
        "colonyTags" : ["misc"],
        "rarity" : "Common",
        "category" : "decorative",
        "price" : 25,
      
        "description" : "My first cube",
        "shortdescription" : "Cube",
        "race" : "generic",
      
        "apexDescription" : "wWhat cube",
        "avianDescription" : "The cube.",}
        "floranDescription" : "Cubess",
        "glitchDescription" : "Cube",
        "humanDescription" : "Cube.",
        "hylotlDescription" : "Cube.",
        "novakidDescription" : "A cube.",
      
        "inventoryIcon" : "cube.png",
        "orientations" : [
        {
        "image" : "cube.png:<color>",
        "imagePosition" : [-8, 0],
        "frames" : 1,
        "animationCycle" : 0.5,
      
        "spaceScan" : 0.1,
        "anchors" : [ "bottom" ],
        "collision" : "platform"
      
        }
      ]
    } 
     
  9. The | Suit

    The | Suit Agent S. Forum Moderator

    You need to give the full log - not the part you believe is important.
     
  10. goldsoul

    goldsoul Big Damn Hero

    Code:
     
    [19:56:22.331] [Info] Root: Preparing Root...
    [19:56:22.331] [Info] Root: Done preparing Root.
    [19:56:22.331] [Info] Client Version 1.0 (windows x86_64) Source ID: fbfc7341813b83db61ef5a4b68360b0bf9c927b7 Protocol: 723
    [19:56:22.332] [Info] Root: Scanning for asset sources in directory '..\assets\'
    [19:56:22.781] [Info] Root: Scanning for asset sources in directory '..\mods\'
    [19:56:22.784] [Warn] Root: Unrecognized file in asset directory 'mods_go_here', skipping
    [19:56:22.784] [Info] Root: Detected asset source named 'base' at '..\assets\packed.pak'
    [19:56:22.784] [Info] Root: Detected asset source named 'AnTiHair' at '..\mods\AnTiHair.pak'
    [19:56:22.784] [Info] Root: Detected asset source named 'firstObject' at '..\mods\firstObject'
    [19:56:22.784] [Info] Root: Detected unnamed asset source at '..\mods\invisiarmor'
    [19:56:22.784] [Info] Root: Detected unnamed asset source at '..\assets\user'
    [19:56:22.784] [Info] Loading assets from: '..\assets\packed.pak'
    [19:56:23.380] [Info] Loading assets from: '..\mods\AnTiHair.pak'
    [19:56:23.383] [Info] Loading assets from: '..\mods\firstObject'
    [19:56:23.383] [Info] Loading assets from: '..\mods\invisiarmor'
    [19:56:23.384] [Info] Loading assets from: '..\assets\user'
    [19:56:24.179] [Info] Assets digest is c8f641e89905702672df35b5fb0b34a5266c7600fb25e271bf3c7f31d20d7e93
    [19:56:24.179] [Info] Root: Loaded Assets in 1.84753 seconds
    [19:56:24.183] [Info] Application: Initializing SDL Video
    [19:56:24.188] [Info] Application: Initializing SDL Joystick
    [19:56:24.285] [Info] Application: Initializing SDL Sound
    [19:56:24.309] [Info] Failed to initialize Steam platform services
    [19:56:24.309] [Info] Application: No platform services available
    [19:56:24.309] [Info] Application: Creating SDL Window
    [19:56:24.500] [Info] Application: Enabling VSync with late swap tearing
    [19:56:24.554] [Info] Application: Opened default audio device with 44.1khz / 16 bit stereo audio, 2048 sample size buffer
    [19:56:24.560] [Info] OpenGL version: '4.5.13431 Compatibility Profile Context 16.150.2401.1002' vendor: 'ATI Technologies Inc.' renderer: 'AMD Radeon R9 200 / HD 7900 Series' shader: '4.50'
    [19:56:24.561] [Info] Application: initialization...
    [19:56:24.562] [Info] Root: Loaded Configuration in 0.000971422 seconds
    [19:56:24.757] [Info] Application: renderer initialization...
    [19:56:24.762] [Info] Root: Loaded ImageMetadataDatabase in 1.46667e-05 seconds
    [19:56:24.879] [Info] Application: main update loop...
    [19:56:24.912] [Error] OpenGL errors this frame:  GL_INVALID_VALUE
    [19:56:24.925] [Info] Root: Loaded NameGenerator in 0.00596542 seconds
    [19:56:25.129] [Info] Root: Loaded PlantDatabase in 0.189553 seconds
    [19:56:25.537] [Error] Exception caught loading asset: /object/cube.object, (AssetException) Could not read JSON asset /object/cube.object
    [0] 7ff6fe792743 Star::captureStack
    [1] 7ff6fe7914ce Star::StarException::StarException
    [2] 7ff6fe7915b8 Star::StarException::StarException
    [3] 7ff6fe7a1db0 Star::AssetException::AssetException
    [4] 7ff6feffe781 `<lambda_80e152f0e8987fd28e54fe8e75d4e933>::operator()'::`1'::catch$25
    [5] 7ff98615c710 _C_specific_handler
    [6] 7ff986152ac2 _FrameUnwindFilter
    [7] 7ff991f82a63 RtlCaptureContext
    [8] 7ff6fe7a41ad <lambda_80e152f0e8987fd28e54fe8e75d4e933>::operator()
    [9] 7ff6fe79ba2f std::_Invoker_functor::_Call<<lambda_80e152f0e8987fd28e54fe8e75d4e933> & __ptr64>
    [10] 7ff6fe79f266 std::invoke<<lambda_80e152f0e8987fd28e54fe8e75d4e933> & __ptr64>
    [11] 7ff6fe79d100 std::_Invoke_ret<std::shared_ptr<Star::Assets::AssetData>,<lambda_80e152f0e8987fd28e54fe8e75d4e933> & __ptr64>
    [12] 7ff6fe7a56e6 std::_Func_impl<<lambda_80e152f0e8987fd28e54fe8e75d4e933>,std::allocator<int>,std::shared_ptr<Star::Assets::AssetData> >::_Do_call
    [13] 7ff6feaee057 std::_Func_class<std::shared_ptr<Star::MaterialDatabase> >::operator()
    [14] 7ff6fe7ae2d8 Star::Assets::processAssetData
    [15] 7ff6fe7ac278 Star::Assets::loadJson
    [16] 7ff6fe7ab4e3 Star::Assets::loadAsset
    [17] 7ff6fe7a8d8f Star::Assets::doLoad
    [18] 7ff6fe7aa75b Star::Assets::getAsset
    [19] 7ff6fe7ab1fa Star::Assets::json
    [20] 7ff6fe9f64b3 Star::ObjectDatabase::ObjectDatabase
    [21] 7ff6feae8855 std::make_shared<Star::ObjectDatabase>
    [22] 7ff6feaed479 <lambda_ad7e19ff40b932b3042616b2e24a8a33>::operator()
    [23] 7ff6feadf1bf std::_Invoker_functor::_Call<<lambda_ad7e19ff40b932b3042616b2e24a8a33> & __ptr64>
    [24] 7ff6feae31d6 std::invoke<<lambda_ad7e19ff40b932b3042616b2e24a8a33> & __ptr64>
    [25] 7ff6feae0bb9 std::_Invoke_ret<std::shared_ptr<Star::ObjectDatabase>,<lambda_ad7e19ff40b932b3042616b2e24a8a33> & __ptr64>
    [26] 7ff6feaefcc6 std::_Func_impl<<lambda_ad7e19ff40b932b3042616b2e24a8a33>,std::allocator<int>,std::shared_ptr<Star::ObjectDatabase> >::_Do_call
    [27] 7ff6feaee057 std::_Func_class<std::shared_ptr<Star::MaterialDatabase> >::operator()
    [28] 7ff6feae5913 Star::Root::loadMemberFunction<Star::ObjectDatabase>
    [29] 7ff6feae39a9 Star::Root::loadMember<Star::ObjectDatabase>
    [30] 7ff6feaf5072 Star::Root::objectDatabase
    [31] 7ff6feadf430 std::_Invoker_pmf_pointer::_Call<std::shared_ptr<Star::Configuration> (__cdecl Star::Root::*)(void) __ptr64,Star::Root * __ptr64 & __ptr64>
    [32] 7ff6feae2e69 std::invoke<std::shared_ptr<Star::VersioningDatabase const > (__cdecl Star::Root::*& __ptr64)(void) __ptr64,Star::Root * __ptr64 & __ptr64>
    [33] 7ff6feae07fc std::_Invoke_ret<std::shared_ptr<Star::RadioMessageDatabase const > (__cdecl Star::Root::*& __ptr64)(void) __ptr64,Star::Root * __ptr64 & __ptr64>
    [34] 7ff6feadf4be std::_Call_binder<std::_Unforced,0,std::shared_ptr<Star::DamageDatabase const > (__cdecl Star::Root::*)(void) __ptr64,std::tuple<Star::Root * __ptr64>,std::tuple<> >
    [35] 7ff6feadebae std::_Binder<std::_Unforced,std::shared_ptr<Star::TechDatabase const > (__cdecl Star::Root::*)(void) __ptr64,Star::Root * __ptr64 const>::operator()<>
    [36] 7ff6feaef762 std::_Func_impl<Star::SwallowReturn<std::_Binder<std::_Unforced,std::shared_ptr<Star::Assets const > (__cdecl Star::Root::*)(void) __ptr64,Star::Root * __ptr64 const> >,std::allocator<int>,void>::_Do_call
    [37] 7ff6fe7894fb <lambda_7b083dc4bdd496712d99e51bb49515b5>::operator()
    [38] 7ff6fe78a2a2 Star::WorkerPool::WorkerThread::run
    [39] 7ff6fe78f22e Star::ThreadImpl::runThread
    [40] 7ff991b613d2 BaseThreadInitThunk
    [41] 7ff991f054e4 RtlUserThreadStart
    Caused by: (JsonParsingException) Cannot parse json file: /object/cube.object
    [0] 7ff6fe792743 Star::captureStack
    [1] 7ff6fe7914ce Star::StarException::StarException
    [2] 7ff6fe7915b8 Star::StarException::StarException
    [3] 7ff6fe7a2b90 Star::JsonParsingException::JsonParsingException
    [4] 7ff6fefffbd8 `Star::Assets::readJson'::`1'::catch$264
    [5] 7ff98615c710 _C_specific_handler
    [6] 7ff986152ac2 _FrameUnwindFilter
    [7] 7ff991f82a63 RtlCaptureContext
    [8] 7ff6fe7ae8da Star::Assets::readJson
    [9] 7ff6fe7a41ad <lambda_80e152f0e8987fd28e54fe8e75d4e933>::operator()
    [10] 7ff6fe79ba2f std::_Invoker_functor::_Call<<lambda_80e152f0e8987fd28e54fe8e75d4e933> & __ptr64>
    [11] 7ff6fe79f266 std::invoke<<lambda_80e152f0e8987fd28e54fe8e75d4e933> & __ptr64>
    [12] 7ff6fe79d100 std::_Invoke_ret<std::shared_ptr<Star::Assets::AssetData>,<lambda_80e152f0e8987fd28e54fe8e75d4e933> & __ptr64>
    [13] 7ff6fe7a56e6 std::_Func_impl<<lambda_80e152f0e8987fd28e54fe8e75d4e933>,std::allocator<int>,std::shared_ptr<Star::Assets::AssetData> >::_Do_call
    [14] 7ff6feaee057 std::_Func_class<std::shared_ptr<Star::MaterialDatabase> >::operator()
    [15] 7ff6fe7ae2d8 Star::Assets::processAssetData
    [16] 7ff6fe7ac278 Star::Assets::loadJson
    [17] 7ff6fe7ab4e3 Star::Assets::loadAsset
    [18] 7ff6fe7a8d8f Star::Assets::doLoad
    [19] 7ff6fe7aa75b Star::Assets::getAsset
    [20] 7ff6fe7ab1fa Star::Assets::json
    [21] 7ff6fe9f64b3 Star::ObjectDatabase::ObjectDatabase
    [22] 7ff6feae8855 std::make_shared<Star::ObjectDatabase>
    [23] 7ff6feaed479 <lambda_ad7e19ff40b932b3042616b2e24a8a33>::operator()
    [24] 7ff6feadf1bf std::_Invoker_functor::_Call<<lambda_ad7e19ff40b932b3042616b2e24a8a33> & __ptr64>
    [25] 7ff6feae31d6 std::invoke<<lambda_ad7e19ff40b932b3042616b2e24a8a33> & __ptr64>
    [26] 7ff6feae0bb9 std::_Invoke_ret<std::shared_ptr<Star::ObjectDatabase>,<lambda_ad7e19ff40b932b3042616b2e24a8a33> & __ptr64>
    [27] 7ff6feaefcc6 std::_Func_impl<<lambda_ad7e19ff40b932b3042616b2e24a8a33>,std::allocator<int>,std::shared_ptr<Star::ObjectDatabase> >::_Do_call
    [28] 7ff6feaee057 std::_Func_class<std::shared_ptr<Star::MaterialDatabase> >::operator()
    [29] 7ff6feae5913 Star::Root::loadMemberFunction<Star::ObjectDatabase>
    [30] 7ff6feae39a9 Star::Root::loadMember<Star::ObjectDatabase>
    [31] 7ff6feaf5072 Star::Root::objectDatabase
    [32] 7ff6feadf430 std::_Invoker_pmf_pointer::_Call<std::shared_ptr<Star::Configuration> (__cdecl Star::Root::*)(void) __ptr64,Star::Root * __ptr64 & __ptr64>
    [33] 7ff6feae2e69 std::invoke<std::shared_ptr<Star::VersioningDatabase const > (__cdecl Star::Root::*& __ptr64)(void) __ptr64,Star::Root * __ptr64 & __ptr64>
    [34] 7ff6feae07fc std::_Invoke_ret<std::shared_ptr<Star::RadioMessageDatabase const > (__cdecl Star::Root::*& __ptr64)(void) __ptr64,Star::Root * __ptr64 & __ptr64>
    [35] 7ff6feadf4be std::_Call_binder<std::_Unforced,0,std::shared_ptr<Star::DamageDatabase const > (__cdecl Star::Root::*)(void) __ptr64,std::tuple<Star::Root * __ptr64>,std::tuple<> >
    [36] 7ff6feadebae std::_Binder<std::_Unforced,std::shared_ptr<Star::TechDatabase const > (__cdecl Star::Root::*)(void) __ptr64,Star::Root * __ptr64 const>::operator()<>
    [37] 7ff6feaef762 std::_Func_impl<Star::SwallowReturn<std::_Binder<std::_Unforced,std::shared_ptr<Star::Assets const > (__cdecl Star::Root::*)(void) __ptr64,Star::Root * __ptr64 const> >,std::allocator<int>,void>::_Do_call
    [38] 7ff6fe7894fb <lambda_7b083dc4bdd496712d99e51bb49515b5>::operator()
    [39] 7ff6fe78a2a2 Star::WorkerPool::WorkerThread::run
    [40] 7ff6fe78f22e Star::ThreadImpl::runThread
    [41] 7ff991b613d2 BaseThreadInitThunk
    [42] 7ff991f054e4 RtlUserThreadStart
    Caused by: (JsonParsingException) Error parsing json: bad string, should be '"' at 13:35
    [0] 7ff6fe792743 Star::captureStack
    [1] 7ff6fe7914ce Star::StarException::StarException
    [2] 7ff6fe79f07c Star::inputUtf8Json<char * __ptr64>
    [3] 7ff6fe7ae8da Star::Assets::readJson
    [4] 7ff6fe7a41ad <lambda_80e152f0e8987fd28e54fe8e75d4e933>::operator()
    [5] 7ff6fe79ba2f std::_Invoker_functor::_Call<<lambda_80e152f0e8987fd28e54fe8e75d4e933> & __ptr64>
    [6] 7ff6fe79f266 std::invoke<<lambda_80e152f0e8987fd28e54fe8e75d4e933> & __ptr64>
    [7] 7ff6fe79d100 std::_Invoke_ret<std::shared_ptr<Star::Assets::AssetData>,<lambda_80e152f0e8987fd28e54fe8e75d4e933> & __ptr64>
    [8] 7ff6fe7a56e6 std::_Func_impl<<lambda_80e152f0e8987fd28e54fe8e75d4e933>,std::allocator<int>,std::shared_ptr<Star::Assets::AssetData> >::_Do_call
    [9] 7ff6feaee057 std::_Func_class<std::shared_ptr<Star::MaterialDatabase> >::operator()
    [10] 7ff6fe7ae2d8 Star::Assets::processAssetData
    [11] 7ff6fe7ac278 Star::Assets::loadJson
    [12] 7ff6fe7ab4e3 Star::Assets::loadAsset
    [13] 7ff6fe7a8d8f Star::Assets::doLoad
    [14] 7ff6fe7aa75b Star::Assets::getAsset
    [15] 7ff6fe7ab1fa Star::Assets::json
    [16] 7ff6fe9f64b3 Star::ObjectDatabase::ObjectDatabase
    [17] 7ff6feae8855 std::make_shared<Star::ObjectDatabase>
    [18] 7ff6feaed479 <lambda_ad7e19ff40b932b3042616b2e24a8a33>::operator()
    [19] 7ff6feadf1bf std::_Invoker_functor::_Call<<lambda_ad7e19ff40b932b3042616b2e24a8a33> & __ptr64>
    [20] 7ff6feae31d6 std::invoke<<lambda_ad7e19ff40b932b3042616b2e24a8a33> & __ptr64>
    [21] 7ff6feae0bb9 std::_Invoke_ret<std::shared_ptr<Star::ObjectDatabase>,<lambda_ad7e19ff40b932b3042616b2e24a8a33> & __ptr64>
    [22] 7ff6feaefcc6 std::_Func_impl<<lambda_ad7e19ff40b932b3042616b2e24a8a33>,std::allocator<int>,std::shared_ptr<Star::ObjectDatabase> >::_Do_call
    [23] 7ff6feaee057 std::_Func_class<std::shared_ptr<Star::MaterialDatabase> >::operator()
    [24] 7ff6feae5913 Star::Root::loadMemberFunction<Star::ObjectDatabase>
    [25] 7ff6feae39a9 Star::Root::loadMember<Star::ObjectDatabase>
    [26] 7ff6feaf5072 Star::Root::objectDatabase
    [27] 7ff6feadf430 std::_Invoker_pmf_pointer::_Call<std::shared_ptr<Star::Configuration> (__cdecl Star::Root::*)(void) __ptr64,Star::Root * __ptr64 & __ptr64>
    [28] 7ff6feae2e69 std::invoke<std::shared_ptr<Star::VersioningDatabase const > (__cdecl Star::Root::*& __ptr64)(void) __ptr64,Star::Root * __ptr64 & __ptr64>
    [29] 7ff6feae07fc std::_Invoke_ret<std::shared_ptr<Star::RadioMessageDatabase const > (__cdecl Star::Root::*& __ptr64)(void) __ptr64,Star::Root * __ptr64 & __ptr64>
    [30] 7ff6feadf4be std::_Call_binder<std::_Unforced,0,std::shared_ptr<Star::DamageDatabase const > (__cdecl Star::Root::*)(void) __ptr64,std::tuple<Star::Root * __ptr64>,std::tuple<> >
    [31] 7ff6feadebae std::_Binder<std::_Unforced,std::shared_ptr<Star::TechDatabase const > (__cdecl Star::Root::*)(void) __ptr64,Star::Root * __ptr64 const>::operator()<>
    [32] 7ff6feaef762 std::_Func_impl<Star::SwallowReturn<std::_Binder<std::_Unforced,std::shared_ptr<Star::Assets const > (__cdecl Star::Root::*)(void) __ptr64,Star::Root * __ptr64 const> >,std::allocator<int>,void>::_Do_call
    [33] 7ff6fe7894fb <lambda_7b083dc4bdd496712d99e51bb49515b5>::operator()
    [34] 7ff6fe78a2a2 Star::WorkerPool::WorkerThread::run
    [35] 7ff6fe78f22e Star::ThreadImpl::runThread
    [36] 7ff991b613d2 BaseThreadInitThunk
    [37] 7ff991f054e4 RtlUserThreadStart
    [19:56:25.554] [Error] Error loading object file /object/cube.object: (AssetException) Error loading asset /object/cube.object
    [0] 7ff6fe792743 Star::captureStack
    [1] 7ff6fe7914ce Star::StarException::StarException
    [2] 7ff6fe79e67a Star::AssetException::format<Star::AssetPath>
    [3] 7ff6fe7aa80b Star::Assets::getAsset
    [4] 7ff6fe7ab1fa Star::Assets::json
    [5] 7ff6fe9f64b3 Star::ObjectDatabase::ObjectDatabase
    [6] 7ff6feae8855 std::make_shared<Star::ObjectDatabase>
    [7] 7ff6feaed479 <lambda_ad7e19ff40b932b3042616b2e24a8a33>::operator()
    [8] 7ff6feadf1bf std::_Invoker_functor::_Call<<lambda_ad7e19ff40b932b3042616b2e24a8a33> & __ptr64>
    [9] 7ff6feae31d6 std::invoke<<lambda_ad7e19ff40b932b3042616b2e24a8a33> & __ptr64>
    [10] 7ff6feae0bb9 std::_Invoke_ret<std::shared_ptr<Star::ObjectDatabase>,<lambda_ad7e19ff40b932b3042616b2e24a8a33> & __ptr64>
    [11] 7ff6feaefcc6 std::_Func_impl<<lambda_ad7e19ff40b932b3042616b2e24a8a33>,std::allocator<int>,std::shared_ptr<Star::ObjectDatabase> >::_Do_call
    [12] 7ff6feaee057 std::_Func_class<std::shared_ptr<Star::MaterialDatabase> >::operator()
    [13] 7ff6feae5913 Star::Root::loadMemberFunction<Star::ObjectDatabase>
    [14] 7ff6feae39a9 Star::Root::loadMember<Star::ObjectDatabase>
    [15] 7ff6feaf5072 Star::Root::objectDatabase
    [16] 7ff6feadf430 std::_Invoker_pmf_pointer::_Call<std::shared_ptr<Star::Configuration> (__cdecl Star::Root::*)(void) __ptr64,Star::Root * __ptr64 & __ptr64>
    [17] 7ff6feae2e69 std::invoke<std::shared_ptr<Star::VersioningDatabase const > (__cdecl Star::Root::*& __ptr64)(void) __ptr64,Star::Root * __ptr64 & __ptr64>
    [18] 7ff6feae07fc std::_Invoke_ret<std::shared_ptr<Star::RadioMessageDatabase const > (__cdecl Star::Root::*& __ptr64)(void) __ptr64,Star::Root * __ptr64 & __ptr64>
    [19] 7ff6feadf4be std::_Call_binder<std::_Unforced,0,std::shared_ptr<Star::DamageDatabase const > (__cdecl Star::Root::*)(void) __ptr64,std::tuple<Star::Root * __ptr64>,std::tuple<> >
    [20] 7ff6feadebae std::_Binder<std::_Unforced,std::shared_ptr<Star::TechDatabase const > (__cdecl Star::Root::*)(void) __ptr64,Star::Root * __ptr64 const>::operator()<>
    [21] 7ff6feaef762 std::_Func_impl<Star::SwallowReturn<std::_Binder<std::_Unforced,std::shared_ptr<Star::Assets const > (__cdecl Star::Root::*)(void) __ptr64,Star::Root * __ptr64 const> >,std::allocator<int>,void>::_Do_call
    [22] 7ff6fe7894fb <lambda_7b083dc4bdd496712d99e51bb49515b5>::operator()
    [23] 7ff6fe78a2a2 Star::WorkerPool::WorkerThread::run
    [24] 7ff6fe78f22e Star::ThreadImpl::runThread
    [25] 7ff991b613d2 BaseThreadInitThunk
    [26] 7ff991f054e4 RtlUserThreadStart
    [19:56:25.785] [Info] Root: Loaded ObjectDatabase in 0.859933 seconds
    [19:56:26.078] [Info] Root: Loaded MonsterDatabase in 0.292879 seconds
    [19:56:26.162] [Info] Root: Loaded NpcDatabase in 0.0835717 seconds
    [19:56:26.164] [Info] Root: Loaded StagehandDatabase in 0.00160942 seconds
    [19:56:26.165] [Info] Root: Loaded ProjectileDatabase in 1.03626 seconds
    [19:56:26.169] [Info] Root: Loaded VehicleDatabase in 0.00489867 seconds
    [19:56:26.170] [Info] Root: Loaded PlayerFactory in 0.00489671 seconds
    [19:56:26.171] [Info] Root: Loaded VersioningDatabase in 0.000726978 seconds
    [19:56:26.171] [Info] Root: Loaded EntityFactory in 0.00278911 seconds
    [19:56:26.251] [Info] Root: Loaded ParticleDatabase in 0.0799871 seconds
    [19:56:26.595] [Info] Root: Loaded MaterialDatabase in 0.423989 seconds
    [19:56:26.608] [Info] Root: Loaded TerrainDatabase in 0.0129032 seconds
    [19:56:26.687] [Info] Root: Loaded BiomeDatabase in 0.0784686 seconds
    [19:56:26.688] [Info] Root: Loaded LiquidsDatabase in 0.00144809 seconds
    [19:56:26.706] [Info] Root: Loaded StatusEffectDatabase in 0.0175286 seconds
    [19:56:26.975] [Info] Root: Loaded DamageDatabase in 0.269006 seconds
    [19:56:26.986] [Info] Root: Loaded EffectSourceDatabase in 0.0105727 seconds
    [19:56:26.992] [Info] Root: Loaded FunctionDatabase in 0.00638147 seconds
    [19:56:27.060] [Info] Root: Loaded TreasureDatabase in 0.0677747 seconds
    [19:56:27.340] [Info] Root: Writing runtime configuration to '..\storage\starbound.config'
    [19:56:27.384] [Info] Root: Loaded DungeonDefinitions in 0.323855 seconds
    [19:56:27.384] [Info] Root: Loaded TilesetDatabase in 6.45333e-05 seconds
    [19:56:27.389] [Info] Root: Loaded StatisticsDatabase in 0.00479258 seconds
    [19:56:27.389] [Info] Root: Loaded EmoteProcessor in 8.65333e-05 seconds
    [19:56:27.423] [Info] Root: Loaded SpeciesDatabase in 0.0339939 seconds
    [19:56:27.453] [Info] Root: Loaded QuestTemplateDatabase in 0.0296311 seconds
    [19:56:27.455] [Info] Root: Loaded AiDatabase in 0.0020768 seconds
    [19:56:27.457] [Info] Root: Loaded TechDatabase in 0.00223471 seconds
    [19:56:27.469] [Info] Root: Loaded CodexDatabase in 0.0122564 seconds
    [19:56:27.644] [Info] Root: Loaded BehaviorDatabase in 0.174574 seconds
    [19:56:27.648] [Info] Root: Loaded DanceDatabase in 0.0037136 seconds
    [19:56:27.662] [Info] Root: Loaded SpawnTypeDatabase in 0.0136869 seconds
    [19:56:27.666] [Info] Root: Loaded RadioMessageDatabase in 0.00382751 seconds
    [19:56:29.088] [Error] Could not instantiate item '[fo_cube, 1, {}]'. (ItemException) No such item 'fo_cube'
    [19:56:29.536] [Error] Could not instantiate item '[fo_cube, 1, {}]'. (ItemException) No such item 'fo_cube'
    [19:56:29.537] [Info] Root: Loaded ItemDatabase in 3.36508 seconds
    [19:56:42.439] [Info] UniverseServer: Acquiring universe lock file
    [19:56:42.440] [Info] UniverseServer: Loading settings
    [19:56:42.442] [Info] UniverseServer: Starting UniverseServer with UUID: 3444898203a9a21a9428c4355e9762a8
    [19:56:42.458] [Info] UniverseServer: Logged in player 'Hayden Redsun' locally
    [19:56:42.458] [Info] UniverseServer: Logged in account '<anonymous>' as player 'Hayden Redsun' from address local
    [19:56:42.463] [Info] UniverseServer: Reviving player at ClientShipWorld:816628b54449185f02b9f687d6cdcfa9
    [19:56:42.463] [Info] UniverseServer: Client 'Hayden Redsun' <1> (local) connected
    [19:56:42.471] [Info] UniverseClient: Joined server as client 1
    [19:56:42.549] [Info] UniverseServer: Loading client ship world ClientShipWorld:816628b54449185f02b9f687d6cdcfa9
    [19:56:42.624] [Error] Application: exception thrown, shutting down: (ItemException) No such item 'fo_cube'
    [0] 7ff6fe792743 Star::captureStack
    [1] 7ff6fe7914ce Star::StarException::StarException
    [2] 7ff6fe8e4eaa Star::ItemException::format<Star::String>
    [3] 7ff6fe8f20fc Star::ItemDatabase::itemData
    [4] 7ff6fe8f2129 Star::ItemDatabase::itemFriendlyName
    [5] 7ff6feedcf0e <lambda_3587efe2ccaf69356a4760031378880e>::operator()
    [6] 7ff6feeda552 Star::sortByComputedValue<Star::List<Star::ItemRecipe,std::allocator<Star::ItemRecipe> >,<lambda_3587efe2ccaf69356a4760031378880e> >
    [7] 7ff6feee1bf5 Star::CraftingPane::determineRecipes
    [8] 7ff6feee553f Star::CraftingPane::updateAvailableRecipes
    [9] 7ff6feedc169 Star::CraftingPane::CraftingPane
    [10] 7ff6feef975a std::_Ref_count_obj<Star::CraftingPane>::_Ref_count_obj<Star::CraftingPane><std::shared_ptr<Star::WorldClient>,std::shared_ptr<Star::Player>,Star::MapMixin<std::unordered_map<Star::String,Star::Json,Star::hash<Star::String,void>,std::equal_to<Star::String>,std::allocator<std::pair<Star::String const ,Star::Json> > > >,int>
    [11] 7ff6feefdc05 std::make_shared<Star::CraftingPane,std::shared_ptr<Star::WorldClient>,std::shared_ptr<Star::Player>,Star::MapMixin<std::unordered_map<Star::String,Star::Json,Star::hash<Star::String,void>,std::equal_to<Star::String>,std::allocator<std::pair<Star::String const ,Star::Json> > > >,int>
    [12] 7ff6feefffe6 Star::MainInterface::MainInterface
    [13] 7ff6fe6c9b16 std::_Ref_count_obj<Star::MainInterface>::_Ref_count_obj<Star::MainInterface><std::shared_ptr<Star::UniverseClient> & __ptr64,std::shared_ptr<Star::WorldPainter> & __ptr64,std::shared_ptr<Star::Cinematic> & __ptr64>
    [14] 7ff6fe6ce49b std::make_shared<Star::MainInterface,std::shared_ptr<Star::UniverseClient> & __ptr64,std::shared_ptr<Star::WorldPainter> & __ptr64,std::shared_ptr<Star::Cinematic> & __ptr64>
    [15] 7ff6fe6d6b09 Star::ClientApplication::changeState
    [16] 7ff6fe6dea8f Star::ClientApplication::updateTitle
    [17] 7ff6fe6dc353 Star::ClientApplication::update
    [18] 7ff6fee0e481 Star::SdlPlatform::run
    [19] 7ff6fee0e63d Star::runMainApplication
    [20] 7ff6fe6df1c6 WinMain
    [21] 7ff6fefec863 __scrt_common_main_seh
    [22] 7ff991b613d2 BaseThreadInitThunk
    [23] 7ff991f054e4 RtlUserThreadStart
    [19:56:42.625] [Info] Application: shutdown...
    [19:56:42.625] [Info] UniverseClient: Client disconnecting...
    [19:56:42.651] [Info] UniverseServer: Client 'Hayden Redsun' <1> (local) disconnected for reason: 
    [19:56:42.753] [Info] UniverseServer: Stopping UniverseServer
    [19:56:43.329] [Info] Root: Shutting down Root
    [19:56:43.623] [Info] Application: Destroying SDL Window
    [19:56:43.949] [Info] Application: stopped gracefully
    
     
  11. The | Suit

    The | Suit Agent S. Forum Moderator

    Code:
    Caused by: (JsonParsingException) Error parsing json: bad string, should be '"' at 13:35
    That is the actual error.
    Line 13, Space 35.

    You added something extra, find it and remove it.
    Always read the Entire Log is the lesson.
     
    goldsoul likes this.
  12. goldsoul

    goldsoul Big Damn Hero

    okay thanks for the help!! :)

    there was a extra bracket in the object
     
    Last edited: Jul 30, 2016
  13. Zaflis

    Zaflis Pangalactic Porcupine

    The guide is great, however i could use one tip for lua. I want to patch a vanilla lua script, but only edit 1 function. There's 2 in the file and i'd like the other to remain untouched. If i just add .patch at end of lua filename and include just that 1 replaced function it would work? I get the feeling that .patch only conserns json.

    If i replace a texture, will it also be .png.patch?
     
  14. The | Suit

    The | Suit Agent S. Forum Moderator

    Patch is only for JSON files.
    To replace Images and Lua - your only option is to replace the file completely.

    But thanks for asking the question, I forgot to make that point in the book.
     
  15. Zaflis

    Zaflis Pangalactic Porcupine

    Oh and a typo maybe? On page 12 it says _metdata or .metdata. When i uploaded my first mod to workshop it generated _metadata. So i can safely delete the _metdata i assume...

    Mod uploader tool is started from Steam btw.
     
  16. The | Suit

    The | Suit Agent S. Forum Moderator

    Oh thanks for catching that - I didn't even notice.
     
  17. L3W

    L3W Ketchup Robot

    Do you mind if I put a link to this page on my playstarbound and Steam workshop mod pages.
     
  18. The | Suit

    The | Suit Agent S. Forum Moderator

    Feel free to do so.
     
  19. The | Suit

    The | Suit Agent S. Forum Moderator

    The | Suit updated Unofficial Modding Ebook 2.0 with a new update entry:

    Corrections and Minor Additions.




    Read the rest of this update entry...
     
  20. Sylvester334

    Sylvester334 Void-Bound Voyager

    On page 22 you seem to have placed the sentence about the custom race scan parameter in the section about the Orientation parameter.

    [​IMG]
    A correct version appears several pages later, on page 26.
     
    Last edited by a moderator: Aug 5, 2016

Share This Page