
FlectonePulse 1.3.0
Every Message Under Your Control!
✨ Features
- New fcolors for improved visual customization
- Improved /chatsetting command and new functionality for setting/removing player settings
- Added replacement module and removed emoji module for more efficient text processing
- Added ANSI serializer for Adventure to enhance logging output
- Added new localization prompt for value to improve user interaction
- Optimized replacement processing with regex for faster performance
Refactors
- Reintroduced InteractiveChat integration with conflict check for Delete module
- Introduced MessageReceiveEvent for all messages, replacing TranslatableMessageReceiveEvent
- Set default message channel IDs for Telegram and Twitch integrations
- Updated default messages for /chatsetting and /chatcolor commands
- Implemented fcolor see/out support and refactored chat color system
- Changed chatcolor permission type to TRUE
- Migrated player styles to new fcolor system and removed style modules
Bug Fixes
- Corrected permission check for mentioned players
- Removed closed </fcolor> tag to prevent formatting errors
- Fixed delete module and InteractiveChat integration compatibility
- Replaced getArgument with getPrompt in chatcolor for consistency
- Improved VoiceChat integration compatibility
- Updated 'PacketEvents' to 'packetevents' in plugin.yml for consistency
✨ Features
- Updated PacketSender to support silent packet sending for more discreet message handling
Refactors
- Moved PacketEvents.getAPI().load() to after injector creation to improve initialization
- Removed InteractiveChat integration (very bad API)
- Removed unused PacketProvider class to clean up codebase
- Improved item stack serialization for Paper servers
- Implemented onRequest method in PlaceholderAPIIntegration to support OfflinePlayer
Bug Fixes
- Improved item name translation and hover
- Fixed PlaceholderAPI to save formatted messages for offline players
- Replaced getDeclaredMethods() with getMethods() for broader method access
✨ Features
- Added DeleteModule to handle message deletion
- Added UpdateModule to check for new versions
- Added SenderToReceiverMessageEvent (API)
- Added new SenderToReceiverMessageEvent constructors
- Added SimpleVoice and PlasmoVoice support for Fabric
Refactors
- Switched to event-driven architecture
- Moved URL formatting logic to a separate class
- Added ReflectionResolver for class and method resolution
- Removed unused fields and optimized imports
- Split sleep, setblock, seed, op, deop, gamemode, clear, spawn, kill, enchant, and advancement logic into separate classes
- Renamed checkModulePredicates to isModuleDisabledFor
- Renamed disable() method to terminate()
- Replaced PacketEvents API calls with PacketProvider
- Removed unused FabricProxySender, PlatformPlayerAdapter
- Renamed ChatListener to ChatPacketListener and ChatBukkitListener for Bukkit
- Replaced MessagePulseListener with EventDispatcher and MessageSender
- Added prompt system for commands and updated command registration
- Used FPlayer for receiver in message processing
- Renamed translatable message receive event type
- Added MessageFlag enum and updated message processing
- Optimized tag resolver in MessageContext
- Moved AdventureTag to constant package
- Added common onEnable, onDisable, and reload methods
- Added replacement tags for message formatting
- Added generic enum serializer and moved enums
- Added unique message UUID to pipeline
- Updated MessageContext to use userMessage instead of messageToTranslate
- Removed cancelPacket() from TranslatableMessageReceiveEvent
- Renamed onMessageProcessingEvent to onMessageFormattingEvent
- Improved BLOCKS range retrieval exception message
- Replaced custom Pair with org.incendo.cloud.type.tuple.Pair
- Replaced emoji with checkbox in delete message format
Bug Fixes
- Fixed permission check logic without LuckPerms
- Changed Q&A messages to [Answer] format
- Fixed prompt index checking logic
- Fixed old player name update in database
- Added enable flag to voice integrations
- Replaced non-threadsafe collections with concurrent ones
- Relocated cloud libraries
Chores
- Cleaned up Gradle build
- Updated adventure versions
✨ Features
- Added ignore list for swear words in core
- Implemented ticker functionality for world module
Refactors
- Updated total RAM calculation in metrics
Bug Fixes
- Improved URL and image handling and formatting
- Improved trigger tag handling in FormatModule
- Added region-specific sync task execution, fixing #10
- Enhanced Telegram integration initialization
Chores
- Replaced Sonatype OSS Snapshots repository with AlessioDP Snapshots repository
✨ Features
- Added FULL support for Minecraft 1.8.8 - 1.21.8 versions
- Added support for Fabric 1.21.8
- Introduced H2 and PostgreSQL database support
- Implemented Text Placeholder API for Fabric
- Implemented Vanish API for Fabric
- Implemented SkinsRestorer API for Fabric
- Implemented LuckPerms API for Fabric
- Added packet-based chat listener
- Enhanced editor with cursor position saving/restoring when switching files
Refactors
- Optimized code by removing unused imports, classes, methods, and version checking
- Updated TimeFormatter to use Apache Commons Lang 3
- Removed database type-specific methods
- Replaced Javalin with Spark Java for web handling
- Improved exception handling and logging in handler
- Reduced join message delay to 5 seconds
- Consolidated packet sending logic in scoreboard
- Replaced direct player.getPing() call with packetProvider.getPing(player)
- Updated method to handle status response packet
- Replaced Component tree dump with JSON serialization
- Added support for legacy versions in scoreboard and inventory
Bug Fixes
- Prevented duplicate sidebar creation
- Improved URL handling in stream
- Removed unknown player check in insertOrIgnore method for Console inserting
- Improved handling for advancements
- Removed delay for join messages in older versions
Chores
- Updated PacketEvents to version 2.9.4
- Changed packetevents dependency from 'packetevents-spigot' to 'packetevents-api'
- Renamed mergeJars task to bukkitMergeJars
- Added fabricRemapJar task to Gradle build
- Downgraded Bukkit API version to 1.13 for legacy version support
- Integrated jvmdowngrader for API compatibility
✨ Features
- Added support for 1.21.8 Minecraft
- Web-based configuration editor for simplified plugin management
- Redis support for efficient proxy communication
- Enhanced messaging with <translateto> support, online player notifications in mail, and custom belowname messages
- Player visibility improvements with invisibility potion effect in name formatting and /anon command for spy
- Delayed update() in playerlistname for smoother operation
Refactors
- Optimized MessageProcessRegistry, plugin lifecycle, and module reloading for better performance
- Cleaned up code by removing unused methods, deprecated code, and redundant error handling
- Improved modularity with LinkedHashSet for order preservation, Registry interface, and refactored module constructors to use enable()/disable()
- Enhanced scoreboard, sidebar, and objective modules with PacketEvents integration
- Reworked ProxySender to support multiple proxy types and removed unnecessary proxy send logic
Bug Fixes
- Fixed IPv6 support and IP handling
- Improved vanished player filtering and visibility for CMI permission holders
- Optimized version comparison logic and database operations
- Resolved join message execution and history clearing issues after file loading
Chores
- Updated PacketEvents to 2.9.3
✨ Features
- Added support for 1.21.6 and 1.21.7 Minecraft
- Added /anon command
- Added /toponline command module
- Introduced new chat style module /chatstyle
- Implemented kill message module
- Added support for all FPlayer settings in PlaceholderAPI
- Implemented native toast notifications using PacketEvents
- Added ticker functionality for scoreboards
Refactors
- Optimized player data loading and login process
- Improved join message handling
- Enhanced moderation cache system
- Optimized database operations with JDBI
- Improved chat color processing and message formatting
- Simplified ItemStack building process in Bukkit
- Optimized bubble message sending
- Implemented menu-based settings
- Deleted migration for 0.1.0 and 0.6.0 versions
Bug Fixes
- Fixed handling of color/gradient tags
- Improved offline player checks for null names
- Corrected typos in moderator messages
- Fixed advancement description handling
- Fixed synchronous command reload for Spigot servers
- Improved PlaceholderAPI integration for offline players
Chores
- Updated dependencies: PacketEvents, Adventure
- Removed EvokeGames Maven repository
- Improved logging system, disabled default logger name
- Added warning about InteractiveChat compatibility issues
Refactors
- Renamed height to elevation for bubble configuration
Fixes
- Fixed upgrade process from version 0.8.2
Full Changelog: v0.8.3...v0.8.4
- Added billboard option for bubble messages
- Implemented animations for modern bubbles
- Improved bubble height rendering for better visual positioning
- Enhanced bubble message breaking logic
- Implemented Builder pattern for Bubble classes
- Optimized integration sending performance
- Improved version comparison in FileManager
- Replaced GSON component serializer imports
- Fixed null message channel handling in Telegram integration
- Simplified messenger detection in BukkitIntegration
- Resolved scheduler enable/disable errors
- Updated various project dependencies
[size=4][b]🚀 Features[/b][/size]
[list]
[*] Added [b]mode selection[/b] for Newbie message triggers
[/list]
[size=4][b]🐛 Fixes[/b][/size]
[list]
[*] Fixed [b]playtime calculation[/b] in online modules
[*] Corrected [b]online status checks[/b] for /tell command range
[/list]
[size=4][b]🔧 Refactors[/b][/size]
[list]
[*] Implemented [b]@async/@sync annotations[/b] for method scheduling
[*] Removed legacy [b]Async annotations[/b]
[*] Improved [b]exception interceptor logging[/b]
[*] Enhanced metrics collection on server shutdown
[/list]
[size=4][b]📦 Chores[/b][/size]
[list]
[*] Updated PacketEvents and Kyori Adventure versions
[/list]
[size=4][b]Full Changelog[/b][/size]: [url=https://github.com/Flectone/FlectonePulse/compare/v0.8.1...v0.8.2]v0.8.1...v0.8.2[/url]
- Fixed handling of cancelled MicrophonePacketEvent in SimpleVoice
- Fixed resolveLibrary method implementation
🚀 Features
- Added TAB integration
🐛 Fixes
- Fixed null recipient messages in BukkitChatModule
- Disabled join/quit messages on Bukkit/Spigot servers
- Fixed TAB integration and added settings for TAB-dependent modules
- Injected IntegrationModule at runtime
- Replaced grammatical typo in ru_ru localization
- Fixed null user checks in PlayerlistnameModule
🔧 Refactors
- Refactored mutes collection
- Set tabSort to true by default
- Reloaded all child modules even if the parent module is disabled
- Initialized child modules in the constructor
- Disabled team by default in the Name module
- Replaced double quotes with single quotes
Full Changelog: v0.7.0...v0.7.1
🚀 Features
- Added SleepModule for sleep messages
- Added BedModule for bed messages
- Added WORLD_NAME (-3) and WORLD_TYPE (-4) range
- Added filter for Paper 1.16.5 warnings to clean up logs
🐛 Fixes
- Replaced legacy paragraph symbols with ampersands
🔧 Refactors
- Merged SET_SPAWN, CHANGE_GAME_STATE, and SPAWNPOINT messages
- Created MinecraftTranslationKeys for better localization management
- Optimized chat filter in BukkitChatModule
- Optimized metadata retrieval in LuckPermsIntegration
- Checked recipients asynchronously in BukkitChatModule
- Updated FLogger to use a log consumer for better logging
Full Changelog: v0.6.3...v0.7.0
🐛 Fixes
- Fixed text length check in the FloodModule to prevent errors
- Corrected vanish boolean check
- Added exception handling in the BanModule to catch IllegalArgumentException
- Fixed player IP check to improve accuracy
🔧 Refactors
- Simplified logging warnings for cleaner logs
- Used Bukkit player's IP address
- Saved player IP to the database
- Renamed basic methods for creating and saving a player
Full Changelog: v0.6.2...v0.6.3
🚀 Features
- Added support for all plugins vanish to improve compatibility
- Added spying for a specific chat type for enhanced moderation
🐛 Fixes
- Changed mention destination to ACTION_BAR
- Optimized swear regex for better performance
- Optimized TOAST creation for better performance
- Fixed color standalone checking
- Fixed not closing the first tag
- Fixed message formatting by sender
Full Changelog: v0.6.1...v0.6.2
🐛 Fixes
- Added chat permission checking to ensure proper access control
- Fixed fPlayer settings loading to correctly load player settings
- Added ignore check to handle ignored players appropriately
- Improved fPlayer saving when removing players to prevent data loss
🔧 Refactors
- Added permission removing logic for better permission management
- Improved database update for offline players
- Removed async annotation for insertOrIgnore
- Optimized fPlayer getting
Full Changelog: v0.6.0...v0.6.1
🚀 Features
- Added a flood module
🐛 Fixes
- Changed the URL to the maintenance documentation
- Added "§" replacement to handle special characters correctly
- Trimmed dice messages
🔧 Refactors
- Removed swear sound
- Separated the setting table and optimized DAO classes for better performance
- Removed the contact submodule
- Disabled anvil, book, and sign modules by default
- Deleted the spit, knock, sign, and unsign modules
- Changed the italic trigger logic for better usability
- Switched to using a fork of MiniTranslator
Full Changelog: v0.5.4...v0.6.0
🚀 Features
- Added FixationModule (end dot and first letter uppercase)
🐛 Fixes
- Fixed PLAY_ONE_MINUTE calculation by multiplying it by 60
- Updated chat event message for other plugins
- Fixed next message in the rockpaperscissors module
- Corrected player value checks in the tictactoe module
- Removed visual spawn display in the bubble module
Full Changelog: v0.5.3...v0.5.4
- Features
- Added support for stay ticks in action bar messages to control display duration.
- Fixes
- Fixed action bar message compatibility for Minecraft 1.18 and older versions.
- Improved emoji escaping to prevent formatting issues.
- Added null checks for channels in BukkitProxyConnector to avoid unexpected errors.
- Removed duplicate Sync matcher to prevent conflicts.
- Added null player checks in the spit module for safer execution.
- Fixed player data (fPlayer) not updating when inventory settings were closed.
- Corrected maintenance mode logic to properly kick players when enabled.
- Ignored null connections to prevent crashes during network handling.
- Refactors
- Major codebase reorganization: Renamed multiple classes, packages, and interfaces (e.g., ILocalization → Localization, moved interceptors to dedicated packages).
- Removed deprecated/unused code: DebugInterceptor, ModuleManager, DatabaseThread, and ticker classes.
- Optimized SQLite integration using HikariCP for better performance.
- Split database logic into DAO (Data Access Object) layers for modularity.
- Updated user login and maintenance-checking logic for reliability.
- Integrated the latest version of MiniTranslator for localization.
Full Changelog: v0.5.2...v0.5.3