CustomShops

To add a custom shop, you need two parts; the parameter that tells the item to open the interactable window, and the parameter that contains the item data inside.

For instance, here's a market that gives you 1 copper ore for 1 silver ore.

{
    "count": 1,
    "name": "marketstall1",
    "parameters": {
        "apexDescription": "A wide selection of succulent fruits.",
        "avianDescription": "Such fruit is rarely tasted by Avians of the faith.",
        "category": "decorative",
        "colonyTags": [
            "avian",
            "avianvillage",
            "commerce",
            "cooking"
        ],
        "description": "I wonder what fruit they sell on this planet.",
        "floranDescription": "Sssuch horrible birdman food.",
        "glitchDescription": "Envious. If I were capable of producing saliva, I would be salivating.",
        "humanDescription": "I'm dying to taste some of this fruit.",
        "hylotlDescription": "Surface food is so rich and full of flavour.",
        "interactAction": "OpenCraftingInterface",
        "interactData": {
            "config": "/interface/windowconfig/craftingmerchant.config",
            "paneLayoutOverride": {
                "windowtitle": {
                    "icon": {
                        "file": "/interface/crafting/other.png"
                    },
                    "subtitle": "Description",
                    "title": "Market Name"
                }
            },
            "recipes": [
                {
                    "input": [
                        {
                            "count": 1,
                            "name": "silverore",
                            "parameters": {}
                        }
                    ],
                    "output": {
                        "count": 1,
                        "name": "copperore",
                        "parameters": {}
                    }
                }
            ]
        },
        "inventoryIcon": "marketstallicon1.png",
        "novakidDescription": "Fruit, wonder how'd it taste cooked up on a campfire.",
        "objectName": "marketstall1",
        "orientations": [
            {
                "anchors": [
                    "bottom"
                ],
                "animationCycle": 1.0,
                "collision": "platform",
                "dualImage": "marketstall1.png:<color>",
                "frames": 1,
                "imagePosition": [
                    -24,
                    0
                ],
                "spaceScan": 0.1
            }
        ],
        "price": 999,
        "race": "avian",
        "rarity": "Common",
        "shortdescription": "Test Shop"
    }
}

(Copy and paste into a Starcheat item slot to use)

The key parts are

   
"interactAction": "OpenCraftingInterface",
"interactData": {