Creating a Shop

From The Stardew Modding Wiki
Jump to navigation Jump to search

Future Infobox info: Lemurkat, May 23 2021

There are two ways to create a shop in your Stardew Valley map:

  • TMXL Toolkit
  • Shop Tile Framework

Luckily, the mechanisms for both are fairly similar, and we can consider and compare them here.

Tools Required:

Setting up shop[edit | edit source | hide | hide all]

You can set up the shop tile in one of two ways, one using Tiled, the other via a Content Patcher patch.

USING TILED

  1. Open your map in Tiled.
  2. Select the position you want your shop to be accessed from. This must be a tile with a Building Tile on it, and must have at least one Back tile in front of it (to make it accessible by the player).
  3. ShopStep1.png
    Select the Object layer for Buildings (it's the one with the purple icon). Now select the rectangle above with the little yellow arrow under it. Click the cursor in the top left hand corner of the tile you want to set the shop on and drag it across the square. (You should have 'snap to grid' enabled before doing this). Now the Tile will be surrounded in 'marching ants'.
  4. Click the + sign under Custom Properties, a pop up box will appear.
    1. For Shop Tile Framework: Enter "Shop" then hit enter, and type the name of your shop into the little text box beside it.
      1. Ie: ESInnShop
    2. For TMXL: Enter "Action", then "OpenShop <ShopName> <ShopName> <Shop Dialogue>.
      1. ie: OpenShop ESInnShop ESInnShop Hey there, what I can do for you today?
5. Now navigate across to the Objects tab on the right hand side, and click on this to open up the list of objects added to your map. Look for one that doesn't have TileData beside it. Click beside it to open a text box and add the word "TileData".
ShopStep2.png

USING CODE[edit | edit source | hide]

For this you will require Content Patcher. I will assume you already have a content.json for the mod, so here is the code to add to that:
   { //sets up ES Inn Shop 
            "Action": "EditMap",
            "Target": "Maps/EastScarpeInn", //The Map you are editing 
            "MapTiles": [
                {
                    "Position": {
                        "X": 45, //The co-ordinates of the tile to edit 
                        "Y": 28
                    },
                    "Layer": "Buildings",
                    "SetProperties": {
                        //STF : "Shop": "ESInnShop" 
                        //TMXL : "Action":"OpenShop ESInnShop ESInnShop What can I do for you today"
                    }
                }
            ]
        },,
THIS IS A TUTORIAL IN PROGRESS, HOW TO ADD STUFF TO YOUR SHOP, COMING SOON!