i am making a mod that adds 3 new types of rope for climbing, the ids are rappelrope, strongrope, and strongrappelrope and i want the recipe for rappelrope and strongrope to be learned on picking up rope and the recipe for strongrappelrope to be learned after picking up rappelrope, but nowhere can i find how to make it work that way. please help. here's the loading log: Code: [12:18:11.543] [Info] Root: Preparing Root... [12:18:11.545] [Info] Root: Done preparing Root. [12:18:11.545] [Info] Client Version 1.4.4 (windows x86_64) Source ID: 8cbe6faf22282659828a194e06a08999f213769e Protocol: 747 [12:18:11.545] [Info] Root: Scanning for asset sources in directory '..\assets\' [12:18:11.545] [Warn] Root: Unrecognized file in asset directory 'ModPackHelper.log', skipping [12:18:11.546] [Warn] Root: Unrecognized file in asset directory 'Modpak Helper.bat', skipping [12:18:11.546] [Info] Root: Skipping hidden '_unpacked' in asset directory [12:18:12.868] [Info] Root: Scanning for asset sources in directory '..\mods\' [12:18:12.869] [Warn] Root: Unrecognized file in asset directory 'Modpak Helper.bat', skipping [12:18:12.873] [Warn] Root: Unrecognized file in asset directory 'mods_go_here', skipping [12:18:12.873] [Info] Root: Detected asset source named 'base' at '..\assets\packed.pak' [12:18:12.873] [Info] Root: Detected asset source named 'More Rope' at '..\mods\MoreRope' [12:18:12.873] [Info] Root: Detected unnamed asset source at '..\assets\user' [12:18:12.873] [Info] Loading assets from: '..\assets\packed.pak' [12:18:15.189] [Info] Loading assets from: '..\mods\MoreRope' [12:18:15.196] [Info] Loading assets from: '..\assets\user' [12:18:16.775] [Info] Assets digest is 9a5a32ba0962d7d052a93e127f27efc687063ce788076f8a76e4c8fbf69adbb1 [12:18:16.775] [Info] Root: Loaded Assets in 5.23074 seconds [12:18:16.778] [Info] Application: Initializing SDL Video [12:18:16.785] [Info] Application: Initializing SDL Joystick [12:18:17.325] [Info] Application: Initializing SDL Sound [12:18:17.904] [Info] Failed to initialize Steam platform services [12:18:17.907] [Info] Initialized Discord platform services [12:18:18.125] [Info] Application: Creating SDL Window [12:18:18.928] [Info] Application: Enabling VSync with late swap tearing [12:18:19.022] [Info] Application: Opened default audio device with 44.1khz / 16 bit stereo audio, 2048 sample size buffer [12:18:19.032] [Info] OpenGL version: '4.6.13558 Compatibility Profile Context 26.20.11008.1007' vendor: 'ATI Technologies Inc.' renderer: 'AMD Radeon(TM) R4 Graphics' shader: '4.60' [12:18:19.034] [Info] Application: initialization... [12:18:19.036] [Info] Root: Loaded Configuration in 0.0018242 seconds [12:18:19.170] [Info] Application: renderer initialization... [12:18:19.180] [Info] detected supported OpenGL texture size 16384, using atlasNumCells 128 [12:18:19.180] [Info] Root: Loaded ImageMetadataDatabase in 2.70002e-06 seconds [12:18:19.204] [Info] Application: main update loop... [12:18:19.308] [Info] Root: Loaded NameGenerator in 0.0301621 seconds [12:18:19.685] [Info] Root: Loaded PlantDatabase in 0.376848 seconds [12:18:20.142] [Info] Root: Loaded ProjectileDatabase in 0.457319 seconds [12:18:20.986] [Info] Root: Loaded ObjectDatabase in 1.70494 seconds [12:18:21.255] [Info] Root: Loaded MonsterDatabase in 1.11185 seconds [12:18:21.258] [Info] Root: Loaded StagehandDatabase in 0.0029986 seconds [12:18:21.268] [Info] Root: Loaded VehicleDatabase in 0.0098032 seconds [12:18:21.273] [Info] Root: Loaded PlayerFactory in 0.0050675 seconds [12:18:21.336] [Info] Root: Loaded NpcDatabase in 0.348293 seconds [12:18:21.338] [Info] Root: Loaded VersioningDatabase in 0.0017684 seconds [12:18:21.338] [Info] Root: Loaded EntityFactory in 0.0645216 seconds [12:18:21.660] [Info] Root: Loaded ParticleDatabase in 0.321824 seconds [12:18:21.791] [Info] Root: Writing runtime configuration to '..\storage\starbound.config' [12:18:23.054] [Error] Exception caught loading asset: /items/active/grapplinghooks/rappelrope/rappelrope.activeitem, (AssetException) Could not read JSON asset /items/active/grapplinghooks/rappelrope/rappelrope.activeitem [0] 7ff7eb35a213 Star::captureStack [1] 7ff7eb358f9e Star::StarException::StarException [2] 7ff7eb359088 Star::StarException::StarException [3] 7ff7eb368920 Star::AssetException::AssetException [4] 7ff7ebc61fa1 `<lambda_de493f01ed04f38d948f8b3d1c9a817c>::operator()'::`1'::catch$8 [5] 7ffd6e7b1030 [6] 7ffd6e7b32e8 is_exception_typeof [7] 7ffd774c0616 RtlCaptureContext [8] 7ff7eb36b1c2 <lambda_de493f01ed04f38d948f8b3d1c9a817c>::operator() [9] 7ff7eb36863b Star::Assets::unlockDuring<<lambda_de493f01ed04f38d948f8b3d1c9a817c> > [10] 7ff7eb37468d Star::Assets::loadJson [11] 7ff7eb3737e3 Star::Assets::loadAsset [12] 7ff7eb36f76f Star::Assets::doLoad [13] 7ff7eb37a52b Star::Assets::workerMain [14] 7ff7eb356877 <lambda_acdb4815e022f76f36408ff78907d178>::operator() [15] 7ff7eb356d9e Star::ThreadImpl::runThread [16] 7ffd75737bd4 BaseThreadInitThunk [17] 7ffd7748ce51 RtlUserThreadStart Caused by: (JsonParsingException) Cannot parse json file: /items/active/grapplinghooks/rappelrope/rappelrope.activeitem [0] 7ff7eb35a213 Star::captureStack [1] 7ff7eb358f9e Star::StarException::StarException [2] 7ff7eb359088 Star::StarException::StarException [3] 7ff7eb369480 Star::JsonParsingException::JsonParsingException [4] 7ff7ebc6339b `Star::Assets::readJson'::`1'::catch$245 [5] 7ffd6e7b1030 [6] 7ffd6e7b32e8 is_exception_typeof [7] 7ffd774c0616 RtlCaptureContext [8] 7ff7eb376a5a Star::Assets::readJson [9] 7ff7eb36b1c2 <lambda_de493f01ed04f38d948f8b3d1c9a817c>::operator() [10] 7ff7eb36863b Star::Assets::unlockDuring<<lambda_de493f01ed04f38d948f8b3d1c9a817c> > [11] 7ff7eb37468d Star::Assets::loadJson [12] 7ff7eb3737e3 Star::Assets::loadAsset [13] 7ff7eb36f76f Star::Assets::doLoad [14] 7ff7eb37a52b Star::Assets::workerMain [15] 7ff7eb356877 <lambda_acdb4815e022f76f36408ff78907d178>::operator() [16] 7ff7eb356d9e Star::ThreadImpl::runThread [17] 7ffd75737bd4 BaseThreadInitThunk [18] 7ffd7748ce51 RtlUserThreadStart Caused by: (JsonParsingException) Error parsing json: bad object, should be '}' or ',' at 43:3 [0] 7ff7eb35a213 Star::captureStack [1] 7ff7eb358f9e Star::StarException::StarException [2] 7ff7eb365be1 Star::inputUtf8Json<char * __ptr64> [3] 7ff7eb376a5a Star::Assets::readJson [4] 7ff7eb36b1c2 <lambda_de493f01ed04f38d948f8b3d1c9a817c>::operator() [5] 7ff7eb36863b Star::Assets::unlockDuring<<lambda_de493f01ed04f38d948f8b3d1c9a817c> > [6] 7ff7eb37468d Star::Assets::loadJson [7] 7ff7eb3737e3 Star::Assets::loadAsset [8] 7ff7eb36f76f Star::Assets::doLoad [9] 7ff7eb37a52b Star::Assets::workerMain [10] 7ff7eb356877 <lambda_acdb4815e022f76f36408ff78907d178>::operator() [11] 7ff7eb356d9e Star::ThreadImpl::runThread [12] 7ffd75737bd4 BaseThreadInitThunk [13] 7ffd7748ce51 RtlUserThreadStart [12:18:23.186] [Info] Root: Loaded TerrainDatabase in 0.122961 seconds [12:18:23.386] [Info] Root: Loaded MaterialDatabase in 2.04802 seconds [12:18:23.598] [Error] Application: exception thrown, shutting down: (ItemException) Could not load item asset /items/active/grapplinghooks/rappelrope/rappelrope.activeitem [0] 7ff7eb35a213 Star::captureStack [1] 7ff7eb358f9e Star::StarException::StarException [2] 7ff7eb359088 Star::StarException::StarException [3] 7ff7eb4db310 Star::ItemException::ItemException [4] 7ff7ebc8b4df `Star::ItemDatabase::addItemSet'::`1'::catch$403 [5] 7ffd6e7b1030 [6] 7ffd6e7b32e8 is_exception_typeof [7] 7ffd774c0616 RtlCaptureContext [8] 7ff7eb4df7c4 Star::ItemDatabase::addItemSet [9] 7ff7eb4e728e Star::ItemDatabase::scanItems [10] 7ff7eb4db1f5 Star::ItemDatabase::ItemDatabase [11] 7ff7eb6eb345 std::make_shared<Star::ItemDatabase> [12] 7ff7eb6f00c9 <lambda_c979fe2661440bde921b022a5da87f15>::operator() [13] 7ff7eb6e20cf std::_Invoker_functor::_Call<<lambda_c979fe2661440bde921b022a5da87f15> & __ptr64> [14] 7ff7eb6e5b56 std::invoke<<lambda_c979fe2661440bde921b022a5da87f15> & __ptr64> [15] 7ff7eb6e3309 std::_Invoke_ret<std::shared_ptr<Star::ItemDatabase>,<lambda_c979fe2661440bde921b022a5da87f15> & __ptr64> [16] 7ff7eb6f1f26 std::_Func_impl<<lambda_c979fe2661440bde921b022a5da87f15>,std::allocator<int>,std::shared_ptr<Star::ItemDatabase> >::_Do_call [17] 7ff7eb6f0677 std::_Func_class<std::shared_ptr<Star::PlantDatabase> >::operator() [18] 7ff7eb6e7ce3 Star::Root::loadMemberFunction<Star::ItemDatabase> [19] 7ff7eb6e6129 Star::Root::loadMember<Star::ItemDatabase> [20] 7ff7eb6f6ed2 Star::Root::itemDatabase [21] 7ff7eb6e2220 std::_Invoker_pmf_pointer::_Call<std::shared_ptr<Star::SpawnTypeDatabase const > (__cdecl Star::Root::*)(void) __ptr64,Star::Root * __ptr64 & __ptr64> [22] 7ff7eb6e5709 std::invoke<std::shared_ptr<Star::StatusEffectDatabase const > (__cdecl Star::Root::*& __ptr64)(void) __ptr64,Star::Root * __ptr64 & __ptr64> [23] 7ff7eb6e300c std::_Invoke_ret<std::shared_ptr<Star::StagehandDatabase const > (__cdecl Star::Root::*& __ptr64)(void) __ptr64,Star::Root * __ptr64 & __ptr64> [24] 7ff7eb6e22ae std::_Call_binder<std::_Unforced,0,std::shared_ptr<Star::VehicleDatabase const > (__cdecl Star::Root::*)(void) __ptr64,std::tuple<Star::Root * __ptr64>,std::tuple<> > [25] 7ff7eb6e1a0e std::_Binder<std::_Unforced,std::shared_ptr<Star::ObjectDatabase const > (__cdecl Star::Root::*)(void) __ptr64,Star::Root * __ptr64 const>::operator()<> [26] 7ff7eb6f1872 std::_Func_impl<Star::SwallowReturn<std::_Binder<std::_Unforced,std::shared_ptr<Star::TreasureDatabase const > (__cdecl Star::Root::*)(void) __ptr64,Star::Root * __ptr64 const> >,std::allocator<int>,void>::_Do_call [27] 7ff7eb350f3b <lambda_7b083dc4bdd496712d99e51bb49515b5>::operator() [28] 7ff7eb351ce2 Star::WorkerPool::WorkerThread::run [29] 7ff7eb356d9e Star::ThreadImpl::runThread [30] 7ffd75737bd4 BaseThreadInitThunk [31] 7ffd7748ce51 RtlUserThreadStart Caused by: (AssetException) Error loading asset /items/active/grapplinghooks/rappelrope/rappelrope.activeitem [0] 7ff7eb35a213 Star::captureStack [1] 7ff7eb358f9e Star::StarException::StarException [2] 7ff7eb3651ca Star::AssetException::format<Star::AssetPath> [3] 7ff7eb371972 Star::Assets::getAsset [4] 7ff7eb373469 Star::Assets::json [5] 7ff7eb4df7c4 Star::ItemDatabase::addItemSet [6] 7ff7eb4e728e Star::ItemDatabase::scanItems [7] 7ff7eb4db1f5 Star::ItemDatabase::ItemDatabase [8] 7ff7eb6eb345 std::make_shared<Star::ItemDatabase> [9] 7ff7eb6f00c9 <lambda_c979fe2661440bde921b022a5da87f15>::operator() [10] 7ff7eb6e20cf std::_Invoker_functor::_Call<<lambda_c979fe2661440bde921b022a5da87f15> & __ptr64> [11] 7ff7eb6e5b56 std::invoke<<lambda_c979fe2661440bde921b022a5da87f15> & __ptr64> [12] 7ff7eb6e3309 std::_Invoke_ret<std::shared_ptr<Star::ItemDatabase>,<lambda_c979fe2661440bde921b022a5da87f15> & __ptr64> [13] 7ff7eb6f1f26 std::_Func_impl<<lambda_c979fe2661440bde921b022a5da87f15>,std::allocator<int>,std::shared_ptr<Star::ItemDatabase> >::_Do_call [14] 7ff7eb6f0677 std::_Func_class<std::shared_ptr<Star::PlantDatabase> >::operator() [15] 7ff7eb6e7ce3 Star::Root::loadMemberFunction<Star::ItemDatabase> [16] 7ff7eb6e6129 Star::Root::loadMember<Star::ItemDatabase> [17] 7ff7eb6f6ed2 Star::Root::itemDatabase [18] 7ff7eb6e2220 std::_Invoker_pmf_pointer::_Call<std::shared_ptr<Star::SpawnTypeDatabase const > (__cdecl Star::Root::*)(void) __ptr64,Star::Root * __ptr64 & __ptr64> [19] 7ff7eb6e5709 std::invoke<std::shared_ptr<Star::StatusEffectDatabase const > (__cdecl Star::Root::*& __ptr64)(void) __ptr64,Star::Root * __ptr64 & __ptr64> [20] 7ff7eb6e300c std::_Invoke_ret<std::shared_ptr<Star::StagehandDatabase const > (__cdecl Star::Root::*& __ptr64)(void) __ptr64,Star::Root * __ptr64 & __ptr64> [21] 7ff7eb6e22ae std::_Call_binder<std::_Unforced,0,std::shared_ptr<Star::VehicleDatabase const > (__cdecl Star::Root::*)(void) __ptr64,std::tuple<Star::Root * __ptr64>,std::tuple<> > [22] 7ff7eb6e1a0e std::_Binder<std::_Unforced,std::shared_ptr<Star::ObjectDatabase const > (__cdecl Star::Root::*)(void) __ptr64,Star::Root * __ptr64 const>::operator()<> [23] 7ff7eb6f1872 std::_Func_impl<Star::SwallowReturn<std::_Binder<std::_Unforced,std::shared_ptr<Star::TreasureDatabase const > (__cdecl Star::Root::*)(void) __ptr64,Star::Root * __ptr64 const> >,std::allocator<int>,void>::_Do_call [24] 7ff7eb350f3b <lambda_7b083dc4bdd496712d99e51bb49515b5>::operator() [25] 7ff7eb351ce2 Star::WorkerPool::WorkerThread::run [26] 7ff7eb356d9e Star::ThreadImpl::runThread [27] 7ffd75737bd4 BaseThreadInitThunk [28] 7ffd7748ce51 RtlUserThreadStart [12:18:23.598] [Info] Application: shutdown... [12:18:23.654] [Error] Exception caught loading asset: /items/active/grapplinghooks/climbingrope/climbingrope.activeitem, (AssetException) Could not read JSON asset /items/active/grapplinghooks/climbingrope/climbingrope.activeitem [0] 7ff7eb35a213 Star::captureStack [1] 7ff7eb358f9e Star::StarException::StarException [2] 7ff7eb359088 Star::StarException::StarException [3] 7ff7eb368920 Star::AssetException::AssetException [4] 7ff7ebc61fa1 `<lambda_de493f01ed04f38d948f8b3d1c9a817c>::operator()'::`1'::catch$8 [5] 7ffd6e7b1030 [6] 7ffd6e7b32e8 is_exception_typeof [7] 7ffd774c0616 RtlCaptureContext [8] 7ff7eb36b1c2 <lambda_de493f01ed04f38d948f8b3d1c9a817c>::operator() [9] 7ff7eb36863b Star::Assets::unlockDuring<<lambda_de493f01ed04f38d948f8b3d1c9a817c> > [10] 7ff7eb37468d Star::Assets::loadJson [11] 7ff7eb3737e3 Star::Assets::loadAsset [12] 7ff7eb36f76f Star::Assets::doLoad [13] 7ff7eb37a52b Star::Assets::workerMain [14] 7ff7eb356877 <lambda_acdb4815e022f76f36408ff78907d178>::operator() [15] 7ff7eb356d9e Star::ThreadImpl::runThread [16] 7ffd75737bd4 BaseThreadInitThunk [17] 7ffd7748ce51 RtlUserThreadStart Caused by: (JsonParsingException) Cannot parse json file: /items/active/grapplinghooks/climbingrope/climbingrope.activeitem [0] 7ff7eb35a213 Star::captureStack [1] 7ff7eb358f9e Star::StarException::StarException [2] 7ff7eb359088 Star::StarException::StarException [3] 7ff7eb369480 Star::JsonParsingException::JsonParsingException [4] 7ff7ebc6339b `Star::Assets::readJson'::`1'::catch$245 [5] 7ffd6e7b1030 [6] 7ffd6e7b32e8 is_exception_typeof [7] 7ffd774c0616 RtlCaptureContext [8] 7ff7eb376a5a Star::Assets::readJson [9] 7ff7eb36b1c2 <lambda_de493f01ed04f38d948f8b3d1c9a817c>::operator() [10] 7ff7eb36863b Star::Assets::unlockDuring<<lambda_de493f01ed04f38d948f8b3d1c9a817c> > [11] 7ff7eb37468d Star::Assets::loadJson [12] 7ff7eb3737e3 Star::Assets::loadAsset [13] 7ff7eb36f76f Star::Assets::doLoad [14] 7ff7eb37a52b Star::Assets::workerMain [15] 7ff7eb356877 <lambda_acdb4815e022f76f36408ff78907d178>::operator() [16] 7ff7eb356d9e Star::ThreadImpl::runThread [17] 7ffd75737bd4 BaseThreadInitThunk [18] 7ffd7748ce51 RtlUserThreadStart Caused by: (JsonParsingException) Error parsing json: bad string, should be '"' at 5:1 [0] 7ff7eb35a213 Star::captureStack [1] 7ff7eb358f9e Star::StarException::StarException [2] 7ff7eb365be1 Star::inputUtf8Json<char * __ptr64> [3] 7ff7eb376a5a Star::Assets::readJson [4] 7ff7eb36b1c2 <lambda_de493f01ed04f38d948f8b3d1c9a817c>::operator() [5] 7ff7eb36863b Star::Assets::unlockDuring<<lambda_de493f01ed04f38d948f8b3d1c9a817c> > [6] 7ff7eb37468d Star::Assets::loadJson [7] 7ff7eb3737e3 Star::Assets::loadAsset [8] 7ff7eb36f76f Star::Assets::doLoad [9] 7ff7eb37a52b Star::Assets::workerMain [10] 7ff7eb356877 <lambda_acdb4815e022f76f36408ff78907d178>::operator() [11] 7ff7eb356d9e Star::ThreadImpl::runThread [12] 7ffd75737bd4 BaseThreadInitThunk [13] 7ffd7748ce51 RtlUserThreadStart [12:18:23.794] [Info] Root: Shutting down Root [12:18:24.126] [Error] OpenGL errors during shutdown: GL_INVALID_VALUE [12:18:24.126] [Info] Application: Destroying SDL Window [12:18:24.567] [Info] Application: stopped gracefully
Please don't stack posts on top of each other after such a short time as this can be considered spam. If you want to make additions to your previous post either edit it or wait for someone to reply. When providing a larger log either upload it as file or put it in a spoiler and a code tag. I merged your posts and also put the log into a spoiler as well as code tag.