I'm no stranger to modding. But there are just somethings that confound me to no end. For example, I've been working on a few custom races, along with new crafting stations for all of them. One however has been giving me trouble for 3 years now (off and on). I'm trying to make a kiln. But my kiln hates Starbound for some reason. Code: [Error] Application: exception thrown, shutting down: (ObjectException) Error loading object '/objects/crafting/kiln/kiln.object': (JsonException) Improper conversion to JsonArray from string [0] 140ff1a Star::captureStack [1] 140ede8 Star::StarException::StarException [2] 1636c0e Star::ObjectException::format<Star::String,Star::OutputProxy> [3] 164147a Star::ObjectDatabase::readConfig [4] 1638f2f <lambda_f865b784c9d3b8c99e05d88d7341860d>::operator() [5] 1638d7b <lambda_14134e40edbd36ed41cde94b2512e796>::operator() [6] 1636efe Star::LruCacheBase<Star::OrderedMapWrapper<Star::FlatHashMap,Star::String,std::pair<__int64,std::shared_ptr<Star::ObjectConfig> >,Star::BlockAllocator<std::pair<Star::String const ,std::pair<__int64,std::shared_ptr<Star::ObjectConfig> > >,1024>,Star::hash<Star::String,void>,std::equal_to<Star::String> > >::get<<lambda_14134e40edbd36ed41cde94b2512e796> > [7] 163bbab Star::ObjectDatabase::getConfig [8] 154bea1 Star::ItemDatabase::addObjectItems [9] 1547628 Star::ItemDatabase::ItemDatabase [10] 170c414 std::make_shared<Star::ItemDatabase> [11] 1711263 <lambda_9e20283833e6c8933fef4c0f73c09b45>::operator() [12] 1704156 std::_Invoker_functor::_Call<<lambda_9e20283833e6c8933fef4c0f73c09b45> &> [13] 1706a56 std::invoke<<lambda_9e20283833e6c8933fef4c0f73c09b45> &> [14] 1704d16 std::_Invoke_ret<std::shared_ptr<Star::ItemDatabase>,<lambda_9e20283833e6c8933fef4c0f73c09b45> &> [15] 1712f2a std::_Func_impl<<lambda_9e20283833e6c8933fef4c0f73c09b45>,std::allocator<int>,std::shared_ptr<Star::ItemDatabase> >::_Do_call [16] 17117ca std::_Func_class<std::shared_ptr<Star::SpeciesDatabase> >::operator() [17] 1708d64 Star::Root::loadMemberFunction<Star::ItemDatabase> [18] 170706c Star::Root::loadMember<Star::ItemDatabase> [19] 1715ecb Star::Root::itemDatabase [20] 170435b std::_Invoker_pmf_pointer::_Call<std::shared_ptr<Star::EntityFactory const > (__thiscall Star::Root::*)(void),Star::Root * &> [21] 170672b std::invoke<std::shared_ptr<Star::CollectionDatabase const > (__thiscall Star::Root::*&)(void),Star::Root * &> [22] 1704b09 std::_Invoke_ret<std::shared_ptr<Star::VersioningDatabase const > (__thiscall Star::Root::*&)(void),Star::Root * &> [23] 17043cc std::_Call_binder<std::_Unforced,0,std::shared_ptr<Star::CodexDatabase const > (__thiscall Star::Root::*)(void),std::tuple<Star::Root *>,std::tuple<> > [24] 1703da4 std::_Binder<std::_Unforced,std::shared_ptr<Star::VehicleDatabase const > (__thiscall Star::Root::*)(void),Star::Root * const>::operator()<> [25] 1712a13 std::_Func_impl<Star::SwallowReturn<std::_Binder<std::_Unforced,std::shared_ptr<Star::PatternedNameGenerator const > (__thiscall Star::Root::*)(void),Star::Root * const> >,std::allocator<int>,void>::_Do_call [26] 140779e <lambda_7fe09c15515a3a4541ffd059be2af05d>::operator() [27] 1408252 Star::WorkerPool::WorkerThread::run [28] 140ce5c Star::ThreadImpl::runThread [29] 7552ed6c BaseThreadInitThunk [30] 77c7377b RtlInitializeExceptionChain [31] 77c7374e RtlInitializeExceptionChain I can't understand what's going on here. See, normally whenever I get an error, Starbound logs it and I can fix it. But this time... I can't seem to figure out where the error is. Usually it's like Code: got ",", expected "}" or something like that. I think it's the kiln's .config file, but recently everything looks fine. I've even recently triple-checked the .object file, and it also looks fine. Take a look: Code: { "objectName" : "kiln", "colonyTags" : [ "crafting" ], "rarity" : "Uncommon", "race" : "arumajiro", "category" : "crafting", "price" : 50, "printable" : false, "description" : "The kiln is used for baking, drying, or heating, especially calcining lime, firing pottery, or reshaping glass.", "shortdescription" : "^orange;Kiln^white;", "maximumLiquidLevel" : 1, "apexDescription" : "A kiln. I can fire pottery and reheat glass here.", "avianDescription" : "A kiln perfect for firing pottery or heating glass.", "floranDescription" : "Kiln flamess hissss, burn. Floran brave it.", "glitchDescription" : "Impressed. This kiln is the perfect temperature for pottery and glass shaping.", "humanDescription" : "A kiln. Looks hot.", "hylotlDescription" : "A hot, imposing kiln. I wonder what works of art I can produce with it.", "novakidDescription" : "Basic lookin' kiln, for baking pottery.", "interactAction" : "OpenCraftingInterface", "interactData" : { "config" : "/interface/windowconfig/craftingkiln.config", "filter" : [ "kiln" ] }, "lightColor" : [179, 149, 107], "flickerPeriod" : 0.3, "flickerMinIntensity" : 0.95, "flickerMaxIntensity" : 1, "flickerPeriodVariance" : 0.075, "flickerIntensityVariance" : 0.025, "inventoryIcon" : "kilnicon.png", "placementImage" : "kiln.png:default.default", "placementImagePosition" : [-16, 0], "orientations" : [ { "imageLayers" : [ { "image" : "kiln.png:<color>.<frame>", "fullbright" : true }, { "image" : "kilnlit.png:<color>.<frame>" } ], "direction" : "left", "flipImages" : true, "imagePosition" : [-16, 0], "frames" : 4, "animationCycle" : 0.5, "spaceScan" : 0.1, "anchors" : [ "bottom" ] }, { "imageLayers" : [ { "image" : "kiln.png:<color>.<frame>", "fullbright" : true }, { "image" : "kilnlit.png:<color>.<frame>" } ], "direction" : "right", "imagePosition" : [-16, 0], "frames" : 4, "animationCycle" : 0.5, "spaceScan" : 0.1, "anchors" : [ "bottom" ] } ], "scripts" : "/scripts/npcToyObject.lua", "npcToy" : { "influence" : [ "kiln", "kiln", "kilnComplete" ], "defaultReactions" : { "kiln" : [ [1.0, "warmhands"], [1.0, "crouchwarm"] ], "kilnComplete" : [ [1.0, "warmhands"], [1.0, "crouchwarm"] ] }, "preciseStandPositionLeft" : [-1.5, 0.0], "preciseStandPositionRight" : [2.5, 0.0], "maxNpcs" : 1 } } And here's the kiln's config file: Code: { "filter" : [ ], "titleFromEntity" : true, "requiresBlueprint" : true, "craftingSound" : "/sfx/interface/crafting_furnace.ogg", "paneLayout" : { "background" : { "type" : "background", "fileHeader" : "/interface/crafting/craftingheader.png", "fileBody" : "/interface/crafting/furnacebody.png", "fileFooter" : "/interface/crafting/craftingfooter.png" }, "close" : { "type" : "button", "base" : "/interface/x.png", "hover" : "/interface/xhover.png", "pressed" : "/interface/xpress.png", "pressedOffset" : [0, 0], "position" : [321, 261] }, "windowtitle" : { "type" : "title", "title" : " KILN", "subtitle" : " ^#b9b5b2;Clay, glass, and more!", "position" : [-5, 252], "icon" : { "type" : "image", "file" : "/interface/crafting/craftingkiln.png", "position" : [0, -20], "zlevel" : -1 } }, "bgShine" : { "type" : "image", "file" : "/interface/crafting/shine.png", "position" : [-15, 0], "zlevel" : -10 }, "lblSchematics" : { "type" : "label", "position" : [88, 244], "hAnchor" : "mid", "value" : "^#b9b5b2;BLUEPRINTS" }, "lblProducttitle" : { "type" : "label", "position" : [265, 244], "hAnchor" : "mid", "value" : "^#b9b5b2;PRODUCT" }, "spinCount" : { "type" : "spinner", "position" : [220, 46], "upOffset" : 36 }, "tbSpinCount" : { "type" : "textbox", "position" : [232, 46], "textAlign" : "center", "maxWidth" : 16, "regex" : "x?\\d{0,4}", "hint" : "" }, "imgAmountInput" : { "type" : "image", "file" : "/interface/crafting/amount.png", "position" : [226, 45], "zlevel" : -3 }, "btnCraft" : { "type" : "button", "base" : "/interface/button.png", "hover" : "/interface/buttonhover.png", "position" : [271, 43], "caption" : "Smelt" }, "btnStopCraft" : { "type" : "button", "base" : "/interface/buttonactive.png", "hover" : "/interface/buttonactivehover.png", "position" : [271, 43], "caption" : "Stop" }, "imgCraftBg" : { "type" : "image", "file" : "/interface/crafting/craftbg.png", "position" : [196, 40], "zlevel" : -5 }, "currentRecipeIcon" : { "type" : "itemslot", "callback" : "null", "position" : [197, 41] }, "btnFilterHaveMaterials" : { "type" : "button", "base" : "/interface/crafting/checkboxnocheck.png", "baseImageChecked" : "/interface/crafting/checkboxcheck.png", "checkable" : true, "checked" : false, "position" : [40, 59] }, "lblProduct" : { "type" : "label", "position" : [51, 58], "hAnchor" : "left", "value" : "MATERIALS AVAILABLE" }, "description" : { "type" : "widget", "position" : [190, 41], "size" : [140, 220] }, "filter" : { "type" : "textbox", "position" : [60, 43], "hint" : "Search", "maxWidth" : 70, "escapeKey" : "close", "enterKey" : "filter", "focus" : false }, "scrollArea" : { "type" : "scrollArea", "rect" : [5, 69, 174, 221], "children" : { "itemList" : { "type" : "list", "schema" : { "selectedBG" : "/interface/crafting/craftableselected2.png", "unselectedBG" : "/interface/crafting/craftablebackground.png", "spacing" : [0, 1], "memberSize" : [159, 20], "listTemplate" : { "background" : { "type" : "image", "file" : "/interface/crafting/craftablebackground.png", "position" : [2, 0], "zlevel" : -1 }, "itemName" : { "type" : "label", "position" : [25, 5], "hAnchor" : "left", "wrapWidth" : 116, "value" : "Replace Me" }, "itemIcon" : { "type" : "itemslot", "position" : [3, 1], "callback" : "null" }, "newIcon" : { "type" : "image", "position" : [119, 5], "file" : "/interface/crafting/new.png", "zlevel" : 2 }, "moneyIcon" : { "type" : "image", "position" : [122, 1], "file" : "/interface/money.png" }, "priceLabel" : { "type" : "label", "position" : [134, 1], "hAnchor" : "left", "value" : "0" }, "notcraftableoverlay" : { "type" : "image", "file" : "/interface/crafting/notcraftableoverlay.png", "position" : [2, 0], "zlevel" : 1 } } } } } }, "lblDoorTab" : { "type" : "image", "file" : "/interface/crafting/tabicon_doors.png", "position" : [6, 223], "zlevel" : 3 }, "lblLightTab" : { "type" : "image", "file" : "/interface/crafting/tabicon_lights.png", "position" : [33, 223], "zlevel" : 3 }, "lblBedTab" : { "type" : "image", "file" : "/interface/crafting/tabicon_beds.png", "position" : [59, 223], "zlevel" : 3 }, "lblDecorTab" : { "type" : "image", "file" : "/interface/crafting/tabicon_decorations.png", "position" : [88, 223], "zlevel" : 3 }, "lblStoreTab" : { "type" : "image", "file" : "/interface/crafting/tabicon_storage.png", "position" : [114, 223], "zlevel" : 3 }, "lblMatTab" : { "type" : "image", "file" : "/interface/crafting/tabicon_materials.png", "position" : [144, 223], "zlevel" : 3 }, "categories" : { "type" : "radioGroup", "toggleMode" : false, "buttons" : [ { "selected" : true, "position" : [4, 221], "baseImage" : "/interface/crafting/unselectedTab.png", "baseImageChecked" : "/interface/crafting/selectedTab.png", "data" : { "filter" : [ "doors" ] } }, { "position" : [31, 221], "baseImage" : "/interface/crafting/unselectedTab.png", "baseImageChecked" : "/interface/crafting/selectedTab.png", "data" : { "filter" : [ "lights" ] } }, { "position" : [58, 221], "baseImage" : "/interface/crafting/unselectedTab.png", "baseImageChecked" : "/interface/crafting/selectedTab.png", "data" : { "filter" : [ "beds" ] } }, { "position" : [85, 221], "baseImage" : "/interface/crafting/unselectedTab.png", "baseImageChecked" : "/interface/crafting/selectedTab.png", "data" : { "filter" : [ "decoration" ] } }, { "position" : [112, 221], "baseImage" : "/interface/crafting/unselectedTab.png", "baseImageChecked" : "/interface/crafting/selectedTab.png", "data" : { "filter" : [ "storage" ] } }, { "position" : [139, 221], "baseImage" : "/interface/crafting/unselectedTab.png", "baseImageChecked" : "/interface/crafting/selectedTab.png", "data" : { "filter" : [ "materials" ] } } ] }, "rarities" : { "type" : "radioGroup", "toggleMode" : true, "buttons" : [ ] } } } Any help or ideas? Maybe there's something minuscule that I missed? Edit: Small update- I'm having the same issues with another crafting table now, but for a separate mod. When it rains, it pours...
Sorry for the double post, but I figured it out! It turns out when I copied the config file from the tiered workbench, I neglected to remove the Code: "titleFromEntity" : true in the kiln's config. So note to future coders: if you're going to make a crafting table that won't be improved like the inventor's table (for example), don't include code for such an item in the .object file and the .config file.