DonutSell

A simple plugin creates a Sell System using vault or any other economy plugin with history and multipliers inspired by DonutSMP owned by DrDonutt

700

Quick challenge

How far can you run before the mobs catch you?

DonutSell

DonutSell

Paper Purpur Spigot Bukkit Modrinth

---

Discord
<i>Please contact me on Discord if you have any suggestions or edits.</i>

---

What

- DonutSell A simple plugin creates a Sell System using vault or any other economy plugin with history and multipliers inspired by DonutSMP owned by DrDonutt ---

Features

- Config Auto-Recovery: Players can open a sell container, place items inside, and sell everything instantly when they close it. - Config Auto-Recovery: Shulker boxes are fully supported — the box itself sells, and all items stored inside it are counted too. - Config Auto-Recovery: Sell GUI, messages, sounds, history GUI, buttons, titles, slots, and layouts are all configurable in the plugin files. - Config Auto-Recovery: Use Vault by default, or disable it and give money through any custom console command from config. - Config Auto-Recovery: Every item price is editable in `prices.yml`, and any unconfigured item automatically sells for the default price of `1`. - Config Auto-Recovery: Prices and sell totals are shown in clean compact format like `1K`, `1.2M`, `3B`, or `1T`. - Config Auto-Recovery: Operators can blacklist items from being sold, and blacklisted items are safely returned to the player instead of being removed. - Config Auto-Recovery: Players can open `/sellhistory` and browse every item they sold inside a paged chest menu. - Config Auto-Recovery: Sell history stores items exactly as sold, including names, enchantments, lore, and shulker data. - Config Auto-Recovery: Sell history can be sorted by value or by item name directly from the GUI. - Config Auto-Recovery: Item prices can be displayed anywhere with placeholders like `%donutsell_netherite_block_price%`. - Config Auto-Recovery: If a config file gets corrupted or broken, the plugin automatically resets it instead of crashing the server. ---

Commands

| Command | Access | Description | | :--- | :--- | :--- | | `/donutsell` | Everyone | Shows plugin info and available commands | | `/donutsell reload` | Operator | Reloads all configuration files | | `/donutsell item <item> blacklist` | Operator | Blacklists an item from being sold | | `/donutsell item <item> unblacklist` | Operator | Removes an item from the blacklist | | `/donutsell item <item> set-price <amount>` | Operator | Sets the sell price of an item | | `/sell` | Everyone | Opens the sell GUI to sell items | | `/sellhistory` | Everyone | Opens your sell history |

---

Configuration

- A folder named `DonutScoreboard` is created in your `plugins` folder automatically. Inside you will find a clean `config.yml` file.

Config.yml

```yml

==========================================================

#

DonutSell — config.yml

by SirSnaryo

#

Works on: Paper · Spigot · Bukkit · Purpur

Version: 1.21.x

#

==========================================================

# #

┌─────────────────────────────────────────────────────────┐

│ COLOR CODES │

├─────────────────────────────────────────────────────────┤

│ &f = white &7 = gray &0 = black │

│ &a = green &c = red &e = yellow │

│ &b = aqua &9 = blue &d = purple │

│ &l = bold &o = italic &r = reset all │

│ &#RRGGBB = any hex color (e.g. &#FF5500 = orange) │

└─────────────────────────────────────────────────────────┘

# #

┌─────────────────────────────────────────────────────────┐

│ COMMANDS │

├─────────────────────────────────────────────────────────┤

│ /sell → open sell GUI │

│ /sellhistory → open sell history │

│ │

│ /donutsell → plugin info │

│ /donutsell reload → reload config │

│ /donutsell item <item> blacklist → blacklist item │

│ /donutsell item <item> unblacklist → unblacklist item │

│ /donutsell item <item> set-price <amount> │

└─────────────────────────────────────────────────────────┘

# #

┌─────────────────────────────────────────────────────────┐

│ BROKEN CONFIG │

├─────────────────────────────────────────────────────────┤

│ If you break this file the plugin automatically │

│ resets it and regenerates a clean copy on startup. │

└─────────────────────────────────────────────────────────┘

#

==========================================================

----------------------------------------------------------

ECONOMY

vault-economy: true → uses Vault for deposits

vault-economy: false → uses money-give command instead

#

money-give placeholders:

[user] → player name

[amount] → raw amount (not formatted)

----------------------------------------------------------

vault-economy: true money-give: "example give [user] [amount]"

----------------------------------------------------------

SELL GUI

The container players use to sell items.

#

command → the command to open the sell GUI

aliases → alternative commands (list)

title → container title (supports color codes)

rows → number of rows (1-6)

#

open-sound:

enabled → play a sound when opening the GUI

sound → Bukkit Sound enum name

----------------------------------------------------------

sell: command: "sell" aliases: [] title: "&8ᴘʟᴀᴄᴇ ɪᴛᴇᴍꜱ ɪɴ ʜᴇʀᴇ ᴛᴏ ꜱᴇʟʟ" rows: 4 open-sound: enabled: false sound: "BLOCK_CHEST_OPEN"

----------------------------------------------------------

SELL MESSAGE

Shown to the player after selling items.

#

[amount] = compact formatted total (e.g. 1.2K, 5M)

#

You can enable/disable each notification type:

- chat message

- actionbar message

- title + subtitle

- sound

----------------------------------------------------------

sell-message: chat: enabled: true message: "&#7AFC00+$[amount]" actionbar: enabled: true message: "&#7AFC00+$[amount]" title: enabled: false title: "&#7AFC00+$[amount]" subtitle: "&7Items sold successfully!" fade-in: 10 stay: 40 fade-out: 10 sound: enabled: true sound: "ENTITY_EXPERIENCE_ORB_PICKUP"

----------------------------------------------------------

SELL EMPTY

Message shown when player closes the sell GUI without

putting any sellable items inside.

#

Set enabled to false to show nothing.

----------------------------------------------------------

sell-empty: chat: enabled: false message: "&cNo items to sell." actionbar: enabled: false message: "&cNo items to sell." title: enabled: false title: "&cNo Items" subtitle: "&7Put items in the GUI to sell them." fade-in: 10 stay: 40 fade-out: 10 sound: enabled: false sound: "ENTITY_VILLAGER_NO"

----------------------------------------------------------

BLACKLISTED ITEM RETURN

Message shown when blacklisted items are returned.

#

[count] = number of blacklisted items returned

----------------------------------------------------------

blacklist-return: chat: enabled: false message: "&c[count] blacklisted item(s) returned." actionbar: enabled: false message: "&c[count] blacklisted item(s) returned." sound: enabled: false sound: "ENTITY_VILLAGER_NO" ```

---

Installation

- Done the latest version of Done. - Done the `.jar` file into your server's `plugins` folder. - Done your server. - Done! setup required for prices only.

---

Modrinth Gallery

Example

--- © 2026 DonutSell. All rights reserved to MIT.

Donate via PayPal

ADS