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
Full Changelog
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
Full Changelog
Features
Refactors
- 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
Bug Fixes
- 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
Chores
- 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
Full Changelog
- 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
Refactors
- 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
Bug Fixes
- 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
Chores
- 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
- Updated dependencies: PacketEvents, Adventure
- Removed EvokeGames Maven repository
- Improved logging system, disabled default logger name
- Added warning about InteractiveChat compatibility issues
Refactors
Fixes
- Renamed height to elevation for bubble configuration
Full Changelog: v0.8.3...v0.8.4
- Fixed upgrade process from version 0.8.2
