Skip to content

Advanced Logging System & Architectural Refinement

Choose a tag to compare

@1robie 1robie released this 15 May 18:08
· 40 commits to main since this release

πŸš€ New Features

  • Comprehensive Logging Framework:
    • Introduced a robust Logger API that supports both Adventure (modern) and Legacy (ChatColor) formatting.
    • Global Access: Static methods for easy logging across your project, featuring relocation safety checks to
      prevent conflicts when shaded.
    • Rich Configuration: Supports custom prefixes, per-type color settings, stacktrace logging, and visibility
      control for log types.
    • Contextual Logs: Added detailed warnings in Boss Bar message adapters and internal MessageManager logs for
      easier debugging.
  • Improved Validation: Integrated Preconditions across the core API to enforce non-null parameters and provide
    clearer error messages during development.

πŸ”¨ Refactorings & Improvements

  • Type Safety Overhaul:
    • Enhanced generics in MessageFormatter and MessageManager to ensure stricter compile-time checks.
    • Updated IMessageManager and MessageManager to strictly enforce non-null language parameters.
  • API Simplification:
    • Streamlined message constructors by removing redundant parameters, favoring a cleaner initialization pattern.
    • Removed unused resolve method in the core implementation.
  • Naming Consistency: Renamed ComponentLogger to AdventureLogger to maintain symmetry with the AdventureFormatter
    naming convention.

πŸ“š Documentation

  • README Redesign: A complete rewrite of the README.md with improved formatting, clear feature breakdowns, updated
    installation instructions, and comprehensive usage examples.
  • Javadoc Enhancements: Added detailed Javadoc comments for all core message classes and configuration options,
    providing better IDE integration and developer guidance.

πŸ› Minor Fixes

  • Fixed indentation issues in the Maven dependency examples.
  • Standardized default greetings in messages.yml from French to English for broader compatibility.