
The win64 directory has no unpacker in it, but osx and linux do so go nuts. If you can handle a command line, you can use one to navigate to the Starbound directory and type win32\asset_unpacker assets\packed.pak unpacked. The same replacement rule applies to the other two file types.įor more about JSON and JSON Patch, please check out my Labs.įirst thing you should do is unpack the base assets. patch extension, that'll be used instead of the original. If a mod has a file objects/bonus/devstatuegeorge/devstatuegeorge.object without the. patch, that will be applied to devstatuegeorge.object before it is used by the game. Thus, if a mod has a file objects/bonus/devstatuegeorge/devstatuegeorge.object. patch appended to it gets applied to the base file, in the same order as the asset sources. When loading a JSON data file, any file with the same relative path but with. When something in the game references objects/bonus/devstatuegeorge/devstatuegeorge.object, what's returned can theoretically come from any loaded asset source, but by default it'll be the copy found in assets/packed.pak. Importantly, the file system is abstracted away. By default, the game loads from the assets and mods.pak file and every valid directory, which boils down to assets/packed.pak, everything in assets/user and basically everything in mods, such as mods/somemod.pak, mods/unpackedmod, etc, with each file that has the same relative path as an earlier file replacing said file. They're effectively identical as far as the game's concerned, and the base assets are in fact in a pakfile. Starbound loads its data from a few different sources, being pakfiles and directories. This is mostly because any file references in configs and such will be in Unix notation. Incidentally, I use Unix path notation throughout this document, so the slashes go forward (/) instead of back (\). It's a stupid default setting to have and disabling it will make your life so much easier. I strongly suggest, now that I mention file extensions, that if you use Windows, you make sure "Hide extensions for known file types" is disabled. png, JSON files have various different extensions which usually change how the game uses them.

lua extension, and PNG files are likewise always.

Note that although Lua scripts always have a. Second, while all three can be replaced, JSON can also be patched. First of all, there are basically three different types of file for you to worry about: JSON data, Lua scripts, and PNG images. Starbound modding involves a few basic tools and concepts. The Helmeted Rodent - Starbound Modding Howto ~ Chapter One: A Simple Decoration Starbound Modding Howto ~ Chapter One: A Simple Decoration
