Powerful SwitchCraft service to find shops and items!
FindShop is a SwitchCraft service providing an easy way to search for compatible
shops implementing the ShopSync protocol. Default command aliases are \fs
or \findshop
.
Currently, findshop only runs on ReconnectedCC. The aliases being used are \fsl
and \findshoplegacy
, and the HTTP API runs at https://rcc.findshop.patriik.one/api/.
There are a few reasons why your search results may not be what you expected, such as the following.
FindShop matches results based on exact matches to an item name (display name
and item id). So, for example, if you were searching for slime blocks
(minecraft:slime_block
):
slime
would be matched to both the display name ("Slime Block") and the item ID (minecraft:slime_block)slime_block
would be matched to the item ID (minecraft:slime_block) between "slime" and "block" and the item ID replaces this space with anslimeblock
would return NOTHING because the display name has a space in underscore.
FindShop fetches shop information, including location, pricing & stock, from shops implementing the ShopSync standard. Shops might not appear if:
- their software doesn't support ShopSync
- their software implemented ShopSync incorrectly
- their shop hasn't been configured to use ShopSync
- their shop hasn't been loaded recently
- something is broken on our end
Note
If there are others, feel free to submit a PR.
Software | Version | ShopSync Standard (in latest version) | Note |
---|---|---|---|
Kristify | >=1.3.0 | 1.1 | Earlier versions may use an older ShopSync standard |
Radon (Katze's Fork) | >=1.3.30 | 1.1 | Most common shop software, Updated to support Kromer |
Radon (Original) | >=1.3.30 | 1.1 | Most common shop software on SwitchCraft 3. |
Note
If you're running the Radon shop on ReconnectedCC, You should probably use Katze's fork, as it is maintained and supports Kromer.
\fs buy [[=]item] [page]
Finds shops with [item]
and returns the shop name, location, item price &
quantity in stock. The buy keyword is optional: if no subcommand is specified,
buy is inferred. If [item]
is prefixed with =
, an exact query is performed.
\fs sell [[=]item] [page]
Finds shops buying [item]
and returns the shop name, location and item price. If [item]
is prefixed with =
, an exact query is performed.
\fs shop <id> [page]
Finds shops with <id>
and returns the owner, location, and other statistics.
\fs stats
Returns some statistics.
\fs list [page]
Lists all available shops.
/v1/items
Query params (optional): query: string query exact: true/false inStock: true/false sell: true/false includeFullShop: true/false
/v1/shop/:id
Query params (optional): includeItems: true/false
You must use a reverse-proxy like Nginx or
Caddy to rate-limit, log, and protect the API.
The IP of the client must be set in the X-Forwarded-For
header. The proxy must
not accept any pre-existing value in the header, and should always overwrite it.
FindShop is developed using the Bun toolkit and runtime.