Chest shops with no signs and no syntax
TalkShop turns any chest into a shop by talking in chat. No signs with an exact format, no commands to memorise: sneak, click, and the plugin asks you what it needs to know.
What it looks like
[CONFIRMAR] [OTRA CANTIDAD] [CANCELAR]
[TalkShop] Compraste 1x Diamante por 100.00.
Installation
Two minutes. All you need is an economy plugin, which you almost certainly already have.
- Install Vault and an economyVault is the bridge between plugins and your server's money. EssentialsX, CMI or any other will do.
- Copy TalkShop-1.0.0.jar into the plugins folderWorks on both Spigot and Paper, 1.21 and up.
- Restart the serverDo not use /reload. It generates config.yml, the lang/ folder and the database.
- Check the consoleYou should see: TalkShop enabled. 0 shops ready.
Coming from another shop plugin?
If you had ChestShopIK, TalkShop finds its database on first start and imports every shop on its own, keeping owner, item and prices. Your old folder is left untouched.
Create a shop
Place a chest, put what you are selling inside, and hold one of that item in your hand.
- Sneak and left-click the chestWith the item in hand. That item is the one going on sale.
- Answer what kind of shop it isType buy, sell or both in chat.
- Type the priceIf you chose both, it asks for both: first what you pay, then what you charge.
> sell
[TalkShop] ¿A qué precio quieres VENDER este ítem?
> 100
[TalkShop] ¡Tienda creada!
The three types
| Type | What it does | Example |
|---|---|---|
sell | You sell to players. Stock leaves your chest, money enters your account. | You sell diamonds at 100 |
buy | You buy from players. Items enter your chest, money leaves your account. | You buy iron at 10 |
both | Both at once in the same chest. It lives off the margin between the two prices. | Buy at 8, sell at 12 |
cancel any time to bail out.What about a custom item?
It works the same. TalkShop stores the whole item: name, lore, enchantments and the internal markers other plugins such as ElementalArms or MMOItems attach to it. A legendary sword sells as that sword, with its texture and its name on the hologram. And if someone drops a fake copy without those markers into the chest, it does not count as stock.
Buying and selling
Two clicks for the customer. They never open the chest: items and money move on their own.
| Action | What happens |
|---|---|
| Left-click | You buy 1 |
| Sneak + left-click | You buy a full stack |
| Right-click | You sell 1 |
| Sneak + right-click | You sell a full stack |
| [OTRA CANTIDAD] | You type the exact number in chat |
Nothing moves until you confirm
Clicking shows an offer in chat with three buttons. Until you press [CONFIRM], nothing is charged and no item moves. Hover the message to see the item detail: name, enchantments and lore.
The offer expires after 30 seconds, and if the owner changes the price while it is open, it is voided. You will never buy at a price that no longer exists.
When something does not add up
| Situation | What happens |
|---|---|
| You have no money | A warning, and nothing else happens |
| Your inventory is full | Refused before charging. No item is lost on the way |
| The shop is out of stock | A warning to you, and one to the owner to restock |
| The chest is full when you sell | A warning to you, and one to the owner to empty it |
| The owner has no money | They cannot buy from you, and you keep your items |
Managing your shop
Your own shop behaves like an ordinary chest. You do not trade with yourself.
| Action | What it does |
|---|---|
| Right-click | Opens the chest to restock or empty it |
| Left-click | Breaks the chest. The shop is gone and the items drop |
/talkshop remove | Stops being a shop but keeps the chest and everything in it |
/talkshop setsell <precio> | Changes what you charge. 0 stops selling |
/talkshop setbuy <precio> | Changes what you pay. 0 stops buying |
Automatic warnings
A full or empty shop stops selling without you noticing. TalkShop warns you when a customer could not buy or sell because of it:
If you were offline, the warning waits for you and arrives when you log in, even if the server restarted in between. There is a minimum gap between warnings from the same shop so it never becomes spam.
Shop finder
/shopsearch opens a menu with everything on sale across the server, cheapest first.
- Each item appears once, with the cheapest offer first
- Click one to see who sells it, at what price and the coordinates
- The sign button filters by name: type
diamondand you only see those - Custom items are shown as they are, with their texture, name and lore
Protections
A shop is a chest full of valuables with its owner's name floating above it. Here is how people try to rob one, and why none of it works.
| The attempt | What happens |
|---|---|
| Open the chest | It does not open. Right-click trades, never opens |
| Break the chest | Only the owner and staff |
| Break the other half of a double chest | Blocked. Both halves are the same shop |
| Place a chest alongside to merge them | It will not let you place it |
| Put a hopper underneath | It pulls nothing out |
| Blow it up with TNT or a creeper | The chest survives the blast |
The last two can be switched off in the config if your server prefers otherwise.
Regions
With WorldGuard installed, shops can only be created where the player may build. It is not required.
Commands
Aliases for /talkshop: /tshop and /ts. Everything has Tab completion.
| Command | What it does | Who |
|---|---|---|
/talkshop | Help | Everyone |
/shopsearch | Opens the shop finder | Everyone |
/talkshop setsell <p> | Changes the sell price | Owner |
/talkshop setbuy <p> | Changes the buy price | Owner |
/talkshop remove | Removes the shop, keeps the chest | Owner |
/talkshop toggleadmin | Admin shop with infinite stock | Admin |
/talkshop cleanup | Removes nearby orphan holograms | Admin |
/talkshop test | Use your own shops as a customer | Admin |
/talkshop reload | Reloads config and languages | Admin |
Permissions
| Permission | What it grants | Default |
|---|---|---|
talkshop.command.create | Create shops | everyone |
talkshop.command.search | Use the finder | everyone |
talkshop.command.setbuy | Change their buy price | everyone |
talkshop.command.setsell | Change their sell price | everyone |
talkshop.limit.<n> | Shop limit for that rank | — |
talkshop.admin.* | Everything admin | op |
talkshop.limit.5 for regular players and talkshop.limit.50 for VIPs, and each gets their cap. The highest number a player holds always wins.Configuration
Everything lives in plugins/TalkShop/config.yml. The comments in that file are lost on update, which is why every key is explained here.
Shops
shop:
max-per-player: 0
creation-cost: 0.0
creation-timeout-seconds: 60
confirmation-timeout-seconds: 30
protect-from-hoppers: true
protect-from-explosions: true
notify-owner: true
notify-cooldown-minutes: 10
notify-keep-days: 14| Key | Default | What it does |
|---|---|---|
max-per-player | 0 | Shops per player. 0 = unlimited |
creation-cost | 0.0 | What creating a shop costs |
creation-timeout-seconds | 60 | Time to answer before it cancels |
confirmation-timeout-seconds | 30 | How long an offer stays valid |
protect-from-hoppers | true | Stops hoppers from draining shops |
protect-from-explosions | true | Shop chests survive explosions |
notify-owner | true | Warn the owner when it fills up or empties |
notify-cooldown-minutes | 10 | Minimum gap between warnings from one shop |
notify-keep-days | 14 | How long warnings wait for an offline owner |
Holograms
display:
enabled: true
show-item-name: true
show-owner: true
show-stock: true
show-space: true
price-decimals: 2Database and language
language: "es"
database:
type: "sqlite"
mysql:
host: "localhost"
port: 3306
database: "talkshop"
username: "root"
password: ""Bundled languages: es, en, fr, zh. SQLite is a file inside the plugin folder and needs no setup; MySQL is only needed to share shops between several servers.
lang/ however you like. Your changes are not overwritten when the plugin updates: only new keys get added.Frequently asked questions
Does it work on Spigot or only Paper?
Both, 1.21 and up. The same file.
Does the buyer take the items out of the chest?
No. They go straight to their inventory on confirm. They never open the chest — if they could, they would take everything without paying.
Can I test my own shops alone on the server?
Yes, with /talkshop test. It is forgotten on disconnect, so it never stays on by accident.
Does it work with items from other plugins?
Yes. The whole item is stored with its internal markers, so fake copies do not count as stock.
How many shops can it handle?
They all live in memory and saves happen in the background, so clicking a chest never touches the disk, even with thousands of shops.

Version history
Every release and what changed in it.
- ✨Sales tax — a cut the server keeps from every sale. Whoever receives the money pays it, so the buyer never pays more than the hologram says. It can leave the economy as a sink or go into an account, a
- ✨Linked warehouse — link a second chest with /talkshop warehouse and it restocks the shop on its own. The hologram shows both amounts: Stock: 40 (8 + 32 in reserve). Shops die from refill fatigue, not
- 🔧Hologram background off by default, adjustable 0–255. In markets with shops close together the dark boxes covered the holograms behind them. Set display.background-opacity: 80 for the old look.
- 🐛Shops whose chest no longer exists left a hologram floating over nothing. They are now cleared away when their chunk loads.
- 🐛The shop finder opened an empty screen when clicking an item from another plugin. It was rebuilt to be compared and did not always come back identical; it is no longer rebuilt at all.
- ✨Market average price: /talkshop price tells you what an item has really been selling for over the last 30 days. Admin shops are excluded so they cannot skew it.
- ✨Buying budget: /talkshop budget 50000 caps what a shop spends buying from players. It stops buying on its own when spent, and warns you before and after.
- ✨Sales history: /talkshop history shows a shop's last sales with date, amount and price. Staff can read anyone's with talkshop.admin.history.
- ✨Teleport from the shop finder: click a shop in /shopsearch to be taken to it. Needs the talkshop.teleport permission, so it works as a rank perk.
- ✨Shop expiry, optional and off by default: shops of players who have not logged in for 60 days can be removed automatically.
- 🔧Buy shops now show "Can pay" next to "Room left", so the space in the chest and the money available are both visible on the hologram.
- 🔧config.yml updates itself: new options land in your file with their documentation, and your settings are kept.
- 🔧All four language files are created and kept up to date, not just the active one. Switching language no longer gives you an outdated file.
- 🔧/talkshop lists every command and shows the plugin version and author.
No notes for this version.
Discussion
Comment and share your experience on each plugin version.
No comments on this version yet — be the first!
No comments on this version yet — be the first!
No comments on this version yet — be the first!
Player reviews
What server owners think of this plugin.
El plugin esta genial! att: infinity3113 :P