Changelog

Last updated Sep 18, 2026

Changelog

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.ymlfriends.mcmmo-xp-sharing*
  • config.ymlintegrations.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.ymldisplay.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

  • 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 receive daily-rewards.yml and events-board.yml automatically
  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).