Skip to main content

CookieSMPCore

CookieSMPCore 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: Opens an item price-list GUI, or toggles a Worth: $X lore line on the items in your own inventory. Item values live in the shared itemworths.yml.
  • Auction House: A paginated player-to-player auction house with category filtering, sorting, sign search, shulker preview, buy/sell confirmation GUIs, a "My Items" page, and full transaction history. A per-player Quick Buy toggle (/ah toggle) skips the buy confirmation screen. Expired items are auto-returned to sellers.
  • 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.
  • Shard Shop: A 6-row GUI shop where players spend Shards (PlayerPoints) on items. Each entry either hands over a built item or runs a console command, and clicking an item opens a 3-row confirm screen before the shards are taken. Opened with /shardshop.

Movement & Teleportation

  • Homes: A homes screen rendered as a native Minecraft Custom Menu (Paper Dialog) on Java and a Cumulus form on Bedrock, with teleport (countdown), set, rename, change-icon, and confirm-delete. Home slot count is granted by the donuthome.<n> permission (up to 90). Admin visit/delete commands included.
  • TPA: A teleport request system with /tpa, /tpahere, an optional confirmation screen (/teleportgui), accept/deny/cancel commands, and several per-player toggles.
  • First Join: The first time a player ever joins, they are randomly teleported into the wilderness — a safe surface spot a configurable distance from spawn, with destinations pre-cached in the background. Players with firstjoin.bypass are skipped.
  • Jump: DonutSMP-style double-jump inside allowed WorldGuard regions, with configurable boost, cooldown, and sound.

Social & Communication

  • Msg: Private messaging with /msg and /reply, plus /msgtoggle and per-player blocking. State persists across restarts.
  • Friends: A follow-based friends system — follow players, and mutual follows become friends. Six per-friend toggles (See Activity, See Transactions, Can Message, Can Teleport Request, Auto-Accept TPA, Can Pay) are enforced across Pay, Msg, and TPA. Activity notifications (join/leave/kill/home/auction) fan out to your followers. Native Dialog menu on Java, Cumulus form on Bedrock; opened with /friends.
  • PlayerToggle: Hides every other player from your client only, with per-world and per-region opt-outs.

Interface & Cosmetic

  • Main Menu: A native Minecraft Custom Menu (delivered via a generated datapack) that also adds a button to the pause/ESC screen, with shortcuts to Homes, Auction, Friends, Sell, Leaderboards, Settings, and more. Opened with /menu; Bedrock players get a Cumulus form.
  • Settings: A personal settings screen (native Dialog on Java, Cumulus form on Bedrock) with collapsible categories. Toggles cover chat, notifications, PvP, visuals, privacy, and the scoreboard; some are simple ON/OFF, others are 3-state (Off / Friends / Anyone) controlling who may message, pay, or TPA you. Can optionally suppress totem and explosion particles/sounds via ProtocolLib.
  • Scoreboard: A per-player sidebar scoreboard showing stats such as money, shards, kills, deaths, and playtime. The whole board and each individual line are toggled from the Settings menu — there is no separate command.
  • Leaderboards: Native Custom Menu (Dialog) / Cumulus leaderboards with seven ranked categories (Money, Deaths, Playtime, Blocks Placed, Blocks Broken, Mobs Killed, /Sell). Each leaderboard entry is clickable and opens that player's individual stats screen; /stats opens a player's profile directly.
  • Baltop: A paginated money leaderboard of player heads with a personal head, refresh, and sign-based search.
  • Night Vision: /nightvision toggles permanent night vision on or off. Also toggleable from the Settings menu.

Gameplay & Utility

  • Combat: Combat tagging with an actionbar timer, combat-log inventory drop + reconnect kill, blockable commands while tagged, and WorldGuard PvP-zone border enforcement.
  • Tools: Time-limited tools handed out for a set duration that break when the timer expires: Tree Axe, Sell Axe, Drill Pick (Silk Touch or Fortune), Drill Shovel (Silk Touch or Fortune), and a Haste Potion.
  • Region: Coarse IP-based region detection (e.g. NA East) exposed through a PlaceholderAPI placeholder, with an admin bypass override (/donutregion bypass).

Commands & Permissions

Most player commands default to true (available to everyone); admin commands default to op. Passive permissions (no command) are marked (passive).

Core

CommandDescriptionPermissionDefault
/donutcore reload [module]Reload all modules, or a single module config.donutcore.adminop
/donutcore statusPrint the colored module status banner. Alias: /adc.donutcore.adminop

Pay

CommandDescriptionPermissionDefault
/pay <player> <amount>Send money to another player.donutpay.paytrue
/paytoggleToggle whether you receive payments.donutpay.paytoggletrue
/bal [player]View a balance. Aliases: /balance, /money.donutpay.baltrue
/donutpayAtomatrixDonutPay info banner. Alias: /adp.donutpay.adminop

PlayerToggle / Worth / Night Vision

CommandDescriptionPermissionDefault
/playertoggle [toggle]Toggle other players' visibility for yourself only. Aliases: /donutplayertoggle, /ptoggle.playertoggle.usetrue
/worth [toggle]Open the item price-list GUI, or toggle the worth lore on your own items. Alias: /donutworth.donutworth.usetrue
/nightvisionToggle permanent night vision. Alias: /nv.nightvision.usetrue

Jump (passive)

PermissionDescriptionDefault
donutjump.useAllows the player to double-jump in allowed regions.true
donutjump.ignoreExcludes the player from the double-jump feature entirely.false

First Join (passive)

PermissionDescriptionDefault
firstjoin.bypassExempts the player from the first-join random teleport.false

Baltop

CommandDescriptionPermissionDefault
/baltopOpen the Baltop leaderboard menu. Alias: /donutbaltop.donutbaltop.usetrue

Msg

CommandDescriptionPermissionDefault
/msg <user> <message>Send a private message. Aliases: /tell, /whisper, /w.donutmsg.usetrue
/reply <message>Reply to the last player who messaged you. Alias: /r.donutmsg.usetrue
/msgtoggleToggle whether you receive private messages.donutmsg.usetrue
/msgblock <user>Block a player from messaging you.donutmsg.blocktrue
/msgunblock <user>Unblock a previously blocked player.donutmsg.blocktrue

Friends

CommandDescriptionPermissionDefault
/friendsOpen the Friends menu. Aliases: /friend, /follow.friends.usetrue
/friends follow <player>Follow a player (also /follow <player>).friends.usetrue
/friends unfollow <player>Unfollow a player.friends.usetrue
/friends listList your friends, following, and followers in chat.friends.usetrue

Region / Settings

CommandDescriptionPermissionDefault
/donutregion bypass [region]Override (or clear) the IP-based region detection.donutregion.adminop
/settingsOpen the personal settings GUI. Alias: /donutsettings.donutsettings.usetrue
CommandDescriptionPermissionDefault
/menuOpen the Main Menu. Aliases: /donutmenu, /mainmenu.donutmenu.usetrue

Homes

CommandDescriptionPermissionDefault
/home [name|number]Teleport to a home. Opens the homes menu when you have multiple homes and no argument is given.donuthome.usetrue
/homesOpen the homes menu.donuthome.usetrue
/sethome [name]Set a home at your current location.donuthome.usetrue
/renamehome <old> <new>Rename a home via command.donuthome.usetrue
/home-admin delhome <player> <home>Delete any player's home.donuthome.adminop
/home-admin visithome <player> <home>Teleport to any player's home.donuthome.adminop
(passive)Allow the player to have N homes (donuthome.1.5, .10, .27, .90).donuthome.<n>false
(passive)Bypass blocked-world restriction when setting homes.donuthome.bypass.worldop
(passive)Bypass blocked-region restriction when setting homes.donuthome.bypass.world.guardop

Leaderboards & Stats

CommandDescriptionPermissionDefault
/leaderboardOpen the leaderboards hub. Aliases: /leaderboards, /lb.leaderboards.usetrue
/leaderboard <category>Jump directly to a category (money, deaths, playtime, mobs-killed, blocks-broken, blocks-placed, sell).leaderboards.usetrue
/stats [player]Open the player stats screen — search a player and view their stats. Aliases: /profile, /playerstats.leaderboards.statstrue
(passive)Reserved for future Leaderboards admin actions.leaderboards.adminop

Auction House

CommandDescriptionPermissionDefault
/ahOpen the Auction House GUI. Alias: /auctionhouse.donutauction.usetrue
/ah sell <price>List the held item at the given price (opens confirm GUI).donutauction.usetrue
/ah fastbuyInstantly buy the cheapest listing for the held item type.donutauction.fastbuytrue
/ah fastsell <price>List the held item at the given price without confirmation.donutauction.fastselltrue
/ah toggleToggle Quick Buy mode (skip the buy confirmation screen).donutauction.toggletrue
/ah infoShow active listing count and expiry statistics.donutauction.usetrue
/ahadmin block <player>Block a player from using the Auction House.donutauction.adminop
/ahadmin unblock <player>Unblock a previously blocked player.donutauction.adminop
/ahadmin clearcurrent <player>Cancel all active listings for a player (items returned).donutauction.adminop
/ahadmin clearhistory <player>Wipe a player's transaction history.donutauction.adminop
/ahadmin clearall <player>Cancel listings, clear history, and unblock a player.donutauction.adminop
(passive)Allow N concurrent listings — any positive integer, e.g. donutauction.sell.50. The base limit without this permission is set by max-listings-default (18).donutauction.sell.<n>false
(passive)Unlimited concurrent listings.donutauction.sell.unlimitedop
(passive)List items even when the Auction House is closed.donutauction.sell.bypassop
(passive)Buy items even when the Auction House is closed.donutauction.buy.bypassop
(passive)Bypass all Auction House restrictions.donutauction.emergency.bypassop

Combat

CommandDescriptionPermissionDefault
(passive)Bypass combat tagging and PvP border restrictions (admin).combat.adminop
(passive)Bypass combat tagging and PvP border restrictions.combat.bypassfalse

Sell

CommandDescriptionPermissionDefault
/sellOpen the sell GUI to place items and sell on close.sell.usetrue
/sellworth [item]Check the sell price of the held item or a named key. Alias: /sw.sell.worthtrue
/sellhistoryOpen the paginated sell transaction history GUI. Alias: /sh.sell.historytrue
/selltopOpen the sell leaderboard GUI. Alias: /st.sell.toptrue
/selladmin reset <player>Reset a player's sell data (progress, history, totals).sell.adminop
/selladmin saveForce-save all sell data to disk.sell.adminop
/selladmin reloadReload the sell module config.sell.adminop

Shard Shop

CommandDescriptionPermissionDefault
/shardshopOpen the Shard Shop. Aliases: /sshop, /shardstore.shardshop.usetrue

TPA

CommandDescriptionPermissionDefault
/tpa <player>Request to teleport to another player.donuttpa.tpatrue
/tpahere <player>Request another player to teleport to you.donuttpa.tpaheretrue
/tpaccept [player]Accept a pending teleport request (most recent if no arg).donuttpa.tpaccepttrue
/tpdeny [player]Deny a pending teleport request (most recent if no arg).donuttpa.tpdenytrue
/tpacancelCancel your own outgoing teleport request.donuttpa.tpacanceltrue
/tpatoggleToggle whether others can send you /tpa requests.donuttpa.tpatoggletrue
/tpaheretoggleToggle whether others can send you /tpahere requests.donuttpa.tpaheretoggletrue
/tpaautoToggle auto-accepting all incoming teleport requests.donuttpa.tpaautotrue
/tpaguitoggleToggle the confirmation GUI on or off for yourself.donuttpa.tpaguitoggletrue
/teleportguiOpen the Teleport Request screen. Aliases: /tpagui, /tpgui.donuttpa.guitrue
/tp <player>Teleport yourself to another player.donuttpa.tpop
/tp <player1> <player2>Teleport player1 to player2 (admin).donuttpa.adminop

Tools

CommandDescriptionPermissionDefault
/tools give <player> <tool> <time>Give a time-limited tool to a player. Aliases: /dt, /donuttools.tools.adminop
/tools listList the available tools.tools.usetrue
/tools toggleToggle tool sounds and particles for yourself.tools.usetrue
/tools helpShow the Tools command list.tools.usetrue

Placeholders

Requires PlaceholderAPI.

PlaceholderDescription
%donutregion_playerregion%The viewing player's coarse region label (e.g. NA East).
%friends_friends%Number of mutual friends the viewing player has.
%friends_following%Number of players the viewing player is following.
%friends_followers%Number of players following the viewing player.
%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 - optional economy bridge.
  • PlayerPoints - required for the Shard Shop's Shards currency.
  • CoinsEngine - optional alternative currency provider.
  • Floodgate - enables Bedrock (Cumulus) forms for the menu-based modules.
  • ProtocolLib - enables the Settings totem/explosion particle & sound suppression.

Companion Plugins

Some DonutSMP features are provided by separate plugins: