BasaltSMP Core v1.2.0
Premium Polish & Performance Update
What's New in v1.2.0
This update brings 21 improvements focused on visual polish, UX feedback, and performance — making BasaltSMP Core feel like a truly premium experience.
Visual Polish (NEW)
- Welcome Title Screen — Beautiful gradient title + subtitle when players join. Different styles for first-join vs returning players. Configurable text, fade timing, and sounds.
- Teleport Particle Effects — Three distinct VFX: purple portal spiral on departure, enchantment swirl during countdown, and golden end-rod burst on arrival.
- Combat BossBar — Real BossBar that drains and changes color (green → yellow → red) alongside the existing action bar. Maximum visibility during PvP.
- Kill Confirmation Title — Brief "⚔ KILL" title with victim name and your remaining health after every PvP kill.
- Bounty Claim: Title + Firework — Epic "BOUNTY CLAIMED" gradient title with a gold/orange firework explosion when collecting a bounty.
- AFK Visual Feedback — Title screen when going AFK ("
AFK") and "Welcome Back" on return. Tab list shows strikethrough name with [AFK] suffix.
- Chat Hover Cards — Hover over any player name in chat to see their balance, kills, deaths, K/D ratio, and playtime. Click to /msg them.
- Death Message Hover (PvP) — Hover over the killer's name to see their weapon, enchantments, and remaining health.
- Announcement Frames — Broadcast announcements now wrapped in a decorative ★ frame with a chime sound so they stand out in chat.
- Economy Sound Effects — /pay plays a bell (sender) and coin sound (receiver). /sell plays a satisfying orb sound. /bounty plays an anvil + ominous wither sound.
Bug Fixes
- RTP Safety Retry — Fixed critical bug where /rtp would fail on the first unsafe location (lava/water/void) without retrying. Now generates all candidates and tries each one until a safe spot is found.
- Combat Bar Direction — The combat action bar now correctly drains (starts full, empties over time) instead of filling up backwards.
- Teleport Bar Direction — Same fix applied to the teleport countdown bar.
Performance
- Async Database Writes — Claims, Teams, Auction House, and Bounty modules now write to the database asynchronously. Cache-first architecture means zero main thread blocking during gameplay. Critical for MySQL/network setups.
- Combat Timer Optimization — Single-pass iteration with config read moved outside the loop. Eliminates intermediate list allocation every tick.
- Auction House Cache — New CopyOnWriteArrayList cache means the AH GUI opens instantly (cache hit vs DB query).
- Bounty Cache — In-memory bounty list eliminates all SELECT queries during gameplay.
Security
- /pay Cooldown — 3-second cooldown (configurable) prevents payment spam. Bypass: basaltsmp.pay.bypass
- /bounty Cooldown — 10-second cooldown (configurable) prevents bounty spam. Bypass: basaltsmp.bounty.admin
Staff & UX
- /fly, /god, /vanish <player> — Staff toggle commands now support targeting other players. New permissions: basaltsmp.fly.others, basaltsmp.god.others, basaltsmp.vanish.others
- Tab Completion — Added to BackCommand, CombatTagCommand, CreateKitCommand, SetWarpCommand, SetHomeCommand, and all staff toggle commands.
New Config Options
Code:# Join Title (joinleave section) joinleave.title.enabled: true joinleave.title.join: "<gradient:gold:yellow>Welcome Back</gradient>" joinleave.title.first-join: "<gradient:gold:yellow><bold>WELCOME</bold></gradient>" joinleave.title.join-subtitle / first-join-subtitle joinleave.title.fade-in / stay / fade-out # Announcements announcements.sound: true announcements.frame: true announcements.frame-header / frame-footer # Cooldowns economy.pay-cooldown: 3 bounty.cooldown: 10
Full Changelog: 21 improvements
- RTP safety retry (bug fix)
- Combat bar drains correctly (bug fix)
- Teleport bar drains correctly (bug fix)
- Staff /fly /god /vanish target support
- Combat timer single-pass optimization
- Tab completion on 5+ commands
- Welcome Title Screen on join
- Teleport particle effects (3 types)
- Chat Hover Cards (stats + click)
- Economy sound feedback
- Announcement frames + sound
- Death message hover (weapon + enchants)
- Combat BossBar
- Bounty claim Title + Firework
- Kill confirmation Title
- AFK visual feedback (title + tab)
- /pay cooldown (security)
- /bounty cooldown (security)
- Claims module async DB
- Teams module async DB
- Auction House cache + async DB
BasaltSMP Core v1.2.0 | Paper 1.20.x - 1.21.x | Folia & Geyser Compatible
Changelog v1.1.0
NEW: 31 modules total (up from 29)
NEW: Folia + Geyser/Bedrock compatibility
NEW: PlaceholderAPI expansion with 18 placeholders
NEW: bStats metrics + Update checker
NEW: In-memory caching for Homes, Warps, Spawn, Kits (0ms reads)
IMPROVED: All 284 messages now fully configurable via messages.yml (0 hardcoded)
IMPROVED: Premium GUI sounds consistent across all menus
IMPROVED: Dynamic /bsmp modules + 7-page help system
IMPROVED: JAR optimized from 25MB to 5.8MB
REMOVED: MongoDB support (SQLite + MySQL only — lighter JAR)
REMOVED: All deprecation warnings (0 warnings on build)
FIXED: Combat actionbar text was hardcoded in Spanish
FIXED: BountyGUI and RulesModule missing click sounds
FIXED: Empty PAPI catch blocks now log at debug level
What's New
Performance:
▸ Scoreboard module optimized — reuses per-player boards instead of recreating every tick
▸ ShopGUI sell-all now processes items in batch (much faster for large inventories)
▸ Economy operations are now thread-safe for high-traffic servers
▸ License verification runs async — no more startup delay
▸ Player data loading on join is now non-blocking
Stability:
▸ Fixed SQLite connection handling for busy servers
▸ Fixed rare crash when disabling individual modules via config
▸ Improved memory management — player data properly cleaned up on disconnect
▸ All scheduled tasks now properly cancel on plugin disable
▸ Claims particle effects tracked and cleaned up correctly
Compatibility:
▸ Scoreboard now preserves teams from other plugins (rank badges, etc.)
▸ GUI click handling no longer interferes with other plugins
▸ Updated to modern Paper API (no more deprecation warnings)
▸ Better event handling with ignoreCancelled support
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Recommended update for all users. Compatible with Paper/Spigot/Purpur/Folia 1.20.x — 1.21.x
