File Details
UltimateDonutSMP | 1.3 Folia
- R
- Jun 23, 2026
- 24.74 MB
- 391
- 26.2+15
File Name
UltimateDonutSmp-1.3-folia-1.21.11-26.1.2.jar
Supported Versions
- 26.2
- 26.1.2
- 26.1.1
- 26.1
- 1.21.11
- 1.21.10
- 1.21.9
- 1.21.8
- 1.21.7
- 1.21.6
- 1.21.5
- 1.21.4
- 1.21.3
- 1.21.2
- 1.21.1
- 1.21
Support:
- Paper: 1.21.10 - 26.2
- Spigot: 1.21.10 - 26.2
- Folia: 1.21.11 - 26.2
Changelogs:
Added
- Added persistent Player Settings controls for public chat visibility, optional server broadcasts, Auction House notifications, explosion particles, hiding all players, notification sounds, RTP coordinate visibility, Orders notifications, team-chat visibility, duel music, and quiet spawn teleport feedback.
- Added Quick Auction Purchases to Player Settings, using the same fast-buy preference available from the Auction House.
- Added manual and automatic Auction House claim modes through
CLAIMS.ENABLED. - Added automatic payout and returned-item collection after transactions, when joining, when opening the Auction House, and during periodic retries.
- Added
/ah my,/ah claims,/ah cancel,/ah limit,/ah fastbuy,/ah fastsell, and/ah reloadwith matching tab completion. - Added separate Auction House permissions for browsing, buying, selling, personal listings, claims, cancellation, limits, fast buy, and fast sell, including legacy
donutauction.*compatibility. - Added separate staff permissions for each core punishment action:
ultimatedonutsmp.staff.punishments.ban,.unban,.mute,.unmute,.blacklist, and.unblacklist, allowing moderation ranks to grant only the actions they need. - Added a DonutSMP-style Orders board with paging, sorting, category filters, refresh, search, personal orders, and collection controls.
- Added dedicated menus for creating orders, depositing delivery items, reviewing deliveries, confirming cancellations, and collecting claims for a specific order.
- Added potion and enchanted-book variants to the searchable order catalog, including persistent A-Z/Z-A and category preferences.
- Added optional native Bedrock forms for browsing, searching, creating, delivering, collecting, and cancelling orders, with automatic Java GUI fallback.
- Added
/orderas an alias for/orders; command arguments that are not subcommands now act as an order search query. - Added cross-server Orders refresh notifications and concurrency protection for multi-server networks.
- Added a configurable option (
TELEPORT-SPAWN-ON-FIRST-JOIN) to automatically teleport new players to the spawn location on their first join. - Added
RTP-ZONE.TITLE-FADE-OUT-TICKSto configure how long the RTP zone title and subtitle fade after a player leaves the zone. - Added a seamless maintenance mode system that replaces standard kick-and-restart behavior.
- Added support for BungeeCord/Velocity proxy mode (redirecting players to a lobby server during maintenance) and single-server fallback mode (teleporting players to a local lobby/fallback world).
- Added automatic location saving for redirected players, storing coordinates in a persistent database table (
maintenance_locations). - Added automatic player restoration/reconnection when the server returns online, including a configurable countdown title/subtitle before redirection.
- Added
/maintenance <on|off|status|setlobby [server]>command and/uds maintenancesubcommands for administrative control. - Added customizable messages, bypass permissions, reconnect delays, and title countdowns in the network configuration file.
- Added
/spawner split <amount>subcommand allowing players to split custom spawner item stacks. - Added tab-completion suggestions (1, 5, 10, 32, 64) for the
/spawner splitsubcommand. - Added
/baltopas a direct shortcut to the money leaderboard. - Added a global YAML language system with
en_US,es_ES,id_ID,pt_BR,de_DE,fr_FR,ru_RU, andzh_CN. - Added language selection and fallback through
LANGUAGE.ACTIVEandLANGUAGE.FALLBACKinconfig.yml. - Added localized player messages, menus, lore, titles, actionbars, status/sort labels, hologram text, and duration units.
- Added locale aliases such as
ENGLISH,SPANISH,SPANYOL, andINDONESIAN. - Added a Friends system with follow/follower/mutual-friend views, player search, and per-player controls for messages, payments, transaction notices, activity alerts, and teleport requests.
- Added persistent Hide/Disguise modes with scrambled identities, selectable aliases and skins, combat/cooldown restrictions, and administrative inspection or removal.
- Added a guarded server-wipe workflow with preview, status, prepare, confirmation-token, cancellation, database cleanup, and configured world reset handling.
- Added
/ecseesupport for inspecting and editing online or offline player ender chests with synchronized saves. - Added an Auction House listing flow with category filters, text search, shulker previews, persistent fast-buy/fast-sell preferences, configurable listing duration, and listing-limit feedback.
- Added duel map selection for configured arenas, random static maps, and generated biome maps, plus invite-only and friends-only privacy modes.
- Added configurable crash protection that rejects unsafe or oversized item data before Auction House, Orders, Ender Chest, Crate, Duel, or database storage.
- Added a safety-guide book command that can open or give the configurable guide to players.
- Added anvil-input moderation with configurable banned words, escalating punishments, and administrative add/reload commands.
- Added a confirmation menu to
/kill, including combat-state blocking. - Added
/shardshopwith theultimatedonutsmp.shardshoppermission to open the shard shop directly. - Added persistent Shop favorites, including a dedicated favorites menu, shift-click controls, and an option to remove all Favorites controls from the GUI.
- Added optional Auction House price comparisons to Shop items, showing the cheapest matching active listing by unit price with a right-click purchase shortcut.
- Added configurable random shard rewards per player kill while retaining the existing fixed reward as the fallback.
- Added configurable price-browser lore for unit prices and totals based on each material's actual maximum stack size.
- Added optional Amethyst Tools products to
/shardshop, with configurable availability, slot, shard price, quantity limits, and duration override. - Added an admin feature toggle system through
/uds features. - Added in-game feature toggle GUI with paginated feature items, enabled/disabled status, and click-to-toggle behavior.
- Added console/admin subcommands:
/uds features list/uds features toggle <feature>/uds features enable <feature>/uds features disable <feature>
- Added persistent
FEATURES.<FEATURE_KEY>.ENABLEDsettings inconfig.yml. - Added
FEATURE-TOGGLE-MENUdefaults inmenus.yml. - Added user-facing feature toggle messages in
messages.yml. - Added
ultimatedonutsmp.admin.featurespermission. - Added automatic bundled YAML configuration syncing on server startup/restart and
/uds reload. - Added smart-merge behavior so new default configuration paths are added without requiring existing
.ymlfiles to be deleted. - Added automatic configuration backups under
config-backups/<timestamp>/before synced files are changed. - Added internal bundled-default snapshots under
.default-configs/so future builds can update untouched default values safely. - Added a startup guard that logs an error and disables UltimateDonutSmp when PlaceholderAPI is missing or disabled, preventing unresolved sidebar placeholders.
- Added
COMBAT-MANAGER.KILL-ON-LOGOUTto control whether global combat logout kills players. - Added contextual tab suggestions across registered Paper/Spigot commands.
- Added data-aware suggestions for command arguments such as players, homes, warps, RTP destinations, crates, spawners, duel/FFA arenas, portals, cuboids, worlds, amounts, durations, toggles, and feature keys.
- Added
/crate bindsupport for uncolored and colored Shulker Boxes. - Added global display-level currency customization for both money and shards through the
CURRENCYconfig section. - Added configurable currency names, plural names, symbols, symbol colors, amount colors, decimal places, and normal/compact display formats.
- Added formatted PlaceholderAPI placeholders for money and shards names, symbols, colors, and full formatted values while keeping the existing numeric placeholders compatible.
- Added scoreboard icon placeholders and icon-column alignment controls for cleaner sidebar currency/stat rows.
- Added worth display inside open Shulker Box inventories, following each player's Worth Display setting.
- Added configurable compact currency suffixes, compact decimal precision, and number separators for money and shards.
- Added separate tablist media badge permissions for media-only, plus-only, and combined media badge access.
- Added crash protection for item data used by Auction House, Orders, custom Ender Chest, Crates, and Duels.
- Added
CRASH-PROTECTIONdefaults for serialized item size, display names, lore, books, persistent data keys, container depth, and nested containers. - Added crash protection checks for written book page count, page length, total book characters, lore length, display-name length, persistent-data key count, and nested container contents.
- Added a dedicated unsafe-item rejection path for Auction House and Orders so crash protection failures are not reported as normal material-block failures.
- Added player-facing crash protection messages with context and reason placeholders so admins can see where and why an item was blocked.
- Added setup comments across bundled YAML configuration files so admins can understand each file and top-level section more easily.
- Added optional crate hologram view-distance and update-interval controls for personal key displays.
- Added Duel map selection for queue/create flows with configured arenas, random arena choice, and generated biome arena options.
- Added private Duel creation modes for invite-only and friends-only challenges.
- Added a Duel requests settings toggle so players can reject direct
/dueland/create inviterequests. - Added prepared generated Duel arena handling so flat arenas are pooled/reused and vanilla arena generation is opt-in instead of happening during match-found.
- Added
SELL-MENU.AUTO-SELLsupport to control whether the Sell GUI sells deposited items automatically. - Added configurable Orders item selection modes: curated select menu, inventory item template, and chat search.
- Added an optional Orders select-item catalog that browses orderable materials from the running server jar with category tabs.
- Added owner order editing for active orders with no delivered progress, including item, quantity, and price changes.
- Added location-radius shard regions with
SHARDS.CUBOIDS.REGIONS.<id>.LOCATIONandRADIUS, while existing cuboid shard regions still take priority. - Added automatic AFK shard region setup from
/uds setup setafk, so shard countdowns and rewards can work without manual/cuboid bind ... shard true. - Added a colorful ASCII art startup banner that displays in the server console when the plugin is enabled, showing the plugin title, version, author credit (BeestoXd), Discord link, and a donation appreciation note.
- Added
/godwith/godmodealias for session-only staff god mode, including/god <player>for online targets. - Added RTP failure diagnostics that report both safe-location attempts and chunk sample usage.
- Added RTP config cleanup for existing
rtp.ymlfiles with stale search comments, unsafe legacy values, or old failure message formatting. - Added shard admin balance commands:
/addshards,/removeshards, and/setshards. - Added
/fakeplayerfor staff to spawn a temporary packet-only player bait NPC with through-block aim detection and clickable staff alerts. - Added automatic fakeplayer skin resolution that prefers the active SkinsRestorer skin and falls back to the player's original Mojang GameProfile skin.
- Added fakeplayer skin-layer rendering, timed despawn, gravity without fall damage, and vanilla-style damage, knockback, and hurt feedback.
- Added manual
/tpaand/tpaherequeue review menus for requests received while incoming request settings are disabled, including player-head entries, page navigation, direct accept, random single-request accept, and normal request expiry. - Added RTP destination chunk warmup before the teleport starts to reduce post-teleport ping spikes and missing terrain.
- Added temporary RTP-only player chunk distance throttling after teleport, with automatic restore after the destination area has settled.
- Added duel terrain-mode arena settings for generated
FLATandVANILLAarenas, including item drop, block break/place, bucket use, hunger, weather, morning, and fall-damage controls. - Added vanilla-style lid animation and block sound feedback when opening the custom Ender Chest from a placed ender chest.
- Added SpawnStash staff bait stashes with random
/spawnstashand/stashspawning, configurable stash types, timed rollback, and creator/staff alerts. - Added SpawnStash bait spawners backed by the managed spawner system, including optional spawner claiming when bait spawners are broken.
- Added configurable SpawnStash container contents for chest-style bait blocks.
Removed
- Removed the Smart/Legacy Shop mode selector and its command arguments; Shop now uses one consistent GUI flow.
- Removed category header items from Player Settings; all preferences now remain in one flat 54-slot menu.
- Removed the Auction House chat-search input path; item searches now use the sign editor exclusively.
- Removed inline player-head icons from tablist name formatting, including the
TABLIST.ICON-HEAD-SKINoption and<icon_head_skin>placeholder. - Removed legacy unlimited RTP behavior for
MAX-ATTEMPTSandMAX-CHUNK-SAMPLESvalues such as0,16, and128.
Fixed
- Fixed mob and unknown entity damage always putting players into combat; mob tagging is now controlled by
COMBAT-MANAGER.MOBSand defaults to disabled. - Fixed the existing end crystal, ender pearl, and respawn anchor combat settings not being applied by the combat listener.
- Fixed
/nightvision(/nv) being lost after a death or Totem of Undying activation; the enabled state now persists across respawns, reconnects, and server restarts. - Fixed older
menus.ymlfiles showing obsolete category headers, stale TP Auto entries, or conflicting Player Settings slot positions. - Fixed Hide All Players being unintentionally undone by staff vanish, Duel, FFA, join, or temporary visibility refreshes.
- Fixed Paper and Folia shutdown paths attempting to schedule world or hologram cleanup after the plugin scheduler was disabled.
- Fixed startup on experimental Minecraft 26.x builds where PlaceholderAPI cannot yet parse the server version; the integration now disables itself without disabling the whole plugin.
- Fixed startup without ProtocolLib; explosion-particle packet filtering now remains disabled without linking ProtocolLib classes.
- Fixed simultaneous purchases being able to compete for the same listing.
- Fixed duplicate seller payouts and repeated item claims when multiple servers share the same Auction House database.
- Fixed partial purchase states where money, listing status, seller payout, or the buyer's item could become inconsistent after a database or delivery failure.
- Fixed listed items being lost when listing creation fails, the sell menu closes, the player disconnects, or the inventory cannot accept a returned item.
- Fixed automatic claims marking returned items as collected when the player's inventory is full; undelivered items now remain pending.
- Fixed Auction House search opening chat input instead of the configured edit-sign screen.
- Fixed the My Auctions layout so the refresh anvil, back chest, and page book occupy slots
48,49, and50. - Fixed older Auction House configurations retaining the previous My Auctions control positions.
- Fixed active-listing limits being resolved incorrectly from dotted permission keys.
- Fixed worth tooltips showing the single-item value for stacks containing multiple items; displayed worth now follows the stack's current amount.
- Fixed matching items becoming unable to merge after one stack's displayed worth changed; left-click and right-click merging now refresh the resulting stack worth correctly.
- Fixed placing one Amethyst tool onto another in Creative mode replacing the cursor item with the clicked tool; both tools now retain their original type, identity, expiry, owner, lore, and amount.
- Fixed disabling custom chat formatting still overriding public chat, preventing external chat formatters such as LPC from applying their format.
- Fixed deposited items being lost when a delivery menu is cancelled, closed, interrupted by disconnect, invalidated by an order update, or rejected by a failed transaction.
- Fixed simultaneous deliveries being able to compete for the same remaining order quantity.
- Fixed failed economy payouts leaving delivery progress or collection claims committed.
- Fixed Orders startup migrations so a failed migration disables Orders without deleting or destructively converting existing data.
- Fixed unreadable Orders text and added localized Orders menu/form text for all bundled languages.
- Fixed spawner blocks incorrectly concealing (turning into deepslate/camouflage blocks) when players are standing next to or looking at them due to corner-clipping in the line-of-sight raytrace.
- Fixed ghost block desyncs and repeated right-click failures when players attempt to stack or interact with concealed spawners.
- Fixed RTP zone titles and subtitles disappearing immediately when a player leaves the zone; they now fade out using the configured duration.
- Fixed the Disable Mob Spawns setting removing hostile mobs produced by vanilla spawners during immediate and periodic cleanup.
- Fixed automatic configuration sync inserting new keys before existing sequence (list) items that use same-level indentation, preventing
InvalidConfigurationExceptionon server startup. - Sell Axe no longer removes chest or barrel contents when the economy payout fails.
- Sell Axe now applies the same sell multipliers, progress, history, container-item worth, and money-made tracking as normal selling.
- Existing YAML files no longer lose administrator-defined keys, sections, values, comments, or section ordering during automatic configuration sync.
- Removed bundled settings are no longer deleted from existing server configurations automatically.
- Invalid YAML files are backed up and left unchanged instead of being replaced with a fresh default file.
- Configuration saves are blocked while the corresponding YAML file remains invalid, preventing an in-memory fallback from overwriting the administrator's file.
- Invalid language YAML and unknown locales now fall back to English without disabling the plugin.
- Fixed language files not receiving newly added player-facing menu, message, and feature text during updates.
- Fixed language synchronization overwriting administrator translations or treating intentionally empty lists and whitespace-only separators as missing values.
- Fixed technical settings such as materials, permissions, commands, sounds, booleans, and numeric limits being incorrectly selected as translation text.
- Fixed tablist names, prefixes, permissions, and skin avatars remaining stale after LuckPerms or skin changes until the player rejoined.
- Fixed duel inventory restoration so consumed, dropped, or awarded items are not duplicated when players leave a match.
- Fixed unsafe stored item data being loaded back into player-facing storage workflows.
- Fixed disabled command groups not fully stopping background or passive systems.
- Fixed scoreboard/tablist displays lingering for online players after the related feature is disabled.
- Fixed RTP zone countdown behavior continuing when RTP or RTP zone is toggled off.
- Fixed shard passive rewards and cuboid rewards continuing even when shard access is disabled.
- Fixed crate and spawner runtime behavior remaining active after their command access was disabled.
- Fixed updated bundled YAML defaults not reaching existing plugin folders unless the old
.ymlfile was manually removed. - Fixed invalid YAML recovery keeping the plugin stuck on a broken file; broken configs are backed up and restored from bundled defaults.
- Fixed the Paper/Spigot plugin failing to load after the command tab suggestion update.
- Fixed feature-disabled commands still being able to expose tab suggestions through existing completers.
- Fixed missing tab suggestions for
/crate key,/crate take,/crate set,/crate keyall, crate reward slots, and Amethyst tool durations. - Fixed players being able to log out during the global combat timer without dying.
- Fixed deleted or replaced default crate rewards being added back to edited crates after restart or
/uds reload. - Fixed custom crate reward layouts being mixed with old bundled rewards when admins removed default entries and added their own items.
- Fixed scoreboard sidebar rows looking uneven when icons had different visible widths or color-code lengths.
- Fixed shard and money labels remaining hardcoded in several fresh default menus, messages, hover text, and reward displays after currency names were customized.
- Fixed formatted currency output missing from PlaceholderAPI, Vault formatting, shop purchase messages, and reward-related messages that players see.
- Fixed shop purchase success sounds not playing when the configured sound used Bukkit enum-style names.
- Fixed newly purchased shop items not stacking with matching inventory items that already had worth display lore until the player moved an item slot.
- Fixed shop purchases compacting intentionally split stacks while refreshing worth display, such as split Golden Apples merging back together after buying more.
- Fixed open Shulker Box contents not showing worth display while regular player inventory items already did.
- Fixed sell, worth, hover stats, Lunar rich presence, Amethyst sell feedback, and shop validation displays bypassing the configured currency formatter in some money output.
- Fixed remaining normal-case fallback words such as
None,Inactive,Console,Amethyst Tool,Crate,Key,Spawner, andItemappearing in player-facing output after the visual text update. - Fixed display-only text updates so parsed values stay compatible, including YAML booleans, hex colors, placeholders, command paths, permission nodes, material IDs, database fields, and the literal
currencytoken. - Fixed
/money,/balance,/addmoney,/removemoney,/setmoney, and/paystill showing grouped full money values where compact output was expected. - Fixed small-caps player-facing permission nodes not matching normal ASCII LuckPerms grants such as
rank.media. - Fixed tablist media badge and rank-related display state not refreshing immediately after LuckPerms user data changed.
- Unsafe stored items loaded from the database are skipped and logged instead of being restored into plugin storage flows.
- Unsafe items are blocked before creating or editing Auction House listings and Orders, editing crate rewards, saving custom Ender Chest contents, starting Duels, or storing Duel loot claims.
- Blocked unsafe item actions keep the item in the player's inventory or cursor instead of silently deleting it.
- Fixed unsafe items being able to enter custom Ender Chest storage through click, drag, hotbar swap, offhand swap, or shift-click paths.
- Fixed crate reward saves and reward grants accepting items whose serialized data or nested contents exceed the configured crash protection limits.
- Fixed Duel starts and Duel loot claims accepting unsafe inventory or loot items that could later be saved into plugin storage.
- Fixed personal crate key holograms scaling poorly by no longer hiding each player-owned display from every other online player.
- Fixed Duel claim menus closing from the barrier button instead of returning to the queue menu.
- Fixed flat generated Duel matches showing a biome name in match-found messaging.
- Fixed generated Duel cleanup deleting held or carried items that players already had before entering the arena.
- Fixed Duel queue lag caused by synchronous generated world or chunk creation in match-found paths.
- Fixed Orders search relevance so direct queries like
woolno longer mix in unrelated fuzzy results such as wood, oak logs, or wooden tools. - Fixed Orders search menus crashing after direct-result cleanup on modern Java immutable lists.
- Fixed legacy or corrupt Orders item data repeatedly logging
Material cannot be null; bad rows now repair to a safe material fallback when possible. - Fixed Orders config sync being skipped when bundled
messages.ymlhad invalid indentation underORDERS. - Fixed
/tpaand/tpahereincoming requests so players with TPA confirm menus enabled receive the clickable notification and the confirm GUI reliably opens shortly after while the request is still pending. - Fixed Paper/Spigot combat-tagged players rejoining with zero health and dying after disconnecting during combat.
- Fixed compact money suffixes rendering as lowercase in scoreboards and economy placeholders; compact money now displays uppercase
K,M,B,T, andQwhile amount input remains case-insensitive. - Fixed
/uds setup setspawnand/uds setup setafknot immediately creating usable/spawnand/afkmenu entries. - Fixed setup menu locations being saved under the broken small-caps location key; old broken saves are still read and cleaned up on future setup saves.
- Fixed AFK shard countdowns and rewards not starting after
/uds setup setafk. - Fixed spawn/AFK menu delete and recreate flows jumping to
#2or#3when an earlier slot should be reused. - Fixed
/cuboid bindand/cuboid deleteflows leaving stale spawn, AFK, or shard references that could recreate deleted areas in later slots. - Fixed several config message lookups using small-caps key names instead of the configured uppercase YAML keys.
- Fixed RTP zone world names saved with small-caps text resolving as missing worlds instead of the intended vanilla world names.
- Fixed RTP destinations, portal suggestions, and RTP zone searches failing when the configured world folder exists but the world is currently unloaded.
- Fixed RTP failing with misleading messages such as
after 1 attemptswhen old configs had very low attempt values. - Fixed ungenerated chunks consuming safe-location attempts while chunk generation is disabled.
- Fixed direct RTP and zone RTP searches scanning chunks as fast as futures completed, which could spike TPS and player ping.
- Fixed RTP fallback-to-loaded-chunks behavior so it only happens after the configured sample threshold and within the finite search budget.
- Fixed redundant shop price lore not being removed when the label used a regular text variant.
- Fixed god mode targets not receiving knockback from melee, sprint, Knockback, and Punch projectile hits.
- Fixed shop spawner purchases charging players without delivering the managed spawner item; failed reward delivery now refunds the purchase.
- Fixed crate item rewards losing custom metadata when saved, which caused Amethyst tools and other custom items to stop functioning after they were claimed.
- Fixed invalid or expired Amethyst items being accepted as crate reward templates.
- Fixed fakeplayer spawn packets causing client
Network Protocol Errordisconnects on newer Paper/ProtocolLib combinations. - Fixed fakeplayers using random default Minecraft skins instead of the active SkinsRestorer or original GameProfile texture.
- Fixed fakeplayer hat, jacket, sleeve, and pants layers disappearing shortly after spawn.
- Fixed airborne fakeplayers remaining suspended, knockback snapping them back to spawn, and repeated hits leaving them floating.
- Fixed managed spawners revealed by anti-ESP sometimes showing an empty cage instead of the rotating mini mob from
ENTITY_TYPE. - Fixed repeating tablist refresh errors on Paper 1.21.8 caused by newer Adventure object-component calls being unavailable at runtime.
- Fixed RTP safe-location failures caused by old configs with very low attempt or chunk sample values.
- Fixed RTP searches ending with very low safe-location attempts, such as
attempts 1/64, samples 128/128, when chunk generation was disabled. - Fixed ungenerated chunks consuming valid-location attempts while RTP chunk generation is disabled.
- Fixed RTP config sync overriding
GENERATE-CHUNKS: trueback tofalseduring reload. - Fixed RTP safe-location checks allowing destinations without full player clearance in overworld and end worlds.
- Fixed large missing terrain holes and ping spikes immediately after RTP by preloading and refreshing the destination area in small batches.
- Fixed RTP loaded-chunk fallback choosing locations closer than the configured
MIN-RADIUS, so admins can reliably push RTP farther out throughrtp.yml. - Fixed managed YAML setup comments being duplicated when older config files already had blank-separated
# UDS setup:comment blocks. - Fixed repeated setup comment blocks from accumulating above top-level config sections during automatic config sync.
- Fixed missing and updated YAML defaults being moved to the bottom instead of staying beside their bundled siblings and top-level sections.
- Fixed inline option comments not being synchronized into existing YAML files and managed comments being inserted inside multiline quoted values.
- Fixed
worth.ymlBLOCK-ITEMSbeing ignored, so blocked materials no longer show worth, sell, or appear in the worth browser even when priced. - Fixed end crystals in active duels so placed crystals can damage valid duel opponents and self-crystal deaths resolve through normal duel win/loss handling.
- Fixed generated-world duel claim rewards so winners receive the loser claim loot without losing their own restored inventory items.
- Fixed duel opponent checks so a participant is not treated as their own opponent.
- Fixed duplicate Ender Chest close sounds when closing the custom Ender Chest opened from a placed block.
- Fixed SpawnStash break alerts so the stash creator receives them, including clickable teleport-to-player alert messages.
- Fixed SpawnStash configured container items not appearing in bait chests.
Changed / Improved
/shopnow opens the standard Shop directly, with/shop reloadretained for authorized administrators.- Shop favorites persist across reconnects and ignore configured items that no longer exist.
- Shop Auction House comparisons exclude the buyer's own listings, expired or inactive listings, command-only rewards, and items with different metadata.
- Amethyst Tools purchased from
/shardshopretain their configured appearance, enchantments, duration, ownership rules, expiry, and unique item identity. - Amethyst Tools shard-shop entries remain disabled by default and require a positive shard price before becoming available.
- Player Settings now use a compact seven-options-per-row layout with an empty margin on both sides; overflow continues on the next row.
- Auto-Confirm TPAs now controls both standard TPA and TPA-here requests and immediately processes compatible pending requests when enabled.
- Disabling public chat now hides global messages from other players while still allowing players to send and see their own messages.
- Team-chat visibility now controls received team messages independently from the existing team-chat sending mode.
- Server broadcast, Auction House, and Orders preferences now suppress optional background notifications without hiding direct action results, errors, maintenance notices, or moderation messages.
- Notification Sounds, Duel Music, and gameplay sounds now operate independently instead of one preference muting unrelated sound categories.
- Quiet Spawn now keeps teleport timing and movement cancellation while hiding spawn countdown feedback, completion messages, and teleport sounds.
- RTP coordinate visibility now switches to coordinate-free success feedback when disabled.
- Explosion Particles now reports itself as unavailable when ProtocolLib is not installed instead of exposing a nonfunctional toggle.
- Updated the optional PlaceholderAPI development baseline to 2.12.2.
- Paper/Spigot releases now compile against the 1.21.10 API and are verified against the latest official Spigot and Paper APIs through 26.2.
- Folia releases now compile against the 1.21.11 API and are verified against the latest official Folia API through 26.1.2.
- Platform build scripts now emit clearly named, range-specific artifacts while retaining Java 21 bytecode compatibility.
- Build metadata is now profile-specific so Paper/Spigot artifacts remain separate from Folia-compatible artifacts.
- Auction House purchases now complete the sale, seller payout, and buyer item delivery as one consistent operation.
- Disabling manual claims now hides claim controls and collects eligible claims automatically while preserving offline or inventory-blocked claims.
- Search text, sorting, category selection, and page state are preserved while navigating between Auction House menus.
- Right-clicking the search control clears the current query; left-clicking opens the configured sign editor.
/tempbannow uses the ban permission,/tempmuteuses the mute permission, and/pardonuses the unban permission.- Existing
ultimatedonutsmp.staff.punishments.createandultimatedonutsmp.staff.punishments.removepermissions remain compatibility parents and continue granting their related punishment actions. - Worth display price placeholders now represent the total value of the current stack, while unit-price placeholders continue to represent one item.
- Order delivery now defaults to a 35-slot deposit menu instead of automatically scanning the player's inventory; the legacy scan mode remains available as a fallback.
- Delivery matching now accepts only the exact requested item variant and can extract matching contents from shulker boxes while returning the updated container.
- Every delivered stack now enters the transactional collection queue, which can be collected globally, per order, or safely dropped when inventory space is limited.
- Orders now revalidate price, remaining quantity, status, expiry, item identity, and escrow immediately before a delivery is committed.
- Existing orders, deliveries, claims, IDs, and legacy database rows remain readable without destructive conversion.
- Updated player connection validation and join listeners to intercept login/join attempts during maintenance, letting staff bypass while redirecting regular players.
- Sell transactions now remove items and record sale progress only after the economy deposit succeeds.
- Automatic sync for existing YAML files is now additive-only and only inserts bundled settings that are genuinely missing.
- Startup uses bundled defaults in memory when a YAML file is invalid, while reload keeps the last successfully loaded configuration.
- Configuration updates now require a successful backup and YAML validation before replacing the active file.
- Legacy messages now use the active language when a translation is available and continue falling back to
messages.yml. - Auction House personal listings, claims, cancellations, and collected rewards are now managed from one player auction menu.
- Auction purchases use a confirmation screen unless the player has enabled fast buy; listing creation uses the sell setup screen unless fast sell is enabled.
- Orders now preserve exact requested-item identity, support searchable material selection and sign input, and track delivered, collected, paid, and remaining escrow values separately.
- Player-facing identity lookups now respect active Hide/Disguise states across chat, messaging, payments, friends, leaderboards, tablist, and related menus.
- Friends menu search now uses a sign editor instead of consuming the player's next chat message, and keeps the selected relationship filter when search input is cancelled or cleared.
- Improved Shop customization by making Favorites, Auction House comparison, empty-state, navigation, and feedback text configurable and localizable.
- Improved price-list accuracy for materials whose maximum stack size is
16or1, instead of assuming every stack contains64items. - Improved settings upgrades so existing player records receive compatibility defaults while new preferences remain persistent across restarts.
- Improved Auction House responsiveness by moving database work away from the server tick thread.
- Improved SQLite and MySQL reliability during concurrent purchases, claims, cancellations, and expiry.
- Improved cross-server consistency for Auction House purchases, preferences, and claims.
- Improved Auction House customization and localization for menu titles, controls, lore, categories, statuses, durations, sounds, and messages.
- Improved shutdown and reload handling so Auction House sessions and held sell items are cleaned up safely.
- Staff detection now recognizes moderators who hold only a granular punishment permission, keeping limited punishment roles integrated with staff features.
- Improved Paper/Spigot and Folia parity so both variants expose the same Orders workflows and transaction safeguards.
- Improved multi-server reliability with token-verified distributed locks, database row protection, and local transactional fallback when Redis is unavailable.
- Improved order browsing by preserving sort/filter choices between sessions while keeping page and search state limited to the current session.
- Configuration updates are written atomically to reduce the risk of partial or corrupted YAML files.
- Existing line endings and trailing newline style are preserved when missing settings are inserted.
- Language files are synchronized additively so administrator translations are not overwritten.
- Language synchronization now derives current player-facing defaults from the active UDS resources while excluding administrator-authored content and technical configuration.
- Sidebar score numbers are hidden on supported server builds without changing displayed scoreboard text.
- Tablist entries refresh immediately after supported permission, prefix, or skin updates instead of requiring a reconnect.
- Friends menu entries and controls now play configured click feedback, with separate page-turn sounds for navigation.
- Disabled features now block their related commands at execution time instead of requiring command removal from
plugin.yml. /uds reloadand/uds featuresremain available even when other feature groups are disabled.- Existing
COMMANDS.<KEY>values remain backward-compatible when a matchingFEATURESvalue is not present. - Command help/setup command listings now hide commands whose feature group is disabled.
- Scoreboard and tablist toggles apply live to online players by hiding/restoring sidebar data and clearing/restoring tablist formatting.
- Shards toggle now stops shard commands, passive shard rewards, kill shard rewards, and shard cuboid rewards.
- Homes, RTP, RTP zone, crates, shop/sell/worth, auction house, orders, duels, FFA, staff mode, freeze, invsee, network servers, spawners, portals, Lunar integrations, optimization, combat, fast crystals, and key-all now respect the central feature state.
- Crate visuals/listeners and spawner generation/listeners now stop behavior while their feature is disabled.
- Existing admin/server custom configuration values are now preserved when bundled defaults are refreshed.
/uds reloadnow applies bundled configuration updates before plugin systems reload their settings.- Default YAML updates are now delivered through the plugin build instead of relying on manual file deletion.
- Command tab suggestions now respect command permissions and disabled feature groups before showing options.
- Commands with free-text arguments now stop suggesting values after the structured arguments are complete.
- Crate and Amethyst tool admin commands now suggest their remaining structured arguments more completely.
- Global combat logout punishment is enabled by default while still leaving Duel, FFA, and excluded-world quit handling to their own systems.
- Existing
CRATES.*entries incrates.ymlare now treated as server-managed crate content after first install. - Startup and reload configuration sync no longer restores bundled example crate definitions or rewards into customized crate configs.
- Crate catalog syncing now leaves custom crate IDs, reward IDs, and deleted default rewards untouched in existing
crates.ymlfiles. - Player-facing money and shard displays now use configured currency formatting across balances, payments, admin money commands, shard commands, stats, profiles, leaderboards, scoreboards, shops, purchase confirmations, Billford, crates, bounty messages, auction house, orders, worth displays, sell feedback, hover stats, Lunar rich presence, and Amethyst sell feedback.
- Vault economy formatting and currency names now follow the configured main money currency.
- Bundled default configs now use currency placeholders instead of hardcoded
$,Money,Dollars,Shards, or fixed shard colors. - Shop and crate reward displays now show configured currency formatting instead of fixed money or shard text.
- The default scoreboard icon column width is now
10for tighter symbol-to-text spacing. - Shop purchase confirmations now stay open after a successful buy so players can keep buying the same item until they close or cancel the menu.
- Shop purchases now refresh worth display immediately after delivered items are added to the player's inventory.
- Open Shulker Box inventories now clean temporary worth display lore when closed or when creative mode clears worth displays.
- Formatted money and shard displays now use compact values by default, such as
100kand1,5m, while compact formatting can be disabled to show full grouped values such as100.000. - Economy command placeholders now keep compact lowercase output for player-facing amounts while full grouped values remain available through explicit full placeholders.
- New players now get all five personal home slots on the first
/homespage by default, instead of starting with only two usable slots. - Player-facing defaults now use the small-caps visual style consistently across messages, menus, titles, lore, action bars, broadcasts, death messages, staff/freeze/invsee text, auction house, orders, duels, FFA, crates, spawners, Billford, Amethyst tools, and command descriptions.
- Fallback text shown when a config value is missing now follows the same small-caps style for generated labels such as crates, keys, spawners, items, arenas, leaderboard types, server/rules buttons, PlaceholderAPI status text, and no-data values.
- Tablist media badges now allow media icon and plus badge grants to be shown separately or together through permissions.
- Existing config sync now merges bundled
# UDS setup:comments into server config files without replacing admin-written comments. CRASH-PROTECTIONis now kept near core settings during config sync instead of being appended after command toggles.- Item safety checks now use raw serialized item byte size instead of estimating size from Base64 output.
- Crash protection blocks unsafe storage actions while keeping the original item on the player, cursor, or inventory slot instead of stripping all metadata.
- Normal custom UDS items, enchantments, persistent data, and non-nested shulker/container contents remain allowed when they stay within configured limits.
- Nested containers such as shulker boxes inside shulker boxes are blocked by default, while regular single-depth shulker contents remain valid.
- Personal crate key holograms are now hidden from all players by default and only shown to their owner.
- Duel queue menu now uses centered paper/stats/selector/claims controls; the selector is hidden for flat/static-only arena modes.
- Duel queue paper lore now reflects the actual active arena mode, including static/custom map queues and flat generated arenas.
- Generated Duel worlds now keep starting player inventory intact while removing only items gained inside generated arenas from post-match carryout/claims.
- Generated Duel arenas now use smaller default borders and closer spawns so opponents are easier to find.
- Vanilla Duel biome mode no longer performs live vanilla world/chunk generation by default during queue match-found.
- Orders created from inventory items now require exact delivered item data, including shulker contents, custom names, lore, enchantments, and persistent data.
- Orders now store the actual delivered item for owner claims instead of recreating the requested template.
- Orders price edits now withdraw only the increased escrow difference or refund the lowered difference.
- Orders per-item price limit now defaults to the total budget cap so prices above
1Mcan be used when the total order budget allows it. - Paper/Spigot global combat logout punishment is now opt-in by default; players who leave during global combat are no longer killed unless
COMBAT-MANAGER.KILL-ON-LOGOUTis enabled. - RTP now treats RTP worlds as pregenerated by default; new terrain is not generated unless
SETTINGS.GENERATE-CHUNKSis explicitly enabled. - RTP search limits are now finite and clamped: attempts below 32 use 32, chunk samples below 64 use 64, and intervals below 8 ticks use 8.
- RTP direct lookups used by portals and RTP zones now follow the same sample budget and tick delay as normal RTP searches.
- RTP zone searches now count against the same active RTP player limit as command/menu RTP searches.
- Packaged RTP defaults now use
PLAYERS-IN-RTP: 1,MAX-ATTEMPTS: 64,MAX-CHUNK-SAMPLES: 128,ATTEMPT-INTERVAL-TICKS: 8, andGENERATE-CHUNKS: false. - RTP search actionbars no longer show attempt/check counters such as
(0/16)or(0 checks). /uds setup apply single-paper confirmnow keeps spawn and AFK menus enabled so setup-created locations open through/spawnand/afk.- Setup-created spawn and AFK menu areas now reuse the earliest available menu slot instead of creating unnecessary later entries.
- Sell GUI auto-processing now waits briefly for click and drag transfers to settle before selling and refreshing multiplier progress.
- When Sell GUI auto-sell is disabled, deposited items remain movable and are returned when the GUI closes instead of being sold.
- Shop price lore handling now recognizes both regular and small-caps price labels.
- God mode keeps visible and audible damage feedback, leaves damage events active for combat/tag systems, and prevents health loss from PvP, mobs, fall damage, fire/lava, suffocation, starvation, and drowning.
- God mode lets underwater air drain normally while preventing drowning health loss, and clears automatically when the player leaves the server.
- Totem purchases now allow quantity adjustment up to 36 instead of forcing one purchase at a time.
- Amount input now accepts comma/underscore separators and compact suffixes through
Q; amount tab suggestions now use compact uppercase values. - Crate key hologram updates now reuse cached key balances and skip unchanged text refreshes to reduce repeated database and entity work.
- RTP checks several random block columns inside a loaded generated chunk before marking that chunk unsafe.
- RTP failure logs now include world, radius, attempts, samples, and chunk generation state for easier pregeneration diagnosis.
- Existing valid custom RTP values are preserved during config sync; only unsafe legacy values such as
0,1, and legacy attempt value16are repaired. - Crate item rewards now preserve complete custom item data, including plugin metadata, attributes, potion data, custom model data, and other item properties.
- Amethyst tools claimed from crates now start a fresh countdown using the duration saved with the reward and receive the claimant as owner with a new unique item identity.
- Fakeplayers are now removed from the player tab list after their skin profile is delivered while remaining visible in the world.
- Fakeplayer skin, tablist, physics, and hit behavior now use stable internal defaults instead of exposing implementation-specific tuning options.
- Re-enabling TPA or TPAHere request settings no longer auto-accepts queued requests; players must review or accept those queued requests from the matching queue menu.
- Inline tablist player heads now only attempt skin rendering on Minecraft/Adventure runtimes that expose supported player-head text components.
- On unsupported Paper/Spigot runtimes, tablist
<head:...>tokens are omitted instead of forcing an unsupported render path. - RTP now treats pregenerated terrain as the safe default and avoids generating new chunks unless chunk generation is explicitly enabled.
- RTP now falls back to limited chunk generation after pregenerated and loaded chunk searches fail, so non-pregenerated worlds can still find safe destinations without enabling full RTP chunk generation.
- RTP search limits are clamped to safe minimums so old low values cannot cause one-attempt failures or unlimited searches.
- RTP restores temporary player chunk distances gradually instead of sending the full view distance back in one burst.
- Config sync now cleans duplicate setup-comment blocks without changing YAML setting values.
- Managed YAML files now remove obsolete options that are no longer shipped while preserving runtime-managed crate, arena, and network entries.
- Duel item drops, block break/place, and bucket use now follow arena settings while preserving arena protection and rollback safety.
- Placed ender chest clicks now route directly into the custom Ender Chest before vanilla opens its own container state.
- SpawnStash placement now uses the staff member's body position and keeps block protection configurable instead of always protecting bait blocks.