Stardew Valley

File information

Last updated

Original upload

Created by

SlayerDharok

Uploaded by

SlayerDharok

Virus scan

Safe to use

About this mod

Adds several new "Bag" items that can hold other items inside of them, while still only taking up a single inventory slot. Unlike chests, the bags will hold items while they are in your inventory, effectively increasing inventory size and organization.

Requirements
Permissions and credits
Translations
  • Russian
Changelogs
Donations


This mod adds 4 different kinds of bags, most of which come in 5 different sizes (Small, Medium, Large, Giant, and Massive). Bigger sizes are capable of storing higher quantities of the same item, and usually are capable of storing a wider array of items than their smaller versions. Each bag has its own fully custom interface, capable of grouping items by their quality, calculating and displaying summed values of similar items, or even holding more than the usual 999 limit of an item in a single slot!

Types of bags:
Spoiler:  
Show
  • The Bundle Bag
  • Holds items required by incomplete Community Center Bundles
  • Rucksacks
  • Holds almost any stackable item you want, like having a nested inventory within your inventory
  • Only holds standard Objects, things like fish, vegetables, fruits, craftables, resources, seeds, artifacts, gems, foods, animal products etc.
  • Does NOT hold things like equippables (rings, hats, clothing), weapons, tools
  • Standard Bags
  • Each one stores specific items
  • Comes in several different sub-types
  • Gem Bag (holds gems, such as ruby, emerald, topaz...)
  • Smithing Bag (holds coal, ores, bars, geodes)
  • Mineral Bag (holds minerals that you receive from geodes, like calcite, sandstone, mudstone...)
  • Mining Bag (holds stone, coal, ores, gems, geodes)
  • Resource Bag (holds resources like wood, fiber, stone, ores, clay...)
  • Construction Bag (holds woods, stone, fences, gates, floors, paths)
  • Tree Bag (holds tree seeds (regular and fruit), tappers, tapper products like pine tar, wood, sap, tree fertilizer, tree fruits)
  • Animal Product Bag (holds animal products, like eggs, milks, cheese, duck feathers, mayonnaise...)
  • Recycling Bag (holds trash that you'd find from fishing, like newspaper, driftwood, broken glasses...)
  • Loot Bag (holds common monster drops, like bug meat, slime, light/dark essence, bat wings...)
  • Foraging Bag (holds foraged items like horseradish, salmonberry, hazelnut, various mushrooms, beach items like sea urchins and much more...)
  • Artifact Bag (holds artifacts that you can donate to Gunther)
  • Seed Bag (holds seeds)
  • Fishing Bags (holds all kinds of fish, including crab pot fish)
  • Farmer's Bags (holds farming essentials like fertilizers, scarecrows, and sprinklers)
  • Food Bags (holds cooked dishes, common cooking ingredients, alcohols, medicines, and crafted edibles)
  • Crop Bags (holds farmable fruits, vegetables, and flowers)
  • Omni Bags
  • Holds other bags inside of it (up to 1 of each other bag)


How to obtain:
Spoiler:  
Show
Bags can be purchased from various shops. Some of the larger sizes are only available from 1 specific seller. To collect them all, try visiting: Pierre, Clint, Robin, Willy, Marnie, Krobus, Dwarf, Marlon, Sandy, and the Travelling Merchant.



Bags can also be received as rare drops from killing any monster. (Usually a 1/100-1/300 chance depending on how strong the monster was and where you killed it) The biggest sizes of bags are either extremely rare, or cannot be obtained from monsters at all. (These settings can be changed in the mod's config.json file)


Autofill:
Spoiler:  
Show
Autofill is a feature that can be toggled on by clicking the hand icon near the bottom-left corner of a bag's menu. When toggled on, it will make items that you pick up automatically get placed inside of the bag.

In this example, the 3 stone I pick up are automatically transferred to my mining bag. (Stone quantity inside bag goes from 45->48)


Note: You can also toggle autofill on specific items. If autofill is turned on for your bag, then hover over an item slot and click the small hand icon in the top-left corner of the slot to toggle autofill of that specific item. This can be especially useful if you have multiple bags that can store the same item, but you want that item to be autofilled into a particular bag.

Autofill only happens when you pick up items that you don't already have an existing stack of in your inventory. EX: You have 998 wood in your inventory. You pick up 1 wood. It doesn't autofill, stacks with the 998. Then you pick up another wood. Rather than making a new stack with qty=1 in your inventory, that wood can be autofilled into a bag that you're holding. Autofill isn't only for items added to your inventory. It can also happen when you deposit items into a chest, if the chest already is holding a bag that has autofill toggled on.


To open a bag, just right-click it from your toolbar, inventory, or inside of a chest. (Gamepad controls are also supported)



The biggest and most expensive bags are even capable of storing more than 999 of each item.



Want to easily keep track of items you need for Community Center bundles? Then try buying the Bundle Bag from the Travelling Merchant! It will dynamically keep track of how many of each item you still need for incomplete bundles, and has its own custom menu:



Rucksacks can store almost any stackable item, rather than being restricted to a predefined list of items. Sold by Pierre.





Rucksacks can be sorted by Time, Name, Id, Category, Quantity, Single item value, Stack item value, or Item Similarity (Same Id but different Quality and/or Price) by clicking the sort button in the top-right.  The autofill feature on Rucksacks is a little bit different. Items will only be autofilled into a Rucksack if there is already an existing stack of that item in the Rucksack. You can set Rucksacks to either low-priority or high-priority autofilling. (Low-priority means the mod will first search for a non-rucksack bag to autofill, and only fill the rucksack as a last resort if nothing else was found.)

FAQs:
Spoiler:  
Show

Console commands:
  • This mod adds several SMAPI console commands that can be used to spawn bags in your inventory if you don't want to buy them or just want to try one out for testing. You can always type "help <commandname>" into the SMAPI console for more details.
  • "player_addrucksack <size>" - adds a Rucksack to your inventory. Example: "player_addrucksack Giant"
  • "player_addomnibag <size>" - adds an Omni Bag to your inventory. Example: "player_addomnibag Medium"
  • "player_addbundlebag <size>" - adds a Bundle Bag to your inventory. Size must either be Large or Massive. Example: "player_addbundlebag Large"
  • "player_additembag <size> <type>" - adds a standard bag to your inventory. Type is the name of the standard bag sub-type, such as "Gem Bag" or "Foraging Bag". Example: "player_additembag Massive Fish Bag"

Does this work on Android?
  • It used to. Not sure if it does anymore as I've not been maintaining the Android version in ages.

Does this support Netplay/Multiplayer?
  • Probably not. Many issues have been reported regarding bag data not remaining properly synced in multiplayer. If using in multiplayer, do so at your own risk and ensure that all players have the latest ItemBags version installed.

Where are this mod's config files?
  • There are 2 config files:
  • config.json - located in the mod's install directory. <GameInstallPath>\Mods\ItemBags\config.json
  • bagconfig.json - prior to v3.0.5, this was located in SMAPI's mod global data folders, typically <AppData>\Roaming\StardewValley\.smapi\mod-data\SlayerDharok.Item_Bags\bagconfig.json. Now it's located in mod's install directory. Editing this file is NOT recommended, only for advanced users
  • More details about these files can be found in the readme on the "Docs" tab.

The bags are too expensive! Can you lower the price?
  • You can configure the prices (and several other values) to suit your needs by editing the config.json file in your mod installation directory. Just open this file in any text editor and change the values to your liking. For example, if you wanted Massive Rucksacks to store literally hundreds of items, you could replace this:

    {
      "Size": "Massive",
      "PriceModifier": 1.0,
      "CapacityModifier": 1.0,
      "BasePrice": 1000000,
      "BaseCapacity": 9999,
      "Slots": 72,
      "MenuColumns": 12,
      "MenuSlotSize": 64
    }

with something like this:

    {
      "Size": "Massive",
      "PriceModifier": 1.0,
      "CapacityModifier": 1.0,
      "BasePrice": 1000000,
      "BaseCapacity": 9999,
      "Slots": 288,
      "MenuColumns": 24,
      "MenuSlotSize": 48

    }

How do I uninstall?
  • You can uninstall just as you would any other mod - just delete the mod folder. BUT first you should load your save, remove all items from your bags, delete/trash your bags, re-save your game, and then delete the mod folder. Otherwise you'll lose any items you had stored in your bags and could also be left with erroneous items in your save file!

Source code?

Can I store modded items in the bags?
Spoiler:  
Show

  • Yes, there are 2 ways to use modded items inside of bags: 
  • The first method is to put special .json files that define the modded bag's settings, in this folder: <ItemBags Install Path>\assets\Modded Bags. (Creating Modded Bags) (User-Created Modded Bags)
  • The second method is to edit the modded_items.json file in the mod's installation directory. This file lets you specify what modded items you want to be able to store inside of pre-existing standard bags.

modded_items.json information:
Spoiler:  
Show
[This file supports regular objects added to the game by JsonAssets or ContentPatcher. You can define some basic metadata about the item(s) you want to store in this file.

Here is brief example:

{
  "CreatedByVersion": "1.3.4",
  "Mods": [
    {
      "ModUniqueId": "ppja.artisanvalleyPFM", // The "UniqueID" of the manifest.json that the items belong to
      "Bags": [ // An array of all bags that will be modified to support modded items for the "ppja.artisanvalleyPFM" mod
        {
          "Name": "Farmers Bag", // The name of the bag that you want to be able to store modded items in. Does not include the bag's Size.
          "Items": [
            {
              "Name": "Drying Rack", // The name of the modded item
              "IsBigCraftable": true, // true if the modded item is an object that can be placed on a tile (such as a furnace, seed maker, keg etc)
              "HasQualities": false, // true if the item is available in multiple qualities (Regular/Silver/Gold/Iridium)
              "RequiredSize": "Large" // the minimum size of the bag that is needed to hold this modded item. Value must either be "Small", "Medium", "Large", "Giant", or "Massive"
            }
          ]
        }
      ]
    }
  ]
}

The above sample would do the following:
If "ppja.artisanvalleyPFM" mod is installed, then you will be able to store "Drying Rack" items inside of "Farmers Bag" whose size is >= "Large" (Large, Giant, and Massive)

So you are specifying which modded items you want to store and some metadata about them (in this case, "Drying Rack", with IsBigCraftable=true, HasQualities=false). Then you are specifying what sizes of what bags you want to be able to put this item in (in this case, "Farmers Bag" of size>=Large). Then you are also specifying which mod the items belong to (in this case, "ppja.artisanvalleyPFM") so that they will only be imported if the corresponding other mod is installed.