Releases: 1robie/MessageFlow
Releases · 1robie/MessageFlow
MessageFlow v1.0.0
We are proud to announce the first major release of MessageFlow! This version introduces a powerful new fluent API, granular delivery controls, and a completely redesigned placeholder system, establishing a robust foundation for Minecraft plugin messaging.
✨ Key Features
- Fluent Message Builder: Introducing IMessageBuilder—a sleek, chainable API to construct and send messages with ease.
- Placeholder Engine Upgrade:
- Native support for PlaceholderAPI integrated into every message.
- New
GlobalPlaceholderRegistryfor registering static and dynamic placeholders globally. - New
PlaceholderClass: A dedicated structure for granular, per-message data replacement, replacing legacy argument arrays.
- Sound Support: New
SoundMessagetype allows you to trigger immersive audio cues (with volume, pitch, and category control) alongside your text. - Granular Delivery Controls: Take total control over where your messages go with new settings for broadcast,
send-to-console, and exclude-senders, configurable at both the global message and individual component level.
🛠️ Improvements & Refactors
- Centralized Logging: The Logger system has been refactored for better maintainability and now supports method-level context parameters.
- Modern Formatting: Enhanced AdventureMessageFormatter and MessageFormatter with improved support for legacy colors and placeholder resolution when retrieving Component or String outputs.
- Flexible Configuration: Developers can now expose library settings directly to users within YAML files. The system handles automatic file generation and synchronization of missing keys.
- Architectural Refactor: Transitioned message models from records to a flexible class-based hierarchy with an
AbstractMessageTypeAdapterto centralize delivery logic.
- Breaking: Placeholder API Shift: We have moved away from loosely typed Object... args for placeholders. All methods previously accepting varargs now require the new
Placeholderclass. This provides better type safety and clarity but will require updates to existing method calls. Check breaking changes part inside theREADME.md. - Deprecation: Configuration API: Setters and getters in ConfigurationOptions are now deprecated. Please migrate to the new
ConfigurationManager.Settingsystem for a more consistent configuration experience.
0.0.4
Advanced Logging System & Architectural Refinement
🚀 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.
Minor fix + java doc improvement
Allow dev to edit the languagePathFormat inside EnumLanguageConfiguration.class with EnumLanguageConfiguration#languagePathFormat.
Add missing javadoc.
Full Changelog: 0.0.1...0.0.2
Realease 0.0.1
Full Changelog: https://github.com/1robie/MessageFlow/commits/0.0.1