Fronsky Prefix icon

Fronsky Prefix -----

The lightweight Minecraft chat prefix, rank, and tablist management plugin.



2.0.0
Prefix v2.0.0 | MODERN FOUNDATION
The biggest update in Prefix history. Completely modernized architecture, all critical bugs fixed, SOLID principles applied throughout.

PLATFORM UPGRADE:
  • Java 17 — modern language features, pattern matching, records
  • Spigot/Paper 1.20+ — compiled against the latest stable API
  • Gradle build modernization — toolchain, UTF-8 encoding, release targeting
  • Removed legacy BungeeCord chat JAR (now Maven dependency)
  • Removed legacy 15-character limits on prefixes and team names
  • Fixed deprecated HoverEvent constructor — uses modern Content-based API
    • ⚡ Impact: Future-proof foundation that will support Minecraft updates for years
CRITICAL FIXES (5):
  • Fixed: Chat no longer crashes when a player mentions another player's name
    • ⚡ Impact: Eliminates server-wide ConcurrentModificationException crashes
  • Fixed: /prefix chat and /prefix tab commands now correctly include the last word of the prefix
    • ⚡ Impact: "/prefix chat admin &4[Admin]" now works as expected — no more empty prefixes
  • Fixed: Players can no longer crash the server by typing %s or %d in chat
    • ⚡ Impact: Closes a critical exploit that could be used to crash any server running Prefix
  • Fixed: Tablist no longer throws NullPointerException during class loading
    • ⚡ Impact: Reliable tablist display from the moment the plugin loads
  • Fixed: Module initialization no longer enters an inconsistent state on failure
    • ⚡ Impact: Clean error handling during plugin startup
BUG FIXES (14):
  • Fixed: Group creation no longer has contradictory success/failure logic
  • Fixed: Configuration reload no longer loads the file twice
  • Fixed: Command handler is now thread-safe for concurrent players
  • Fixed: Permission strings standardized across plugin.yml, code, and help messages
  • Fixed: All exceptions now log full stack traces for easier debugging
  • Fixed: Logger now shows [Prefix] tag in console output
  • Fixed: Group null-check now correctly uses Result pattern
  • Fixed: Group assignment validates group exists before saving
  • Fixed: Color code commands no longer crash on single-character input
  • Fixed: Group name field is now immutable — prevents silent config desync
  • Fixed: Tablist character limits updated from legacy 15 to modern 64+ characters
  • Fixed: Tab weight system now supports any integer, not just 0-9
  • Fixed: Resource leak in configuration reload closed
  • Fixed: Tablist getGroup() double call eliminated
SOLID ARCHITECTURE REFACTORING:
  • SubCommand interface — all 10 subcommands now implement execute() pattern
    • → Cleaner than constructor-based execution, testable, extensible
  • PGroup factory methods — loadOrCreate() and create() replace I/O-heavy constructors
    • → Constructor is now side-effect-free (no file reads/writes)
  • Dependency Injection — Data passed via constructors throughout the codebase
    • → No more static PrefixModule.getData() calls in model/event classes
  • HelpMessage data-driven — 128 lines of duplicated code → 40 lines with HelpEntry record
  • Chat event handler split into buildFormat() + handleMentions() (SRP)
    • ⚡ Impact: Clean, maintainable, testable codebase ready for rapid feature development
CLEAN CONSOLE LOGGING:
  • Logger.sendMessage() — players get colored messages, console gets clean [INFO] logs
  • Logger.sendWarning() — config issues logged at [WARNING] level
  • Logger.sendError() — real errors logged at [SEVERE] level
  • All color codes automatically stripped from console output
    • ⚡ Impact: Professional, readable server logs without formatting artifacts
CODE QUALITY:
  • Result.java methods renamed to Java camelCase conventions
  • Language.getLanguage() is now static — cleaner API
  • Removed unnecessary type casts in configuration access
  • Removed unused HTTP-style status enum values
  • Removed unused MinecraftVersion utility class (dead code)
  • Removed unused Data.plugin reference
  • Arrays.copyOfRange replaces manual System.arraycopy
  • isEmpty() replaces equals("") throughout codebase
  • ITask Javadoc corrected (ticks, not milliseconds)
  • Module.java CommandMap reflection with proper exception handling
  • /prefix info now shows version, build number, and clickable website link
  • build.gradle modernized — removed unnecessary manifest block, added UTF-8 encoding
⚠️ BREAKING CHANGES:
  • Requires Java 17 or higher (was Java 8)
  • Requires Minecraft 1.20 or higher (was 1.13)
  • Looking for older versions? Use Prefix v1.3.1 for pre-1.20 support
Config: Existing config files are fully compatible — no changes needed

Compatibility: Spigot/Paper 1.20+ | Java 17
----------, Apr 24, 2026
Resource Information
Author:
----------
Total Downloads: 986
First Release: Jan 15, 2023
Last Update: Jun 19, 2026
Category: ---------------
All-Time Rating:
1 ratings
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings