
Please contact me on Discord if you have any suggestions or edits.

-
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

- Simple Sell System: Players can open a sell container, place items inside, and sell everything instantly when they close it.
- Recursive Shulker Selling: Shulker boxes are fully supported — the box itself sells, and all items stored inside it are counted too.
- Full Customization: Sell GUI, messages, sounds, history GUI, buttons, titles, slots, and layouts are all configurable in the plugin files.
- Vault or Command Economy: Use Vault by default, or disable it and give money through any custom console command from config.
- Configurable Item Prices: Every item price is editable in
prices.yml, and any unconfigured item automatically sells for the default price of 1.
- Compact Money Format: Prices and sell totals are shown in clean compact format like
1K, 1.2M, 3B, or 1T.
- Blacklist System: Operators can blacklist items from being sold, and blacklisted items are safely returned to the player instead of being removed.
- Sell History GUI: Players can open
/sellhistory and browse every item they sold inside a paged chest menu.
- Exact Item History: Sell history stores items exactly as sold, including names, enchantments, lore, and shulker data.
- Sorting Options: Sell history can be sorted by value or by item name directly from the GUI.
- PlaceholderAPI Support: 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.

| 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 |

- 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 blacklist → blacklist item │
# │ /donutsell item unblacklist → unblacklist item │
# │ /donutsell item set-price │
# └─────────────────────────────────────────────────────────┘
#
#
# ┌─────────────────────────────────────────────────────────┐
# │ 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: "AFC00+$[amount]"
actionbar:
enabled: true
message: "AFC00+$[amount]"
title:
enabled: false
title: "AFC00+$[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"
```

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

© 2026 DonutSell. All rights reserved to MIT.
暂无评论,抢个沙发吧~