# About

<p align="center">
  <img src="logo.png">
</p>

**ExcellentShop** is a modern, lightweight, 2-in-1 shop solution featuring intuitive admin GUIs and player-owned chest shops.

---

### :star: Core Features

- **Database Support**: Hook up to SQLite or MySQL and keep your data safe.
- **Sync Across Servers**: Keep everything identical across your whole network with built-in syncing.
- **Modular Design**: If you don't use a feature, just turn it off to keep things snappy.
- **Transaction Logs**: Monitor all shop activity with logging saved to a dedicated file.
- **Language Control**: Change almost any message, swap in sounds, or use titles and action bars for a cleaner look.
- **Rich Text Formatting**: Use MiniMessage to add hover text, click actions, and custom icons.
- **Multi-Currency**: Works right out of the box with [ExcellentEconomy](https://spigotmc.org/resources/84121/), [PlayerPoints](https://www.spigotmc.org/resources/80745/), [BeastTokens](https://www.spigotmc.org/resources/20806/), and more.
- **Custom Item Support**: Fully compatible with [ItemsAdder](https://www.spigotmc.org/resources/73355/), [Nexo](https://mcmodels.net/products/13172/nexo), [Oraxen](https://www.spigotmc.org/resources/72448/), [ExecutableItems](https://www.spigotmc.org/resources/83070/), [MMOItems](https://www.spigotmc.org/resources/39267/), and more.
- **PlaceholderAPI Ready**: Use PlaceholderAPI anywhere you need them.
- **Easy Purchase GUIs**: Players get simple, clean and interactive screens for buying and selling.
- **Smart Clicks**: Set up different click actions for products based on whether they're for buying or selling.
- **Smart Displays**: Set up different displays for products based on whether they're for buying, selling, or restricted.
- **NBT Support**: Supports any items with any NBT data.

<p align="center">
<img src="img/virtualshop/buygui.gif">
<img src="img/virtualshop/sellgui.gif">
</p>

---

### :convenience_store: Virtual Shops

- **Admin GUI Shops**: Build powerful shops for your server with tons of settings.
- **In-Game Editor**: Manage every little detail of your shops directly in-game.
- **Shop Hub**: Let players find every shop in one central, customizable menu.
- **Shop Layouts**: Design custom layouts for your shops with per-page layout support.
- **Quick Shortcuts**: Create custom commands like `/wood` or `/tools` to jump straight to a specific shop.
- **Price Models**: Use 4 different pricing models for your items.
- **Global Stocks**: Set global limits on items to keep your server economy in check with auto-refill support.
- **Player Limits**: Decide exactly how many times a player can buy or sell certain items with auto-reset support.
- **Rotating Items**: Create limited-time deals that swap out automatically.
- **Rank Requirements**: Lock certain shops or items behind ranks or permissions.
- **Fast Selling**: Let players clear their inventory quickly with `/sell`, `/sellall`, and `/sellhand`.
- **Rank Bonuses**: Give players more money for their items based on their rank or permissions.
- **Sell Commands**: Run custom commands on purchase with placeholder support.

<p align="center">
<img src="img/virtualshop/central.gif">
<img src="img/virtualshop/shop.gif">
</p>

<p align="center">
<img src="img/virtualshop/editor.gif">
<img src="img/virtualshop/limits.gif">
</p>

---

### :scales: Player Shops

- **Chest-Based Shops**: Let players turn any chest, barrel, shulker box, etc. into their own little store.
- **Special Shop Blocks**: Create shops simply by placing custom shop blocks.
- **Virtual Storage**: Allow shops to exceed physical container capacity using virtual item storage.
- **Admin Shops**: Create shops with bottomless stock and endless money.
- **Clean Holograms**: Show shop info with packet-based holograms that won't lag the server.
- **Shop Listing**: Players can browse a list of every active player shop in a GUI.
- **Item Search**: Quickly find pecific items across all player-owned shops.
- **Shop Bank**: Earnings go into a separate shop balance so players don't accidentally spend it.
- **In-Game Editing**: Players can tweak their own shop settings through a simple menu.
- **Shop Limits**: Set how many shops and items a player can have based on their rank.
- **Rent a Shop**: Let players rent out premade shops for a set time and price.
- **Claim Integrations**: Allow shop creations only within valid player claims.
- **Setup Fees**: Charge players a customizable fee to open or close their shops.
- **Item Blacklist**: Protect your economy by banning certain items from being sold.

<p align="center">
<img src="img/playershop/shop_types.gif">
<img src="img/playershop/showcase.gif">
</p>

<p align="center">
<img src="img/playershop/items.gif">
</p>

---

### :warning: Auction Info

Auction module will be removed and released as separated plugin in near future.

---

### :toolbox: Requirements

You **must** have [NightCore](https://nightexpressdev.com/nightcore/) framework plugin installed.

The following versions and platforms are supported: 

| **Server Version**  | **Paper** | **Spigot** | **Folia** | **Java Version**
| :---: | :---: | :---: | :--: | :---: |
| 26.1.X | :heavy_check_mark: | :heavy_check_mark: | :x: | 25 |
| 1.21.11 | :heavy_check_mark: | :heavy_check_mark: | :x: | 21 |
| 1.21.10 | :heavy_check_mark: | :heavy_check_mark: | :x: | 21 |
| 1.21.9 | :heavy_check_mark: | :heavy_check_mark: | :x: | 21 |
| 1.21.8 | :heavy_check_mark: | :heavy_check_mark: | :x: | 21 |

- Anything not listed in the compatibility table is **NOT** supported.
- Make sure to check out all known issues and incompatibilities [here](/faq/).

**Optional Plugins:**
- [PacketEvents](https://spigotmc.org/resources/80279/) - Clientside holograms for player shops; visual enhancements for Sell GUI. Alternative to **ProtocolLib**.
- [ProtocolLib](https://spigotmc.org/resources/1997/) - Clientside holograms for player shops; visual enhancements for Sell GUI. Alternative to **PacketEvents**.
- [PlaceholderAPI](https://spigotmc.org/resources/6245/) - For [global placeholders](/integrations/papi/) to use in other plugins.

---

### :heart: Donate

Everything here is created and maintained by a single person. If you enjoy my work or find my plugins useful, feel free to [Buy me a coffee](https://ko-fi.com/nightexpress) :)  
Thank you! 🧡
