Перейти к содержимому
Mineforgian

Xshards

Xshards is a Minecraft plugin that introduces a shard-based economy, enabling players to earn shards through gameplay, purchase items from a public shop, and manage their shard balances with various commands.

Загрузки
7K
Подписчики
9
Обновлён
16 апреля 2026 г.
Лицензия
All-Rights-Reserved

Опубликован 11 октября 2024 г.

Xshards Plugin

Xshards is a comprehensive Minecraft plugin designed to manage a shard-based economy system with player transfers, leaderboards, daily rewards, streaks, and multiple earning methods with a customizable shop interface. All data is reliably persisted to the database using batch operations and transaction management.

Key Features:

  • Shard Economy System: Players can earn shards through various activities, with configurable earning rates and integration with PlaceholderAPI. Database storage support (SQLite or MySQL) with fixed persistence.
  • Reliable Data Storage: NEW! Fixed critical shop persistence bug - all shop items, player shards, and streak data now properly save with batch operations and transaction management.
  • Per-Message Control: Every message in the plugin can now be enabled or disabled, giving server owners full control over chat clutter.
  • Admin Controls: Robust shard management including give and remove commands.
  • Fully Customizable Shop System: Supports custom items with lore and model data, adjustable shop sizes, and a price editing system with a purchase confirmation interface. NEW! Customize shop GUI title via config, and per-item display names/lore via /store editname and /store editlore commands - all stored in database.
  • Shard Transfer System: Enable true player-to-player economy with GUI confirmation dialogs.
  • Leaderboard GUI & Holograms: View top players with ranking system, player heads display, and pagination. Full PlaceholderAPI support for hologram leaderboards (e.g., %xshards_top_name_1%).
  • Daily Rewards & Streaks: Automatic daily bonuses with configurable streak multiplier (Easy/Mid/Hard modes).
  • Advanced AFK System:
    • 5-second countdown with movement detection
    • Free movement while in AFK mode
    • Persistent location storage
    • Automatic return to previous location
    • Protection from damage while AFK
    • Dedicated world support (recommended)
    • Safe teleportation system
    • Configurable earning rates
    • Seamless server restart handling

Earning Methods:

  • Playtime Rewards: Earn shards by staying online.
  • PvP Rewards: Gain shards from player kills with a cooldown system.
  • AFK Rewards: Accumulate shards while in AFK mode with countdown system, movement detection, and dedicated world support.

Commands:

Includes general commands for checking shard balance, opening the shop, and entering/exiting AFK mode, as well as admin commands for managing the shop, player shards (give/remove), and plugin configuration.

Permissions:

Configurable permissions for basic and admin commands, ensuring a tailored experience for players and server administrators.

Installation:

Simply download the plugin JAR file, place it in the server's plugins folder, and configure it as needed.

Database Storage:

XShards now supports both SQLite (default) and MySQL database storage, providing improved data persistence and reliability. The plugin automatically creates the necessary database tables and handles all data operations seamlessly.

For support and further details, please refer to the project's GitHub repository.

Ченджлог

1.2.9Релиз26.1, 26.1.1, 26.1.2 · 16 апреля 2026 г.

Changelog

All notable changes to the Xshards plugin are documented in this file.

[1.2.9] - 2026-04-16

Fixed

  • Shop: items could be received without paying / lost shards on purchase. The shop listener now uses getRawSlot() and only reacts to clicks inside the shop's top inventory, so clicks in the player's own inventory no longer trigger purchase flows. Shards are now deducted before the item is delivered, the player's balance is re-verified at confirm time, and any items that don't fit in a full inventory are dropped at the player's feet so they never lose what they paid for. The pending-purchase state is also cleared when the confirm GUI is closed without a choice. Fixes the "I can take items from the shard shop without paying" report.

  • Database path mismatch (XShards vs Xshards). The default SQLite path in config.yml was plugins/XShards/storage/xshards.db (capital S) while the plugin's data folder is Xshards. The default has been corrected to plugins/Xshards/storage/xshards.db.

    Upgrade note: if you were running 1.2.8 or earlier, you'll have existing data in plugins/XShards/storage/xshards.db. Either move that file to plugins/Xshards/storage/xshards.db, or set storage.sqlite.file: plugins/XShards/storage/xshards.db in your config.yml to keep the old path.

  • SQLite errors: "stmt pointer is closed" / "database has been closed" / "Database connection lost. Reconnecting..." spam. The previous DatabaseManager returned a single shared JDBC connection that callers would then close via try-with-resources, which closed the shared connection out from under any other thread mid-query (e.g. the AFK task and PlaceholderAPI/DecentHolograms refreshes hitting the leaderboard and AFK status). DatabaseManager.getConnection() now returns a fresh connection per call, so each query is fully isolated. SQLite connections also enable WAL journal mode and a 5s busy timeout for better concurrent read/write behaviour.

  • /shards remove <player> <amount> now works from the console. Previously the console branch only accepted give. Console, command blocks, and RCON can now use remove as well, enabling custom commands and admin scripts to debit a player's balance without the give <player> -N workaround.

Changed

  • Startup banner now reads the version from plugin.yml instead of a hard-coded string (was stuck at v1.2.4).
  • ShardCommand now rejects non-positive amounts up front with the existing "invalid amount" message, so admins can't accidentally invert a give/remove with a negative number.
1.2.8Релиз1.21.11, 26.1, 26.1.1 · 8 апреля 2026 г.

Xshards Changelog

[1.2.8] - 2026-04-08

Fixed

  • Fixed critical bug where players could take items from the store (/store) for free without purchasing them. The shop inventory click protection was not being triggered due to a title mismatch caused by color codes, allowing players to freely drag items out of the GUI.
1.2.7Релиз1.21.9, 1.21.10, 1.21.11 · 12 марта 2026 г.

ersion 1.2.7 - Shop GUI Customization (Database Edition)

Features:

  • NEW: Customize shop inventory title in config.yml (store.title)
  • NEW: Per-item custom display names (editable via /store editname )
  • NEW: Per-item custom lore (editable via /store editlore <line1|line2|...>)
  • NEW: Global default lore for all shop items in config.yml
  • NEW: Full color code support (&a, &c, etc.) for all customizations
  • Support for {price} placeholder in lore

Database Schema Updates:

  • Added display_name column to shop_items table (VARCHAR 256 / TEXT)
  • Added lore column to shop_items table (LONGTEXT / TEXT)
  • Backward compatible - existing shops auto-migrate

New Commands:

  • /store editname <slot> <name> - Set custom display name for item
  • /store editlore <slot> <line1|line2|...> - Set lore with | as separator

Configuration Example:

store:
  title: "&6Custom Shop Name"
  default-lore:
    - "&7Price: {price} shards"
    - "&8Click to purchase"

Data Storage:

  • Per-item customizations saved in database (MySQL/SQLite)
  • Global settings configured in config.yml
  • Changes via commands immediately persist to database

Technical Updates:

  • Updated version to 1.2.7
  • Added display_name and lore fields to ShopItem class
  • Updated DatabaseManager table creation for both MySQL and SQLite
  • Enhanced ShopManager with batch save/load for customizations
  • Added setItemDisplayName() and setItemLore() methods
  • Tab completion for editname and editlore commands
1.2.3Релиз1.21.9, 1.21.10, 1.21.11 · 30 января 2026 г.

Version 1.2.5 - Global Message Control and Configuration Improvements

Features:

  • Added global and per-message toggle support in messages.yml
  • Every message in the plugin can now be disabled by setting it to an empty string or using a new toggle system
  • Added message-enabled toggles for all shard earning methods in config.yml

Changes:

  • Improved message handling for better performance
  • Updated default messages.yml with documentation for disabling messages

Technical Updates:

  • Updated version to 1.2.5
  • Refactored MessageManager to handle empty/null messages gracefully
1.2.4Релиз1.21.9, 1.21.10, 1.21.11 · 19 января 2026 г.

Version 1.2.4 - Shard Management Expansion and PAPI Fixes

Features:

  • Added /shards remove command for administrators
  • Added custom messages for shard removal in messages.yml

Changes:

  • Improved PlaceholderAPI (PAPI) expansion reliability and persistence
  • Updated admin help menu to include shard removal command

Technical Updates:

  • Updated version to 1.2.4
  • Enhanced XshardsPlaceholder with persist() and canRegister() methods
  • Added removeShards methods to ShardManager and ShardData
1.2.3Релиз1.21.8, 1.21.9, 1.21.10 · 30 ноября 2025 г.

Version 1.2.3 - Shard Transfer, Leaderboard, and Daily Rewards

Features:

  • Added Shard Transfer system for player-to-player economy
  • Added GUI Leaderboard with pagination and player head display
  • Added Daily Rewards system with automatic login bonuses
  • Added Streak Multiplier system (Easy/Mid/Hard modes)
  • Added configurable message system (100+ message keys)

Changes:

  • Transfer command with confirmation dialog
  • Leaderboard displays rank, player name, and shard amount
  • 7 players per page with navigation buttons
  • Daily rewards track consecutive logins and reset on missed days
  • All messages customizable via messages.yml

New Commands:

  • /transfer - Transfer shards to player
  • /leaderboard [page] - View leaderboard with pagination

Technical Updates:

  • Added TransferCommand and TransferListener
  • Added LeaderboardManager with database queries
  • Added LeaderboardCommand and LeaderboardListener
  • Added DailyRewardManager with streak tracking
  • Added StreakData class for player streak information
  • Implemented GUI pagination system
  • Enhanced database queries for leaderboard sorting
  • Updated version to 1.2.3
1.2.2Релиз1.21.8, 1.21.9, 1.21.10 · 9 июня 2025 г.

Version 1.2.2 - Database Storage and AFK System Improvements

Features:

  • Added database storage support (SQLite and MySQL)
  • Completely redesigned AFK system with countdown and movement detection
  • Added free movement while in AFK mode
  • Added protection from damage while in AFK mode
  • Added dedicated world support recommendations for AFK
  • Improved data persistence and reliability

Changes:

  • Replaced YAML file storage with database storage
  • Added 5-second countdown with movement detection for AFK
  • Removed movement restrictions while in AFK mode
  • Added automatic database table creation
  • Added support for switching between SQLite and MySQL
  • Improved AFK teleportation safety
  • Added prevention of Nether/End AFK location setting
  • Reduced database connection logging spam

Technical Updates:

  • Implemented DatabaseManager for handling database connections
  • Added proper connection pooling and error handling
  • Improved data loading and saving performance
  • Enhanced plugin stability with better data management
  • Added boss bar for AFK countdown
  • Improved database connection reliability
  • Optimized database connection reuse
  • Updated plugin version to 1.2.2
1.2.1Релиз1.21.3, 1.21.4, 1.21.5 · 30 апреля 2025 г.

Version 1.2.1 - Console Shard Management

Features:

  • Added ability to give shards from console
  • Improved command handling for both console and players

Changes:

  • Console can now use /shards give command
  • Updated command usage descriptions
  • Improved feedback messages for console commands

Technical Updates:

  • Enhanced command executor to handle non-player senders
  • Updated plugin version to 1.2.1
  • Improved command parameter validation

Комментарии

Загружаем…