Sueta

✦RankForge ⚡ | Advanced Custom GUI Rank System & Requirement

3.7

The Ultimate Minecraft Rank Progression Plugin

·Plugin
  1. 3.7latestRankForge Version 3.74 weeks ago
    RankForge — Version 3.7 Release System Hardening, Memory Leak Prevention & Performance Optimization Changelog Overview · IMPROVED Comprehensive system hardening across scheduling, player tracking, and administrative interfaces for absolute server stability. · FIXED Critical race conditions, zombie task memory leaks, and clock-skew vulnerabilities. [HR][/HR] ⚙️ Technical Highlights 1. Task Scheduling & Memory Management · Zombie Task Patch: Resolved a timing vulnerability in TaskScheduler where fast-executing tasks attempted unregistration before map insertion completed, permanently eliminating zombie entry memory leaks. · Null-Safety Validation: Added strict defensive checks for null actions during task registration. 2. Playtime, Trackers & Anti-Abuse · Clock-Skew Protection: Guarded PlaytimeTracker against NTP jumps and system time modifications to prevent negative millisecond elapsed counts. · Lifecycle Cleanup: Hardened AntiAbuseManager and trackers to safely handle concurrent player state mutations, rate limits, and disconnection teardowns without orphaned data. 3. Performance Profiles & GUI Hardening · TPS Profiling Loop: Optimized dynamic performance mode switching based on server TPS thresholds without disrupting visual effects or GUIs. · Admin Interfaces: Audited AdminRankEditorGUI click handling and viewer tracking to guarantee reliable state synchronization.
    1 download
  2. 3.6RankForge Version 3.64 weeks ago
    RankForge — Stability & Performance Patch Database Resilience, Concurrency & Thread-Safety Improvements Changelog Overview · IMPROVED Database connection pooling with fail-fast startup and automated stale-connection eviction. · FIXED Concurrency bugs, race conditions, and null-pointer exceptions across cache and background sync routines. [HR][/HR] ⚙️ Technical Highlights 1. DatabaseManager (Connection Pooling & Resiliency) · Fail-Fast Startup: Configured HikariCP with initializationFailTimeout(1) so the plugin halts startup immediately rather than freezing the main thread if MySQL is offline. · Health Eviction & Timeouts: Implemented explicit socket, validation, idle, and lifetime parameters to automatically sweep and prune broken or stale database connections. 2. SyncService & CacheManager (Concurrency & Shutdown Safety) · Plugin State Verification: Added explicit checks (!plugin.isEnabled()) inside asynchronous recovery tasks to safely abort pending operations during reloads or shutdowns. · Atomic Map Updates: Upgraded standard iteration loops to atomic map utilities (replaceAll, forEach, computeIfPresent) to eliminate concurrent modification exceptions. · Null-Safety Hardening: Enforced strict validation on map inputs, UUID lookups, and predicates to prevent unexpected NullPointerException crashes.
    3 downloads
  3. 3.5RankForge Version 3.5Sep 22, 2026
    RankForge — Version 3.5 Bug Fix Dynamic GUI Title Loading & Event Listener Patch Changelog Overview · FIXED GUI titles are now resolved dynamically from gui.yml upon menu opening instead of relying on legacy startup constants. · FIXED Synchronized event listener verification logic across all menus to ensure custom titles do not break click/close interactions. ⚙️ Technical Highlights 1. Dynamic Title Parsing & Color Support · Live Config Resolution: Updated menu generation across all interfaces (/rank, /rank editor, slot editor, player list, player data editor, rank detail editor) to read titles dynamically from gui.yml. · Hot-Reload Integration: Configured title updates apply immediately following /rank reload or server restarts. Standard color/formatting codes (&) parse dynamically. · Schema Reader Patch: Connected the missing player-data-editor.title-prefix configuration reader to actively consume configured values. 2. Dynamic Event Listener Matching · Listener Verification: Restructured inventory title matching across click events, close handlers, XP sync, and editor refreshes to evaluate against live configuration values. · Interaction Stability: Customizing menu titles in gui.yml will no longer disrupt click handling or m enu navigation.
    8 downloads
  4. 3.4RankForge Version 3.4Aug 10, 2026
    RankForge — Bug Fix Update Cache Invalidation Changelog Overview · FIXED Critical race conditions where background database operations overrode active session data with stale snapshots. · FIXED Cache incoherency bugs causing recent player rank promotions to revert back to default values. [HR][/HR] ⚙️ Technical Highlights 1. Cache-Incoherency Pipeline Resolution · Issue: The loadOrCreate() sequence evaluated profiles storage-first and forcefully wrote results back into the local cache. If a player’s rank changed dynamically (e.g., promoted to VIP), the cache updated instantly, but database persistence lagged. Subsequent lookups reloaded the older persistent record, forcefully replacing the active rank back to "Default." · Fix: Re-engineered the cache layers to establish the volatile session cache as the single source of truth for active lookups, eliminating redundant storage reads during active player sessions. 2. Async Snapshot & YAML Session Serialization · Issue: A parsing flaw during engine initialization caused the system to mistakenly flag all legacy YAML startup snapshots as active live sessions. Consequently, scheduled bulk asynchronous saves flushed these outdated structural snapshots back over newer, volatile cache states. · Fix: Enforced state validation checks on session tokens to differentiate between cold data storage archives and active player threads, ensuring that bulk async writes drop older, stale transactions.
    46 downloads
  5. 3.3RankForge Version 3.3Jul 31, 2026
    RankForge — Version 3.2 Bug Fix GUI Title Loading & Config Fixes Changelog Overview · FIXED GUI titles are now loaded dynamically from gui.yml when opening menus rather than remaining fixed as hardcoded constants. · FIXED Connected missing configuration readers and updated event-matching logic to prevent title changes from breaking inventory interactions. ⚙️ Technical Highlights 1. Live Config Reading & Formatting · Dynamic Title Resolution: Updated all primary GUI components (/rank, /rank editor, slot editor, player list, player data editor, rank detail editor) to pull titles straight from gui.yml upon inventory creation. · Hot-Reload Support: Edits made to menu titles take effect immediately after running /rank reload or restarting the server. Standard color codes (&) and formatting codes now parse properly across all menus. · Schema Patch: Implemented the missing player-data-editor.title-prefix configuration reader, ensuring that section of gui.yml is actively consumed. 2. Dynamic Event Listener Matching · Click/Close Listener Refactor: Restructured inventory title verification across all event listeners (click events, close handlers, XP sync, and editor refreshes) to evaluate against active configuration strings rather than outdated legacy constants. · Stability Impact: Customizing or re-formatting GUI titles in gui.yml will no longer break inventory click handlers or menu routing. Code (Java): // Fetching live formatted title at inventory generation String menuTitle = ColorUtil. translate (guiConfig. getString ( "gui.rank-editor.title" ) ) ; Inventory inv = Bukkit. createInventory (holde r, size, menuTitle ) ;
    23 downloads
  6. 3.2RankForge Version 3.2Jul 29, 2026
    RankForge — Version 3.2 GUI Configuration Isolation & Dedicated Config Refactor Changelog Overview · NEW Completely decoupled all GUI and click-shield settings out of config.yml into a dedicated gui.yml controller file. · NEW Integrated an automatic startup migration handler to read, transfer, and preserve legacy configurations without requiring manual server edits. ⚙️ Technical Highlights 1. Dedicated Single-Source GUI Schema · Refactor: Established gui.yml as the single source of truth for window properties, layouts, and anti-spam protection profiles. · Migrated Keys: Extracted gui-click-shield.enabled, cooldown-ms, and menu height specifications (rows, admin-rows) directly into isolated sections within the new schema structure. 2. Automatic File Migration & Internal Architecture · Auto-Migration: Added GUIConfig.migrateFromConfig() to seamlessly parse existing config.yml files on startup, extract legacy keys, and write them into gui.yml automatically. · System Integration: Rewrote GuiClickShieldManager and RankAdminCommand to fetch security and status flags directly through the new GUIConfig accessor pipeline rather than generic config handlers. Code (Java): // Accessor and Migration Pipeline Refactor GUIConfig guiConfig = plugin. getGuiConfig ( ) ; boolean shieldEnabled = guiConfig. clickShieldEnabled ( ) ; // Derived from gui. yml source
    17 downloads
  7. 3.1RankForge Version 3.1Jul 12, 2026
    RankForge — Update Log Command Permission Overhaul & Access Node Consolidation Changelog Overview · NEW Standardized the entire plugin command layout under two main, distinct permission nodes. · FIXED Security loopholes where command-handling gates failed to properly intercept unauthorized user arguments. [HR][/HR] ⚙️ Technical Highlights 1. Unified Permission Node Architecture · Issue: Inconsistent or missing permission guards across various sub-commands made server node management chaotic and introduced potential security vulnerabilities. · Fix: Re-mapped and bound every single command strictly under two primary parent permission strings to streamline network and permission manager administration. Permission Node Target Group Assigned Scope / Capabilities rankforge.use Default / Players Access to core menus, base display modules, and basic rankup verification profiles. rankforge.admin Operators / Staff Unrestricted access to all administrative features, data manipulation, bypassing, and configuration reloads.
    24 downloads
  8. 3.0RankForge Version 3.0Jul 8, 2026
    RankForge — Version 3.0 Requirement Bypassing & Core GUI Cleanup Changelog Overview · NEW Introduced the /rank bypassreq administrative command. · CHANGED Cleaned up the main GUI layout by removing the progress bar asset while retaining it in child menus. · FIXED Underlying database connection synchronization issues and YAML storage state anomalies. ⚙️ Technical Highlights 1. Administrative Requirement Bypassing · Feature: Added a dedicated administrative command mechanism via /rank bypassreq <player>. · Functionality: Allows server operators to instantly force a rank-up sequence by dynamically overriding the standard verification checks within the RequirementManager evaluation engine for a targeted player session. Code (Text): // Command Node Syntax /rank bypassreq <player> -> Bypasses live requirement checks for immediate promotion 2. Main GUI Optimization & Data Fixes · UX Refactor: Streamlined the primary dashboard menu layout by stripping the high-overhead progress bar string formatting only from the main GUI view, reducing screen clutter while maintaining comprehensive indicators in sub-menus. · Storage Integrity: Resolved critical data-handling anomalies across both storage layers. Patched underlying multi-thread write conflicts inside the MySQL connection wrapper and eliminated data-truncation edge cases during structural updates within the flat-file YAML handler. Code (Java): // Layout optimization context if (guiType == GuiType. MAIN ) { this. removeProgressBarAsset ( ) ; // Optimize interface clu tter and performance }
    14 downloads
  9. 2.9RankForge Version 2.9Jul 2, 2026
    RankForge — Update Log Playtime Formatting Refactor & Core Bug Fixes Changelog Overview · NEW Unified playtime tracking to accept human-readable composite strings (e.g., "1d 4hr") while maintaining backward compatibility. · FIXED Critical engine vulnerabilities, including database initialization NPEs, silent exception swallowing, and compilation errors. ⚙️ Technical Highlights 1. Human-Readable Playtime Parser · Issue: Requirement keys relied strictly on raw integers (playtime-minutes), and a bug in ProgressService accidentally reverted back to reading inaccurate vanilla tick statistics. · Fix: Replaced the node with a unified playtime string key backed by FormatUtil regex matching. Enforced the calculation to utilize the dedicated PlaytimeTracker wall-clock layer. Bare integers (e.g., "60") bypass the regex via a fast-path parser for seamless legacy support. Code (Java): // Composite input evaluation examples playtime : "4d 8hr" -> Internal conversion to total raw minutes playtime : "60" -> Handled via Long. parseLong legacy path 2. Exception Handling & Logic Safeguards · Issue: Core modules were blindly swallowing critical faults (such as JDBC drivers throwing null exception messages on connection failures, or column discrepancies in RankDataRepository), leading to hard startup crashes or undiagnosable errors. · Fix: Refactored all error paths across DatabaseManager, ProgressService, and the REST API routing logic to implement null-safe guards, distinct multi-catch routing blocks, and standardized debug-level warning logs. Code (Java): // DatabaseManager driver validation fix if (e. getMessage ( ) != null ) { e. getMessage ( ). split ( "\\." ) ; } else { fallbackToClassString (e ) ; }
    24 downloads
  10. 2.8RankForge Version 2.8Jun 30, 2026
    RankForge — Version 2.8 Real Playtime Tracking & Schema Migration Update Changelog Overview · NEW Replaced inaccurate tick-based playtime metrics with a precise wall-clock PlaytimeTracker engine. · NEW Implemented automatic YAML and MySQL database schema migrations to seamlessly handle the new data fields. [HR][/HR] ⚙️ Technical Highlights 1. Wall-Clock Playtime System · Issue: Using vanilla tick statistics (PLAY_ONE_MINUTE / 1200) penalized players on lagging servers (e.g., at 10 TPS, tracked playtime ran at half speed). · Fix: Implemented PlaytimeTracker leveraging System.currentTimeMillis(). Tracking is now entirely immune to server lag spikes, GC pauses, and TPS fluctuations, accumulating progress in accurate, whole-minute blocks. Code (Java): // Real-time calculation replacement long sessionMillis = System. currentTimeMillis ( ) - loginTime ; long minutesEarned = sessionMillis / 60000 ; 2. Cross-Platform Data Layer Synchronization · Issue: Active sessions risked losing accrued tracking stats during hard reloads, sudden disconnects, or uncoordinated batch updates across storage layers. · Fix: Re-engineered SyncService, YamlPlayerDataStorage, and CacheManager to stitch and flush live PlaytimeTracker counters directly into caches before any bulk save. Added an idempotent SQL migration pipeline to dynamically add columns on startup. Code (Java): // Dynamic database and lifecycle safety updates ALTER TABLE rf_players ADD COLUMN playtime_minutes BIGINT NOT NULL DEFAULT 0 ; playtimeTracker. flushAll ( ) ; // Executed during onDisable()
    22 downloads
  11. 2.7RankForge Version 2.7Jun 29, 2026
    RankForge — Version 2.7 PlayerDataEditor Rank History Update Changelog Overview · NEW Integrated a "Rank History" button directly into Slot 16 of the PlayerDataEditorGUI. · FIXED Asynchronous lookup vulnerabilities, incorrect UUID targeting, and null-safety crashes during admin disconnects. [HR][/HR] ⚙️ Technical Highlights 1. GUI Button Swap & Native Command Reuse · Issue: Administrators had to manually type /rank history <player> in chat to view player records while navigating the GUI layout. · Fix: Replaced the old Language button (Slot 16) with a Material.WRITTEN_BOOK icon. Clicking it triggers an asynchronous callback that pipes the exact display formatting logic of the core history command directly into the admin's chat panel. Code (Java): // Slot 16 Layout Definition Reference slot16 -> Material. WRITTEN_BOOK ( "Rank History" ) Action -> Fetches and streams last 10 log entries asynchronously 2. Async Thread Guarding & UUID Correction · Issue: The initial action logic queried the clicking administrator's UUID instead of the target player's data profile, risked double-posting messages, and crashed via a NullPointerException if the admin disconnected mid-fetch. · Fix: Rewrote the internal execution chain to enforce target UUID mapping, bound single-execution flags per click, and implemented an admin.isOnline() conditional gate inside the async callback return block. Code (Java): // Thread-safe completion check inside PlayerDataEditorGUI if (admin. isOnline ( ) && historyManager != null && targetUuid != null ) { // Streams data securely once per click for on line /offline targets }
    17 downloads
  12. 2.6RankForge Version 2.6Jun 28, 2026
    RankForge — Version 2.6 Optimization & Memory Layer Fixes Changelog Overview · FIXED Potential async race conditions and thread synchronization vulnerabilities. · FIXED Defective config error handling where invalid fallback options caused continuous loop overhead. [HR][/HR] ⚙️ Technical Highlights 1. Thread-Safe Collection Snapshots · Issue: getModelList() and getRankIds() were using unmodifiable view wrappers over live collections. If a background thread read them during a plugin reload, it would trigger a ConcurrentModificationException. · Fix: Rewrote internal lookups to instantly build copy snapshots inside the thread synchronization blocks. Code (Java): // New implementation details return new ArrayList <> (ranks. values ( ) ) ; return new HashSet <> (ranks. keySet ( ) ) ; 2. Dynamic Default-Rank Healing · Issue: If an administrator typed a non-existent rank name into the default-rank config node, the local memory layer fell back to index zero but failed to sync the base variable state, leading to repeated corrective checks. · Fix: Appended a state-mutation override during the automated repair cycle to heal the runtime instance memory immediately. Code (Java): if (fallback != null ) { this. defaultRankId = fallback ; // Permanently heal mi sconfigured layouts }
    21 downloads
  13. 2.5RankForge Version 2.5Jun 25, 2026
    RankForge v2.5 Changelog Summary · Resolved Core Thread Leaks: Fixed a critical issue where executing a hot-reload allowed previous taskScheduler worker threads to run indefinitely in the background. The plugin now forces a complete task cancellation before rebuilding runtime loops. · Emergency Data Fail-Safe: Re-architected the shutdown lifecycle. If a database timeout or crash drops the active network connection mid-shutdown, the engine automatically triggers an emergency writeback to local YAML storage, preventing player data loss. · Vulnerability & Boot-Order Fixes: Added defensive null-coalescing guards to eliminate boot-crashing NullPointerException bugs caused by empty configuration nodes. Corrected the loading sequence to fully mount configuration parameters before compiling internal rank layouts. · Memory Optimization: Switched heavy deep-collection copies to light, unmodifiable wrapper views, drastically reducing garbage collection churn and heap allocation footprints during high-traffic menu renders.
    12 downloads
  14. 2.4RankForge Version 2.4Jun 9, 2026

    RankForge — Version 2.4 Update Log

    · Architectural Upgrades & Performance Enhancements · Streamlined Core Registration: Optimized the initialization sequences across the central tracking systems to cut unnecessary overhead during early setup cycles. · Refactored Lifecycle Hooks: Refined internal manager bindings to ensure smoother handshakes between background utilities when the plugin reloads or shuts down. · Code Quality & Housekeeping · Manager Optimization: Stripped out legacy, unused structural calls from the core coordinators to keep the codebase lean and maintainable.
    15 downloads
  15. 2.3RankForge Version 2.3Jun 4, 2026
    RankForge — Update Log​ ️ Bug Fixes & Code Optimization · FIXED: Resolved a critical compilation error (incompatible types: OfflinePlayer cannot be converted to Player) occurring inside the PlaceholderAPI hook logic. · FIXED: Eliminated internal method signature conflicts with the base PlaceholderExpansion library class by restructuring helper endpoints. PlaceholderAPI Refactoring · Renamed Core Method: Shifted internal remaining progress calculations from a generic remaining() method to a distinct calculateRemainingProgress() helper to completely eliminate method signature collisions. · Enhanced Offline Capability: Hardened checking conditions within %rankforge_remaining_progress%. The placeholder now dynamically evaluates metrics safely using OfflinePlayer components when target entities are not logged into the server. · Null-Safety Guard Rails: Improved online player state handling (Player p = op.getPlayer()). Added robust structural lookups for live metrics placeholder targets like %rankforge_requirements_status% and %rankforge_requirements_detail% so they output a clean §7Offline response instead of throwing internal exceptions if a user is disconnec ted.
    10 downloads
  16. Version 2.2RANKFORGE UPDATE 2.2Jun 2, 2026

    ==============================================================================

    # RANKFORGE — DEVELOPMENT UPDATE LOGS # ==============================================================================​
    VERSION 2.2
    · Experience System Overhaul · Migrated internal progression tracking to utilize vanilla Minecraft player levels directly. · Re-architected RankService to dynamically query and deduct level requirements directly from loaded RankModel nodes (ranks.<id>.requirements.xp-level). · Removed redundant "experience" configurations and legacy toggle switches from config.yml. · Memory and Concurrency Fixes · Patched a thread-safety bug in ParticleManager where overlapping trail tasks orphaned background runners; implemented context-specific task ID validation via computeIfPresent. · Resolved a critical memory leak in TaskScheduler by enforcing automatic post-execution map cleanup for all delayed and async tasks. · Performance and Configuration Profile · Updated PerformanceManager to dynamically respect custom server thresholds defined in the configuration file instead of forcing hardcoded TPS defaults. · Standardized active task registration rules to capture raw asynchronous processes cleanly under a single monitoring pip eline.
    11 downloads
  17. 2.1Version 2.1Jun 1, 2026
    New Update Version 2.1
    19 downloads
  18. 2.0RankForge v2.0May 26, 2026
    ✨ RankForge v2.0 Official Changelog ✨ The Streamlining & Visual Quality-of-Life Update ▪️ IN-GAME PROGRESSION & VISUAL QUALITY OF LIFE * GUI Rank Click Fix: The core rank tree GUI now hot-refreshes seamlessly immediately after a player ranks up. Current Rank, Completed, and Unlocked states visually update in real-time without flickering or needing to close and reopen the menu. * Deep Detail Lore Editing: You can now modify and construct multi-line lore descriptions completely in-game via the Administrative Detail Interface. Clicking the Writable Book closes the GUI and captures chat input immediately, using the "|" token to delineate line breaks. ▪️ CHAT WIZARDS & MANAGEMENT EXPANSION * Visual Rank Creation: Added a dedicated "+ Create New Rank" Emerald block action item directly inside the Admin Editor GUI. It handles data initialization through step-by-step chat wizard prompts for IDs and display strings. * Commanded Wizard Additions: Implemented "/rank create" to prompt a fluid inline setup flow. Providing an optional argument like "/rank create <id>" skips the initial setup check and jumps directly to capturing your preferred display name formatting. * Fail-Safe Deletion Systems: Added an intuitive "Delete Rank" Red Dye button within the detail layout, mirroring the command lines "/rank delete <id>" and "/rank remove <id>". Both routines enforce strict textual confirmation inputs ("yes") via chat before dropping database records. ▪️ ENGINE CLEANUP & CORE TRIM * Feature Removal: Completely axed all codebase infrastructure, loops, data handlers, and layout settings regarding Daily Rewards, Challenges, and Quests. This slashes tracking overhead to focus entirely on premium, ultra-lean rank tree progression. * Structural Cleanup: Stripped configuration update duplication processes entirely—the system no longer writes timestamped storage backups (.bak) on configuration migrations. * Relocated Database Alert Tiers: Downgraded MySQL startup failure warnings down to INFO logging levels instead of throwing noisy stack trace warnings when server systems are running local YAML fallback setups by design. ▪️ VERSION BUMP METADATA * Upgraded Permissions Mappings: Global plugin.yml access keys and default settings have been fully updated to track 3.0 schemas. All legacy, obsolete permission strings from older versions have been systematically purged. ▪️More Features!
    18 downloads
  19. 1.0.1RankForgeMay 7, 2026
    ️ RankForge The definitive, cinematic rank progression engine for modern servers. ​ [HR][/HR] TRANSFORM YOUR PROGRESSION Forget boring text-based commands. RankForge elevates your server's ranking system into a fully immersive, GUI-driven experience. Designed for RPG, Survival, and Skyblock networks, RankForge bridges the gap between player effort and visual reward, ensuring that every rank-up feels like a monumental achievement. PREMIUM FEATURES · Dynamic Requirement Tracker: A real-time GUI that automatically scans player inventories and Vault balances. No more guessing—players see exactly what they need to progress. · Personalized Profile Header: Features a live Player Head at the top of the menu, displaying the user's skin, current rank tier, and formatted economy balance. · ⚡ The "Anti-Skip" Engine: Enforces strict linear progression (e.g., A → B → C). This maintains your server economy's integrity and ensures players experience the full journey. · ️ Custom Artifact Support: Go beyond standard blocks! Require specialized items with custom display names (e.g., "Ancient Relic" or "Forge Heart") to create unique quest-like requirements. · Cinematic Celebrations: Reward your players with high-fidelity sound effects, automated firework displays, and server-wide announcements upon successful forging. · LuckPerms Native Sync: Fully compatible with LuckPerms for instant permission and group synchronization. ⚙️ TOTAL CONFIGURATION CONTROL · ranks.yml: Define your rank-order, requirements, and custom rewards in a single, clean file. · config.yml: Fine-tune the spectacle—adjust sound types, pitches, and firework colors to match your server's theme. · en.yml: 100% localization support. Change every message, prefix, and notification to suit your community. COMMANDS & PERMISSIONS Command Description Permission /ranks Opens the interactive Rank Menu rankforge.use /rf reload Reloads all plugin configurations rankforge.admin /rf set <player> <rank> Manually administrative rank set rankforge.admin /rf create <id> Generates a new rank template rankforge.admin ✅ DEPENDENCIES · Vault (Required) · LuckPerms (Highly Recommended) [HR][/HR] Developed with ❤️ by JoshuaOP Licensed under the MIT License​
    33 downloads

Similar projects

Plugin →