AtomatrixRetroDonutCore
AtomatrixRetroDonutCore is a combined Paper plugin that replicates multiple Retro DonutSMP features in a single JAR. Every feature is a self-contained module with its own YAML config file, and most modules can be reloaded or fully enabled/disabled at runtime without restarting the server.
This plugin is not publicly available and is exclusive to the Atomatrix Retro DonutSMP Server Setup Addon. This is for the retro setup. See the previous page for the up-to-date core plugin.
Features
Economy & Trading
- Pay: Economy features with
/pay,/paytoggle, and/bal, plus configurable tax, formatting, and limits. - Worth: Adds
Worth: $Xlore to items in your inventory, with a contents-and-total summary on shulker boxes. Item values live in the sharedworth.yml. - Billford: A configurable trading menu showing a single rotating trade. Trades rotate on a configurable interval, are picked at random from
billford.yml, and survive restarts. All clicks are server-validated to defeat packet-spam client mods. - Auction House: A paginated player-to-player auction house with category filtering, sorting, sign search, shulker preview, buy/sell confirmation GUIs, My Listings, and full transaction history. Expired items are auto-returned to sellers.
- Shop: A configurable buy shop with category icons and quantity-adjustable confirm screens. Each category can independently use Vault, PlayerPoints, or CoinsEngine as its currency.
- Sell: A 5-row sell GUI with nine item categories, each with independent multipliers that level up (up to 20 levels) as you earn. Includes
/sellworth,/sellhistory, and/selltop. - Shards: A passive shard-earning system. Players in AFK regions earn shards on a configurable interval; physical booster items multiply earnings. Optional kill-reward system included.
Movement & Teleportation
- Homes: A homes GUI with teleport (countdown), rename, set, and confirm-delete. Home slot count is granted by the
donuthome.<n>permission. Admin visit/delete commands included. - TPA: A teleport request system with
/tpa,/tpahere, a confirmation GUI, accept/deny/cancel commands, and several per-player toggles. - Spawn: A paginated spawn and AFK-zone GUI. Clicking a location starts a movement-cancellable countdown. Admins create, delete, open, and close locations.
- RTPZone: Configure WorldGuard regions as RTP zones with a live countdown; when the timer hits zero every player in the world is scattered to a unique safe random location.
- Jump: DonutSMP-style double-jump inside allowed WorldGuard regions, with configurable boost, cooldown, and sound.
Social & Cosmetic
- Hide:
/hidescrambles your nametag into&k-style magic characters. - PlayerToggle: Hides every other player from your client only, with per-world and per-region opt-outs.
- Msg: Private messaging with
/msgand/reply, plus/msgtoggleand per-player blocking. State persists across restarts. - Team: A full team system. Players who have earned $50,000 from
/sellcan create a team, invite/kick members, set a team home, use team chat, and manage five per-member permissions through a GUI. - Settings: A personal settings GUI where each item is a configurable toggle that dispatches a command and flips its lore.
Gameplay
- Combat: Combat tagging with an actionbar timer, combat-log inventory drop + reconnect kill, blockable commands while tagged, and WorldGuard PvP-zone border enforcement.
- Crate: A choose-your-own crate system with fully virtual keys. Right-click a bound block to open a crate, preview rewards, and pick one. Five default crates ship pre-configured.
- Tools: Five time-limited tools (Amethyst Axe, Sell Axe, Drillpick, Drill Shovel, Drainer), each handed out for a set duration and breaking when the timer expires.
- Leaderboards: A GUI with six ranked categories (Money, Deaths, Playtime, Mobs Killed, Blocks Broken, Blocks Placed).
- Baltop: A paginated money leaderboard of player heads with a personal head, refresh, and sign-based search.
Commands & Permissions
Most player commands default to true (available to everyone); admin commands
default to op. Passive permissions (no command) are marked (passive).
Core
| Command | Description | Permission | Default |
|---|---|---|---|
/donutcore reload [module] | Reload all modules, or a single module config. | donutcore.admin | op |
/donutcore status | Print the colored module status banner. Alias: /adc. | donutcore.admin | op |
Pay
| Command | Description | Permission | Default |
|---|---|---|---|
/pay <player> <amount> | Send money to another player. | donutpay.pay | true |
/paytoggle | Toggle whether you receive payments. | donutpay.paytoggle | true |
/bal [player] | View a balance. Aliases: /balance, /money. | donutpay.bal | true |
/donutpay | AtomatrixDonutPay info banner. Alias: /adp. | donutpay.admin | op |
Hide / PlayerToggle / Worth / Jump
| Command | Description | Permission | Default |
|---|---|---|---|
/hide | Toggle hiding your nametag. | donuthide.use | true |
/playertoggle [toggle] | Toggle other players' visibility for yourself only. | playertoggle.use | true |
/worth [toggle] | Show or hide the worth lore on your own items. | donutworth.use | true |
/donutjump [toggle] | Enable or disable double-jump for yourself. | donutjump.use | true |
| (passive) | Excludes the player from the double-jump feature. | donutjump.ignore | false |
Billford / Baltop
| Command | Description | Permission | Default |
|---|---|---|---|
/billford | Open the Billford trading menu. Alias: /donutbillford. | donutbillford.use | true |
/billford set <trade> | Force the active trade to the named entry. | donutbillford.admin | op |
/baltop | Open the Baltop leaderboard menu. Alias: /donutbaltop. | donutbaltop.use | true |
Msg
| Command | Description | Permission | Default |
|---|---|---|---|
/msg <user> <message> | Send a private message. Aliases: /tell, /whisper, /w. | donutmsg.use | true |
/reply <message> | Reply to the last player who messaged you. Alias: /r. | donutmsg.use | true |
/msgtoggle | Toggle whether you receive private messages. | donutmsg.use | true |
/msgblock <user> | Block a player from messaging you. | donutmsg.block | true |
/msgunblock <user> | Unblock a previously blocked player. | donutmsg.block | true |
Region / Settings
| Command | Description | Permission | Default |
|---|---|---|---|
/donutregion bypass [region] | Override (or clear) the IP-based region detection. | donutregion.admin | op |
/settings | Open the personal settings GUI. Alias: /donutsettings. | donutsettings.use | true |
Homes
| Command | Description | Permission | Default |
|---|---|---|---|
/home [name] | Teleport to a home. Opens the GUI when you have multiple homes and no name is given. | donuthome.use | true |
/homes | Open the homes GUI. | donuthome.use | true |
/sethome [name] | Set a home at your current location. | donuthome.use | true |
/renamehome <old> <new> | Rename a home via command. | donuthome.use | true |
/home-admin delhome <player> <home> | Delete any player's home. | donuthome.admin | op |
/home-admin visithome <player> <home> | Teleport to any player's home. | donuthome.admin | op |
| (passive) | Allow the player to have N homes (donuthome.1–donuthome.5). | donuthome.<n> | false |
| (passive) | Bypass blocked-world restriction when setting homes. | donuthome.bypass.world | op |
| (passive) | Bypass blocked-region restriction when setting homes. | donuthome.bypass.world.guard | op |
Leaderboards
| Command | Description | Permission | Default |
|---|---|---|---|
/leaderboard | Open the leaderboards hub. Aliases: /leaderboards, /lb. | leaderboards.use | true |
/leaderboard <category> | Jump directly to a category leaderboard. | leaderboards.use | true |
| (passive) | Reserved for future Leaderboards admin actions. | leaderboards.admin | op |
Auction House
| Command | Description | Permission | Default |
|---|---|---|---|
/ah | Open the Auction House GUI. Alias: /auctionhouse. | donutauction.use | true |
/ah sell <price> | List the held item at the given price (opens confirm GUI). | donutauction.use | true |
/ah fastbuy | Instantly buy the cheapest listing for the held item type. | donutauction.fastbuy | true |
/ah fastsell <price> | List the held item at the given price without confirmation. | donutauction.fastsell | true |
/ah toggle | Open or close the Auction House for non-admin players. | donutauction.toggle | op |
/ah info | Show active listing count and expiry statistics. | donutauction.use | true |
/ahadmin block <player> | Block a player from using the Auction House. | donutauction.admin | op |
/ahadmin unblock <player> | Unblock a previously blocked player. | donutauction.admin | op |
/ahadmin clearcurrent <player> | Cancel all active listings for a player (items returned). | donutauction.admin | op |
/ahadmin clearhistory <player> | Wipe a player's transaction history. | donutauction.admin | op |
/ahadmin clearall <player> | Cancel listings, clear history, and unblock a player. | donutauction.admin | op |
| (passive) | Allow N concurrent listings (donutauction.sell.1, .2, .3, .5, .10, .25). | donutauction.sell.<n> | false |
| (passive) | Unlimited concurrent listings. | donutauction.sell.unlimited | op |
| (passive) | Bypass the open/closed toggle when selling. | donutauction.sell.bypass | op |
| (passive) | Bypass the open/closed toggle when buying. | donutauction.buy.bypass | op |
| (passive) | Bypass all Auction House restrictions. | donutauction.emergency.bypass | op |
Combat
| Command | Description | Permission | Default |
|---|---|---|---|
| (passive) | Bypass combat tagging and PvP border restrictions (admin). | combat.admin | op |
| (passive) | Bypass combat tagging and PvP border restrictions. | combat.bypass | false |
Crate
| Command | Description | Permission | Default |
|---|---|---|---|
/dc bind <crate> | Mark the next block broken as the crate's block. | donutcrate.admin | op |
/dc unbind | Mark the next block broken for unbinding. | donutcrate.admin | op |
/dc view <crate> | Open the crate GUI in view-only mode (no key consumed). | donutcrate.view | true |
/dc itemeditor <crate> | Open the item editor GUI for the given crate. | donutcrate.admin | op |
/dc createcrate <name> | Create a new empty crate in crate.yml. | donutcrate.admin | op |
/dc givekey <player> <crate> <amount> | Give virtual crate keys to a player. | donutcrate.admin | op |
/dc keytake <player> <crate> <amount> | Remove virtual crate keys from a player. | donutcrate.admin | op |
/dc keyall <crate> <amount> | Give virtual keys to every online player. | donutcrate.admin | op |
/dc keylist <player> | List all virtual key counts for a player. | donutcrate.admin | op |
/dc keyclear <player> | Clear all virtual keys for a player. | donutcrate.admin | op |
/dc help | Show the crate command list. | (none) | true |
| (passive) | Allows the player to open crates with virtual keys. | donutcrate.use | true |
Spawn & AFK
| Command | Description | Permission | Default |
|---|---|---|---|
/spawn | Open the Spawns GUI to browse and teleport to spawn areas. | spawn.use | true |
/afk | Open the AFK GUI to browse and teleport to AFK zones. | spawn.use | true |
/setspawn <name> | Set a spawn at your current location. | spawn.setspawn | op |
/setafk <name> | Set an AFK zone at your current location. | spawn.setafk | op |
/delspawn <name> | Delete a spawn by name. | spawn.removespawn | op |
/delafk <name> | Delete an AFK zone by name. | spawn.removeafk | op |
/spawnopen <name> | Open a spawn so players can teleport to it. | spawn.spawnopen | op |
/spawnclose <name> | Close a spawn so players cannot teleport to it. | spawn.spawnclose | op |
/afkopen <name> | Open an AFK zone so players can teleport to it. | spawn.afkopen | op |
/afkclose <name> | Close an AFK zone so players cannot teleport to it. | spawn.afkclose | op |
Sell
| Command | Description | Permission | Default |
|---|---|---|---|
/sell | Open the sell GUI to place items and sell on close. | sell.use | true |
/sellworth [item] | Check the sell price of the held item or a named key. Alias: /sw. | sell.worth | true |
/sellhistory | Open the paginated sell transaction history GUI. Alias: /sh. | sell.history | true |
/selltop | Open the sell leaderboard GUI. Alias: /st. | sell.top | true |
/selladmin reset <player> | Reset a player's sell data (progress, history, totals). | sell.admin | op |
/selladmin save | Force-save all sell data to disk. | sell.admin | op |
Team
| Command | Description | Permission | Default |
|---|---|---|---|
/team | Open your team GUI (paginated member list). | donutteam.use | true |
/team create <name> | Create a new team (requires $50k from /sell). | donutteam.use | true |
/team invite <player> | Invite a player to your team. | donutteam.use | true |
/team kick <player> | Kick a member from your team (opens confirm GUI). | donutteam.use | true |
/team leave | Leave your current team (opens confirm GUI). | donutteam.use | true |
/team disband | Disband your team (owner only, opens confirm GUI). | donutteam.use | true |
/team rename <name> | Rename your team (owner only). | donutteam.use | true |
/team sethome | Set the team home at your current location (owner only). | donutteam.use | true |
/team delhome | Delete the team home (owner only). | donutteam.use | true |
/team home | Teleport to the team home (with countdown). | donutteam.use | true |
/team chat <message> | Send a message visible only to team members. | donutteam.use | true |
/team chat toggle | Toggle persistent team-chat mode on/off. | donutteam.use | true |
/team-admin delete <name> | Force-delete any team. | donutteam.admin | op |
/team-admin home <name> | Teleport to any team's home. | donutteam.admin | op |
Shop
| Command | Description | Permission | Default |
|---|---|---|---|
/shop | Open the shop GUI. Alias: /donutshop. | shop.use | true |
| (passive) | Allows the player to reload the shop module. | shop.admin | op |
| (passive) | Access all premium shop categories. | shop.premium | false |
| (passive) | Access the End category if premium is required. | shop.premium.end | false |
| (passive) | Access the Nether category if premium is required. | shop.premium.nether | false |
| (passive) | Access the Gear category if premium is required. | shop.premium.gear | false |
| (passive) | Access the Food category if premium is required. | shop.premium.food | false |
| (passive) | Access the Shards category if premium is required. | shop.premium.shards | false |
RTPZone
| Command | Description | Permission | Default |
|---|---|---|---|
/rtpzone start | Immediately scatter all players in the configured world. | rtpzone.admin | op |
/rtpzone status | Show time remaining, players in zone, and zone config. | rtpzone.admin | op |
Shards
| Command | Description | Permission | Default |
|---|---|---|---|
/shard timeleft | Check remaining time on your active shard booster. | shards.use | true |
/shard toggle | Toggle the actionbar shard countdown messages on/off. | shards.use | true |
/shard pay <player> <amount> | Give shards to a player. | shards.admin | op |
/shard take <player> <amount> | Take shards from a player. | shards.admin | op |
/shard givebooster <player> <time> <multi> | Give a shard booster item (e.g. 24h 4). | shards.admin | op |
/shard clearbooster <player> | Clear a player's currently active booster. | shards.admin | op |
| (passive) | Earn shards from anywhere, not only in AFK regions. | shards.get.anywhere | false |
| (passive) | Booster tier permission (1×–30×, e.g. shards.booster.4). | shards.booster.<n> | false |
TPA
| Command | Description | Permission | Default |
|---|---|---|---|
/tpa <player> | Request to teleport to another player. | donuttpa.tpa | true |
/tpahere <player> | Request another player to teleport to you. | donuttpa.tpahere | true |
/tpaccept [player] | Accept a pending teleport request (most recent if no arg). | donuttpa.tpaccept | true |
/tpdeny [player] | Deny a pending teleport request (most recent if no arg). | donuttpa.tpdeny | true |
/tpacancel | Cancel your own outgoing teleport request. | donuttpa.tpacancel | true |
/tpatoggle | Toggle whether others can send you /tpa requests. | donuttpa.tpatoggle | true |
/tpaheretoggle | Toggle whether others can send you /tpahere requests. | donuttpa.tpaheretoggle | true |
/tpaauto | Toggle auto-accepting all incoming teleport requests. | donuttpa.tpaauto | true |
/tpaguitoggle | Toggle the confirmation GUI on or off for yourself. | donuttpa.tpaguitoggle | true |
/tp <player> | Teleport yourself to another player. | donuttpa.tp | op |
/tp <player1> <player2> | Teleport player1 to player2 (admin). | donuttpa.admin | op |
Tools
| Command | Description | Permission | Default |
|---|---|---|---|
/tools give <player> <tool> <time> | Give a time-limited tool to a player. Aliases: /dt, /donuttools. | tools.admin | op |
/tools list | List the available tools. | tools.use | true |
/tools toggle | Toggle tool sounds and particles for yourself. | tools.use | true |
/tools help | Show the Tools command list. | tools.use | true |
Placeholders
Requires PlaceholderAPI.
| Placeholder | Description |
|---|---|
%donutcrate_<crateId>% | The viewing player's virtual key count for the given crate (e.g. %donutcrate_common-crate%). |
%donutbillford_next_trade% | Time until the active Billford trade rotates, e.g. 2d 2h. |
%donutbillford_current_trade% | The ID of the currently active Billford trade. |
%donutregion_playerregion% | The viewing player's coarse region label (e.g. NA East). |
%donutteam_name% | The viewing player's team name, or empty if not in a team. |
%donutteam_yes_no% | Yes if the player is in a team, No otherwise. |
%donutrtpzone_time_rtpzone% | Seconds remaining until the next RTP scatter event. |
%shards_value% | The viewing player's current shard balance (formatted with K/M/B/T suffixes). |
%sell_me_name% | The viewing player's name. |
%sell_me_made% | The viewing player's total sell earnings (formatted, e.g. 1.23M). |
%sell_me_item% | The viewing player's total items sold. |
%sell_position_me% | The viewing player's rank in the sell leaderboard, or ? if unranked. |
%sell_item_<n>% | Rank label for the nth leaderboard entry, e.g. 1. PlayerName. |
%sell_name_<n>% | Player name for the nth sell leaderboard entry. |
%sell_made_<n>% | Total earnings for the nth sell leaderboard entry (formatted). |
%sell_totalsold_server% | Total money earned from sells across all players (formatted). |
%sell_totalsolditemscount_server% | Total items sold across all players. |
Dependencies
Required:
Optional:
- PlaceholderAPI - for the placeholders listed above.
- Vault - required for Vault-based shop categories.
- PlayerPoints - required for PlayerPoints-based shop categories (Shards)
Companion Plugins
Some DonutSMP features are provided by separate plugins:
- Portals: MultiversePortals
- Punishments: AdvancedBan
- Duels: DonutDuels
- Bounty: BetterBounty