DonutSell

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

24 245 downloads
10 followers

Full Documentation

DonutSell

Paper Purpur Spigot Bukkit Modrinth


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


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

  • 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.
  • Sorting Options: Worth System 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%.

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

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

Modrinth Gallery

Example

<iframe width="560" height="315" src="https://www.youtube-nocookie.com/embed/G-fiblbE0To" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>

© Released under the MIT License. Created by SirSnaryo.