
Shops is a vanilla-style, command-driven shopping plugin for Paper and Spigot servers.
Create location-based stores, stock them with items, and let players buy, sell, and browse, all through commands with tab completion.
Shops is currently in beta. If you run into a problem, please search the existing issues and create a new one if it isn't already reported. If you're unsure, feel free to message me directly.
Features
- Location-based stores: players buy and sell by standing inside a store
- Store management: add, remove, and update items, prices, and stock limits
- Store funds: deposit into and withdraw from a store's balance using your server's economy
- Create, delete, and transfer stores, including creating stores for other players
- Default stores: set one per world, or one for all worlds
- Infinite funds and stock for server-run stores
- Limits for server owners: cap the stores per player, store dimensions and volume, and block off-limits areas such as spawn
- Customizable messages: change any player-facing message
- Permissions for every command
Requirements
- Server: Paper or Spigot, 1.21.11 or 26.x
- Java: 21 or newer (Java 25 for 26.x servers)
- Required plugin: Vault
- Economy plugin: any Vault-compatible economy, such as EssentialsX
Documentation
How it works
Store owners create a store at a location, then manage its inventory with commands:

Customers inside a store can browse its catalog, buy items, and sell items back:


Why command shops?
This stemmed from nostalgia for playing on my friend's cousin's Minecraft server, which used Towny and a location-based shopping plugin to make an ultimate survival multiplayer server. Back then, most plugins were controlled through commands instead of UI elements.
Tab completion for things like online players and materials makes command shops even easier to use today. An inventory UI may be more intuitive for players, but I'm sure there are still server operators who enjoy a more vanilla approach.
Shops is a revival of my original command shops plugin from around 2015. It's a personal project that I learn from and use on servers with friends and family.
Suggestions
I'm open to feature requests! Please search the issues first. If yours isn't there, open a new issue and explain what you'd like added or improved and why. The more detail you include, the easier it is for me to decide whether it fits the project's goals.
Contributing
Want to take on one of the open issues? It can be a great way to add projects and workflows to your portfolio and resumé. Please follow the Contributing Guidelines carefully to keep the review process smooth.
The source code is available on GitHub.