Starbound

Starbound

499 ratings
Recipe Browser
5
   
Award
Favorite
Favorited
Unfavorite
File Size
Posted
Updated
226.532 KB
9 Mar, 2020 @ 11:11am
11 Feb @ 8:24am
11 Change Notes ( view )

Subscribe to download
Recipe Browser

Description
An expandable Recipe Database.
Inspired by a very similar mod for Terraria

What it does:
This mod allows you to find any recipe, craftingstation
and -the reason i made this in the first place-
products for any item in the game.

What it needs:
-QuickbarMini or any of its successors (Stardustcore (lite)) for opening the Interface
-[optional] The appropriate patch for fully working with modded Items
-[alternatively] OpenStarbound (https://github.com/OpenStarbound/OpenStarbound) for automatically working with mods

How to use:
Open the Recipe Browser from the Quickbar, then put the item you want to analyze in the
Input-Slot.
Alternatively you can search for items (materials and products) via the searchbar
or set an item as input using its unique ID.
You can then filter your Results or set any item on screen as input by clicking on it.

Current Features:
-analyzing items for recipes and products
-filtering results by rarity and/or category
-history of analyzed items
-filtering for known/unknown recipes only
-search function (finally works for every relevant item thanks to wyongcan)
-support for Frackin' Universe Extractors and other stations (also wyongcans work)
-set input directly via itemID
-OpenStarbound integration to automatically work with all your mods


What's to come:
-nothing new yet, maybe in the future


Known Issues:
-Basic Crafting (the menu opened with 'C') is shown as the Iron Crafting Table in the recipe area
-Some items don't get correctly identified by the filter (because tags in starbound (especially mods) seem to be rather arbitrary)


Compatibility:
This mod shouldn't really cause any problems with any other mod as no gamefiles were modified.
However due to limitations in Starbounds API it needs patches to fully support modded items.
If you're using OpenStarbound, this limitation doesn't apply.

pre-made Patches:

If you're using OpenStarbound, which i'd recommend, you don't need these.

FrackinUniverse:
https://sp.zhabite.com/sharedfiles/filedetails/?id=2018986916

Avali:
https://sp.zhabite.com/sharedfiles/filedetails/?id=2019615016

Elithian Races:
https://sp.zhabite.com/sharedfiles/filedetails/?id=2019615322


*Patches are not guaranteed to be up to date, this might cause the mod to display missing or perfectly generic items*
========================
If you're interested you can also make your own patch for almost any* mod
-or even your entire collection at once-
using the following Script (the exact same that i use):

Script for making Patches:

All-in-one Patcher (Steam only):
~Recommended~ easier to use, does not require manually unpacking assets (but will temporarily unpack all your installed mods at once, so make sure to have enough space available), makes one patch for all your installed mods and automatically adds it to the mods folder.

-No other Patches are required when using this and they will cause duplicated results-

Google Drive(.exe Version, v2 with some fixes):
https://drive.google.com/file/d/1sgJziZfxR3SENIwGQvBmWapkzFpyiyy4/view?usp=sharing

Old Versions in case the new one doesn't work for some reason:
Google Drive(.exe Version, fixed missing quotation marks in call to unpacker)
https://drive.google.com/file/d/1QjD3wN9Z7dZEWNGWoDlobbf33BAwfu_j/view?usp=sharing

Google Drive(.exe Version, old):
https://drive.google.com/file/d/1sT18rOSlltxDr0LnGek2OcCTL0WX6Cvv/view?usp=sharing


(Sourcecode, needs Python to run):
new Version (now with comments):
https://pastebin.com/7UxBArJt
old Version:
https://pastebin.com/wASPyXrg


Basic Patch creation script:
The old version of the script updated for the new Database format. Use this if you want to make patches for specific mods

Google Drive(.exe Version):
https://drive.google.com/file/d/1K2vf-iXH4mIzzSWVjZO2AtxxnaV0kg87/view?usp=sharing


(Sourcecode, needs Python to run):
https://pastebin.com/sLgT2fqx

*using custom patches for some outdated or incorrectly installed mods (missing compatibility patches etc.) can cause the interface to crash when attempting to load an item from those mods.
In those cases update the mod or remove the patch.


*all Patches created for this mod can be published without asking my permission*
========================


***

External Download (for non-Steam Versions of Starbound) (currently out of date):
Google Drive:
https://drive.google.com/file/d/1g9mZxnQTcSv3HZgasdM5anQQvTmkaUva/view?usp=sharing
93 Comments
林一二 15 May @ 11:15pm 
This is how I fix it, if you have Github I could send a PR:

At line 1559, use pcall to catch error

- ItemConfig = root.itemConfig(itemName)
+ local success, configResult = pcall(function() return root.itemConfig(itemName) end)
+ ItemConfig = success and configResult or nil

I repack and try it and it works, now it could search, won't stop at 1 / 3

G:\SteamLibrary\steamapps\common\Starbound\win32\asset_unpacker.exe "G:\SteamLibrary\steamapps\workshop\content\211820\2018183533\contents.pak" "UnpackedAssets"
G:\SteamLibrary\steamapps\common\Starbound\win32\asset_packer.exe "G:\SteamLibrary\steamapps\workshop\content\211820\2018183533\UnpackedAssets" "contents.pak"
林一二 15 May @ 10:56pm 
Thank you make this, but do you know why search stop at 1 / 3 , and search is always in progress? I'm using xstarbound which use faster and newer Lua version, the log is:

[13:54:28.943] [Error] Exception while invoking lua function 'update'. (LuaException) Error code 2, [string "/interface/recipebrowser/recipetabletui.lua"]:1559: (LuaException) Error code 2, [string "/items/buildscripts/alta/object.lua"]:48: invalid conversion specification: '%02s'
stack traceback:
[C]: in ?
[C]: in function 'string.format'
[string "/items/buildscripts/alta/object.lua"]:48: in global 'buildObject'
[string "/items/buildscripts/alta/object.lua"]:8: in function <[string "/items/buildscripts/alta/object.lua"]:5>

stack traceback:
[C]: in ?
[C]: in field 'itemConfig'
[string "/interface/recipebrowser/recipetabletui.lua"]:1559: in global 'searchInputs'
[string "/interface/recipebrowser/recipetabletui.lua"]:201: in function <[string "/interface/recipebrowser/recipetabletui.lua"]:186>
林一二 15 May @ 10:39pm 
I have an idea that generate quest / task / todo / mission from the recipe, so I could follow the quest when exploring, where can I start?
Ryanor 16 Feb @ 4:33pm 
Hey! Great job on getting universal support for recipes with OpenStarbound, although I'm wondering, is it possible to optimize the recipe searching now that OpenStarbound exists? I feel like that'd make this mod even better so you don't get lagspikes when looking for a query.
Ziorys  [author] 11 Feb @ 2:43pm 
oops ^^

that's what happens when you assume any consistency between mods and vanilla i suppose. thanks for the tip <3

it might work now (in testing at least it does for that saxophone recipe and similar ones)
patman 9 Feb @ 4:28pm 
its because the script expects all itemdescriptors to be objects when they can also be strings or arrays <3
Zennle 9 Feb @ 12:57pm 
[19:01:44.919] [Warn] [RB_postload]: failed to parse recipe from asset: (failed to get product)
[19:01:44.919] [Warn] /recipes/starbound/instruments/tool/saxophone.recipe
[19:01:44.919] [Warn] {"groups":["sb_craftingtable","sb_instruments","all"],"output":"saxophone","duration":0,"input":[["copperbar",2]]}
[19:01:44.919] [Warn] skipping. (this recipe will not appear in the recipe browser. if you notice this and think it should, tell me on steam which mod caused this issue.)

several thousand lines of this type of error in the log
Ziorys  [author] 28 Jan @ 1:24pm 
@Ryanor: thanks for catching that. I haven't had that problem, probably an edgecase with some mod i haven't tested with. The new update should make it so cases like that get handled reasonably now, but without knowing the exact cause that's all i can do for now. Could you check if it works now? (ideally the log should now also tell you what caused the problem in the first place)

@DeMadScribe: StarExtensions support is probably possible, but i'll have to figure out some implementation details first
Ryanor 25 Jan @ 5:28pm 
Error occurring after script is loading in OpenStarbound:
[18:00:07.521] [Info] Running postLoad scripts ["/osb_postload/rb_Autopatch_postload.lua"]
[18:00:07.524] [Error] Exception while running postLoad scripts from asset source 'C:\Program Files (x86)\Steam\steamapps\workshop\content\211820\2018183533\contents.pak': (LuaException) Error code 2, [string "/osb_postload/rb_Autopatch_postload.lua"]:43: table index is nil
stack traceback:
[C]: in metamethod '__newindex'
[string "/osb_postload/rb_Autopatch_postload.lua"]:43: in main chunk


Hope this helps troubleshoot! I don't see any new recipes from other mods showing up because of this error.
Ryanor 25 Jan @ 5:20pm 
Hi! I'm using OpenStarbound and this mod, and I recently removed some Recipe Browser patches so I can test whether items from Frackin', Elithian Races, and Avali are working. It seems to be not functioning correctly, I will send a log if I can soon to see what the issue is, if any.