diff --git a/CLAUDE.md b/CLAUDE.md index c8d4ccd..e9b3f8d 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -20,6 +20,24 @@ through a PR → merge. - Upgrade facts players need stay (replace files with the game closed; allocations are kept; remove the old MixedStorage-BeaverBuddies add-on). Other version history goes only in CHANGELOG.md and release notes. +## Writing README and website text + +Kyler, 2026-09-24: "simplicity and elegance is effective and desirable." Every change to the README, the website +text and the player docs follows these rules. + +- **Write for a Timberborn player** who wants to download, install and use the mod. Developer detail goes in + `DEVELOPMENT.md` or CHANGELOG.md; link to it rather than repeating it. +- **Short.** One idea per sentence, most under about 20 words. A paragraph or FAQ answer is one to three sentences, + a troubleshooting answer a few numbered steps. +- **Lead with the action.** Menu paths as arrow chains; on-screen labels in bold, exactly as in game. +- **Say each thing once**, where a player would look for it; link to it elsewhere. +- **Plain words.** No internals (class names, ids, formats) unless the player needs them to act. +- **Cut** filler, repeated caveats, edge cases a player won't meet, and history ("since …", "no longer", older + builds). Describe the mod as it is now. +- **Check every fact against the code** before writing it; changelogs lag. +- **Keep, briefly:** credits, the unofficial line, the status, and safety facts. +- **Reread as a new player before publishing.** Every step works as written, and nothing is said twice. + ## Website - **Where:** `docs/`: `index.html` (features, cabinet, demo), `install.html`, `troubleshooting.html`, `faq.html`, @@ -88,6 +106,7 @@ through a PR → merge. ### Content rules +- Every word follows *Writing README and website text* above. - Describe the mod as it is now. Don't write "New in ", "added in …" or version history on player pages; that belongs in CHANGELOG.md and the GitHub release notes. - The played and not-played status matches the README's "Compatibility and testing" exactly. Never invent numbers, @@ -123,22 +142,22 @@ When asked to "update the website for the latest release, consistent with the de list; the FAQ groups; troubleshooting `#problems`. Supported buildings: index `#buildings` table and `#faq-buildings`. - Panel changes: the replica (`demo.js`, `game-panel.css`) and its tips list; ask Kyler for a new in-game screenshot rather than faking one. -3. Put new content into the existing components: a new question goes in the right FAQ group as a `details.qa` with a - stable id; a new problem is a `details.qa` in troubleshooting with "Why it happens" / "What to do" h4s; a new - control is a row in install's controls table; a feature is a `.ledger` row; a caution is a `.panel.note.note--warn`. - Don't restyle anything. +3. Write it as *Writing README and website text* says, and put new content into the existing components: a new + question goes in the right FAQ group as a `details.qa` with a stable id; a new problem is a `details.qa` in + troubleshooting with "Why it happens" / "What to do" h4s; a new control is a row in install's controls table; a + feature is a `.ledger` row; a caution is a `.panel.note.note--warn`. Don't restyle anything. 4. Test: `node tests/test-site.mjs` (must pass 76/76). It enforces: download buttons (`a.btn` "Download") with `data-release-href="download"` and a `/releases/latest` fallback on index and install; elements marked `hidden` stay hidden under the stylesheets; `404.html` loads assets by absolute `/MixedStorage/` paths; every page loads `assets/release.js` with the same `data-repo` and `data-asset`; the offered-release scenarios. CI also runs the allocation tests and `tests/check-version.ps1`. -5. Preview: `python -m http.server 8788 -d site` (in the background), then open http://localhost:8788/. Capture light, +5. Preview: `python -m http.server 8788 -d docs` (in the background), then open http://localhost:8788/. Capture light, dark and a 390px phone. If the personal `impeccable-site-flow` skill is available, use `python /scripts/capsite.py http://localhost:8788/ "" install.html troubleshooting.html faq.html 404.html`; otherwise use the Browser pane in both colour schemes at desktop and mobile sizes. Check the changed sections and that there's no horizontal scroll. Stop the server afterwards. 6. Optional but recommended: run the detector, - `"$(ls -d ~/.claude/plugins/cache/impeccable/impeccable/*/skills/impeccable | tail -1)/scripts/impeccable" detect --json site` + `"$(ls -d ~/.claude/plugins/cache/impeccable/impeccable/*/skills/impeccable | tail -1)/scripts/impeccable" detect --json docs` (parse from the first `[`). Known false positives: cramped-padding on the four main pages and flat-type-hierarchy on 404 (ignored in config); `side-tab` on the 3px walnut rules (`.page-head`, `.rules li`) and the scale folio's leader line; `layout-transition` on the drawers' `padding-bottom` (the signature motion) and the replica's fill bar; diff --git a/PRODUCT.md b/PRODUCT.md index b04f8f6..917862f 100644 --- a/PRODUCT.md +++ b/PRODUCT.md @@ -66,7 +66,8 @@ models. One download covers single player and co-op. ## Brand Commitments -- Voice: a fellow player explaining a handy tool. Clear, exact, friendly, never hype. +- Voice: a fellow player explaining a handy tool. Clear, exact, friendly, never hype. Short and plain: one idea per + sentence, each thing said once, no internals and no history (see CLAUDE.md, *Writing README and website text*). - Native feel is the product's identity: the mod's own panel is drawn with the game's frames, buttons and fields, and the site's replica does the same. - No official Timberborn logos or key art. The game's goods icons are allowed (they're already used, credited as diff --git a/README.md b/README.md index 658b6c1..5e85863 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,8 @@ # MixedStorage -**Store several kinds of goods in one warehouse or pile—and choose how much space each gets.** +**Store several kinds of goods in one warehouse or pile, and choose how much space each gets.** -Divide a building's capacity by percentage. For example, a 1,200-capacity warehouse can reserve **50% for carrots (600)** and **50% for gears (600)**. Percentages reserve space; they do not create goods or instantly fill the building. +Give each good a percentage of the building's capacity. At **50% carrots** and **50% gears**, a 1,200-capacity warehouse holds 600 of each. Percentages reserve space; they don't create goods or fill the building. **[Download MixedStorage v1.2.0](https://github.com/timbermods/MixedStorage/releases/download/v1.2.0/MixedStorage-v1.2.0.zip)** · [Release notes](https://github.com/timbermods/MixedStorage/releases/tag/v1.2.0) · [Report a problem](https://github.com/timbermods/MixedStorage/issues) · [Website](https://timbermods.github.io/MixedStorage/) @@ -14,47 +14,45 @@ Divide a building's capacity by percentage. For example, a 1,200-capacity wareho ## What you can do -- **Mix goods:** assign percentages to any goods the building normally accepts. -- **See your stock at a glance:** icons, large counts, percentages, and fill bars summarize the contents. -- **Set up storage quickly:** use **Max** for one good or copy allocations between compatible buildings. -- **Keep controls within reach:** contents scroll while **Copy allocations**, **Paste allocations**, **Apply**, **Revert**, and the allocation total stay in a fixed footer. -- **See mixed contents in the world:** native goods models represent the stored items. The visual split is approximate; the panel shows exact counts. +- **Mix goods:** give a percentage to any good the building normally accepts. +- **See your stock at a glance:** summary cards show each good's stock, limit, share and fill bar. +- **Set up quickly:** search the list, give one good everything with **Max**, or copy a split to another building. +- **See the mix in the world:** the building shows its goods with the game's own models. ## Install 1. Download **MixedStorage-v1.2.0.zip** above. On the release page, choose that file under **Assets**, not **Source code**. -2. Close Timberborn. Extract the ZIP's **MixedStorage** folder into your Timberborn **Mods** folder—normally `Documents\Timberborn\Mods` on Windows. -3. Check that `Documents\Timberborn\Mods\MixedStorage\version-1.1\manifest.json` exists. Avoid an extra nested MixedStorage folder. -4. Install **Harmony** 2.4.1 or newer from the [Steam Workshop](https://steamcommunity.com/sharedfiles/filedetails/?id=3284904751) if you don't have it. Enable **Harmony** and **MixedStorage** in the game's mod manager, then restart when prompted. +2. Close Timberborn. Extract the ZIP's **MixedStorage** folder into `Documents\Timberborn\Mods`. +3. Check that `Documents\Timberborn\Mods\MixedStorage\version-1.1\manifest.json` exists, with no extra folder in between. +4. Install **Harmony** 2.4.1 or newer from the [Steam Workshop](https://steamcommunity.com/sharedfiles/filedetails/?id=3284904751) if you don't have it. +5. Start the game, enable **Harmony** and **MixedStorage** in the mod manager, and restart when prompted. -**Upgrading?** Replace the existing MixedStorage files while the game is closed. Existing MixedStorage allocations are preserved. +The [install guide](https://timbermods.github.io/MixedStorage/install.html) shows the folder layout and how to check that the mod loaded. -**Coming from v0.4.x or earlier?** Remove or disable **MixedStorage-BeaverBuddies**, the old separate addon. Its functionality is now included; leaving it enabled causes a startup error. Keep BeaverBuddies itself if you play multiplayer. +**Upgrading:** with the game closed, replace the MixedStorage files. Your allocations are kept. If you still have the old **MixedStorage-BeaverBuddies** add-on, remove or disable it: it causes a startup error. -## Set up your first mixed storage building +## Set up a mixed building 1. Select a supported warehouse or pile. -2. Find the goods you want in **Storage Allocation**. Use **Search** if needed. -3. Enter a percentage for each good. Leave unwanted goods at **0%**. -4. Make the total **exactly 100%**, then click **Apply 100%**. +2. In **Storage Allocation**, type a percentage for each good you want. Leave the rest at **0%**. +3. When the total is exactly 100%, click **Apply 100%**. -For the example above, enter `50` for carrots and `50` for gears, with everything else at `0`. A 1,200-capacity warehouse will allow 600 of each. +Edits are drafts until you click Apply. While Apply would change the building, it has an orange ring. -To store nothing in a building, set every good to 0% (for example with **Clear all**) and click **Apply: store nothing**. It then stores nothing, like a newly built one. Stock already there is kept and can be hauled out. - -**Edits are drafts until you click Apply.** While pressing Apply would change the building (the draft is valid and differs from the building's current settings), the Apply button gets an orange border and bold text. The top summary continues to show the applied settings and actual stock while you edit, search, or filter. Normal hauling rules determine when goods arrive. +To make a building store nothing, set every good to 0% and click **Apply: store nothing**. Stock already there stays and can be hauled out. | Control | What it does | | --- | --- | -| **Max** | Sets that good to 100% and all others to 0%. Click Apply to confirm. | -| **× beside a percentage** | Resets that good's draft percentage to 0%. | -| **Clear all** | Sets every draft percentage to 0%. Apply it to store nothing, or enter new percentages. Current allocations stay active until you click Apply. | -| **Revert** | Discards edits and restores the current settings. | -| **Allocated goods only** | Shows goods with a nonzero draft percentage. | -| **Copy allocations** | Copies a valid draft totaling 100%. | -| **Paste allocations** | Pastes copied percentages into another building's draft. Click Apply there to confirm. | +| **Search** | Finds a good in the list. | +| **Max** | Sets that good to 100% and every other good to 0%. | +| **×** beside a percentage | Sets that good to 0%. | +| **Clear all** | Sets every good to 0%. | +| **Revert** | Discards your edits. | +| **Allocated goods only** | Shows only goods above 0%. | +| **Copy allocations** | Copies a valid 100% split. | +| **Paste allocations** | Pastes it into another building. Limits follow that building's capacity. | -Percentages allow **two decimal places**. Copy/paste adjusts item limits to the destination's capacity. The destination must accept every copied good with a nonzero percentage; an incompatible paste leaves the draft unchanged. Stock, hauling mode, and hauler priority are not copied. Copied settings are kept until you close the game. +Percentages allow two decimal places. Paste works only if the building accepts every copied good. Stock, hauling mode and hauler priority aren't copied, and the copy is kept until you close the game. ## Supported buildings @@ -63,61 +61,62 @@ Percentages allow **two decimal places**. Copy/paste adjusts item limits to the | **Folktails** | Small, medium, large | Small, large, underground | | **Iron Teeth** | Small, medium, large | Small industrial, large industrial | -Buildings keep their normal accepted goods. Warehouses do not gain pile-only goods, or vice versa. **Tanks and map-editor reserve storage are not included.** +Buildings keep their normal accepted goods. Tanks and map-editor reserve storage aren't included. -## Multiplayer with BeaverBuddies +## Good to know -Co-op needs the [BeaverBuddies Stability Fork](https://timbermods.github.io/BeaverBuddies-Stability-Fork/). Every player installs the **same version of MixedStorage** (and the same Stability Fork build) and runs the **same game version**. Enable the Stability Fork as usual; MixedStorage turns on its bundled integration automatically. See [Compatibility and testing](#compatibility-and-testing) for which BeaverBuddies builds work. +- **Limits are whole items.** They always add up to the full capacity. A tiny share in a small building can round to 0; the panel warns you. +- **Lowering a limit never deletes stock.** Extra goods show as excess and can be hauled out. +- **Deliveries on their way count.** If a lower limit clashes with them, wait for them to arrive and apply again. +- **Hauling works as usual.** Accept, Obtain, Supply, Empty and hauler priority follow the game's rules. +- **The mix in the world is approximate.** Banners show one good. The panel has the exact counts. +- **The game's Copy settings tool copies allocations.** + - From a mixed building, it copies the percentages. + - From a normal building, it turns a mixed building back into a normal one. + - From a building that stores nothing, it leaves the allocation alone. + - If the target can't take the change, for example while a delivery is on its way, it stays as it was and Player.log says why. +- **The mod's own text is in English.** Good names follow your game language. -There is **no separate MixedStorage multiplayer download**. Single-player users do not need BeaverBuddies. +## Multiplayer -Applied allocations synchronize through BeaverBuddies. Apply may briefly show a queued message until the next simulation tick. After upgrading, restart every computer's game and start a fresh multiplayer session. Old replay recordings may reference the former addon and may need the original mod versions. +Co-op needs the latest [BeaverBuddies Stability Fork](https://timbermods.github.io/BeaverBuddies-Stability-Fork/) on every computer. Single player doesn't need BeaverBuddies. -## Useful things to know +- Co-op support is built in and turns on by itself. +- Every player needs the same MixedStorage version, Stability Fork build and game version. +- After upgrading, everyone restarts the game and starts a fresh session. +- Apply may briefly say **Queued for multiplayer** until the next simulation tick. -- **Items use whole slots.** Percentages are rounded into whole-item limits while keeping the full capacity allocated. Tiny shares can round to zero, especially in small storage buildings. Check the displayed limit. -- **Lowering a limit does not delete stock.** Extra goods remain stored and can be hauled out. The summary marks them as excess. -- **Incoming deliveries count toward limits.** If a reduction conflicts with goods already on their way, wait for delivery and try again. -- **Storage modes still matter.** Accept, Obtain, Supply, Empty, and hauler priority continue to use the game's hauling system. -- **World visuals are approximate.** Whole visible cells cannot always match a percentage exactly. Tiny shares may have no visible cell, some models may look narrower, and banners still show one representative good. Excess goods may not be fully represented. Use the summary for exact amounts; unsupported meshes fall back to the original visuals. -- **The game's Copy settings tool works with mixed storage.** - - Copying from a mixed building gives the target the same percentages. If the target does not accept all of those goods, or an incoming delivery conflicts, the target keeps its current goods and percentages and Player.log says why. The tool's other settings, such as the storage mode, are still copied. - - Copying from a building set to store nothing, such as one just built, leaves a mixed building's allocation as it is. So copying its storage mode (Accept, Obtain, Supply or Empty) does not wipe the allocation. - - Copying from a normal building that stores a good this one accepts turns a mixed building back into a normal one. If a delivery already on its way would no longer fit, the building stays mixed and Player.log says why. To make such a normal building, pick a good for a building without an allocation in the goods dropdown of the game's building list. -- **The mod's own text is in English.** Good names follow your game language. +If the installed BeaverBuddies lacks something MixedStorage needs, co-op Apply is turned off and Player.log says what's missing. The original [BeaverBuddies](https://github.com/thomaswp/BeaverBuddies) by thomaswp and contributors, and Timber Together, haven't been tested with MixedStorage. ## Having trouble? -| Problem | Check this | +| Problem | What to do | | --- | --- | -| Mod does not appear | Check the folder structure, enable Harmony and MixedStorage, and restart. | -| Apply is unavailable | Every percentage must be valid and the total must be exactly 100%, or 0% to store nothing. Goods marked "(not accepted here)" or "(unavailable)", which a saved allocation can still hold after a goods mod is removed, must be set to 0%. Wait if a multiplayer change is queued. | -| Paste is rejected | The destination must accept every good with a nonzero copied percentage. | -| Lower limit is rejected | Wait for incoming deliveries to finish. | -| Startup mentions the old addon | Remove or disable MixedStorage-BeaverBuddies, then fully restart. | -| Apply says multiplayer support could not start with the installed BeaverBuddies | Install the BeaverBuddies build named under [Compatibility and testing](#compatibility-and-testing) on every computer. Player.log names what is missing. Single-player usually still works; if even that is refused, disable BeaverBuddies for single-player games. | -| Apply says MixedStorage cannot change allocations with this game version | A game update changed something MixedStorage relies on. Existing allocations still apply, but none can change (by Apply or Copy settings) until you install the MixedStorage version made for your game version. In co-op, every player needs the same game version. | -| Apply shows "Apply failed" | Report it with your Player.log; the message and log say what went wrong. | -| Panel or visuals look wrong | Include a screenshot, resolution/UI scale, building type, and allocations in a report. | - -[Open an issue](https://github.com/timbermods/MixedStorage/issues) with your game/mod versions, other enabled mods, whether you were playing multiplayer, and steps to reproduce. For crashes, include the relevant error and stack trace; review logs for personal information before sharing them. Windows logs are normally in `%USERPROFILE%\AppData\LocalLow\Mechanistry\Timberborn`. After restarting, the previous session is usually in `Player-prev.log`. +| The mod doesn't appear | Check the folder layout, enable Harmony and MixedStorage, and restart. | +| Apply is grayed out | Make every box valid and the total exactly 100%, or 0% to store nothing. Set goods marked "(not accepted here)" or "(unavailable)" to 0%. | +| Paste is rejected | The building must accept every copied good. | +| A lower limit is rejected | Wait for incoming deliveries to finish. | +| A startup error names the old add-on | Remove or disable MixedStorage-BeaverBuddies, then restart. | +| Apply says multiplayer support could not start | Install the latest Stability Fork on every computer. For single player, you can disable BeaverBuddies. | +| Apply says MixedStorage cannot change allocations with this game version | Install the MixedStorage version made for your game version. Existing allocations still work. | +| Apply says "Apply failed" | Report it with your Player.log. | -## Removing MixedStorage +The [troubleshooting guide](https://timbermods.github.io/MixedStorage/troubleshooting.html) has more. To report a bug, [open an issue](https://github.com/timbermods/MixedStorage/issues) with your game and mod versions, other mods, whether you played co-op, and steps to reproduce. -Close Timberborn, then disable MixedStorage in the mod manager or delete its folder. In saves that used it, each mixed building goes back to storing only its largest allocated good. As when you switch a warehouse to a different good in the base game, haulers empty out the other goods, and may move some of the kept good too, before the building fills with it again. +Player.log is in `%USERPROFILE%\AppData\LocalLow\Mechanistry\Timberborn`; after a restart, the previous session is in `Player-prev.log`. Check logs for personal details before sharing them. -## Compatibility and testing +## Removing MixedStorage -Built against **Timberborn 1.1.2.4**. +Close Timberborn, then disable MixedStorage or delete its folder. In saves that used it, each mixed building goes back to one good: the one with the largest share. Haulers move the other goods out, as when you change a warehouse's good in the base game. -The bundled multiplayer integration is built against the **[BeaverBuddies Stability Fork](https://github.com/timbermods/BeaverBuddies-Stability-Fork)** (formerly called Stability Preview), which is the build to use. Stability Fork releases 1.0.0 through 1.1.12 were checked to have everything the integration needs; install the latest. At startup, MixedStorage checks the installed BeaverBuddies for every part it uses. If anything is missing, it turns co-op Apply off rather than risk a desync, and Player.log names what is missing. The original [BeaverBuddies](https://github.com/thomaswp/BeaverBuddies) by thomaswp and contributors, and Timber Together (Beta), have not been tested with MixedStorage. +## Compatibility and testing -Players have reported successful use of earlier builds, and the **v0.5.8 layout, including the dev-mode panel, and the v0.5.7 storage visuals have been verified in game**; v1.0.0 through v1.2.0 leave both unchanged apart from v1.2.0's orange ring around Apply. The v1.0.0 to v1.2.0 changes (Copy settings, error messages, loading damaged saves, the Supply mode order, the panel's reason for an unavailable Apply, patch order, leaving mixed storage with a removed good or through the map editor's undo, and in v1.2.0 storing nothing and the Apply ring) have not been played in game yet. Automated allocation, geometry, native API, and optional multiplayer loading checks also pass, but these do not replace live gameplay testing. +The panel's layout and the storage visuals have been checked in game, and players have reported using the mod. The newer behavior passes automated checks but hasn't been played yet, alone or in co-op. That includes the game's Copy settings tool, storing nothing, the orange ring on Apply, Supply mode, loading damaged saves and the panel's messages. -See the [changelog](CHANGELOG.md) for version history and [developer notes](DEVELOPMENT.md) for build instructions and technical details. +See the [changelog](CHANGELOG.md) for version history and the [developer notes](DEVELOPMENT.md) for building and how the mod works. ## License -MIT. See [LICENSE](LICENSE). +MIT. See [LICENSE](LICENSE). MixedStorage is an unofficial community mod, not affiliated with or endorsed by Mechanistry. -The license covers this project's own source code, documentation and website. It does not cover Timberborn, its name or its artwork, which belong to Mechanistry, including the goods icons in `docs/assets/goods/` (the game's own textures). The Noto Sans fonts in `docs/assets/fonts/` keep their own SIL Open Font License (see `OFL.txt` there). +The license covers this project's own code, documentation and website. It doesn't cover Timberborn, its name or its artwork, which belong to Mechanistry, including the goods icons in `docs/assets/goods/`. The fonts in `docs/assets/fonts/` (Noto Sans and Alegreya SC) keep their SIL Open Font License (`OFL.txt` and `OFL-Alegreya.txt` there). diff --git a/docs/404.html b/docs/404.html index 9c9ea84..ae997d6 100644 --- a/docs/404.html +++ b/docs/404.html @@ -67,7 +67,7 @@

Project

  • Changelog
  • Report a problem
  • Source on GitHub
  • -
  • Developer notes
  • +
  • Developer notes
  • More mods from Timbermods
  • diff --git a/docs/faq.html b/docs/faq.html index 15c4740..220c466 100644 --- a/docs/faq.html +++ b/docs/faq.html @@ -38,7 +38,7 @@

    Frequently asked questions

    -

    Quick answers about what MixedStorage does and how it behaves. Something not working? Try the troubleshooting guide.

    +

    Quick answers about what MixedStorage does. Something not working? Try the troubleshooting guide.

    @@ -46,43 +46,42 @@

    Frequently asked questions

    General

    -
    What is MixedStorage?

    A Timberborn mod that lets a single warehouse or pile store several kinds of goods. You give each good a percentage of the building's capacity. For example, a 1,200-capacity warehouse can reserve 50% for carrots (600) and 50% for gears (600).

    -
    Does it create goods or fill the building for me?

    No. Percentages only reserve space. They don't create goods or instantly fill the building. Normal hauling rules decide what arrives and when.

    -
    Which buildings does it support?

    Folktails: small, medium, and large warehouses; small, large, and underground piles. Iron Teeth: small, medium, and large warehouses; small industrial and large industrial piles.

    Buildings keep their normal accepted goods. Tanks and map-editor reserve storage aren't included. See the supported buildings table.

    -
    Which Timberborn version does it need?

    It's built against Timberborn 1.1.2.4. Other versions aren't guaranteed to work.

    -
    Why are some releases marked as pre-releases?

    Some builds have been published as pre-releases for testing before a full release. Automated checks cover the allocation math, geometry, native game API calls, and optional multiplayer loading, but they don't replace live gameplay testing.

    Not sure which to download? The download button on this site offers the release marked Latest on GitHub (or, while there is none, the newest pre-release). To try a newer pre-release, choose it on the releases page.

    -
    Do I need BeaverBuddies?

    No. Single-player doesn't need it. You only need BeaverBuddies for multiplayer, and the build to use is the BeaverBuddies Stability Fork.

    -
    What happens to my existing buildings and saves?

    Buildings you haven't given an allocation keep working with the game's normal single-good setting, and the editor starts from that setting. Allocations you apply are saved with the building in your save file, and existing MixedStorage allocations are preserved when you upgrade.

    -
    What happens if I remove MixedStorage?

    Close Timberborn, then disable MixedStorage in the mod manager or delete its folder. In saves that used it, each mixed building goes back to storing only its largest allocated good. As when you switch a warehouse to a different good in the base game, haulers empty out the other goods, and may move some of the kept good too, before the building fills with it again.

    +
    What is MixedStorage?

    A Timberborn mod that lets one warehouse or pile store several kinds of goods. You give each good a percentage of the building's capacity: at 50% carrots and 50% gears, a 1,200-capacity warehouse holds 600 of each.

    +
    Does it create goods or fill the building for me?

    No. Percentages only reserve space. Normal hauling rules decide what arrives and when.

    +
    Which buildings does it support?

    Folktails: small, medium, and large warehouses; small, large, and underground piles. Iron Teeth: small, medium, and large warehouses; small industrial and large industrial piles.

    Buildings keep their normal accepted goods. Tanks and map-editor reserve storage aren't included.

    +
    Which Timberborn version does it need?

    It's built for Timberborn 1.1.2.4. Other versions aren't guaranteed to work.

    +
    Why are some releases marked as pre-releases?

    Pre-releases are builds for testing before a full release. The download button on this site offers the release marked Latest on GitHub. To try a newer pre-release, pick it on the releases page.

    +
    Do I need BeaverBuddies?

    Not for single player. Co-op needs the BeaverBuddies Stability Fork.

    +
    What happens to my existing buildings and saves?

    Buildings without an allocation keep the game's normal single-good setting. Allocations you apply are saved with your game and kept when you upgrade MixedStorage.

    +
    What happens if I remove MixedStorage?

    Each mixed building goes back to one good, the one with the largest share, and haulers move the other goods out. See Removing MixedStorage.

    Is it an official Timberborn mod?

    No. It's an unofficial community mod and isn't affiliated with or endorsed by Mechanistry.

    Using it

    -
    Why does the total have to be exactly 100%?

    So the building's whole capacity is allocated. Apply stays unavailable until the total is exactly 100%, and the line under the list tells you how much is remaining or over. The one exception is 0%: with every good at 0%, Apply: store nothing makes the building store nothing, like a newly built one.

    +
    Why does the total have to be exactly 100%?

    So the building's whole capacity is allocated. The line under the list shows how much is remaining or over. The one exception is 0%: with every good at 0%, Apply: store nothing makes the building store nothing, like a newly built one.

    What does 0% mean?

    A good at 0% is disabled in that building. Leave goods you don't want at 0%.

    How precise can percentages be?

    Two decimal places, so down to 0.01%.

    -
    What does Max do? How do I go back to a single good?

    Max sets that good to 100% and every other good to 0% in your draft. Click Apply 100% to confirm. That's also how you give one good the whole building again.

    To turn a mixed building back into a normal single-good one, use the game's Copy settings tool from a normal building that stores a good this one accepts. To make such a building, pick a good for a building without an allocation, such as one just built, in the goods dropdown of the game's building list. If a delivery already on its way would no longer fit, the building stays mixed and Player.log says why; copy again once it has arrived. To make a mixed building store nothing instead, click Clear all and then Apply: store nothing. Copying from a building set to store nothing leaves the allocation as it is.

    -
    Are my edits applied immediately?

    No. Edits are drafts until you click Apply. Revert discards them, and Clear all sets every good to 0%. Current allocations stay active until you click Apply. While your draft differs from the building's settings, the Apply button has an orange border.

    -
    Can I copy an allocation to other buildings?

    Yes. Click Copy allocations, select another building, click Paste allocations, then Apply. Item limits are recalculated for the destination's capacity, and the destination must accept every copied good with a nonzero percentage. Stock, hauling mode, and hauler priority aren't copied, and the copied settings are kept only until you close the game.

    The game's own Copy settings tool works too and applies the percentages straight away. If the target doesn't accept all of those goods, or an incoming delivery conflicts, the target keeps its current goods and percentages and Player.log says why. The tool's other settings, such as the storage mode, are still copied.

    -
    Do Accept, Obtain, Supply, Empty, and hauler priority still work?

    Yes. Those continue to use the game's own hauling system.

    -
    Does the summary at the top change when I search or filter?

    No. It always shows the applied settings and actual stock, including incoming and excess goods, regardless of search or filters.

    +
    What does Max do? How do I go back to a single good?

    Max sets that good to 100% and every other good to 0% in your draft. Click Apply 100% to give that good the whole building.

    To make it a normal single-good building again, use the game's Copy settings tool from a normal building that stores a good this one accepts. Any building without an allocation works: pick its good in the goods dropdown of the game's building list. If a delivery on its way would no longer fit, the building stays mixed and Player.log says why; copy again once it arrives.

    +
    Are my edits applied immediately?

    No. Edits are drafts until you click Apply, and Revert discards them.

    +
    Can I copy an allocation to other buildings?

    Yes. Click Copy allocations, select another building, click Paste allocations, then Apply. Limits follow the new building's capacity, and it must accept every copied good.

    The game's Copy settings tool works too and applies the percentages at once. If the target can't take them, it keeps its goods and Player.log says why. Copying from a building that stores nothing leaves the allocation alone.

    +
    Do Accept, Obtain, Supply, Empty, and hauler priority still work?

    Yes. They follow the game's own hauling rules.

    +
    Does the summary at the top change when I search or filter?

    No. It always shows the applied settings and actual stock, including incoming and excess goods.

    Limits and stock

    -
    How do percentages become item limits?

    Each share is rounded down to whole items, then any leftover slots go to the largest fractions, so the limits always add up to the building's full capacity. The demo on the home page uses the same rounding.

    -
    Why does a good have a limit of 0, or a number I didn't expect?

    Limits are whole items, so tiny shares can round to zero, especially in small buildings. The panel warns you when an allocated good rounds to 0 items. Increase its share or use larger storage.

    -
    What happens to goods above a limit I lower?

    Nothing is deleted. Extra goods stay stored, are marked as excess in the summary, and can be hauled out.

    -
    What does “incoming” mean, and why can't I lower a limit?

    Incoming goods are deliveries already reserved by haulers on their way. They count toward limits. If lowering a limit would conflict with them, wait for the delivery to finish and try again.

    +
    How do percentages become item limits?

    Each share rounds down to whole items, then leftover slots go to the largest fractions, so the limits always add up to the full capacity. The demo on the home page uses the same rounding.

    +
    Why does a good have a limit of 0, or a number I didn't expect?

    Limits are whole items, so a tiny share can round to 0, especially in a small building. The panel warns you. Increase the share or use larger storage.

    +
    What happens to goods above a limit I lower?

    Nothing is deleted. Extra goods stay, are marked as excess, and can be hauled out.

    +
    What does “incoming” mean, and why can't I lower a limit?

    Incoming goods are deliveries haulers are already bringing. They count toward limits. If a lower limit clashes with them, wait for them to arrive and apply again.

    In the world

    -
    Why doesn't the visual split match my percentages exactly?

    Whole visible cells can't always match a percentage exactly. Tiny shares may have no visible cell, some models may look narrower, and excess goods may not be fully represented. Use the summary for exact amounts.

    -
    Why does the banner show only one good?

    Banners are single-good by design and show one representative good. If a model can't be divided, MixedStorage falls back to the original visuals.

    +
    Why doesn't the visual split match my percentages exactly?

    Whole visible cells can't always match a percentage, so tiny shares may not show and some models look narrower. Use the summary for exact amounts.

    +
    Why does the banner show only one good?

    Banners always show one good: the one with the largest share.

    Multiplayer and compatibility

    -
    Does it work in multiplayer?

    Yes, through the BeaverBuddies Stability Fork. Every player installs the same version of MixedStorage (and the same Stability Fork build) and runs the same game version. Applied allocations synchronize through BeaverBuddies, and Apply may briefly show a queued message until the next simulation tick.

    -
    Is there a separate multiplayer add-on?

    No. The integration is bundled and switches on automatically when BeaverBuddies is present. If you still have the old MixedStorage-BeaverBuddies add-on, remove or disable it.

    -
    What about old multiplayer replay recordings?

    Old recordings may reference the former add-on and may need the original mod versions.

    -
    Which BeaverBuddies builds work?

    The integration is built against the Stability Fork; install the latest on every computer. At startup MixedStorage checks the installed BeaverBuddies, and if something is missing it turns multiplayer Apply off and names what's missing in Player.log. The original BeaverBuddies and Timber Together (Beta) haven't been tested with MixedStorage.

    +
    Does it work in multiplayer?

    Yes, through the BeaverBuddies Stability Fork. Every player needs the same MixedStorage version, Stability Fork build and game version. See Multiplayer in the install guide.

    +
    Is there a separate multiplayer add-on?

    No. Co-op support is built in and turns on when BeaverBuddies is present. If you still have the old MixedStorage-BeaverBuddies add-on, remove or disable it.

    +
    Which BeaverBuddies builds work?

    The latest BeaverBuddies Stability Fork, on every computer. The original BeaverBuddies and Timber Together haven't been tested with MixedStorage.

    Is it compatible with other mods?

    Other mods haven't been specifically tested. If you run into a conflict, open an issue and list your enabled mods.

    Is MixedStorage translated?

    No. The mod's own text is in English. Good names follow your game language.

    The project

    How do I report a bug or suggest something?
    Where can I see what changed between versions?

    In the changelog.

    -
    Where's the source code, and how do I build it?

    On GitHub. The developer notes cover building and how the mod works.

    +
    Where's the source code, and how do I build it?

    On GitHub. The developer notes cover building and how the mod works.

    @@ -109,7 +108,7 @@

    Project

  • Changelog
  • Report a problem
  • Source on GitHub
  • -
  • Developer notes
  • +
  • Developer notes
  • More mods from Timbermods
  • diff --git a/docs/index.html b/docs/index.html index 9e9b7bd..a813671 100644 --- a/docs/index.html +++ b/docs/index.html @@ -60,8 +60,8 @@

    MixedStorage

    -

    One warehouse or pile, several kinds of goods: you give each one a share of the space, by percentage.

    -

    Percentages reserve space. They don't create goods or fill the building; your haulers bring stock by the game's usual rules.

    +

    One warehouse or pile, several kinds of goods. You give each good a share of the space, by percentage.

    +

    Percentages reserve space. They don't create goods; your haulers still bring them.

    Download v1.2.0 Install guide @@ -87,7 +87,7 @@

    MixedStorage

    -
    50% carrots: 600, 50% gears: 600, of 1,200. An illustration of the idea; the real panel is further down the page.
    +
    50% carrots: 600, 50% gears: 600, of 1,200. An illustration; the real panel is further down.
    @@ -97,39 +97,39 @@

    MixedStorage

    How the percentages work

    Give any good the building normally accepts a share of its capacity. Three rules decide what that share means.

      -
    1. Shares total exactly 100%

      Every slot has a purpose. Apply stays unavailable until the total is exactly 100%, down to 0.01%. Set everything to 0% and Apply to store nothing.

    2. -
    3. Limits round to whole items

      Each share is rounded down, and the leftover slots go to the largest fractions, so the full capacity stays allocated. A tiny share in a small building can round to 0; the panel warns you.

    4. -
    5. Lowering a limit never deletes stock

      Extra goods are marked as excess and leave the normal way. Deliveries already on their way count too: a change that would clash with them waits until they arrive.

    6. +
    7. Shares total exactly 100%

      Apply stays unavailable until the total is exactly 100%, down to 0.01%. Or set everything to 0% to store nothing.

    8. +
    9. Limits round to whole items

      Each share rounds down, and leftover slots go to the largest fractions, so every slot is used. A tiny share in a small building can round to 0; the panel warns you.

    10. +
    11. Lowering a limit never deletes stock

      Extra goods are marked as excess and leave the normal way. Deliveries on their way count too. If a lower limit clashes with them, Apply refuses it until they arrive.

    Carrots 0

    = 30
    Small Warehouse 1% carrots rounds to 0 of 30

    Carrots 2

    = 200
    Medium Warehouse 1% carrots is 2 of 200

    Carrots 12

    = 1,200
    Large Warehouse 1% carrots is 12 of 1,200
    -

    The same shares, 1% carrots and 99% gears, in three sizes. Whole items only: in the small warehouse the 1% rounds to 0, and the panel warns you before you Apply.

    +

    The same shares, 1% carrots and 99% gears, in three sizes. In the small warehouse, the 1% rounds to 0.

    Right inside the building's window

    -

    Storage Allocation sits in the warehouse's own panel, drawn with the game's frames, buttons and fields. In the world, the building shows the mix with the game's own goods models.

    +

    Storage Allocation sits in the building's own window, drawn with the game's frames, buttons and fields. In the world, the building shows the mix with the game's goods models.

    The Storage Allocation panel on a large warehouse: summary cards for Bread and Wheat flour at 50 percent each, a search box right beside its label, per-good percentage boxes with Max buttons, and Copy, Paste, Clear, Revert and Apply controls. -
    The panel in game: summary cards on top, one row per good, and Copy, Paste, Clear all, Revert and Apply in a footer that stays put while the list scrolls.
    +
    The panel in game: summary cards on top, one row per good, and the buttons in a footer that stays put while the list scrolls.
    A warehouse whose bays show stacked crates of several different goods side by side. -
    The mix in the world. The visual split is approximate, since whole visible cells can't always match a percentage; banners still show one representative good, and a model that can't be divided keeps the original look. The panel always has the exact counts.
    +
    The mix in the world. The split is approximate and banners show one good; the panel has the exact counts.
      -
    • Stock at a glance

      Summary cards show each good's icon, stored / limit count, share and a fill bar, including incoming deliveries and excess.

    • -
    • Quick setup

      Search, show only allocated goods, Max one good, or copy an allocation into another compatible building. The game's own Copy settings tool copies allocations too.

    • -
    • Drafts until you Apply

      Edits change nothing until you press Apply; the Apply button gets an orange ring while pressing it would change the building.

    • +
    • Stock at a glance

      Summary cards show each good's stock, limit, share and fill bar, with incoming deliveries and excess.

    • +
    • Quick setup

      Search the list, show only allocated goods, give one good everything with Max, or copy a split to another building. The game's Copy settings tool copies it too.

    • +
    • Drafts until you Apply

      Edits change nothing until you press Apply. Apply has an orange ring while it would change the building.

    • Fits your screen

      The editor is sized to your window and leaves room for the game's Construction site panel.

    @@ -140,8 +140,8 @@

    Right inside the building's window

    Play with the real panel

    -

    This is a working copy of the Storage Allocation panel, styled like the game. Edit percentages, then Apply, as you would in Timberborn. It uses the mod's own rounding and messages.

    - +

    A working copy of the Storage Allocation panel, with the mod's own rounding and messages. Edit percentages, then Apply, as in the game.

    +
    @@ -165,10 +165,10 @@

    Play with the real panel

    Things to try

      -
    1. Every good a Folktails warehouse accepts is in the list. Use Search or scroll, set Bread to 25 and Wheat flour to 75, then press Apply 100%. Bread is now over its new limit. Lowering a limit never deletes stock, so the extra shows as excess.
    2. +
    3. Set Bread to 25 and Wheat flour to 75 (use Search or scroll), then press Apply 100%. Bread is now over its limit, so the extra shows as excess.
    4. Type 60 into another good's box. The total turns red and Apply stays unavailable until it's exactly 100%.
    5. -
    6. Load A tiny share to see the panel warn that a good rounds to 0 items.
    7. -
    8. Press Copy allocations, switch to the other building, then Paste. The percentages carry over and the limits are recalculated for the new capacity.
    9. +
    10. Load A tiny share to see the warning when a good rounds to 0 items.
    11. +
    12. Press Copy allocations, switch to another building, then press Paste allocations. The limits follow the new capacity.
    @@ -228,7 +228,7 @@

    Storage Allocation

    -

    A replica for illustration, not part of the game. It lists all 27 goods a Folktails warehouse accepts, and nothing here is saved. Goods icons are Timberborn's.

    +

    A replica for illustration, not part of the game. It lists all 27 goods a Folktails warehouse accepts, and saves nothing. Goods icons are Timberborn's.

    @@ -247,12 +247,12 @@

    Warehouses and piles, both factions

    -

    Buildings keep their normal accepted goods: warehouses don't gain pile-only goods, or the other way round. Tanks and map-editor reserve storage aren't included.

    +

    Buildings keep their normal accepted goods. Tanks and map-editor reserve storage aren't included.

    • Game

      Built for Timberborn 1.1.2.4.

    • Requires

      Harmony 2.4.1 or newer, enabled alongside MixedStorage.

    • -
    • Co-op, optional

      The BeaverBuddies Stability Fork. Support is built in and switches on by itself; every player needs the same MixedStorage and game version.

    • -
    • One download

      The same zip covers single player and co-op. There's no separate add-on.

    • +
    • Co-op, optional

      Through the BeaverBuddies Stability Fork. Every player needs the same MixedStorage and game version.

    • +
    • One download

      The same zip covers single player and co-op. Co-op support turns on by itself.

    @@ -261,8 +261,8 @@

    Warehouses and piles, both factions

    Up and running in three steps

      -
    1. Download and extract

      Get the MixedStorage zip from the release's Assets and put its MixedStorage folder straight into Documents\Timberborn\Mods. Windows' Extract All adds an outer folder: move the MixedStorage folder inside it.

    2. -
    3. Enable it

      Get Harmony from the Steam Workshop if you haven't, turn on Harmony and MixedStorage in the game's mod manager, and restart when prompted.

    4. +
    5. Download and extract

      Put the zip's MixedStorage folder straight into Documents\Timberborn\Mods. If Windows' Extract All adds an outer folder, move MixedStorage out of it.

    6. +
    7. Enable it

      Get Harmony from the Steam Workshop if you haven't. Turn on Harmony and MixedStorage in the mod manager, and restart when prompted.

    8. Mix your storage

      Select a supported warehouse or pile, enter percentages that total 100% in Storage Allocation, and click Apply 100%. Apply grayed out? Here's why.

    The full install guide, with upgrading and co-op

    @@ -273,7 +273,7 @@

    Up and running in three steps

    What's been played

    -

    The panel's layout and the storage visuals have been checked in game, and players have reported using it. The newest behavior (the game's Copy settings tool, storing nothing, the Supply order and clearer messages) is covered by automated checks but hasn't been played in game yet, particularly in co-op.

    +

    The panel's layout and the storage visuals have been checked in game, and players have reported using the mod. The newer behavior passes automated checks but hasn't been played yet, alone or in co-op. That includes the game's Copy settings tool, storing nothing, the orange ring on Apply, Supply mode, loading damaged saves and the panel's messages.

    Found something odd? Check the troubleshooting guide or open an issue.

    @@ -282,7 +282,7 @@

    What's been played

    Ready to mix things up?

    -

    One download covers single player and co-op.

    +

    Free and open source, under the MIT license.

    diff --git a/docs/install.html b/docs/install.html index b76c1f0..5673c58 100644 --- a/docs/install.html +++ b/docs/install.html @@ -55,8 +55,8 @@

    Install MixedStorage

    Requirements

    • Timberborn 1.1.2.4

      The version MixedStorage is built for. Other versions aren't guaranteed.

    • -
    • Harmony 2.4.1 or newer

      A required mod. Get it from the Steam Workshop if you don't have it.

    • -
    • BeaverBuddies Stability Fork

      Optional, only for co-op. Single player doesn't need it.

    • +
    • Harmony 2.4.1 or newer

      A required mod, from the Steam Workshop.

    • +
    • BeaverBuddies Stability Fork

      Optional, only for co-op.

    @@ -70,23 +70,23 @@

    Download the ZIP

  • Close Timberborn and extract

    -

    With the game closed, extract the ZIP's MixedStorage folder into your Timberborn Mods folder. On Windows that's normally Documents\Timberborn\Mods; if your Documents folder is kept in OneDrive, it's OneDrive\Documents\Timberborn\Mods.

    -

    Windows' Extract All puts everything in an extra folder named after the ZIP. Open it and move the MixedStorage folder inside into Mods.

    +

    With the game closed, extract the ZIP's MixedStorage folder into Documents\Timberborn\Mods. If your Documents folder is in OneDrive, use OneDrive\Documents\Timberborn\Mods.

    +

    Windows' Extract All adds an extra folder named after the ZIP. Move the MixedStorage folder inside it into Mods.

  • Check the folder layout

    -

    You should end up with exactly this: no extra folder around MixedStorage, and no second MixedStorage inside it.

    +

    You should end up with exactly this:

    Documents\Timberborn\Mods\
     └─ MixedStorage\
        ├─ README.md
        └─ version-1.1\
           ├─ manifest.json
           └─ MixedStorage.dll
    -

    Confirm that Documents\Timberborn\Mods\MixedStorage\version-1.1\manifest.json exists.

    +

    Check that there's no extra folder around MixedStorage and no second MixedStorage inside it.

  • Install Harmony if needed

    -

    MixedStorage requires Harmony 2.4.1 or newer. If it isn't installed yet, subscribe to it on the Steam Workshop.

    +

    If you don't have Harmony 2.4.1 or newer, subscribe to it on the Steam Workshop.

  • Enable and restart

    @@ -98,10 +98,10 @@

    Enable and restart

    Check it works

    -

    Load a save and select a supported warehouse or pile (see the supported buildings). You should see a Storage Allocation panel in the building's window.

    -

    Not there? MixedStorage logs a line at startup. Search Player.log for [MixedStorage] and look for:

    +

    Load a save and select a supported warehouse or pile. Its window should show a Storage Allocation panel.

    +

    Not there? Search Player.log for [MixedStorage]. A working install logs this line at startup:

    [MixedStorage] <version> loaded; warehouse and pile allocations for Timberborn 1.1.2.4.
    -

    The log is normally in %USERPROFILE%\AppData\LocalLow\Mechanistry\Timberborn. If the panel is still missing, the troubleshooting guide covers it.

    +

    On Windows, the log is in %USERPROFILE%\AppData\LocalLow\Mechanistry\Timberborn. Still missing? See the troubleshooting guide.

    @@ -109,13 +109,13 @@

    Check it works

    Your first mixed storage building

    1. Select a building

      Click a supported warehouse or pile.

    2. -
    3. Find your goods

      Look in Storage Allocation. Use Search if the list is long.

    4. -
    5. Enter percentages

      Type a percentage for each good you want, and leave everything else at 0%.

    6. -
    7. Make it 100% and apply

      The total must be exactly 100%. Then click Apply 100%. For a 1,200-capacity warehouse, entering 50 for carrots and 50 for gears allows 600 of each. Apply grayed out? Here's why.

    8. +
    9. Find your goods

      Look in Storage Allocation, or use Search.

    10. +
    11. Enter percentages

      Type a percentage for each good you want. Leave the rest at 0%.

    12. +
    13. Make it 100% and apply

      When the total is exactly 100%, click Apply 100%. In a 1,200-capacity warehouse, 50 carrots and 50 gears allow 600 of each. Apply grayed out? Here's why.

    -

    To make a building store nothing, set every good to 0% (for example with Clear all) and click Apply: store nothing. Stock already there is kept and can be hauled out.

    +

    To make a building store nothing, set every good to 0% (Clear all does this) and click Apply: store nothing. Stock already there stays and can be hauled out.

    -

    Edits are drafts until you click Apply. While pressing Apply would change the building, the button has an orange ring. The summary at the top keeps showing the applied settings and actual stock while you edit, search, or filter. Normal hauling rules decide when goods arrive.

    +

    Edits are drafts until you click Apply. While Apply would change the building, it has an orange ring.

    The controls

    @@ -123,26 +123,26 @@

    The controls

    - - - - - - - + + + + + + +
    ControlWhat it does
    MaxSets that good to 100% and all others to 0%. Click Apply to confirm.
    × beside a percentageResets that good's draft percentage to 0%.
    Clear allSets every draft percentage to 0%. Apply it to store nothing, or enter new percentages. Current allocations stay active until you click Apply.
    RevertDiscards edits and restores the current settings.
    Allocated goods onlyShows goods with a nonzero draft percentage.
    Copy allocationsCopies a valid draft totaling 100%.
    Paste allocationsPastes copied percentages into another building's draft. Click Apply there to confirm.
    MaxSets that good to 100% and every other good to 0%.
    × beside a percentageSets that good to 0%.
    Clear allSets every good to 0%.
    RevertDiscards your edits.
    Allocated goods onlyShows only goods above 0%.
    Copy allocationsCopies a valid 100% split.
    Paste allocationsPastes it into another building. Limits follow that building's capacity.
  • -

    Percentages allow two decimal places. Copy and paste adjusts item limits to the destination's capacity, and the destination must accept every copied good with a nonzero percentage. Stock, hauling mode, and hauler priority are not copied. Copied settings are kept until you close the game.

    +

    Percentages allow two decimal places. Paste works only if the building accepts every copied good. Stock, hauling mode and hauler priority aren't copied, and the copy is kept until you close the game.

    Upgrading

    -

    With the game closed, replace the existing MixedStorage files with the new ones. Your allocations are kept. In co-op, everyone updates together.

    +

    With the game closed, replace the MixedStorage files with the new ones. Your allocations are kept. In co-op, everyone updates together.

    Still have MixedStorage-BeaverBuddies?

    -

    That old separate add-on is now built into MixedStorage, and leaving it enabled causes a startup error. Remove or disable it; keep BeaverBuddies itself if you play co-op.

    +

    MixedStorage includes what that old add-on did, and leaving it enabled causes a startup error. Remove or disable it, but keep BeaverBuddies itself for co-op.

    @@ -151,20 +151,19 @@

    Still have MixedStorage-BeaverBuddies?

    Multiplayer with BeaverBuddies

      -
    • Co-op needs the BeaverBuddies Stability Fork.
    • -
    • Every player installs the same version of MixedStorage (and the same Stability Fork build) and runs the same game version.
    • -
    • Enable the Stability Fork as usual. MixedStorage automatically turns on its bundled integration.
    • -
    • There is no separate MixedStorage multiplayer download.
    • -
    • After upgrading, restart every computer's game and start a fresh multiplayer session.
    • +
    • Co-op needs the latest BeaverBuddies Stability Fork on every computer.
    • +
    • Every player needs the same MixedStorage version, Stability Fork build and game version.
    • +
    • There's no separate multiplayer download. Co-op support is built in and turns on by itself.
    • +
    • After upgrading, everyone restarts the game and starts a fresh session.
    -

    Install the latest Stability Fork on every computer. At startup MixedStorage checks the installed BeaverBuddies for everything it uses; if something is missing it turns co-op Apply off rather than risk players drifting out of step, and Player.log names what's missing. The original BeaverBuddies and Timber Together haven't been tested with MixedStorage.

    +

    Apply says multiplayer support could not start? Here's why.

    Removing MixedStorage

    -

    Close Timberborn, then disable MixedStorage in the mod manager or delete its folder. In saves that used it, each mixed building goes back to storing only its largest allocated good. As when you switch a warehouse to a different good in the base game, haulers empty out the other goods (and may move some of the kept good too) before the building fills with it again.

    +

    Close Timberborn, then disable MixedStorage in the mod manager or delete its folder. In saves that used it, each mixed building goes back to one good: the one with the largest share. Haulers move the other goods out, as when you change a warehouse's good in the base game.

    @@ -193,7 +192,7 @@

    Project

  • Changelog
  • Report a problem
  • Source on GitHub
  • -
  • Developer notes
  • +
  • Developer notes
  • More mods from Timbermods
  • diff --git a/docs/troubleshooting.html b/docs/troubleshooting.html index e6817b3..47decc2 100644 --- a/docs/troubleshooting.html +++ b/docs/troubleshooting.html @@ -38,7 +38,7 @@

    Troubleshooting

    -

    Find your symptom below. Each entry explains why it happens and what to do.

    +

    Find your symptom below. Each entry says why it happens and what to do.

    Installing and starting

    -
    MixedStorage doesn't appear in the mod manager

    Why it happens

    The game only finds mods in the expected folder layout. The usual causes are a ZIP that wasn't extracted, an extra nested folder, or the wrong download.

    What to do

    1. Close Timberborn.
    2. Check that Documents\Timberborn\Mods\MixedStorage\version-1.1\manifest.json exists.
    3. If you see MixedStorage\MixedStorage\version-1.1, move the inner folder up one level.
    4. Make sure you downloaded the ZIP under Assets on the release page, not Source code.
    5. If Windows' Extract All made Mods\MixedStorage-v…\MixedStorage, move the inner MixedStorage folder into Mods.
    6. Restart the game.
    -
    MixedStorage won't enable, or Harmony is missing

    Why it happens

    MixedStorage requires Harmony 2.4.1 or newer, and declares it as a required mod.

    What to do

    Install Harmony from the Steam Workshop, enable both Harmony and MixedStorage in the mod manager, and restart when prompted.

    -
    A startup error mentions the old MixedStorage-BeaverBuddies add-on

    Why it happens

    Multiplayer support is built into MixedStorage. The old separate add-on conflicts with it, and MixedStorage stops with this message: “MixedStorage now includes multiplayer support. Remove or disable the old MixedStorage-BeaverBuddies addon and restart Timberborn.”

    What to do

    Remove or disable MixedStorage-BeaverBuddies, then fully restart Timberborn. Keep BeaverBuddies itself if you play multiplayer.

    -
    An error says the bundled multiplayer integration is missing

    Why it happens

    BeaverBuddies is loaded, but the MixedStorage file doesn't contain its embedded multiplayer integration. That happens with a partial or incorrectly built copy. The message reads: “MixedStorage's bundled multiplayer integration is missing. Reinstall the complete release.”

    What to do

    Close the game, delete the existing MixedStorage folder from your Mods folder, and install the ZIP from the official release again.

    -
    There's no Storage Allocation panel when I select a building

    Why it happens

    Only the supported warehouses and piles get the panel. Tanks, map-editor reserve storage, and other storage buildings don't. It's also missing if the mod isn't enabled or failed to load.

    What to do

    1. Compare your building with the supported list.
    2. Confirm MixedStorage and Harmony are both enabled.
    3. Search Player.log for [MixedStorage]. A working install logs a “loaded” line at startup, and a failure shows an error there.
    +
    MixedStorage doesn't appear in the mod manager

    Why it happens

    The game only finds mods in the right folder layout. Usually the ZIP wasn't extracted, there's an extra folder, or it's the wrong download.

    What to do

    1. Close Timberborn.
    2. Check that Documents\Timberborn\Mods\MixedStorage\version-1.1\manifest.json exists.
    3. If you see MixedStorage\MixedStorage\version-1.1, move the inner folder up one level.
    4. If Windows' Extract All made Mods\MixedStorage-v…\MixedStorage, move the inner MixedStorage folder into Mods.
    5. Make sure you downloaded the ZIP under Assets, not Source code.
    6. Restart the game.
    +
    MixedStorage won't enable, or Harmony is missing

    Why it happens

    MixedStorage requires Harmony 2.4.1 or newer.

    What to do

    Install Harmony from the Steam Workshop, enable both Harmony and MixedStorage in the mod manager, and restart when prompted.

    +
    A startup error mentions the old MixedStorage-BeaverBuddies add-on

    Why it happens

    The old add-on clashes with MixedStorage's built-in co-op support. The error reads: “MixedStorage now includes multiplayer support. Remove or disable the old MixedStorage-BeaverBuddies addon and restart Timberborn.”

    What to do

    Remove or disable MixedStorage-BeaverBuddies, then restart Timberborn. Keep BeaverBuddies itself for co-op.

    +
    An error says the bundled multiplayer integration is missing

    Why it happens

    Your copy of MixedStorage is incomplete, so its co-op support is missing. The error reads: “MixedStorage's bundled multiplayer integration is missing. Reinstall the complete release.”

    What to do

    Close the game, delete the MixedStorage folder from your Mods folder, and install the ZIP from the release again.

    +
    There's no Storage Allocation panel when I select a building

    Why it happens

    Only the supported warehouses and piles get the panel. It's also missing if the mod isn't enabled or failed to load.

    What to do

    1. Compare your building with the supported list.
    2. Check that MixedStorage and Harmony are both enabled.
    3. Search Player.log for [MixedStorage]. A working install logs a “loaded” line at startup; a failure logs an error.

    Using the panel

    -
    Apply 100% is grayed out

    Why it happens

    Apply only unlocks when the draft is valid. The line under the goods list tells you which rule you're breaking:

    • Enter valid percentages (0–100, 2 decimals): one box has something invalid, such as letters, a negative number, more than two decimals, or a value over 100.
    • NN% / 100% — NN% remaining (or over): the total must be exactly 100%, or 0% to store nothing.
    • Set unavailable goods to 0% before applying: a good marked “(not accepted here)” or “(unavailable)” still has a percentage. A saved allocation can hold one after a goods mod is removed. Set it to 0%.
    • A multiplayer change is queued and hasn't been applied yet.

    What to do

    Fix the box or total the message points at. Max on one good gives you a valid draft instantly, and Revert restores the current settings. If a multiplayer change is queued, wait a moment for the next simulation tick.

    -
    Paste allocations is grayed out or rejected

    Why it happens

    • Nothing has been copied yet. Copy allocations works only on a valid draft totaling 100%.
    • Copied settings are kept only until you close the game, so restarting the game forgets them.
    • The destination must accept every good with a nonzero copied percentage. Otherwise you'll see “Cannot paste: this building does not accept all copied goods. Draft unchanged.”

    What to do

    Copy from a valid building, select a compatible destination, click Paste, and then click Apply to confirm. Stock, hauling mode, and hauler priority are never copied.

    -
    Apply says “Wait for incoming deliveries to finish before lowering their limits”

    Why it happens

    Haulers are already carrying goods to this building, and the new limit would be lower than what's stored plus what's on its way. Incoming deliveries count toward limits.

    What to do

    Wait for the deliveries to finish, then click Apply again.

    -
    One of my goods has a limit of 0

    Why it happens

    Percentages become whole-item limits, and a tiny share of a small building can round down to zero items. The panel warns you: “N allocated good(s) round to 0 items. Increase their shares or use larger storage.” The limits still add up to the building's full capacity.

    What to do

    Increase that good's share, or use a larger storage building. The demo on the home page shows how the rounding works.

    -
    Stock is above the limit and shows as “excess”

    Why it happens

    You lowered a limit or changed the split while goods were already stored. MixedStorage never deletes goods; it flags the extras as excess in the summary.

    What to do

    Nothing is broken. The extra goods stay until they're used or hauled out through the game's normal hauling rules.

    -
    Goods aren't arriving after I Apply

    Why it happens

    Allocations reserve space. They don't create goods or move them. Normal hauling rules still decide what arrives and when.

    What to do

    Check the building's storage mode (Accept, Obtain, Supply, or Empty), hauler priority, and that the goods actually exist in the same district. Then let your haulers work.

    -
    Copy settings didn't copy my allocation

    Why it happens

    The game's Copy settings tool applies a mixed building's percentages to the target straight away, using the same checks as Apply. If the target doesn't accept every allocated good, or an incoming delivery conflicts with a lower limit, the allocation isn't copied and the target keeps its current goods and percentages. The tool's other settings, such as the storage mode, are still copied. Copying from a normal building, which turns a mixed building back into a normal one, is skipped the same way when a delivery already on its way would no longer fit. Player.log has a line starting [MixedStorage] Copied allocations were not applied with the reason.

    What to do

    Copy to a building that accepts the same goods, or wait for incoming deliveries to finish and copy again. For a building that accepts different goods, set its percentages in its own Storage Allocation panel.

    -
    A building lost its allocation

    Why it happens

    • The game's Copy settings tool was used from a normal building. That turns a mixed building back into a normal single-good one, the same way it copies a single good between normal buildings.
    • Its saved allocation couldn't be read, for example because the save file was damaged. MixedStorage skips it rather than stop the whole save from loading. The building keeps its normal single good, and Player.log has a line starting [MixedStorage] Ignoring an unreadable saved allocation.

    What to do

    Set the percentages again and click Apply 100%. If a save keeps losing allocations, report it with that log line.

    -
    Apply shows “Apply failed”

    Why it happens

    Something unexpected went wrong while applying the allocation. The panel shows a short reason, and Player.log has the full details.

    What to do

    Report it with the Player.log lines that start with [MixedStorage] and the steps that led to it.

    +
    Apply 100% is grayed out

    Why it happens

    Apply unlocks only for a valid draft. The line under the goods list says what's wrong:

    • Enter valid percentages (0–100, 2 decimals): a box has letters, a negative number, more than two decimals, or a value over 100.
    • NN% / 100% — NN% remaining (or over): the total must be exactly 100%, or 0% to store nothing.
    • Set unavailable goods to 0% before applying: a good marked “(not accepted here)” or “(unavailable)” still has a percentage. This can happen after a goods mod is removed.
    • A co-op change is queued and hasn't been applied yet.

    What to do

    Fix the box or total the message points at. Max on one good gives a valid draft at once, and Revert restores the current settings. If a co-op change is queued, wait a moment.

    +
    Paste allocations is grayed out or rejected

    Why it happens

    • Nothing has been copied yet. Copy allocations works only on a valid 100% draft.
    • The copy is kept only until you close the game.
    • The building must accept every copied good. Otherwise you'll see “Cannot paste: this building does not accept all copied goods. Draft unchanged.”

    What to do

    Copy from a valid building, select one that accepts the same goods, click Paste allocations, then Apply.

    +
    Apply says “Wait for incoming deliveries to finish before lowering their limits”

    Why it happens

    Haulers are already bringing goods, and the new limit would be lower than what's stored plus what's on its way.

    What to do

    Wait for the deliveries to finish, then click Apply again.

    +
    One of my goods has a limit of 0

    Why it happens

    Limits are whole items, and a tiny share of a small building can round down to 0. The panel warns you: “N allocated good(s) round to 0 items. Increase their shares or use larger storage.”

    What to do

    Increase that good's share, or use a larger storage building. The demo on the home page shows the rounding.

    +
    Stock is above the limit and shows as “excess”

    Why it happens

    You lowered a limit while goods were already stored. MixedStorage never deletes goods; it marks the extra as excess.

    What to do

    Nothing is broken. The extra goods stay until they're used or hauled out.

    +
    Goods aren't arriving after I Apply

    Why it happens

    Allocations reserve space; they don't create or move goods. Normal hauling rules decide what arrives and when.

    What to do

    Check the building's hauling mode (Accept, Obtain, Supply or Empty) and hauler priority, and that the goods exist in the same district.

    +
    Copy settings didn't copy my allocation

    Why it happens

    The game's Copy settings tool applies the percentages only if the target accepts every allocated good and no delivery on its way clashes with a lower limit. Otherwise the target keeps its goods and percentages; the tool's other settings, such as the hauling mode, still copy. Player.log has a line starting [MixedStorage] Copied allocations were not applied with the reason.

    What to do

    Copy to a building that accepts the same goods, or wait for deliveries to finish and copy again. For a building that accepts different goods, set its percentages in its own Storage Allocation panel.

    +
    A building lost its allocation

    Why it happens

    • The game's Copy settings tool was used from a normal building. That turns a mixed building back into a normal single-good one.
    • Its saved allocation couldn't be read, for example because the save was damaged. MixedStorage skips it so the save still loads. The building keeps its normal single good, and Player.log has a line starting [MixedStorage] Ignoring an unreadable saved allocation.

    What to do

    Set the percentages again and click Apply 100%. If a save keeps losing allocations, report it with that log line.

    +
    Apply shows “Apply failed”

    Why it happens

    Something unexpected went wrong. The panel shows a short reason, and Player.log has the details.

    What to do

    Report it with the Player.log lines that start with [MixedStorage] and the steps that led to it.

    Co-op

    -
    Apply says multiplayer support could not start with the installed BeaverBuddies

    Why it happens

    MixedStorage's multiplayer support is built against the BeaverBuddies Stability Fork. If the installed BeaverBuddies lacks something it needs, MixedStorage switches its multiplayer support off rather than let players' games drift out of sync, and writes the reason to Player.log at startup. The game still starts, and single-player allocations usually still work.

    What to do

    • Install the latest BeaverBuddies Stability Fork on every computer. The original BeaverBuddies and Timber Together (Beta) haven't been tested with it.
    • For single-player, you can also disable BeaverBuddies.
    • Search Player.log for [MixedStorage] to see what's missing, and include that line if you report it.
    -
    Multiplayer: Apply says “Queued for multiplayer”, or players see different settings

    Why it happens

    In multiplayer, applied allocations synchronize through BeaverBuddies, so Apply may briefly show a queued message until the next simulation tick. That's normal. Different settings between players usually mean mismatched installs.

    What to do

    • Every player installs the same version of MixedStorage (and the same Stability Fork build) and runs the same game version.
    • After upgrading, restart every computer's game and start a fresh multiplayer session.
    • Old replay recordings may reference the former add-on and may need the original mod versions.
    +
    Apply says multiplayer support could not start with the installed BeaverBuddies

    Why it happens

    The installed BeaverBuddies lacks something MixedStorage needs. MixedStorage turns its co-op support off so players' games can't drift out of sync, and writes the reason to Player.log. Single player usually still works.

    What to do

    • Install the latest BeaverBuddies Stability Fork on every computer.
    • For single player, you can also disable BeaverBuddies.
    • Search Player.log for [MixedStorage] to see what's missing, and include that line if you report it.
    +
    Multiplayer: Apply says “Queued for multiplayer”, or players see different settings

    Why it happens

    In co-op, Apply goes through BeaverBuddies, so it may say “Queued for multiplayer” until the next simulation tick. That's normal. Different settings between players usually mean mismatched installs.

    What to do

    • Every player needs the same MixedStorage version, Stability Fork build and game version.
    • After upgrading, everyone restarts the game and starts a fresh session.

    How it looks

    -
    The goods in the world look wrong, narrow, or show only one good

    Why it happens

    The in-world split is approximate on purpose. Whole visible cells can't always match a percentage exactly. Tiny shares may have no visible cell, some models look narrower, banners show one representative good, and excess goods may not be fully represented.

    What to do

    Use the summary cards for exact amounts. If a model can't be divided, MixedStorage falls back to the original visuals. If something looks truly broken, report it with a screenshot.

    -
    The panel looks cut off or misplaced at my resolution or UI scale

    Why it happens

    The editor is sized to your window and shares the entity window with the game's own panels, including the Construction site panel on unfinished buildings and the dev-mode panel.

    What to do

    Make sure you have the newest release. If it still looks wrong, report it with a screenshot, your resolution and UI scale, the building type, and its allocations.

    +
    The goods in the world look wrong, narrow, or show only one good

    Why it happens

    The split in the world is approximate. Whole visible cells can't always match a percentage, so tiny shares may not show, some models look narrower, and banners show one good. A model that can't be divided keeps the game's original look.

    What to do

    Use the summary cards for exact amounts. If something looks truly broken, report it with a screenshot.

    +
    The panel looks cut off or misplaced at my resolution or UI scale

    Why it happens

    The editor is sized to your screen and shares the building's window with the game's own panels, such as Construction site and the dev-mode panel.

    What to do

    Make sure you have the newest release. If it still looks wrong, report it with a screenshot, your resolution and UI scale, the building type and its allocations.

    @@ -83,12 +83,12 @@

    Reporting a problem

  • Your Timberborn and MixedStorage versions, and the other mods you have enabled.
  • Whether you were playing multiplayer.
  • Steps to reproduce the problem.
  • -
  • For layout or visual problems: a screenshot, your resolution and UI scale, the building type, and its allocations.
  • +
  • For layout or visual problems: a screenshot, your resolution and UI scale, the building type and its allocations.
  • For crashes: the relevant error and stack trace from the game log.
  • Where the logs are

    -

    On Windows they're normally in %USERPROFILE%\AppData\LocalLow\Mechanistry\Timberborn. Player.log is the current session. After a restart, the previous session is usually in Player-prev.log.

    +

    On Windows they're in %USERPROFILE%\AppData\LocalLow\Mechanistry\Timberborn. Player.log is the current session; after a restart, the previous one is in Player-prev.log.

    Logs can contain personal information, so review them before sharing.

    @@ -119,7 +119,7 @@

    Project

  • Changelog
  • Report a problem
  • Source on GitHub
  • -
  • Developer notes
  • +
  • Developer notes
  • More mods from Timbermods