Changelog

Last updated Oct 28, 2026

Changelog

1.7.7

Docs

  • Wiki restructured to SoapsUniverse pattern: Config Reference + per-file Default pages, Want-* intents, Troubleshooting, Upgrading to 1.7.7, slim Home/FAQ

Integrations

  • Optional Discord webhook notifications for punishments, new player reports, and ticket open/close (config.yml → integrations.webhooks)

Audit / module gating / perf

  • Ban/mute/IP and jail still enforce when those modules are command-off; banip mapped in SubcommandModules
  • Custom commands: atomic save, safer CommandMap restore, module-gated action macros, permission-only cooldown/limit bypass
  • ConfirmQueue/ChatInput and blocked-server-commands stay on when Chat / Custom Commands are toggled off
  • Spigot MOTD ping fallback; playtime checkpoints skip when Playtime tracker is off
  • Economy moneylog async append + tail read; pay confirm/feedback from cached economy config
  • Tab known-player cache, trade offer sync debounce, expanded reload tab targets
  • Many player plugin.yml defaults tightened to false (report / confirm kept usable)
  • Thin customcommands rules wrap; freeze command uses freeze.cannot-command; moneylog/staff bar/chat filter via messages.yml

1.7.6

Audit fixes

  • Trade completion uses a COMPLETING lock so cancel/quit cannot unwind mid-transfer (dupe / lost-item race)
  • Trade GUI close ignored while COMPLETING; quit clears incoming pending requests (target disconnect)
  • Trade money requires full transfer (no partial near max balance); XP uses level-for-level setLevel (not giveExpLevels)
  • Cheque deposit consumes before credit, verifies credit amount, restores cheque on failure
  • Shop buy restores storage snapshot on leftover (Mythic-safe); sell-hand removes then pays; sell-all partial uses original inv
  • Kit deny-mode overflow restores inventory snapshot instead of removeItem
  • Vault/mail/player-utilities/economy/homes/friends/waypoints/inventory-snapshot async saves gate on generation; quit always sync-writes current state
  • Vault API depositPlayer returns FAILURE when nothing is credited
  • Spawner settings clipboard cleared on quit; confirm-queue cleared on quit; Trash GUI accepts item placement; soapsadmin.chatroom.create default is op
  • Trade GUI blocks drag during countdown (item dupe / bait-and-switch); item editor restores pulled item on quit
  • Kit exp-points cost uses real level+bar XP; world-state maps evict after sync save on quit
  • soapsadmin.seekitem.use and soapsadmin.friend.tp default to op
  • Readonly invsee/endersee/snapshot views cancel takes (item generator exploit); inspection maps clear on close/quit
  • Autopickup shrinks ground stacks on partial inventory fill; kit editor cancel restores player inv snapshot
  • Staff mode restore keeps non-tool items gained while enabled; recipe costs deduct only after an uncancelled craft
  • Interactive bind click cooldowns prune on quit
  • Shop buy/sell reject invalid amounts (<= 0 or > 2304)
  • Daily reward stamps claim before payout (double-click race)
  • Player vault open uses an atomic viewer lock (dual-edit race)
  • Custom-command cooldown/usage maps prune on quit
  • Report/ticket cooldown maps and temp-mute action-bar tracking clear on quit
  • /sa tab-complete arg2 restored after command split (modules, enchants, and other nested cases)

UX and features

  • /sa ban|kick|mute|warn (and temp/banip variants) accept an optional reason; defaults live in moderation.yml → moderation.default-reasons
  • Vault autopickup perms (soapsadmin.vault.autopickup*) default to op and are included under soapsadmin.*
  • Magnet autopickup messages clarified (autopickup.on / .off); MessagesManager falls back to jar defaults when a key is missing on disk
  • MOTD max/min player overrides stay disabled (-1) on new installs
  • Weather vote feature removed (module, commands, config, docs)
  • Shop hub/buy/sell GUIs refreshed (no bold titles; colored page/item counts on Search)
  • /sa autosell opens an Autosell GUI (add hand, remove, clear)
  • /sa chatroom opens a chat room hub GUI with room management

Performance and RAM

  • Ban and IP-ban checks run on AsyncPlayerPreLoginEvent (maintenance kick stays on login)
  • Economy balance flushes write YAML asynchronously; quit and shutdown still sync-save
  • StaffGuiSession and biome search cache clear on quit
  • playerDataCache trimmed when it grows past offline lookups (512 cap)
  • Freeze/jail FreezeListener registers only while freeze or jail is enabled
  • AFK listeners register with the AFK module (unregistered when AFK is off)
  • Chat filter/rooms/emoji/slowmode/spam skip when the chat module is off (mute/freeze/jail still apply)
  • /sa unloadchunks unloads in per-tick batches instead of one hitch

Modules and architecture

  • Lean module profile lives in the Modules wiki only (no second modules-*.yml in the plugin folder)
  • FeatureModule cancels tracked tasks on disable; document module idle contract
  • Unload-chunks handler moved to ServerAdminCommands; biome cache extracted to BiomeLocationCache
  • /sa command split: thin SoapsAdminCommand router plus domain handlers (ModerationCommands, StaffCommands, TeleportCommands, PlayerUtilityCommands, ChatCommands, SupportCommands, ContentCommands, SocialCommands, ServerCommands, EconomyCommands), CommandSupport, CommandCatalog, HelpCommands, and SoapsAdminTabCompleter
  • UtilityManager carved into WorldLockService, PlayerUtilityService, ItemUtilityService, and WorldUtilityService behind a facade (call sites unchanged)

Config defaults

  • Thinner customcommands.yml (rules + three sample macros + built-in wraps); extra macros on Custom Commands wiki
  • Cleaner comments/layout across shipped feature YAMLs (config, staff, chat, server, moderation, clearlag, rtp, waypoints, economy, trade, daily, jails, rules, kits, deathmessages, joinmessages, recipes, and earlier modules/teleport/player/vaults)
  • Unchanged catalogs: prices.yml, messages.yml, gui-defaults.yml

1.7.5

Dependencies

  • Build and run against SoapsCommon 2.0.x (install Common 2.0.0+ first)
  • Server support: Paper / Spigot 26.1, 26.2, and 26.3 (api-version: 26.1)

GUI (gui.yml)

  • Customize built-in panels in plugins/SoapsAdmin/gui.yml (look, slots, actions, settings)
  • Created on first boot. Delete the file and reload to restore defaults, or use /sa guiconfig regenerate
  • /sa guiconfig list|reload|regenerate (/sa reload gui also reloads)
  • Punish, Staff Tools, and admin overview route by item id so slots stay editable
  • Master switch: gui.yml → settings.enabled

Support queues and tickets

  • Ticket list defaults to open (staff) or mine (players); Open / Closed / All filter cycle for staff; size 6 rows matching YAML
  • Reports and ticket list Back return to Support Hub; report search by target/reporter/reason
  • Ticket menus accept soapsadmin.ticket or soapsadmin.tickets; Support Hub sends no-permission when a tab is denied
  • Cached open report/ticket counts for Support Hub, Duty, and dashboard (storage stays separate)

Server tooling

  • Clearlag clears loaded chunks in per-tick batches; performance chunk/mob scans are budgeted like lag hotspots
  • Seekitem harvests container candidates across ticks instead of blocking in the constructor
  • Spin period slowed (2 ticks, smaller yaw step) with a concurrent spin cap
  • Corrupt flatfile reports log a WARNING and skip the bad key
  • Death Settings GUI (death-settings) on Server hub; /sa deathsettings with no args opens it when GUIs are on
  • /sa deathcoords available when death-coords or death-settings is enabled
  • Health GUI reopens after performance scan shortcuts
  • Player Actions Launch button (soapsadmin.launch)
  • audit mapped under Moderation modules; server handlers extracted to ServerAdminCommands

Module wiring

  • /sa health gated by diagnostics; /sa snapshot by utility; punishment /sa rollback by moderation; inventory restore stays on invsnapshot
  • Player Actions with GUIs off no longer opens a moderation snapshot by mistake
  • Server hub includes a Performance tile into the health/diagnostics menu

Trade

  • Closing the trade menu with ESC no longer dumps blue glass into your inventory
  • Trade refresh no longer errors with a null inventory or leaves you stuck “already trading” after the GUI is gone
  • Your offer grid is a full 4×4 (including the top-left corner); partner side matches
  • Filler panes fill chrome around the trade, but offer slots stay empty so panes never sync as items

Staff GUIs

  • /sa admin is a hub menu: Duty, Server, Content, Travel, Punish, Staff Tools (Duty shows live report/ticket counts)
  • Support Hub unifies reports (abuse) and tickets (help) under one staff entry
  • Punish hub: choose warn, kick, mute, or ban, then a searchable player list with online/offline filter
  • Staff Tools hub: choose heal, freeze, jail, or invsee, then searchable online players
  • Player Info hubs: Inspect (inventory, notes, alts, snapshot) and Actions
  • Search added to Staff Panel, player select, report select, and inv-snapshot player lists
  • Hub flow polish: remembers filter/search, reopens after punish chat cancel/success, toggles stay open, L/R/Shift shortcuts on player lists, Actions Back returns to where you came from
  • Overview header trimmed; empty armor uses dye markers instead of glass panes
  • Heal, feed, freeze, god, fly, lock inventory, AFK, and repair stay open and refresh the Actions menu instead of closing it

Health and shop

  • Health GUI expanded with refresh, plugin monitor, and performance scan shortcuts
  • Shop hub shows balance and hand/inventory worth preview when economy is available
  • /sa price uses held item when no arg; /sa worth defaults to hand; /sa value shows inventory line breakdown

Death settings

  • /sa deathsettings lists and toggles respawn flags in teleport.yml; no-arg opens the Death Settings GUI when enabled

Rules

  • Rules text prefers customcommands.yml → custom-commands.rules (header/rules/footer); rules.yml remains the fallback

Copy

  • Player-facing messages, GUI lore, marketplace text, and docs cleaned for the project copy rules (no em dashes, no filler marketing, clearer complete sentences)
  • Daily rewards stay on daily.yml + /sa daily (no separate daily-rewards showcase menu)

Config note

  • Live skins.yml keeps old layouts until you run /sa guiskins merge (adds missing jar menu keys) or /sa guiskins export (full cosmetic template with .bak), then /sa guiskins reload

1.7.4

Custom commands

  • Staff shortcuts: /sa sun, rain, storm/thunder, noon, midnight, sunrise/sunset, gmc/gms/gma/gmsp, ci
  • override-feedback (defaults on when message: is set): hides built-in /sa success text so only the custom message shows (fixes /sa sun double weather line); weather/time/lock/gamemode/clearinv/repair respect it; toggle in customcommand settings GUI
  • Success sound/message play only after the command path succeeds; teleport macros skip enderman FX when spawn/warp/home/etc. cannot teleport

Trade

  • Dual Ready + countdown hardened (ready no longer clears itself; countdown ticks once per second)
  • Soft money and XP level offers in the trade GUI
  • Physical custom-economy currency items tradable (allow-currency-items)
  • Shulker boxes configurable; optional block of filled shulkers
  • Full inventory: overflow-mode cancel | drop | vault
  • Countdown action bar; clearer inventory-full messaging
  • Trade profile: sneak+RMB (or RMB if require-sneak false) requests trade; staff playerinfo still wins

Grant / claim safety

  • Shop buy: fit check before charge; partial-add failure refunds and removes partials (no free dropped items)
  • Daily rewards: resolve items first; overflow drops or refuse via reward.drop-overflow
  • Daily GUI: no longer marks claimed before grant actions succeed
  • Cheques: refuse withdraw when inventory is full (refund if add fails after take); deposit requires soapsadmin.cheque.deposit
  • Kits: re-check item costs after warmup; claim lock covers post-warmup give; deny mode never voids paid items (drops + refunds money); overflow rolls back granted items + refunds
  • Mail: refuse send when inbox is full (no silent delete of oldest); offline name resolve without moderation module
  • Home invite works for offline players; rename/delete update visitor shared indexes
  • Reports: clear reassignment message when claiming another staff’s report; detail GUI Claim button + assignee
  • Tickets: ownership checks on respond/reopen/priority/GUI; offline creators get mail on staff respond/close; assign gated; GUI create button, staff shift-click delete + /sa ticket delete; closed tickets show CLOSED on header/list icons; Reply + Assign in ticket view
  • TPA: destination preview uses correct side; post-warmup unsafe abort; requester disconnect notifies target
  • Warps: own unsafe/invalid-name messages; per-warp permission message

Staff / admin

  • Admin cockpit: /sa admin header shows TPS, staff online, open reports/tickets, maintenance; tickets button shows open count; warn-escalation flag
  • Staff tools need matching /sa perms (not staffmode alone); punishment history left=case / right=rollback; freezeinfo offline; nick-aware resolvePlayer
  • Announcements GUI: shift-right cycles delivery mode; press F to change interval; /sa announce mode
  • Unfreeze requires soapsadmin.unfreeze

GUIs

  • Tertiary bind is press F (f-action in YAML only); middle-click / middle-action removed
  • YAML [prev_page] / [next_page] wired for PaginatedGui

MOTD

  • Editor GUI: edit/preview/toggle maintenance + max/min/icon via chat input
  • Max/min player overrides apply even when MOTD text is empty; +N offset no longer collides with -1 default; Paper ping HIGH priority setNumPlayers / setMaxPlayers

Performance

  • AFK / trade / staff-tool listeners bail out earlier when idle
  • Vault autopickup default interval aligned to 10 ticks

Waypoints

  • World markers (BlockDisplay + label + glow) hide beyond display.marker-view-distance (default 48, same as beam); boss bar / compass tracking still work when far
  • Missing marker-view-distance in an old waypoints.yml falls back to beam-view-distance

World spawn (also in this line)

  • Fixed join/reconnect wrongly yanking players to /sa setspawn across worlds
  • Flying/mid-air after /sa worlds no longer treated as unsafe cross-world teleport
  • Restores last logout world after restart (deferred while custom worlds load)

1.7.3

Integrations

  • Soft-compat now treats SoapsFloor dungeon sessions like SoapsArena matches: death messages, death coords, /back, insta-respawn, respawn overrides, death/kill auto-commands, and death inventory snapshots are skipped while in a floor run

1.7.2

Chat prompts

  • Staff chat input (player lookup, cancel, etc.) clears Paper viewers / Spigot recipients so ChatControl and similar plugins do not broadcast the typed name
  • Spigot prompt listener no longer skips already-cancelled chat events
  • loadbefore / softdepend for common chat plugins (ChatControl, VentureChat, EssentialsChat, DeluxeChat, CarbonChat, Chatty, TownyChat, HuskChat, AdvancedChat)
  • Soft-depend LuckPerms (permissions still via Bukkit/Vault; LuckPerms is the modern standard)

Modules

  • Each modules.yml toggle lists which config file to edit
  • Disabled modules release all related top-level CommandMap labels and aliases (/money, /home, /warp, /day, …) so other plugins can take over; custom macros that call /sa … follow the same module gates
  • Shop aliases also release when economy is off
  • Standalone custom-command registration refreshes after startup enableAll and when modules toggle
  • Tab complete and /sa dispatch hide/block disabled-module commands
  • Nested /sa <module> … tab suggestions are empty when that module is disabled (e.g. /sa shop → no buy/gui/…)
  • Module Manager GUI (/sa modules): chat search (name/category/command), status filter (all/enabled/disabled), and category browser
  • Mannequin editor: clearer Silent icon; Adjust Placement mode (rotate/nudge while seeing the model); Y up/down controls; Flying preset raises + disables gravity; single Body Poses picker (valid poses only, includes Sit)
  • Mannequin editor polish: richer info head (pose/yaw/coords + skin), clone, use-my-skin (right-click), snap yaw/block (shift), safer shift-delete, quick clear description; Look at Me right-click copies your yaw; Clear All Gear shift-click copies your armor/hands; two-page layout (controls + equipment) so toggles are centered off the side columns
  • Fakeplayer adjust wand: air/block aim (no need to punch), damage cancelled + temporary invulnerable; hotbar locked to wand (scroll = strafe only); Q always ends and strips the wand; Subtitle hide uses setDescription(null) / hide flag (no empty ghost plate); collidable toggle clarified; invulnerable mannequins force-cancel damage
  • Fakeplayer reliability: shared staff access (permission = manage any); list/remove/removeall cover all managed mannequins with world+owner; sit seats rebuild on enable; adjust range/world guard + restore sit; presets use name-visibility stash; equip chat null-safe; clone beside source; GUI-off spawn opens chat editor; docs aligned
  • Economy create/edit GUI: permission, cheques, mob drop-item toggle, drop chance / min–max items (syncs mob-drops.mobs.default.drops); jar messages + 6-row menus
  • /sa back now records RTP, world manager TP, portals/pearls/other-plugin teleports; saves after a successful teleport (warmup cancel no longer wipes the previous spot); BackManager lives with the teleportation module
  • VanishService / Vault economy refresh on module toggle; vanish restores player visibility when vanish is disabled
  • Freeze unlocks auto-locked inventories on disable; kit usage flush stops with the kits module
  • MOTD ping is null-safe when Utility is off; item-editor / item-effect listeners no-op when those modules are off
  • Punishment placeholders return empty/false when moderation is disabled; McMMO bridge reloads with friends module toggles

mcMMO / friends

  • McMMO XP share radius/percent moved to player.yml → friends.mcmmo-xp-sharing*
  • config.yml → integrations.mcmmo.enabled remains the master integration toggle (old share keys kept as fallback)

1.7.1

Waypoints

  • /sa waypoint list GUI: Create waypoint (name in chat, place at feet, then edit)
  • Edit GUI: Rename (chat) and Move here (current location)
  • Tracking uses a boss bar: name, meters away, bar shrinks as you get closer, then clears with an arrived message
  • Floating waypoint names render again (empty plate fix)
  • World markers respawn after restart (preload saved waypoints; re-spawn on join)
  • Label style GUI: brightness, background plate, see-through, shadow, bold, size (defaults in waypoints.yml → display.label)
  • Default name tag uses a brighter, more transparent plate

World spawn

  • /sa setworldspawn / /sa worldspawn shipped in this line (see 1.7.0 notes)

1.7.0

World spawn

  • /sa setworldspawn / /sa worldspawn: Bukkit per-world spawn (separate from server spawn in spawns.yml)
  • New worlds from the world manager get a world spawn set on create

RTP and platforms

  • RTP searches preload unloaded chunks before validating landings (fixes stall at ~13% with CHUNK_NOT_READY / chunksLoaded=0)
  • Paper uses async getChunkAtAsync; Spigot uses sync getChunkAt via ChunkLoadHelper (same path for TeleportUtil / biome TP preload)
  • rtp.yml: load-chunks, max-pending-chunk-loads
  • /sa tprandom and /sa tp random: teleport to a random online player

Void worlds

  • Void generator registered as SoapsAdmin:void (persisted in level.dat) so restarts keep empty generation
  • Startup detects void worlds loaded without the custom generator and reattaches them
  • /sa world fixgenerator <name>: unload/reload repair; docs note wiping region/ for old terrain
  • inferGeneratorType recognizes live VoidChunkGenerator; meta no longer downgrades VOID on shutdown

Chat and messaging

  • /sa mutechat: global chat mute (on/off/toggle, optional duration)
  • /sa chatroom (/sa cr): create/join/leave/invite/kick/lock rooms (-private)
  • MOTD: minplayers / minimumplayers alongside maxplayers

Economy and shop

  • /sa cheque withdraw|deposit: physical money cheques (per-economy enable in economy.yml)
  • Shop buy/sell GUIs + category filters; sell tab includes full category IDs
  • Voucher / showcase polish for economy flows

Commands and QoL

  • /sa interactive: bind custom commands to blocks; sneak-edit signs where enabled
  • /sa unloadchunks [-force] [-confirm]: unload unused chunks
  • /sa gamerules opens GUI (list/toggle/set CLI still work)
  • World create wizard size/slot fix (confirm no longer out of bounds)
  • Bare commands open GUIs where applicable: broadcast templates, announce, customcommand, friend, ticket (staff)

GUIs and tabs

  • Missing system-gui.yml menus restored (shop-hub/buy/sell, homes, audit browser/hub, waypoints, spawners, attributes, vault-list, custom-commands, broadcast-templates, …)
  • Economy admin/baltop/select back buttons; AttributeGui / AuditBrowserGui nav slot conflicts fixed
  • Tab completion: weather sun, mutechat, unloadchunks, vault aliases, invs/pm, sell categories, cheque/buy amounts, and more

Mannequin editor

  • Body-pose picker from Mannequin.validPoses(); cycle + shift-click open picker
  • Role Presets with full gear kits (Guard, Archer, Miner, Knight, Shopkeeper, Fisher, Farmer, …)
  • Shopkeeper / Glowing NPC presets no longer force invisible
  • Equip: left-click clone from hand, right-click clear, live item icons, clear-all gear
  • Look at me, move here, fine rotate ±15°, rotate ±45°
  • Chat/editor subcommands: pose, rotate, glow, namevisible
  • Module disable keeps persistent mannequins (clears ownership index only)
  • Permission string for mannequin GUIs: soapsadmin.fakeplayer

Shop and economy (earlier 1.7)

  • Buy GUI category filters (blocks, materials, potions, equipment, high-value, …) + prev/next arrows
  • /sa economy resetall -confirm resets primary economy through custom-command overrides (flags preserved)
  • Sell categories expanded to match shop filters

Custom commands

  • PlaceholderAPI %…% in messages and command lines
  • worlds / worlds-blacklist, min-args / max-args / usage
  • cooldown-group, per-command message-cooldown / message-denied / message-limit
  • Override wrap re-attaches -s / -confirm / -force
  • Command Builder GUI when creating action / override-replace commands
  • Create/finish registers immediately (no /sa reload required for in-game create)

Fixes and polish

  • ptime / pweather: self-target for /sa pweather <type>; others perms; optional player args
  • Message placeholders: player-not-found / player-not-online / invalid-world / invalid-number now receive names
  • Shop hub / sell open via Java GUI router
  • Audit hub GUI; spawner list GUI opens without look-at requirement
  • Removed lay/crawl (sit/spin kept)
  • Tab completions filled across kits, reload module, backup, homes invite, reports, ptime/pweather, shop, and more
  • Docs wiki updated for 1.7.0

1.6.7

Player vaults

  • New playervaults module: /sa vault and /sa vaultadmin with InteractiveGui storage
  • Lossless item persistence (serializeAsBytes) for NBT, enchants, attributes, custom items
  • Permission tiers: vault.limit.N, vault.rows.N, vault autopickup off|direct|overflow
  • Customcommand aliases: pv / playervault → vault, pva → vaultadmin
  • Vault picker GUI (/sa vault / dashboard); fill bars; open sound; live blacklist reject
  • Vault limits use explicit vault.limit.N only (ops no longer inherit every limit); picker lore redesigned
  • Messages: merge missing default keys into live messages.yml on load; fixed general.file-reloaded / invalid-* keys (were under platform)
  • Admin clear closes open viewers first; data under data/storage/vaults/
  • Player-utilities: hand-item add/remove, privacy on/off, debounced saves, sorted lists
  • Mining-audit: diamond ore ratios fixed; offline xraycheck; skip creative; debounced saves
  • Clearlag: runtime on without config flag; min-age / excluded worlds; quiet empty sweeps; reload
  • RTP: block double-search; skip void worlds in GUI; cooldown lore; quit cleanup

Cleanup / performance (pre-release)

  • Removed dead CUSTOM GUI stack (CrafterGui, EnchanterGui, ConfirmationGui, MenuOpenCommand, SQLiteProvider, TrashScreen)
  • Fixed /sa trash via Java TrashGui
  • Debounced vault autopickup saves; clearlag iterates loaded chunks only
  • Waypoint display snapshot cache + faster entity lookup
  • Custom-command auto-use index + quit cleanup for cooldown maps
  • Chunk activity tracker capped; stripped unused config/PlatformFeatures/MessageUtil dead API
  • Mail: per-player data/social/mail/{uuid}.yml, legacy migrate, debounced async flush on quit/disable
  • Unified autopickup: one nearby scan for inventory + vault (vault module skips duplicate timer)
  • Economy currency-drop glow: shorter team names, targeted remove, collision never
  • Shared LocationYaml for jail / AFK zones / death coords (and section read helper)
  • Config split for owners: slim config.yml + staff.yml / teleport.yml / server.yml / player.yml; modules.yml regrouped

GUI defaults

  • gui/system-gui.yml is copied on first run (like _settings.yml); edit in place, then /sa reload gui
  • Removed /sa gui export-system (no longer needed)
  • Waypoint TextDisplay labels centered over BlockDisplay markers
  • Waypoint GUI: press F only to edit display (middle-click removed)
  • Waypoint labels use full brightness + brighter colors; particle beam aligned to marker center

Polish

  • Restored real newlines in customcommands.yml (file had been flattened to literal \n)
  • Docs wiki updated for 1.6.7 (paths, spawner module, AFK/trade/sell/staff polish, version refs)
  • mvn clean clears stale CUSTOM gui YAMLs from target/
  • SoapsCommon 1.4.3: restored GuiScreen / YamlGuiScreen sources; suite rebuilds cleanly

1.6.6

Custom commands and GUI slim

  • Custom commands require type: (action / message / alias / override)
  • Create wizard: pick type first, then type-specific setup; disabled-commands GUI
  • Settings GUI shows only fields relevant to the command type
  • Removed CUSTOM YAML menu framework from SoapsAdmin (examples, /sa menu, /sa guiitem, open-commands)
  • GUIs are Java panels + MERGED system-gui.yml cosmetics only (/sa gui export-system)

Polish (integrations)

  • Paper-only MannequinInteractListener (Spigot no longer loads Mannequin via shared listeners)
  • TPA claim checks run before consuming the pending request
  • /sa sm aliases to spawnmob; staff mode uses smode / staff
  • ClaimService retries WorldGuard / soapscurrency probes every 30s after failure
  • /sa info and /sa debug show Mythic, claims, McMMO, and mythic drop table keys
  • Spawnmob validates Mythic ids; /sa take crucible:Id; RTP claim rejection reason; Mythic names in death messages

Platform and Spigot

  • Dual Paper/Spigot 1.21 support with PlatformFeatures gates for item editor, fake players, and mannequins
  • MySQL library failure on Spigot falls back to SQLite, then flatfile, with a clear console warning

Spawnmob and Mythic

  • Fixed /sa spawnmob tab indexing (mob / count / spread)
  • Mythic spawn via mythic:Id (aliases summon, smob), aquatic/flying footing, deny-list filtering
  • /sa killall mythic and mythic:<Id>
  • Shared MythicBridge resolver for give, kits, shop prices, daily rewards, and recipes
  • PAPI: %soapsadmin_mythic_loaded%, %soapsadmin_mythic_mobs%

Soft integrations

  • Claim-aware teleports (WorldGuard, Lands, GriefPrevention) with SoapsAdmin friends exception
  • WorldGuard flag soapscurrency for mob currency drops
  • McMMO soft bridge: skill XP share with nearby friends (integrations.mcmmo)
  • Softdepend list expanded; LuckPerms documented via Bukkit permissions only

1.6.5

Current previous release.

Polish

  • Recipe wizard: live Crucible/vanilla preview, held-item capture for ingredients, stricter save validation
  • Spawner type picker: search filter, selection highlight, auto-open Mythic tab, right-click clear Mythic override
  • Economy drops: rule-level amount-per-item, clearer Mythic item/direct reload logging
  • Docs wiki updated for 1.6.5 feature set

Integrations (1.6.x line)

  • Soft deps: MythicMobs, MythicCrucible, Citizens (plus Vault, PlaceholderAPI)
  • Crucible items in recipe maker (crucible:ItemId, held-item capture, ExactChoice)
  • MythicMobs in spawner editor (Vanilla / Mythic tabs)
  • Per-MythicMob economy drops with delivery: item|direct and optional drop-item overrides

1.6.4

  • Disable-safe playtime/global data saves (no crash on /reload or stop during async checkpoint)

1.6.3

  • Playerinfo / whois block self-target
  • Invsee / endersee hub actions resolve real target (no {target} placeholder bug)

1.6.2

  • Spawner editor enhancements: custom tick, radius, spread, trigger, particles, sound, per-spawner kill budget
  • Spawner type picker polish

1.6.1 – 1.6.0 (Completeness pass)

  • Experience: /sa experience [player] show, self show, reset/set
  • Playerinfo hub + whois alias path
  • Realname reverse nick lookup
  • TPA cancel + auto-accept (tpacancel, tpauto)
  • Kit GUI preview (right-click) + kit reset / cooldown tracking
  • /sa jump, /sa tpoffline
  • Mail v1 (send, inbox GUI, unread notify)
  • Spawner editor baseline (/sa spawner, sneak+RMB)

1.5.x

  • Staff GUIs, multi-currency economy, shop, daily roulette
  • Plugin monitor, world manager, custom commands, recipes, item editor, mannequins
  • MythicMobs soft detection for economy drops (vanilla-only, mobs.mythicmobs)
  • Module system expansion to 57 toggleable modules

1.4.2

  • Requires SoapsCommon 1.4.2+
  • Paper 1.21+, Java 21+

Production readiness (2026-06-11)

  • Moderation: vanish state persisted (data/vanished-players.yml); freeze persists across disconnect; jail teleports gated to JailManager only; jail reason stored; jailed action bar online-only
  • Homes & god: per-UUID home save lock + atomic YAML; /sethome rejects unsafe locations; god mode persisted in state.yml
  • Economy: deferred saves (save-interval-ticks); flush dirty balances on reload/shutdown
  • Trade: /sa reload trade; duplicate session dedup tick; shutdown cancels unique sessions only
  • Player data: generation-guarded async saves (stale writes dropped)
  • Reload: /sa reload all covers all modules; atomic saves for vanish, freeze, TPA, spawns, warps, jails
  • Commands: custom YAML commands via SoapsCommandSandbox; chain depth cap
  • GUI: active screens closed before YAML reload

1.4.1

Hotfix release.

  • Fixed daily reward repeatable claim (cooldown set on spin start)
  • Daily rewards and events board menu layout and animation polish
  • Requires SoapsCommon 1.4.1+

1.4.0

GUI system simplification

  • One gui/ folder for all server-owner menus
  • Unified system-gui.yml for built-in panel cosmetics (embedded in JAR, not copied on install)
  • Export override: /sa gui export-system (replaces export-skin)
  • Removed internal gui/skins/ and per-menu skin files
  • Animations handled by SoapsCommon AnimatedYamlGuiScreen

GUI animation showcase menus (historical)

Earlier 1.4.x notes described separate daily-rewards.yml, events-board.yml, and player-hub.yml animation demos. Those are not shipped menus in current releases. Cosmetics for built-in panels live in gui/system-gui.yml only. Daily rewards use daily.yml with [daily_claim] (preferred) or advanced [daily_claim_check] / [daily_claim_set] YAML actions.

GUI animation showcase menus (1.4.0 archive)

  • daily-rewards.yml: intro, border cycle, roulette, click-flash (24h daily spin)
  • events-board.yml: intro, rain, orbit, border cycle, 60s live refresh
  • player-hub.yml links to both new menus
  • New actions: [daily_claim_check], [daily_claim_set]

Commands

  • /sa gui export-system (was export-skin)
  • /sa gui list shows system vs custom menus

Upgrade notes

  1. Delete legacy gui/skins/ overrides if present
  2. Run /sa gui export-system once to create a cosmetic override template
  3. Fresh installs use gui/system-gui.yml for panel cosmetics (no separate events-board / player-hub showcase menus)
  4. Update SoapsCommon to match the SoapsAdmin version

Requires Paper 1.21+ and SoapsCommon 1.4.0+.

1.3.0

GUI design system

  • Added gui/_themes.yml with player, staff, admin, shop, and utility palettes
  • Gradient titles and themed filler/border on bundled menus
  • player-hub.yml, staff-tools.yml, shop menus, and paginated GUIs polished
  • Main dashboard shows live online count, TPS, and version
  • Trade and player profile GUIs improved

Removed

  • Misleading crate preview GUIs (no crate system exists)

Upgrade notes

  • Delete customized gui/crate-*.yml on your server if present
  • Plugin does not overwrite existing gui/ files; merge new keys manually
  • staff-tools.yml: rename root permission: to open-permission: if you customized the old file

1.2.0 and earlier

See git history for pre-1.3 releases (module system foundation, economy, moderation suite, custom commands).

Still stuck? Ask about this page