
FlectonePulse
Every Message Under Your Control!
- Загрузки
- 29K
- Подписчики
- 156
- Обновлён
- 24 августа 2026 г.
- Лицензия
- GPL-3.0-only
Опубликован 31 декабря 2024 г.
What Is FlectonePulse? 
FlectonePulse is a plugin and mod for Minecraft (and Hytale) servers that takes full control over chat, messages, and notifications. You decide what players see, when they see it, and how it looks. Clean defaults for beginners, deep configuration for everyone else
FlectonePulse was the subject of a university thesis and received top marks for its architecture, technical depth, and practical value. The full thesis, presentation, and plagiarism report are publicly available
Why FlectonePulse instead of other message plugins?
| Feature | FlectonePulse | Typical message plugin |
|---|---|---|
| Fully async – no main thread impact | ✅ | ❌ |
| Supports 1.8.8 up to the latest Minecraft version | ✅ | ⚠️ (often limited) |
| Works on Bukkit, Spigot, Paper, Purpur, Folia, and Fabric | ✅ | ❌ (usually one platform) |
| Built‑in proxy support (BungeeCord, Velocity) | ✅ | ❌ (requires separate plugin) |
| Cross‑server message synchronization (via proxy or Redis) | ✅ | ❌ |
| Hytale support | ✅ | ❌ |
| Per‑player Minecraft client language detection | ✅ | ❌ |
Textures in chat without resource pack (<texture:name>) |
✅ | ❌ |
In‑line player heads and built‑in sprites (<player_head>, <sprite:name>) |
✅ | ❌ |
| Modular design – enable/disable any feature | ✅ | ⚠️ (rarely) |
| 40+ built‑in commands (chat, moderation, fun, polls, etc.) | ✅ | ❌ |
| Cross‑platform chat (Discord, Telegram, Twitch) | ✅ | ❌ |
| Legacy color codes + MiniMessage support in one system | ✅ | ⚠️ (usually one or the other) |
| Google Guice dependency injection for clean architecture | ✅ | ❌ |
| Open source & completely free | ✅ | ⚠️ (often freemium) |
Requirement
Java 17 or higher is REQUIRED. Older Minecraft versions, such as 1.8.8, can also run on Java 17 (check PandaSpigot)
| Platform | Supported Versions |
|---|---|
| Bukkit / Spigot / Paper / Purpur / Folia | 1.8.8 – Latest |
| Fabric | Latest Minecraft version |
| BungeeCord / Waterfall | Latest |
| Velocity | Latest |
| Hytale | Latest Hytale version |
| NeoForge | Planned |
Configuration Files
| File | Purpose |
|---|---|
config.yml |
Database, language, proxy mode, cache |
command.yml |
Enable/disable and configure commands |
message.yml |
All message modules, conditions and behavior |
integration.yml |
Third-party plugins and external platforms |
permission.yml |
Permissions for every feature |
localizations/*.yml |
Per-language message text |
🎨 Color Formatting
FlectonePulse understands every color system and converts them all to MiniMessage internally. Mix legacy codes and modern tags in the same line, it works
| Input | Result |
|---|---|
&0-&9, &a-&f |
<black>, <dark_blue>, ..., <white> |
&l / &m / &n / &o / &k / &r |
<b> / <st> / <u> / <i> / <obf> / <reset> |
&#rrggbb, #rrggbb |
<#rrggbb> |
| MiniMessage | <gradient>, <hover:...>, <click:...>, etc. |
join:
format: "<gradient:#FF0000:#00FF00>&lПривет</gradient> <rainbow><player></rainbow>!"
🧱 Textures in Chat – No Resource Pack Needed
Embed custom images directly into chat messages and the server MOTD with <texture:name>
Player skin avatars with <player_head>, Minecraft built-in sprites with <sprite:name>
🌍 Per-Player Language Detection
Enable by_player: true and every message is delivered in the player's own client language. If a translation is missing, the server default is used as fallback
💬 Multi-Channel Chat System
Multiple named chat channels with independent settings. Each channel has its own range, destination, cooldown, sound, trigger
Send any formatted message to any destination with admin command /emit. You can use destination CHAT ACTION_BAR BOSS_BAR TITLE SUBTITLE TOAST TAB_HEADER TAB_FOOTER BRAND
🌈 Per-Player Customization
Players open a full in-game menu /chatsetting to toggle messages, change colors, and disable whatever they don't want
✨ Everything is a Message and is Configurable
FlectonePulse takes control of virtually every event that produces text
Full list in documentation 🔗
🎮 40+ Built-In Commands
Already exist: /afk /anon /ban /banlist /broadcast /chatcolor /chatsetting /clearchat /clearmail /coin /deletemessage /dice /do /emit /geolocate /helper /ignore /ignorelist /kick /mail /maintenance /me /mute /mutelist /nickname /online /ping /reply /spy /tell /toponline /translateto /unban /unmute /unwarn /warn /warnlist /whitelist
Full list in documentation 🔗
🤝 Integration with Platforms
🤝 Integration with Plugins
| Plugin | What it adds |
|---|---|
| 🛡️ LuckPerms | Prefix, suffix, group display, TAB sorting by rank |
| 🧩 PlaceholderAPI / MiniPlaceholders | Any %placeholder% from other plugins |
| 🎙️ PlasmoVoice / SimpleVoice | Mute and ignore sync with voice chat |
| 🖼️ SkinsRestorer | Real player skins in chat and TAB |
| 👻 SuperVanish | Vanished players hidden automatically (even via proxy) |
| 💬 InteractiveChat | Enhanced interactive chat elements |
| 🔨 AdvancedBan / LibertyBans / LiteBans | Delegate ban commands to your existing system |
| 🌐 Vault | Permission compatibility |
| 🗣️ Floodgate / Geyser | Bedrock player support |
| 📦 ItemsAdder | Custom textures and items in messages |
Full list in documentation 🔗
🙏 Acknowledgments
FlectonePulse is built on these projects:
- 🏗️ Google Guice – dependency injection
- 📚 JDBI with HikariCP – database access
- 📦 Jackson – data serialization
- 🧙 PacketEvents – packet-level event handling
- 🎨 Adventure – text component formatting
- ⌨️ Cloud – commands with tab completion
- ⏱️ Universal Scheduler – cross-platform task scheduling
- 🔣 Symbol Chat – Unicode symbol picker
- 🌐 MiniTranslator – legacy to MiniMessage conversion
- 🌱 FlectoneChat – the predecessor
And thanks to the community! Every star on GitHub and review on platforms shows that FlectonePulse is genuinely useful ⭐
📊 Project Statistics
Ченджлог
1.13.0Релиз26.2 · 24 августа 2026 г.
⚠️ Warning
Migrations from versions 1.4.3 to 1.11.0 are removed, as promised in 1.12.2. If you are updating from one of them, install 1.12.2 first, let it start once, and only then install 1.13.0
✨ Features
- Added NeoForge platform support
- The core is split into the
apiandcommonmodules, so addons now depend onapialone - Added the
fadingmodule for fading a message with distance and the<fading>tag - Added a cache for the punishments the integrations with other punishment plugins report, so every punishment is no longer asked about on every lookup
- Added database export and import to the
/flectonepulsecommand, along with file suggestions forimportanddatabase_import - Added H2 database migration from legacy store formats
- Added database connection pool settings
- Added notification and content protection options to the Telegram integration
- Added an allowed mentions option to the Discord integration
- Added a name pattern regex to the
mentionmodule - Added a maintenance placeholder to PlaceholderAPI and MiniPlaceholders
- Added multiline support to
motd - Added stall detection and recovery for the task queue
- Added async task awaiting with a timeout
- Added caching and lazy loading for tag resolvers
- Improved error handling and type conversion when reading yml
🔧 Refactors
- Name constants are now worked out on the player's own server and kept in the database, so they also work in the player list across a proxy. How often to work them out again is set by the new
tickerin thenamesmodule settings - Player settings storage is unified, and
getSetting,isSettingandsaveSettingnow also take the key a setting is stored under ExternalMuteServicerenamed toExternalModerationService- Caches moved from Guava to Caffeine
- PacketEvents replaced with packeteventsmodern
- Every platform is now built with Jar in Jar
- The fastutil library is dropped in favour of the standard collections
- Logging moved to platform adapters
- The Vault integration is disabled by default
- A mention is now always formatted, but the sound only reaches those who are not vanished
randreplyare added tospyby default- The reload events are merged into a single
ReloadEventwith a type - Adjusted the default cache sizes
- Simplified the CMI integration logic
- Added timeouts for https requests
- The database backup is now taken with DatabaseExporter
🐞 Bug Fixes
- The vanish state of SuperVanish is now handled, so it changes along with the plugin
- Added timeouts for Discord, Telegram and Twitch, so a stuck integration no longer holds up the startup
- A failed H2 database migration no longer breaks the startup
- The Bukkit scheduler now validates an entity before processing it
- Bubbles are no longer rendered for dead players and are cleaned up on teleport
- The player's world is only updated on a real teleport
- Fixed duplicate objectives being created for the scoreboard
- The plugin no longer forwards its own messages to clients on Velocity and proxies
- Fixed command suggestions and parsers
tictactoenow handles empty input and validates move coordinates- A rock paper scissors game is cleaned up when a player disconnects
swearnow handles an empty trigger and no longer allows apostrophe injection- The sidebar drops the leftover line when the new content is shorter
📦 Dependencies
- Hytale Server updated to 0.5.8
- Fabric Loom updated to v1.17.19
- TelegramBots updated to v10.2.0
- DeepL updated to v1.17.0
- Jackson updated to v3.2.2
- Log4j API updated to v2.26.1
- Netty updated to v4.2.17
- MariaDB driver updated to v3.5.10
- Commons IO updated to v2.22.0
- JSpecify updated to v1.0.1
- CodeMirror updated to v5.65.21
- Gradle updated to v9.7.0
1.13.0Релиз26.2 · 24 августа 2026 г.
⚠️ Warning
Migrations from versions 1.4.3 to 1.11.0 are removed, as promised in 1.12.2. If you are updating from one of them, install 1.12.2 first, let it start once, and only then install 1.13.0
✨ Features
- Added NeoForge platform support
- The core is split into the
apiandcommonmodules, so addons now depend onapialone - Added the
fadingmodule for fading a message with distance and the<fading>tag - Added a cache for the punishments the integrations with other punishment plugins report, so every punishment is no longer asked about on every lookup
- Added database export and import to the
/flectonepulsecommand, along with file suggestions forimportanddatabase_import - Added H2 database migration from legacy store formats
- Added database connection pool settings
- Added notification and content protection options to the Telegram integration
- Added an allowed mentions option to the Discord integration
- Added a name pattern regex to the
mentionmodule - Added a maintenance placeholder to PlaceholderAPI and MiniPlaceholders
- Added multiline support to
motd - Added stall detection and recovery for the task queue
- Added async task awaiting with a timeout
- Added caching and lazy loading for tag resolvers
- Improved error handling and type conversion when reading yml
🔧 Refactors
- Name constants are now worked out on the player's own server and kept in the database, so they also work in the player list across a proxy. How often to work them out again is set by the new
tickerin thenamesmodule settings - Player settings storage is unified, and
getSetting,isSettingandsaveSettingnow also take the key a setting is stored under ExternalMuteServicerenamed toExternalModerationService- Caches moved from Guava to Caffeine
- PacketEvents replaced with packeteventsmodern
- Every platform is now built with Jar in Jar
- The fastutil library is dropped in favour of the standard collections
- Logging moved to platform adapters
- The Vault integration is disabled by default
- A mention is now always formatted, but the sound only reaches those who are not vanished
randreplyare added tospyby default- The reload events are merged into a single
ReloadEventwith a type - Adjusted the default cache sizes
- Simplified the CMI integration logic
- Added timeouts for https requests
- The database backup is now taken with DatabaseExporter
🐞 Bug Fixes
- The vanish state of SuperVanish is now handled, so it changes along with the plugin
- Added timeouts for Discord, Telegram and Twitch, so a stuck integration no longer holds up the startup
- A failed H2 database migration no longer breaks the startup
- The Bukkit scheduler now validates an entity before processing it
- Bubbles are no longer rendered for dead players and are cleaned up on teleport
- The player's world is only updated on a real teleport
- Fixed duplicate objectives being created for the scoreboard
- The plugin no longer forwards its own messages to clients on Velocity and proxies
- Fixed command suggestions and parsers
tictactoenow handles empty input and validates move coordinates- A rock paper scissors game is cleaned up when a player disconnects
swearnow handles an empty trigger and no longer allows apostrophe injection- The sidebar drops the leftover line when the new content is shorter
📦 Dependencies
- Hytale Server updated to 0.5.8
- Fabric Loom updated to v1.17.19
- TelegramBots updated to v10.2.0
- DeepL updated to v1.17.0
- Jackson updated to v3.2.2
- Log4j API updated to v2.26.1
- Netty updated to v4.2.17
- MariaDB driver updated to v3.5.10
- Commons IO updated to v2.22.0
- JSpecify updated to v1.0.1
- CodeMirror updated to v5.65.21
- Gradle updated to v9.7.0
1.13.0Релиз26.1.1, 26.1.2, 26.2 · 24 августа 2026 г.
⚠️ Warning
Migrations from versions 1.4.3 to 1.11.0 are removed, as promised in 1.12.2. If you are updating from one of them, install 1.12.2 first, let it start once, and only then install 1.13.0
✨ Features
- Added NeoForge platform support
- The core is split into the
apiandcommonmodules, so addons now depend onapialone - Added the
fadingmodule for fading a message with distance and the<fading>tag - Added a cache for the punishments the integrations with other punishment plugins report, so every punishment is no longer asked about on every lookup
- Added database export and import to the
/flectonepulsecommand, along with file suggestions forimportanddatabase_import - Added H2 database migration from legacy store formats
- Added database connection pool settings
- Added notification and content protection options to the Telegram integration
- Added an allowed mentions option to the Discord integration
- Added a name pattern regex to the
mentionmodule - Added a maintenance placeholder to PlaceholderAPI and MiniPlaceholders
- Added multiline support to
motd - Added stall detection and recovery for the task queue
- Added async task awaiting with a timeout
- Added caching and lazy loading for tag resolvers
- Improved error handling and type conversion when reading yml
🔧 Refactors
- Name constants are now worked out on the player's own server and kept in the database, so they also work in the player list across a proxy. How often to work them out again is set by the new
tickerin thenamesmodule settings - Player settings storage is unified, and
getSetting,isSettingandsaveSettingnow also take the key a setting is stored under ExternalMuteServicerenamed toExternalModerationService- Caches moved from Guava to Caffeine
- PacketEvents replaced with packeteventsmodern
- Every platform is now built with Jar in Jar
- The fastutil library is dropped in favour of the standard collections
- Logging moved to platform adapters
- The Vault integration is disabled by default
- A mention is now always formatted, but the sound only reaches those who are not vanished
randreplyare added tospyby default- The reload events are merged into a single
ReloadEventwith a type - Adjusted the default cache sizes
- Simplified the CMI integration logic
- Added timeouts for https requests
- The database backup is now taken with DatabaseExporter
🐞 Bug Fixes
- The vanish state of SuperVanish is now handled, so it changes along with the plugin
- Added timeouts for Discord, Telegram and Twitch, so a stuck integration no longer holds up the startup
- A failed H2 database migration no longer breaks the startup
- The Bukkit scheduler now validates an entity before processing it
- Bubbles are no longer rendered for dead players and are cleaned up on teleport
- The player's world is only updated on a real teleport
- Fixed duplicate objectives being created for the scoreboard
- The plugin no longer forwards its own messages to clients on Velocity and proxies
- Fixed command suggestions and parsers
tictactoenow handles empty input and validates move coordinates- A rock paper scissors game is cleaned up when a player disconnects
swearnow handles an empty trigger and no longer allows apostrophe injection- The sidebar drops the leftover line when the new content is shorter
📦 Dependencies
- Hytale Server updated to 0.5.8
- Fabric Loom updated to v1.17.19
- TelegramBots updated to v10.2.0
- DeepL updated to v1.17.0
- Jackson updated to v3.2.2
- Log4j API updated to v2.26.1
- Netty updated to v4.2.17
- MariaDB driver updated to v3.5.10
- Commons IO updated to v2.22.0
- JSpecify updated to v1.0.1
- CodeMirror updated to v5.65.21
- Gradle updated to v9.7.0
1.12.2Релиз26.2 · 30 июля 2026 г.
⚠️ Warning
This is the last version that supports migration from versions 1.4.3 to 1.11.0. In future updates, migrations from old versions will be removed
🐞 Bug Fixes
- Reverted message placeholders in integrations
1.12.2Релиз26.1.1, 26.1.2, 26.2 · 30 июля 2026 г.
⚠️ Warning
This is the last version that supports migration from versions 1.4.3 to 1.11.0. In future updates, migrations from old versions will be removed
🐞 Bug Fixes
- Reverted message placeholders in integrations
1.12.1Релиз26.2 · 30 июля 2026 г.
⚠️ Warning
This is the last version that supports migration from versions 1.4.3 to 1.11.0. In future updates, migrations from old versions will be removed
✨ Features
- Classes that inherited from
EventMetadatahave been removed and replaced withMessageContextcomposition. This allows creating cache keys that depend on context, fixing message duplication caused by formatting cache
🔧 Refactors
- Localization modules no longer contain generics
- Added duplicate game check in minesweeper
- VanishMetadata replaced with VanishMessageContext
- IntegrationMetadata replaced with IntegrationMessageFormat
- Some dependencies changed from compileOnly to compileOnlyApi for proper FlectonePulse API functionality
- Whois command is now disabled by default in Hytale
🐞 Bug Fixes
- Unknown UUID no longer breaks login state tracking on proxy
- Minesweeper game is now properly removed after win or loss
- Handled vanish status initialization for players
- Player synchronization between cache and database fixed
- Prevented world update for unknown players
- Overhead messages no longer render during plugin shutdown
- Unknown players are now properly handled in proxy messages
- Nickname is now sent via proxy
/chatcoloris now sent locally if proxy is not enabled- Added user message indicator in overhead messages to distinguish cache (fix for duplicates)
- Legacy color conversion in
/streamreplaced with new tag resolver approach
📦 Dependencies
- Updated TelegramBots to v10.1.1
1.12.1Релиз26.1.1, 26.1.2, 26.2 · 30 июля 2026 г.
⚠️ Warning
This is the last version that supports migration from versions 1.4.3 to 1.11.0. In future updates, migrations from old versions will be removed
✨ Features
- Classes that inherited from
EventMetadatahave been removed and replaced withMessageContextcomposition. This allows creating cache keys that depend on context, fixing message duplication caused by formatting cache
🔧 Refactors
- Localization modules no longer contain generics
- Added duplicate game check in minesweeper
- VanishMetadata replaced with VanishMessageContext
- IntegrationMetadata replaced with IntegrationMessageFormat
- Some dependencies changed from compileOnly to compileOnlyApi for proper FlectonePulse API functionality
- Whois command is now disabled by default in Hytale
🐞 Bug Fixes
- Unknown UUID no longer breaks login state tracking on proxy
- Minesweeper game is now properly removed after win or loss
- Handled vanish status initialization for players
- Player synchronization between cache and database fixed
- Prevented world update for unknown players
- Overhead messages no longer render during plugin shutdown
- Unknown players are now properly handled in proxy messages
- Nickname is now sent via proxy
/chatcoloris now sent locally if proxy is not enabled- Added user message indicator in overhead messages to distinguish cache (fix for duplicates)
- Legacy color conversion in
/streamreplaced with new tag resolver approach
📦 Dependencies
- Updated TelegramBots to v10.1.1
1.12.0Релиз26.2 · 24 июля 2026 г.
✨ Features
- Added whois module for searching players by IP
- Added Minesweeper game with flag mode
- Added padding module for centering and aligning text with characters
- Added message context cache with expireAfterWrite option
- Added duplicate check setting for bans and mutes
- Added offline event handling in Twitch integration
- Added timeout setting for main executor threads
🔧 Refactors
- Player inventory on Hytale now uses hotbar component
- Task queue changed from SYNCHRONOUS to LINKED_BLOCKING executor
- Player head placeholder replaced with optional format
- Simplified translation argument handling in ComponentDecorator
- Added flag to control message caching
🐞 Bug Fixes
- Fixed UUID and nickname mismatch on login in whitelist module
- Added disconnect check in proxy mode in quit module
- Disabled legacy color conversion and removed query parameters from URLs in stream module
- Fixed message sending in Twitch (replaced telegram with twitch sender)
- Player tag no longer auto-resolves in usage messages
- Fixed hints in mutelist and dice
- Online status now correctly updates in cache without race conditions in proxy mode
- Unknown server on proxy is now handled
- getPacketVersion replaced with getClientVersion for version checks
- Added old client version check in object
- Added NPE handling in PlaceholderAPI placeholders
- Backslashes are now escaped in moderation reasons
- Exception when getting ping in player adapters is now handled
📦 Dependencies
- Updated Hytale Server to 0.5.7, HyUI to 0.9.8
- Updated SkinsRestorer API to v15.12.5
- Updated Cloud libraries to v2.0.0-beta.17
- Updated Fabric Loom to v1.17.16
- Updated Vanish to v1.6.15
- Updated LibertyBans to v1.1.4
- Updated Velocity API to v4
- Updated PlaceholderAPI to v2.12.3
- Updated Jackson to v3.2.1
- Updated Log4j to v2.26.1
- Updated PostgreSQL to v42.7.13
- Updated Netty to v4.2.16
- Updated JDBI to v3.54.0
- Updated Triton API to v4.1.0
- Updated SQLite to v3.53.2.1
- Updated TelegramBots to v10.1.0
- Updated fastutil to v8.5.19
- Updated Gradle to v9.6.1, Shadow plugin to v9.6.1
New Contributors
- @MISQZY made their first contribution in https://github.com/Flectone/FlectonePulse/pull/419
Комментарии
Загружаем…













































