Player-owned shops, custom trading, and a thriving player-driven economy.
v1.0.0: First release, barrel shops for Paper and Fabric
Stall v1.0.0
Stall is a player shop system for Minecraft 26.3 servers, as a plugin on Spigot, Paper, Purpur and Folia, and as a Fabric mod for dedicated servers. A player turns a barrel into a shop with a Stall token, stocks it, and sets up item trades that other players buy with a click. Shops are real blocks with real stock, and players on a vanilla client need nothing installed.
Added
Shops
/stall tokengives a Stall token. Right-clicking a barrel with it turns the barrel into a shop, if you could open that barrel anyway, so claim plugins and mods decide where shops can go.- The barrel holds the shop's stock, and buyers' payments land in it. The owner opens it as usual to restock and collect.
- Breaking a shop or running
/stall removegives its token back. Tokens owed to offline players wait for/stall reclaim.
Offers
- Up to six offers per shop. Each one asks for up to two items and gives up to two items, each slot up to one stack: 1 diamond + 2 gold ingots → 8 iron ingots.
- The owner sets offers up in a menu by sneaking and right-clicking the shop with empty hands, then clicking items from their inventory into the offer. The menu holds copies, so editing can never lose or duplicate an item.
- Item data counts: enchantments, names, damage and potion types must match exactly.
Buying
- Buyers right-click a shop and trade through a menu; they never reach the barrel itself.
- Every offer shows whether it's in stock, whether you can afford it, and whether either side has room, and lists what's missing.
- Trades are all or nothing. Everything is checked before anything moves, so a trade either completes in full or changes nothing.
Protection and limits
Explosion protection keeps shop barrels and stock intact while allowing nearby blocks to be destroyed.
Missing loaded containers are reconciled on chunk load, interaction and a periodic sweep. Their records are archived and any consumed token is queued for
/stall reclaim, with saved shop IDs preventing duplicate orphan refunds after a restart.Folia support uses entity and region schedulers, shared bookkeeping that supports concurrent regions, and ownership checks before inventory access.
Other players can't break or open a shop. Hoppers can't pull from a shop, but can still feed it.
Shop limits by permission,
stall.limit.0tostall.limit.100andstall.limit.unlimited, with a default of 3. LuckPerms works the same way on Paper and Fabric.Operators with
stall.admincan edit, remove and list anyone's shops.
Saving
- Shops are saved as JSON in the world's own folder,
<world>/stall/, so a world backup includes them. Saves happen in the background and never leave a half-written file. - Paper and Fabric use the same files and the same item format, so a world's shops move between the two.
- Each shop's barrel carries the shop's id. A shop whose barrel was replaced pauses instead of selling the new barrel's contents, until its owner restarts it.
Not yet
- Barrels are the only shop container. Chests come later.
Support
| Platform | Minecraft | Requirements |
|---|---|---|
| Spigot, Paper, Purpur, Folia | 26.3 | Java 25 |
| Fabric dedicated server | 26.3 | Java 25, Fabric Loader 0.19.3+, Fabric API |
Downloads
Stall-Paper-1.0.0.jar, the plugin for Spigot, Paper, Purpur and Folia.Stall-Fabric-1.0.0.jar, the Fabric mod. Needs Fabric API.