{"id":17761681,"url":"https://github.com/pathoschild/stardewxnbhack","last_synced_at":"2025-07-22T22:05:48.990Z","repository":{"id":40910672,"uuid":"192248834","full_name":"Pathoschild/StardewXnbHack","owner":"Pathoschild","description":"A simple one-way XNB unpacker for Stardew Valley.","archived":false,"fork":false,"pushed_at":"2024-11-06T00:37:05.000Z","size":165,"stargazers_count":176,"open_issues_count":0,"forks_count":13,"subscribers_count":4,"default_branch":"develop","last_synced_at":"2025-05-17T15:07:51.209Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Pathoschild.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-06-17T00:13:06.000Z","updated_at":"2025-05-15T23:20:18.000Z","dependencies_parsed_at":"2024-03-19T07:07:56.554Z","dependency_job_id":"6e9bbc0c-8c9d-44f5-87c4-72472fbb5e76","html_url":"https://github.com/Pathoschild/StardewXnbHack","commit_stats":null,"previous_names":[],"tags_count":13,"template":false,"template_full_name":null,"purl":"pkg:github/Pathoschild/StardewXnbHack","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Pathoschild%2FStardewXnbHack","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Pathoschild%2FStardewXnbHack/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Pathoschild%2FStardewXnbHack/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Pathoschild%2FStardewXnbHack/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Pathoschild","download_url":"https://codeload.github.com/Pathoschild/StardewXnbHack/tar.gz/refs/heads/develop","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Pathoschild%2FStardewXnbHack/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266580426,"owners_count":23951219,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-22T02:00:09.085Z","response_time":66,"last_error":null,"robots_txt_status":null,"robots_txt_updated_at":null,"robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-26T19:42:44.450Z","updated_at":"2025-07-22T22:05:48.922Z","avatar_url":"https://github.com/Pathoschild.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"**StardewXnbHack** is a one-way XNB unpacker for Stardew Valley. It supports every Stardew Valley\nasset type, is very easy to update for game changes, and is quick at unpacking many files at once.\n\n![](StardewXnbHack/assets/icon.png)\n\n## Usage\nTo install it:\n\n1. Install [Stardew Valley](https://www.stardewvalley.net/) and [SMAPI](https://smapi.io/).\n2. From the [releases page](https://github.com/Pathoschild/StardewXnbHack/releases), download the\n   `StardewXnbHack *.zip` file for your operating system under 'assets'.\n3. Unzip it into [your Stardew Valley folder](https://stardewvalleywiki.com/Modding:Game_folder),\n   so `StardewXnbHack.exe` (Windows) or `StardewXnbHack` (Linux/macOS) is in the same folder as\n   `Stardew Valley.dll`.\n\nTo unpack the entire `Content` folder into `Content (unpacked)`, just double-click on\n`StardewXnbHack.exe` (Windows) or `StardewXnbHack` (Linux/macOS).\n\n## FAQs\n### How does this compare to other XNB unpackers?\nStardewXnbHack reads files through a temporary game instance, unlike other unpackers which read\nthem directly. That lets it support custom Stardew Valley formats, but it can't repack files (which\nis [rarely needed anyway](https://stardewvalleywiki.com/Modding:Content_Patcher)) or support other\ngames.\n\nThe main differences at a glance:\n\n\u0026nbsp;                | StardewXnbHack | [xnbcli](https://github.com/LeonBlade/xnbcli/) | [XNBExtract](https://community.playstarbound.com/threads/110976)\n--------------------- | ---------------- | ------ | -----------\nSupported asset types | ✓ images\u003cbr /\u003e✓ maps\u003cbr /\u003e✓ dictionary data\u003cbr /\u003e✓ font texture\u003cbr /\u003e✓ font XML data\u003cbr /\u003e✓ structured data | ✓ images\u003cbr /\u003e✓ maps\u003cbr /\u003e✓ dictionary data\u003cbr /\u003e✓ font textures\u003cbr /\u003e✓ font XML data\u003cbr /\u003e❑ structured data | ✓ images\u003cbr /\u003e✓ maps\u003cbr /\u003e✓ dictionary data\u003cbr /\u003e✓ font textures\u003cbr /\u003e❑ font XML data\u003cbr /\u003e❑ structured data\nExport formats | ✓ `.png` for images\u003cbr /\u003e✓ `.tmx` for maps\u003cbr /\u003e✓ `.json` for data ([CP](https://stardewvalleywiki.com/Modding:Content_Patcher)-compatible) | ✓ `.png` for images\u003cbr /\u003e✓ `.tbin` for maps¹\u003cbr /\u003e❑ `.json` for data (custom format) | ✓ `.png` for images\u003cbr /\u003e✓ `.tbin` for maps¹\u003cbr /\u003e❑ `.yaml` for data\nSupported platforms | ✓ Windows\u003cbr /\u003e✓ Linux\u003cbr /\u003e✓ Mac | ✓ Windows\u003cbr /\u003e✓ Linux\u003cbr /\u003e✓ Mac | ✓ Windows\u003cbr /\u003e❑ Linux\u003cbr /\u003e❑ Mac\nSupported operations | ✓ unpack\u003cbr /\u003e❑ pack | ✓ unpack\u003cbr /\u003e✓ pack  (uncompressed) | ✓ unpack\u003cbr /\u003e✓ pack\nMaintainable | ✓ easy to update | ❑ complex | ❑ complex, closed-source\nSample unpack time\u003cbr /\u003e(full `Content` folder) | ≈0m 43s | ≈6m 5s | ≈2m 20s\nLicense | MIT | GPL | n/a\n\n\u003csup\u003e¹ `.tmx` is the [preferred map format](https://stardewvalleywiki.com/Modding:Maps#Map_formats), but you can open the `.tbin` file in Tiled and export it as `.tmx`.\u003c/sup\u003e\n\n### When I run StardewXnbHack, nothing happens or it quickly exits?\nThat means it crashed for some reason.\n\nFirst, make sure you have the latest versions of SMAPI and Stardew Valley.\n\nIf it still happens, here's how to see what the error is:\n\n\u003cdiv style=\"margin-left:2em;\"\u003e\n\n1. Find [your game folder](https://stardewvalleywiki.com/Modding:Game_folder).\n2. [Open a terminal in the game folder](https://www.groovypost.com/howto/open-command-window-terminal-window-specific-folder-windows-mac-linux/).\n3. Type this command:\n   * **Windows:** `StardewXnbHack.exe` (for Command Prompt) or `./StardewXnbHack.exe` (for PowerShell or Windows Terminal)\n   * **Linux or macOS:** `./StardewXnbHack`\n4. Press enter to run the command.\n\nThat should run StardewXnbHack in the same terminal, and the window will stay open if it crashes.\n\u003c/div\u003e\n\nYou can ask for help in [#making-mods on the Stardew Valley Discord](https://stardewvalleywiki.com/Modding:Community#Discord).\nIf you're sure it's a StardewXnbHack bug (and not a usage error), you can report it on the [issues\npage](https://github.com/Pathoschild/StardewXnbHack/issues).\n\n### Can I simplify the data files?\nBy default, unpacked data files include _all_ of the fields. This can be very noisy, and doesn't\nreally match how the data assets are formatted in the original code.\n\nYou can omit the default fields instead:\n\n1. Open a terminal in [your game folder](https://stardewvalleywiki.com/Modding:Game_folder).\n2. Run `StardewXnbHack.exe --clean` to omit the default fields.\n\nThis is still experimental, but it may become the default behavior in future versions.\n\n\n## For StardewXnbHack developers\nThis section explains how to edit or compile StardewXnbHack from the source code. Most users should\n[use the release version](#usage) instead.\n\n### Compile from source\n1. Install [Stardew Valley](https://www.stardewvalley.net/) and [SMAPI](https://smapi.io/).\n2. Open the `.sln` solution file in [Visual Studio](https://visualstudio.microsoft.com/vs/).\n3. Click _Build \u003e Build Solution_. (If it doesn't find the Stardew Valley folder automatically, see\n   [_custom game path_ in the mod build package readme](https://smapi.io/package/custom-game-path).)\n\n### Debug a local build\nJust launch the project via _Debug \u003e Start Debugging_. It will run from your `bin` folder, but\nshould auto-detect your game folder and unpack its `Content` folder.\n\n### Prepare a compiled release\nTo prepare a crossplatform SMAPI release:\n\n1. Update the [semantic version](https://semver.org) in `StardewXnbHack.csproj`.\n2. Run the `build-scripts/prepare-release-packages.sh` on Linux or macOS.  \n   _See the [equivalent documentation for SMAPI](https://github.com/Pathoschild/SMAPI/blob/develop/docs/technical/smapi.md#preparing-a-release)\n   for the first-time setup (including using WSL on Windows)._\n3. Release the zip files created in the root `bin` folder.\n\n## See also\n* [Release notes](release-notes.md)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpathoschild%2Fstardewxnbhack","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpathoschild%2Fstardewxnbhack","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpathoschild%2Fstardewxnbhack/lists"}