AtomatrixDonutCore
AtomatrixDonutCore is a combined Paper plugin that replicates multiple 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 DonutSMP Replica Server Setup.
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