Welcome to the Hangar Open Beta. Please report any issue you encounter on GitHub!
Avatar for Jens98

API, CoinSystem, Coin, Coins, Money, Economy, Vault Economy, Vault

Report Coinsystem?

Release
3.1.3-spigot

Jens98 released Coinsystem version 3.1.3-spigot on June 15, 2026

CoinSystem v3.1.3 — Security & Performance Update

This is a major cumulative update including all changes from v3.0 to v3.1.3. It focuses on security, performance, and stability. Fully backward compatible — your configs and database will be migrated automatically. Please read the "Important Notes" section below.


Security & Hardening

  • Dupe-Proof Withdraw Items: A critical duplication exploit has been closed. The value of a withdrawn item is now stored in a secure, invisible tag. Renaming an item can no longer be used to create coins.
  • Atomic & Refund-Safe Transfers: The economy core now ensures that if a recipient cannot be credited, the sender is automatically refunded. Coins can no longer vanish or be created during transactions.
  • Invalid Amount Rejection: The API now rejects non-finite amounts (NaN/Infinity) to prevent account balance corruption.
  • Max Balance Cap: A new settings.economy.max_balance option protects against overflows and admin errors by capping balances.

Performance & Stability

  • No More Server Freezes: Commands targeting offline players (like /pay, /updatecoins) no longer trigger blocking web requests that cause lag spikes. Lookups are now instant and offline-safe.
  • Asynchronous Database with Connection Pooling: All database queries now run on a dedicated thread pool with HikariCP, freeing up the server's main thread and dramatically improving responsiveness.
  • Fast, Cached Leaderboards: /topcoins and all leaderboard placeholders now read from a fast, asynchronous cache, eliminating database load and providing instant results.
  • Clean Vault Integration: Vault support no longer causes freezes and now correctly respects the settings.vault.enable switch with a safe priority.

New Features & Improvements

  • Automatic Config Cleanup: Your config.json is automatically split into smaller, manageable files (database.json, inventories.json) on the first run.
  • Integer/Decimal Mode: A new setting (settings.currency.allow_decimals) lets you choose between whole numbers and fractional values for your currency, which is respected everywhere.
  • Customizable Currency: Fully configure your currency's name (singular/plural), separators, and more.
  • Smarter Help Command: /coins help now only shows commands a player has permission to use.
  • Organized Files: SQLite database files are now stored in their own sqlite folder.

API & SDK Updates

  • Modern API: A new, instance-based CoinSystemAPI is available as a Bukkit Service.
  • Asynchronous Methods: depositAsync, withdrawAsync, setBalanceAsync, and transferAsync are available, all returning a CompletableFuture.
  • Rich Account Snapshots: getAccount() provides an immutable CoinAccount object with detailed player data.
  • Atomic Transfers: CoinSystemAPI.transfer() offers a safe way to move coins with a detailed TransferResult enum.

⚠️ Important Notes

  • Old Withdraw Items: Items created before v3.1.3 are no longer redeemable due to the security fix. Please ask your players to redeem them before you update the plugin.
  • Vault Setting: If you use CoinSystem for Vault, ensure settings.vault.enable is set to true in your config.json, as this setting is now correctly enforced.

Information

Published onJune 15, 2026
Downloads4

Platforms

Paper Paper (1.21-1.21.8)

Dependencies

Paper Paper
Edit Plugin Dependencies: Paper