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;
banipmapped 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.ymldefaults tightened to false (report/confirmkept 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
COMPLETINGlock 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(notgiveExpLevels) - 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
depositPlayerreturns FAILURE when nothing is credited - Spawner settings clipboard cleared on quit; confirm-queue cleared on quit; Trash GUI accepts item placement;
soapsadmin.chatroom.createdefault 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.useandsoapsadmin.friend.tpdefault 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 (
<= 0or> 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
/satab-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 inmoderation.yml→moderation.default-reasons- Vault autopickup perms (
soapsadmin.vault.autopickup*) default to op and are included undersoapsadmin.* - 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 autosellopens an Autosell GUI (add hand, remove, clear)/sa chatroomopens 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
StaffGuiSessionand biome search cache clear on quitplayerDataCachetrimmed when it grows past offline lookups (512 cap)- Freeze/jail
FreezeListenerregisters 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 unloadchunksunloads in per-tick batches instead of one hitch
Modules and architecture
- Lean module profile lives in the Modules wiki only (no second
modules-*.ymlin the plugin folder) FeatureModulecancels tracked tasks on disable; document module idle contract- Unload-chunks handler moved to
ServerAdminCommands; biome cache extracted toBiomeLocationCache /sacommand split: thinSoapsAdminCommandrouter plus domain handlers (ModerationCommands,StaffCommands,TeleportCommands,PlayerUtilityCommands,ChatCommands,SupportCommands,ContentCommands,SocialCommands,ServerCommands,EconomyCommands),CommandSupport,CommandCatalog,HelpCommands, andSoapsAdminTabCompleterUtilityManagercarved intoWorldLockService,PlayerUtilityService,ItemUtilityService, andWorldUtilityServicebehind 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 guialso 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.ticketorsoapsadmin.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 deathsettingswith no args opens it when GUIs are on /sa deathcoordsavailable when death-coords or death-settings is enabled- Health GUI reopens after performance scan shortcuts
- Player Actions Launch button (
soapsadmin.launch) auditmapped under Moderation modules; server handlers extracted toServerAdminCommands
Module wiring
/sa healthgated by diagnostics;/sa snapshotby utility; punishment/sa rollbackby moderation; inventory restore stays oninvsnapshot- 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 adminis 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 priceuses held item when no arg;/sa worthdefaults to hand;/sa valueshows inventory line breakdown
Death settings
/sa deathsettingslists and toggles respawn flags inteleport.yml; no-arg opens the Death Settings GUI when enabled
Rules
- Rules text prefers
customcommands.yml→custom-commands.rules(header/rules/footer);rules.ymlremains 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.ymlkeeps 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 whenmessage:is set): hides built-in/sasuccess text so only the custom message shows (fixes/sa sundouble 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-modecancel|drop|vault - Countdown action bar; clearer inventory-full messaging
- Trade profile: sneak+RMB (or RMB if
require-sneakfalse) 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 adminheader shows TPS, staff online, open reports/tickets, maintenance; tickets button shows open count; warn-escalation flag - Staff tools need matching
/saperms (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-actionin YAML only); middle-click /middle-actionremoved - 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;
+Noffset no longer collides with-1default; Paper ping HIGH prioritysetNumPlayers/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(default48, same as beam); boss bar / compass tracking still work when far - Missing
marker-view-distancein an oldwaypoints.ymlfalls back tobeam-view-distance
World spawn (also in this line)
- Fixed join/reconnect wrongly yanking players to
/sa setspawnacross worlds - Flying/mid-air after
/sa worldsno 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.ymltoggle 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
economyis off - Standalone custom-command registration refreshes after startup
enableAlland when modules toggle - Tab complete and
/sadispatch 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/removeallcover 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 backnow 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.enabledremains the master integration toggle (old share keys kept as fallback)
1.7.1
Waypoints
/sa waypointlist 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 worldspawnshipped 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 inspawns.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 syncgetChunkAtviaChunkLoadHelper(same path for TeleportUtil / biome TP preload) rtp.yml:load-chunks,max-pending-chunk-loads/sa tprandomand/sa tp random: teleport to a random online player
Void worlds
- Void generator registered as
SoapsAdmin:void(persisted inlevel.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 wipingregion/for old terraininferGeneratorTyperecognizes liveVoidChunkGenerator; 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/minimumplayersalongside maxplayers
Economy and shop
/sa cheque withdraw|deposit: physical money cheques (per-economy enable ineconomy.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 gamerulesopens 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.ymlmenus 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 -confirmresets 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/usagecooldown-group, per-commandmessage-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 reloadrequired 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
playervaultsmodule:/sa vaultand/sa vaultadminwith InteractiveGui storage - Lossless item persistence (
serializeAsBytes) for NBT, enchants, attributes, custom items - Permission tiers:
vault.limit.N,vault.rows.N, vault autopickupoff|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.Nonly (ops no longer inherit every limit); picker lore redesigned - Messages: merge missing default keys into live
messages.ymlon load; fixedgeneral.file-reloaded/ invalid-* keys (were underplatform) - 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 trashvia JavaTrashGui - 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
LocationYamlfor jail / AFK zones / death coords (and sectionreadhelper) - Config split for owners: slim
config.yml+staff.yml/teleport.yml/server.yml/player.yml; modules.yml regrouped
GUI defaults
gui/system-gui.ymlis 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 cleanclears stale CUSTOM gui YAMLs fromtarget/- SoapsCommon 1.4.3: restored
GuiScreen/YamlGuiScreensources; 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.ymlcosmetics 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 smaliases to spawnmob; staff mode usessmode/staff- ClaimService retries WorldGuard / soapscurrency probes every 30s after failure
/sa infoand/sa debugshow 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
PlatformFeaturesgates 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 spawnmobtab indexing (mob / count / spread) - Mythic spawn via
mythic:Id(aliasessummon,smob), aquatic/flying footing, deny-list filtering /sa killall mythicandmythic:<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
soapscurrencyfor 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|directand optionaldrop-itemoverrides
1.6.4
- Disable-safe playtime/global data saves (no crash on
/reloador 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 +
whoisalias 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 toJailManageronly; jail reason stored; jailed action bar online-only - Homes & god: per-UUID home save lock + atomic YAML;
/sethomerejects unsafe locations; god mode persisted instate.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 allcovers 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.ymlfor 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 refreshplayer-hub.ymllinks to both new menus- New actions:
[daily_claim_check],[daily_claim_set]
Commands
/sa gui export-system(was export-skin)/sa gui listshows system vs custom menus
Upgrade notes
- Delete legacy
gui/skins/overrides if present - Run
/sa gui export-systemonce to create a cosmetic override template - Fresh installs use
gui/system-gui.ymlfor panel cosmetics (no separate events-board / player-hub showcase menus) - 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.ymlwith 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-*.ymlon your server if present - Plugin does not overwrite existing
gui/files; merge new keys manually staff-tools.yml: rename rootpermission:toopen-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