Skip to content

Releases: groundbreakingmc/VaultSlim

1.3.1 β€” Placeholder Fixes & Performance Improvements

Choose a tag to compare

@groundbreakingmc groundbreakingmc released this 20 Aug 23:50

This update focuses on fixing several PlaceholderAPI edge cases and reducing overhead in frequently used placeholders.

Fixes

  • Fixed incorrect compact balance suffix selection for thousands, millions, trillions and quadrillions.

  • Fixed indexed rank/group placeholders accepting 0 as a valid position.

  • Fixed %vault_groups_capital% and %vault_ranks_capital% not actually capitalizing group names.

  • Unsupported permission placeholders are now handled correctly instead of silently resolving to an empty string.

  • Fixed incorrect error message when Permission/Chat providers are unavailable.

  • Corrected PlaceholderAPI formatting defaults:

    • us-number-format is now stored as a boolean instead of a string.
    • thousands suffix now correctly defaults to K.

Performance

Numeric placeholder parsing has been rewritten to use a small zero-allocation parser instead of Guava, temporary substrings, boxing and exception-based parsing.

Optimized placeholders include:

  • %vault_eco_balance_<N>dp%
  • %vault_rankprefix_<N>%
  • %vault_groupprefix_<N>%
  • %vault_ranksuffix_<N>%
  • %vault_groupsuffix_<N>%

Rank/group placeholders also parse their numeric indexes directly from known offsets instead of scanning the placeholder string for the last underscore.

In JMH testing, common short numeric inputs were around 5–18% faster, while malformed numeric input improved from roughly 700–900 ns to 1–18 ns.

Internal changes

  • Removed Guava usage from placeholder number parsing.
  • Replaced Guava ImmutableMap with Java Map.of for PlaceholderAPI defaults.
  • Simplified compact balance formatting and removed the unnecessary SuffixEntry model.
  • Updated the Gradle wrapper to 9.7.1.

v1.3 β€” Performance & Vault Flexibility Update

Choose a tag to compare

@groundbreakingmc groundbreakingmc released this 17 Jan 21:04

πŸš€ Features

  • Vault provider selection via system properties
    Now you can explicitly choose which Vault provider to use (e.g., -Dvault.Economy=Essentials). If unspecified, the default Vault
    priority-based provider is applied. Minimal provider debug logging added for easier troubleshooting.

πŸ”§ Refactoring / Performance

  • Optimized number formatting cache
    Replaced Map<Integer, NumberFormat> with Int2ObjectMap to avoid boxing overhead in frequently accessed caches, improving
    performance in number formatting operations.

πŸ›  Chores

  • Bumped plugin version to 1.3
  • Updated Shadow plugin to 9.3.1

v1.2.1 - Number Formatting Bugfix

Choose a tag to compare

@groundbreakingmc groundbreakingmc released this 13 Jan 08:30

πŸ› Bug Fixes

Fixed a critical visual bug in balance display where suffixed numbers were calculated incorrectly due to char arithmetic in string concatenation.

What was broken

  • Balance of 1341 displayed as "50K" instead of "1.3K"
  • Any balance between 1000-9999 with decimals showed wrong values
  • Root cause: DECIMAL_SEPARATOR char (ASCII 46) was treated as number during concatenation: 1 + '.' + 3 = 50

What's fixed

  • Proper string concatenation now enforced in NumberFormatters.formatWithSuffix()
  • All suffixed balances now display correctly

Technical details

Changed concatenation from implicit char-to-int conversion to explicit string building by prepending empty string.


Commit with fix: 5f5cff9

VaultSlim v1.2

Choose a tag to compare

@groundbreakingmc groundbreakingmc released this 21 Oct 15:16

What's Changed

πŸ› Bug Fixes

VaultSlim v1.1

Choose a tag to compare

@groundbreakingmc groundbreakingmc released this 11 Oct 09:23

What's Changed

πŸ› Bug Fixes

⚑ Performance Improvements

🧹 Housekeeping

Full Changelog: v1.0...v1.1

VaultSlim v1.0 - Streamlined Vault for Modern Servers

Choose a tag to compare

@groundbreakingmc groundbreakingmc released this 08 Sep 20:52

πŸš€ VaultSlim v1.0.0 - The first release of a lightweight, drop-in replacement for Vault!

What is VaultSlim?

VaultSlim is Vault without the unnecessary baggage. It removes 25+ legacy plugin implementations that modern servers don't need while maintaining 100% API compatibility.

✨ What's New

  • πŸ—‘οΈ Removed bloat: No more implementations for dead plugins (PermissionsEx, bPermissions, mChat, iChat, etc.)
  • ⚑ Faster startup: No time wasted scanning for legacy plugins
  • πŸ“Š Built-in PlaceholderAPI: Economy placeholders work out of the box
  • πŸ”„ Perfect compatibility: Drop-in replacement for original Vault
  • πŸ—οΈ Modern build: Migrated from Maven to Gradle

πŸ“¦ Installation

  1. Remove your current Vault.jar
  2. Remove your Expansion-vault.jar from `PlaceholderAPI/expansions
  3. Download and place VaultSlim.jar in your plugins folder
  4. Restart your server
  5. Done! All existing plugins continue working

🎯 Perfect for Modern Servers

  • Using LuckPerms for permissions? βœ… Perfect fit
  • Want faster startup times? βœ… No legacy plugin scanning
  • Need PlaceholderAPI economy placeholders? βœ… Built-in support
  • Want zero configuration? βœ… Works immediately

πŸ”§ For Developers

No code changes needed! VaultSlim uses the same:

  • Package structure (net.milkbowl.vault)
  • Class names and APIs
  • Plugin identity (provides: [Vault])

Your plugins will work exactly as before.

πŸ“‹ Full Changelog

  • Remove update checker and network calls to dead APIs
  • Remove 15 legacy permission plugin implementations
  • Remove 13 legacy chat plugin implementations
  • Embed PlaceholderAPI Expansion-vault functionality
  • Migrate build system from Maven to Gradle
  • Maintain 100% backward compatibility

Download VaultSlim and enjoy a cleaner, faster Vault experience! πŸŽ‰