STYGION Documentation Search the docs

The market catalogue

Every Create Table Cloth shop on the server in one searchable list: what it sells, for what, whose and where, with "show on map". New in 0.3, off by default.

Keystone 0.2.8 Updated 2 min read
On this page 3 parts
  1. How shops are found
  2. For players
  3. For the owner

The market catalogue

New in 0.3, module market, off by default. Keystone finds every shop players have set up with a Create Table Cloth and a price tag in the loaded world and lists it: what it sells, for what, how many are left, whose it is and where. Nothing is bought here; buying stays at the table cloth.

How shops are found

#

Every look-every (default 5 minutes) the block entities of loaded chunks are read for shops. A shop is remembered after its chunk unloads and forgotten when its chunk is loaded again without it, or when it has not been seen for forget-after (30 days). Only loaded chunks are ever read; nothing is loaded for the catalogue.

For players

#
  • /market [item] lists the nearest shops in chat (listed, default 8), with the distance and direction.
  • With Keystone's client half, /market opens the catalogue: search, the item drawn as in the game, price, stock or sold out, owner, world, coordinates, distance and direction.
  • Show on map (map, default auto): a waypoint in JourneyMap, else in FTB Chunks, through their public APIs when the player has one of them (neither is a dependency), and always a beam in the world and an arrow on the HUD. journeymap, ftbchunks, beam or off picks one.
  • Permission keystone.market (everybody by default).

For the owner

#
  • /keystone market hide / show, standing within 8 blocks of a shop, takes it out of the catalogue or puts it back (keystone.market.manage).
  • GET /v1/market (scope players.read, ?item= part of an item id) gives the same list to a website, a Discord bot or a web map.
  • webhook: an https address that receives the whole catalogue as JSON (POST) when it changes, with webhook-key as a Bearer token. Empty sends nothing anywhere. Addresses inside the network are refused unless the owner sets allow-local.

Did this page help?

Opens the feedback panel with this page attached. It lands in the same queue as everything else.