All Mods Resource Packs Data Packs Shaders Modpacks Plugins
FlectonePulse

FlectonePulse

by TheFaser • Downloads: 0 • Followers: 0
Description
Gallery
Changelog
Versions

EN | RU

🎥 FlectonePulse Video Review

FlectonePulse

bukkit spigot paper purpur folia fabric hytale bungeecord velocity

FlectonePulse – Every Message Under Your Control!

boosty modrinth documentation

What Is FlectonePulse? Ask DeepWiki

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>!"

color

🧱 Textures in Chat – No Resource Pack Needed

Embed custom images directly into chat messages and the server MOTD with <texture:name>

texture motd texture chat

Player skin avatars with <player_head>, Minecraft built-in sprites with <sprite:name>

objects in chat

🌍 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

locale

💬 Multi-Channel Chat System

Multiple named chat channels with independent settings. Each channel has its own range, destination, cooldown, sound, trigger

chat

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

commandemit

🌈 Per-Player Customization

Players open a full in-game menu /chatsetting to toggle messages, change colors, and disable whatever they don't want

chatsetting

✨ Everything is a Message and is Configurable

FlectonePulse takes control of virtually every event that produces text

Module Description
MOTD Animated, multi-line server list status with custom textures
Join Quit Fully formatted with placeholders, sounds, and conditions
AFK Auto-mark and notify when players go idle
Bubbles Show messages visually above players' heads
Belowname Controlled text below player names
TAB Header, footer, player name format with ping, rank, world
Sidebar Animated scoreboard sidebar with custom content
Bossbar Vanilla bar formatting
Anvil Custom formatted text (book, sign, anvil)
Auto Scheduled, repeating announcements
Server links Custom clickable links in the server menu
Brand Display custom text in the F3 debug screen
Death Advancement Replace default Minecraft messages your way (death messages, advancement, etc.)

Full list in documentation 🔗

🎮 40+ Built-In Commands

Module Description
ball /ball – magic 8-ball with customizable answers
tictactoe /tictactoe – play tic-tac-toe in chat
stream /stream – announce you're going live
try /try – random luck roll from 0% to 100%
sprite /sprite – browse and preview all Minecraft built-in sprites
poll /poll – create in-chat polls with voting
ban /ban – ban a player with a reason and optional duration
whitelist /whitelist – manage server whitelist with reason and optional duration (add, remove, list, on, off)

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

Platform What it adds
Discord – bidirectional chat sync. Custom bot commands, channel info ticker, webhook support with embeds and avatar display
telegram Telegram – bidirectional chat sync. Custom bot commands and channel info ticker
twitch Twitch – bidirectional chat sync. Custom bot commands and live stream notifications

🤝 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:

And thanks to the community! Every star on GitHub and review on platforms shows that FlectonePulse is genuinely useful ⭐

📊 Project Statistics

All Versions

+ Add Version
Name Game version Platforms Published Downloads Actions
26.3
Neoforge
1d ago 1
26.3
Fabric
1d ago 1
26.3 26.2 26.1.x +14
Bukkit Bungeecord Folia Paper Purpur Spigot Velocity Waterfall
1d ago 1
26.3
Neoforge
1d ago 1
26.3
Fabric
1d ago 1
26.3 26.2 26.1.x +14
Bukkit Bungeecord Folia Paper Purpur Spigot Velocity Waterfall
1d ago 1
26.2
Neoforge
1d ago 1
26.2
Fabric
1d ago 1
26.2 26.1.x 1.21.x +13
Bukkit Bungeecord Folia Paper Purpur Spigot Velocity Waterfall
1d ago 1
26.2
Neoforge
1d ago 1
26.2
Fabric
1d ago 1
26.2 26.1.x 1.21.x +13
Bukkit Bungeecord Folia Paper Purpur Spigot Velocity Waterfall
1d ago 1
26.2
Fabric
1d ago 1
26.2 26.1.x 1.21.x +13
Bukkit Bungeecord Folia Paper Purpur Spigot Velocity Waterfall
1d ago 1
26.2
Fabric
1d ago 1
26.2 26.1.x 1.21.x +13
Bukkit Bungeecord Folia Paper Purpur Spigot Velocity Waterfall
1d ago 1
26.2
Fabric
1d ago 1
26.2 26.1.x 1.21.x +13
Bukkit Bungeecord Folia Paper Purpur Spigot Velocity Waterfall
1d ago 1
26.2
Fabric
1d ago 1
26.2 26.1.x 1.21.x +13
Bukkit Bungeecord Folia Paper Purpur Spigot Velocity Waterfall
1d ago 1
26.1.x
Fabric
1d ago 1
26.1.x 1.21.x 1.20.x +12
Bukkit Bungeecord Folia Paper Purpur Spigot Velocity Waterfall
1d ago 1
26.1.x
Fabric
1d ago 1
26.1.x 1.21.x 1.20.x +12
Bukkit Bungeecord Folia Paper Purpur Spigot Velocity Waterfall
1d ago 1
26.1.x
Fabric
1d ago 1
26.1.x 1.21.x 1.20.x +12
Bukkit Bungeecord Folia Paper Purpur Spigot Velocity Waterfall
1d ago 1
26.1.x
Fabric
1d ago 1
26.1.x 1.21.x 1.20.x +12
Bukkit Bungeecord Folia Paper Purpur Spigot Velocity Waterfall
1d ago 1
26.1.x
Fabric
1d ago 1
26.1.x 1.21.x 1.20.x +12
Bukkit Bungeecord Folia Paper Purpur Spigot Velocity Waterfall
1d ago 1
26.1.x
Fabric
1d ago 1
26.1.x 1.21.x 1.20.x +12
Bukkit Bungeecord Folia Paper Purpur Spigot Velocity Waterfall
1d ago 1
26.1.x
Fabric
1d ago 1
26.1.x 1.21.x 1.20.x +12
Bukkit Bungeecord Folia Paper Purpur Spigot Velocity Waterfall
1d ago 1
1.21.11
Fabric
1d ago 1
1.21.x 1.20.x 1.19.x +11
Bukkit Bungeecord Folia Paper Purpur Spigot Velocity Waterfall
1d ago 1
1.21.11
Fabric
1d ago 1
1.21.x 1.20.x 1.19.x +11
Bukkit Bungeecord Folia Paper Purpur Spigot Velocity Waterfall
1d ago 1
1.21.11
Fabric
1d ago 1
1.21.x 1.20.x 1.19.x +11
Bukkit Bungeecord Folia Paper Purpur Spigot Velocity Waterfall
1d ago 1
1.21.11
Fabric
1d ago 1
1.21.x 1.20.x 1.19.x +11
Bukkit Bungeecord Folia Paper Purpur Spigot Velocity Waterfall
1d ago 1
1.21.11
Fabric
1d ago 1
1.21.x 1.20.x 1.19.x +11
Bukkit Bungeecord Folia Paper Purpur Spigot Velocity Waterfall
1d ago 1
1.21.11
Fabric
1d ago 1
1.21.x 1.20.x 1.19.x +11
Bukkit Bungeecord Folia Paper Purpur Spigot Velocity Waterfall
1d ago 1
1.21.11
Fabric
1d ago 1
1.21.x 1.20.x 1.19.x +11
Bukkit Bungeecord Folia Paper Purpur Spigot Velocity Waterfall
1d ago 1
1.21.10
Fabric
1d ago 1
1.21.x 1.20.x 1.19.x +11
Bukkit Bungeecord Folia Paper Purpur Spigot Velocity Waterfall
1d ago 1
1.21.10
Fabric
1d ago 1
1.21.x 1.20.x 1.19.x +11
Bukkit Bungeecord Folia Paper Purpur Spigot Velocity Waterfall
1d ago 1
1.21.10
Fabric
1d ago 1
1.21.x 1.20.x 1.19.x +11
Bukkit Bungeecord Folia Paper Purpur Spigot Velocity Waterfall
1d ago 1
1.21.8
Fabric
1d ago 1
1.21.x 1.20.x 1.19.x +11
Bukkit Bungeecord Folia Paper Purpur Spigot Velocity Waterfall
1d ago 1
1.21.8
Fabric
1d ago 1
1.21.x 1.20.x 1.19.x +11
Bukkit Bungeecord Folia Paper Purpur Spigot Velocity Waterfall
1d ago 1
1.21.8
Fabric
1d ago 1
1.21.x 1.20.x 1.19.x +11
Bukkit Bungeecord Folia Paper Purpur Spigot Velocity Waterfall
1d ago 1
1.21.8
Fabric
1d ago 1
1.21.x 1.20.x 1.19.x +11
Bukkit Bungeecord Folia Paper Purpur Spigot Velocity Waterfall
1d ago 1
1.21.8
Fabric
1d ago 1
1.21.x 1.20.x 1.19.x +11
Bukkit Bungeecord Folia Paper Purpur Spigot Velocity Waterfall
1d ago 1
1.21.8
Fabric
1d ago 1
1.21.x 1.20.x 1.19.x +11
Bukkit Bungeecord Folia Paper Purpur Spigot Velocity Waterfall
1d ago 1
1.21.8
Fabric
1d ago 1
1.21.x 1.20.x 1.19.x +11
Bukkit Bungeecord Folia Paper Purpur Spigot Velocity Waterfall
1d ago 1
1.21.8
Fabric
1d ago 1
1.21.x 1.20.x 1.19.x +11
Bukkit Bungeecord Folia Paper Purpur Spigot Velocity Waterfall
1d ago 1
1.21.8
Fabric
1d ago 1
1.21.x 1.20.x 1.19.x +11
Bukkit Bungeecord Folia Paper Purpur Spigot Velocity Waterfall
1d ago 1
1.21.8
Fabric
1d ago 1
1.21.x 1.20.x 1.19.x +11
Bukkit Bungeecord Folia Paper Purpur Spigot Velocity Waterfall
1d ago 1
1.21.8
Fabric
1d ago 1
1.21.x 1.20.x 1.19.x +11
Bukkit Bungeecord Folia Paper Purpur Spigot Velocity Waterfall
1d ago 1
1.21.x 1.20.x 1.19.x +3
Bukkit Bungeecord Folia Paper Purpur Spigot Velocity
1d ago 1
1.21.x 1.20.x 1.19.x +3
Bukkit Bungeecord Folia Paper Purpur Spigot Velocity
1d ago 1
1.21.x 1.20.x 1.19.x +3
Bukkit Bungeecord Folia Paper Purpur Spigot Velocity
1d ago 1
1.21.x 1.20.x 1.19.x +3
Bukkit Bungeecord Paper Purpur Spigot Velocity
1d ago 1
1.21.x 1.20.x 1.19.x +3
Bukkit Bungeecord Folia Paper Purpur Spigot Velocity
1d ago 1
1.21.x 1.20.x 1.19.x +3
Bukkit Bungeecord Folia Paper Purpur Spigot Velocity
1d ago 1
1.21.x 1.20.x 1.19.x +3
Bukkit Bungeecord Folia Paper Purpur Spigot Velocity
1d ago 1
1.21.x 1.20.x 1.19.x +3
Bukkit Bungeecord Folia Paper Purpur Spigot Velocity
1d ago 1
1.21.x 1.20.x 1.19.x +3
Bukkit Folia Paper Purpur Spigot
1d ago 1
1.21.x 1.20.x 1.19.x +3
Velocity
1d ago 1
1.21.x 1.20.x 1.19.x +3
Bungeecord
1d ago 1
1.21.x 1.20.x 1.19.x +3
Bukkit Folia Paper Purpur Spigot
1d ago 1
1.21.x 1.20.x 1.19.x +3
Velocity
1d ago 1
1.21.x 1.20.x 1.19.x +3
Bungeecord
1d ago 1
1.21.x 1.20.x 1.19.x +3
Bukkit Folia Paper Purpur Spigot
1d ago 1
1.21.x 1.20.x 1.19.x +3
Velocity
1d ago 1
1.21.x 1.20.x 1.19.x +3
Bungeecord
1d ago 1
1.21.x 1.20.x 1.19.x +3
Bukkit Folia Paper Purpur Spigot
1d ago 1
1.21.x 1.20.x 1.19.x +3
Velocity
1d ago 1
1.21.x 1.20.x 1.19.x +3
Bungeecord
1d ago 1
1.21.x 1.20.x 1.19.x +3
Bukkit Folia Paper Purpur Spigot
1d ago 1
1.21.x 1.20.x 1.19.x +3
Velocity
1d ago 1
1.21.x 1.20.x 1.19.x +3
Bungeecord
1d ago 1
1.21.x 1.20.x 1.19.x +3
Bukkit Folia Paper Purpur Spigot
1d ago 1
1.21.x 1.20.x 1.19.x +3
Velocity
1d ago 1
1.21.x 1.20.x 1.19.x +3
Bungeecord
1d ago 1
1.21.x 1.20.x 1.19.x +3
Bukkit Folia Paper Purpur Spigot
1d ago 1
1.21.x 1.20.x 1.19.x +3
Velocity
1d ago 1
1.21.x 1.20.x 1.19.x +3
Bungeecord
1d ago 1
1.21.x 1.20.x 1.19.x +3
Bukkit Folia Paper Purpur Spigot
1d ago 1
1.21.x 1.20.x 1.19.x +3
Velocity
1d ago 1
1.21.x 1.20.x 1.19.x +3
Bungeecord
1d ago 1
1.21.x 1.20.x 1.19.x +3
Bukkit Folia Paper Purpur Spigot
1d ago 1
1.21.x 1.20.x 1.19.x +3
Velocity
1d ago 1
1.21.x 1.20.x 1.19.x +3
Bungeecord
1d ago 1
1.21.x 1.20.x 1.19.x +3
Bukkit Folia Paper Purpur Spigot
1d ago 1
1.21.x 1.20.x 1.19.x +3
Velocity
1d ago 1
1.21.x 1.20.x 1.19.x +3
Bungeecord
1d ago 1
1.21.x 1.20.x 1.19.x +3
Bukkit Folia Paper Purpur Spigot
1d ago 1
1.21.x 1.20.x 1.19.x +3
Velocity
1d ago 1
1.21.x 1.20.x 1.19.x +3
Bungeecord
1d ago 1
1.21.x 1.20.x 1.19.x +3
Bukkit Folia Paper Purpur Spigot
1d ago 1
1.21.x 1.20.x 1.19.x +3
Velocity
1d ago 1
1.21.x 1.20.x 1.19.x +3
Bungeecord
1d ago 1
1.21.x 1.20.x 1.19.x +3
Bukkit Folia Paper Purpur Spigot
1d ago 1
1.21.x 1.20.x 1.19.x +3
Velocity
1d ago 1
1.21.x 1.20.x 1.19.x +3
Bungeecord
1d ago 1
1.21.x 1.20.x 1.19.x +3
Bukkit Folia Paper Purpur Spigot
1d ago 1
1.21.x 1.20.x 1.19.x +3
Velocity
1d ago 1
1.21.x 1.20.x 1.19.x +3
Bungeecord
1d ago 1
1.21.x 1.20.x 1.19.x +3
Bukkit Folia Paper Purpur Spigot
1d ago 1
1.21.x 1.20.x 1.19.x +3
Velocity
1d ago 1
1.21.x 1.20.x 1.19.x +3
Bungeecord
1d ago 1
1.21.x 1.20.x 1.19.x +3
Bukkit Folia Paper Purpur Spigot
1d ago 1
1.21.x 1.20.x 1.19.x +3
Velocity
1d ago 1
1.21.x 1.20.x 1.19.x +3
Bungeecord
1d ago 1
1.21.x 1.20.x 1.19.x +3
Bukkit Folia Paper Purpur Spigot
1d ago 1
1.21.x 1.20.x 1.19.x +3
Velocity
1d ago 1
1.21.x 1.20.x 1.19.x +3
Bungeecord
1d ago 1
## ✨ Features
  • Added module names in the message context in the API
  • Added the ability to specify a link domain for url and image in the replacement module
  • Added group weight check to the spy module
  • Added support for custom permissions for range, so that the message is shown only to those players who have this permission
  • Added a player collision option to the scoreboard module

## 🔧 Refactors
  • In Discord and Telegram, manual executor management has been replaced with a proper resource release mechanism
  • Optimized Discord client resource management
  • Separated pet death messages for integrations. To display them, you need to use DEATH_PET or add .pet at the end of the localization key
  • Improved URL syntax validation

## 🐞 Bug Fixes
  • Fixed recipient caching in MessageContext, now its id also affects the cache
  • Fixed error handling when downloading files
  • Added item death messages for sulfur cube
  • Telegram and Discord channel info updates have been moved to an asynchronous task scheduler

## 📦 Dependencies
  • Hytale Server updated to 0.7.0
  • Gradle updated to v9.8.1
  • Fabric Loom updated to v1.18.3
  • Triton API updated to v4.2.0
  • PostgreSQL updated to v42.7.14
  • Netty Buffer updated to v4.2.19.Final
  • BuildConfig updated to v6.1.2
  • NeoForge ModDev updated to v2.0.148
  • Caffeine updated to v3.3.0
  • Lettuce Core updated to v7.8.0.RELEASE
  • Jdbi3 Core updated to v3.55.0
  • PacketEvents Spigot updated to v2.14.0
  • Lombok updated to v9.8.0
  • VoiceChat API updated to v2.6.24
  • Jackson Dataformat YAML updated to v3.2.3
  • SkinsRestorer API updated to v15.12.6
  • Vanish updated to v1.6.16+26.3
  • H2 updated to v2.5.252

[Documentation](https://flectone.net/pulse/docs/changelog)
[Full Changelog](https://github.com/Flectone/FlectonePulse/compare/v1.14.1...v1.14.2)
## ✨ Features
  • Added module names in the message context in the API
  • Added the ability to specify a link domain for url and image in the replacement module
  • Added group weight check to the spy module
  • Added support for custom permissions for range, so that the message is shown only to those players who have this permission
  • Added a player collision option to the scoreboard module

## 🔧 Refactors
  • In Discord and Telegram, manual executor management has been replaced with a proper resource release mechanism
  • Optimized Discord client resource management
  • Separated pet death messages for integrations. To display them, you need to use DEATH_PET or add .pet at the end of the localization key
  • Improved URL syntax validation

## 🐞 Bug Fixes
  • Fixed recipient caching in MessageContext, now its id also affects the cache
  • Fixed error handling when downloading files
  • Added item death messages for sulfur cube
  • Telegram and Discord channel info updates have been moved to an asynchronous task scheduler

## 📦 Dependencies
  • Hytale Server updated to 0.7.0
  • Gradle updated to v9.8.1
  • Fabric Loom updated to v1.18.3
  • Triton API updated to v4.2.0
  • PostgreSQL updated to v42.7.14
  • Netty Buffer updated to v4.2.19.Final
  • BuildConfig updated to v6.1.2
  • NeoForge ModDev updated to v2.0.148
  • Caffeine updated to v3.3.0
  • Lettuce Core updated to v7.8.0.RELEASE
  • Jdbi3 Core updated to v3.55.0
  • PacketEvents Spigot updated to v2.14.0
  • Lombok updated to v9.8.0
  • VoiceChat API updated to v2.6.24
  • Jackson Dataformat YAML updated to v3.2.3
  • SkinsRestorer API updated to v15.12.6
  • Vanish updated to v1.6.16+26.3
  • H2 updated to v2.5.252

[Documentation](https://flectone.net/pulse/docs/changelog)
[Full Changelog](https://github.com/Flectone/FlectonePulse/compare/v1.14.1...v1.14.2)
## ✨ Features
  • Added module names in the message context in the API
  • Added the ability to specify a link domain for url and image in the replacement module
  • Added group weight check to the spy module
  • Added support for custom permissions for range, so that the message is shown only to those players who have this permission
  • Added a player collision option to the scoreboard module

## 🔧 Refactors
  • In Discord and Telegram, manual executor management has been replaced with a proper resource release mechanism
  • Optimized Discord client resource management
  • Separated pet death messages for integrations. To display them, you need to use DEATH_PET or add .pet at the end of the localization key
  • Improved URL syntax validation

## 🐞 Bug Fixes
  • Fixed recipient caching in MessageContext, now its id also affects the cache
  • Fixed error handling when downloading files
  • Added item death messages for sulfur cube
  • Telegram and Discord channel info updates have been moved to an asynchronous task scheduler

## 📦 Dependencies
  • Hytale Server updated to 0.7.0
  • Gradle updated to v9.8.1
  • Fabric Loom updated to v1.18.3
  • Triton API updated to v4.2.0
  • PostgreSQL updated to v42.7.14
  • Netty Buffer updated to v4.2.19.Final
  • BuildConfig updated to v6.1.2
  • NeoForge ModDev updated to v2.0.148
  • Caffeine updated to v3.3.0
  • Lettuce Core updated to v7.8.0.RELEASE
  • Jdbi3 Core updated to v3.55.0
  • PacketEvents Spigot updated to v2.14.0
  • Lombok updated to v9.8.0
  • VoiceChat API updated to v2.6.24
  • Jackson Dataformat YAML updated to v3.2.3
  • SkinsRestorer API updated to v15.12.6
  • Vanish updated to v1.6.16+26.3
  • H2 updated to v2.5.252

[Documentation](https://flectone.net/pulse/docs/changelog)
[Full Changelog](https://github.com/Flectone/FlectonePulse/compare/v1.14.1...v1.14.2)
## ✨ Features
  • Added support for Minecraft 26.3
  • Added support for Hytale 0.6.8
  • Added role tag support in Discord
  • Added anonymous admin and role tag support in Telegram
  • Added date formatting with player-specific localization

## 🔧 Refactors
  • Replaced platform world checking with ticker

## 🐞 Bug Fixes

## 📦 Dependencies
  • Cloud Fabric updated to v2.1.0
  • Cloud NeoForge updated to v2.1.0
  • Cloud Paper updated to v2.0.1
  • Fabric Loom updated to v1.18.2
  • Velocity API updated to v4.2.0
  • Placeholder API updated to v3.2.0+26.3
  • PlasmoVoice API updated to v2.1.17
  • TelegramBots updated to v10.3.0
  • Lombok updated to v1.18.48
  • H2 updated to v2.5.250
  • BuildConfig updated to v6.1.1

[Documentation](https://flectone.net/pulse/docs/changelog)
[Full Changelog](https://github.com/Flectone/FlectonePulse/compare/v1.13.1...v1.14.0)
## ✨ Features
  • Added support for Minecraft 26.3
  • Added support for Hytale 0.6.8
  • Added role tag support in Discord
  • Added anonymous admin and role tag support in Telegram
  • Added date formatting with player-specific localization

## 🔧 Refactors
  • Replaced platform world checking with ticker

## 🐞 Bug Fixes

## 📦 Dependencies
  • Cloud Fabric updated to v2.1.0
  • Cloud NeoForge updated to v2.1.0
  • Cloud Paper updated to v2.0.1
  • Fabric Loom updated to v1.18.2
  • Velocity API updated to v4.2.0
  • Placeholder API updated to v3.2.0+26.3
  • PlasmoVoice API updated to v2.1.17
  • TelegramBots updated to v10.3.0
  • Lombok updated to v1.18.48
  • H2 updated to v2.5.250
  • BuildConfig updated to v6.1.1

[Documentation](https://flectone.net/pulse/docs/changelog)
[Full Changelog](https://github.com/Flectone/FlectonePulse/compare/v1.13.1...v1.14.0)
## ✨ Features
  • Added support for Minecraft 26.3
  • Added support for Hytale 0.6.8
  • Added role tag support in Discord
  • Added anonymous admin and role tag support in Telegram
  • Added date formatting with player-specific localization

## 🔧 Refactors
  • Replaced platform world checking with ticker

## 🐞 Bug Fixes

## 📦 Dependencies
  • Cloud Fabric updated to v2.1.0
  • Cloud NeoForge updated to v2.1.0
  • Cloud Paper updated to v2.0.1
  • Fabric Loom updated to v1.18.2
  • Velocity API updated to v4.2.0
  • Placeholder API updated to v3.2.0+26.3
  • PlasmoVoice API updated to v2.1.17
  • TelegramBots updated to v10.3.0
  • Lombok updated to v1.18.48
  • H2 updated to v2.5.250
  • BuildConfig updated to v6.1.1

[Documentation](https://flectone.net/pulse/docs/changelog)
[Full Changelog](https://github.com/Flectone/FlectonePulse/compare/v1.13.1...v1.14.0)
## ✨ Features
  • Reason keys now carry a time, it is set by reason_times in the settings of ban, mute, warn, maintenance and whitelist. If no time is entered in the command, it is taken by the reason, and default is used when the reason is not listed
  • Added group_order to the LuckPerms integration, to sort TAB by your own group order instead of the group weight
  • Added check_group_weight to the /whois command, a player with the same or higher permissions cannot be viewed and is hidden from the list
  • The punishment lists got the line_not_active format, the list of a player now also shows the inactive punishments
  • The condition tag now works in sidebar messages with string list
  • Added sequential execution of the async tasks of one module, they no longer overtake each other

## 🔧 Refactors
  • TAB, scoreboard and objectives send packets only when something has changed, what was sent is remembered
  • The name updates in TAB now go player by player instead of everyone at once
  • Name constants are updated always, not only in proxy mode
  • The signature is removed from the player_head textures
  • Database queries and indexes are optimized, /whois now makes one query instead of two
  • The punishment cache is reworked
  • The runAsync with independent is removed from the scheduler
  • Vanish handling is simplified, a separate SuperVanish check is no longer needed
  • The priorities of the join and quit events on Bukkit are changed

## 🐞 Bug Fixes
  • player_head takes the head by uuid instead of the name, which crashed the client of the players
  • Join and quit messages no longer reach the integrations several times in proxy mode
  • Discord, Telegram and Twitch no longer connect several times on a fast /flectonepulse reload
  • A player who is not in the database yet no longer gets into the online cache, which broke saving their settings
  • Broken yaml no longer stays on disk after saving through the editor, the file is restored to the previous one
  • The dump is validated before the import, an empty file no longer wipes the database
  • A busy editor port no longer shuts the server down
  • The stuck queue detection no longer clears it, because of this the async tasks of a module stopped forever
  • The executor overload warning no longer appears on shutdown
  • A permanent mute is detected in CMI
  • The online status of a player is updated correctly in the database
  • Negative time is no longer shown
  • Updated the metrics link in config.yml

## 📦 Dependencies
  • Hytale Server updated to 0.6.3
  • Velocity API updated to v4.1.0
  • Fabric Loader updated to v0.19.5
  • Fabric Loom updated to v1.17.20
  • Discord4J updated to v3.3.3
  • TelegramBots updated to v10.2.1
  • PlasmoVoice updated to v2.1.16
  • Lettuce updated to v7.7.0
  • SQLite driver updated to v3.53.4.0
  • Gradle updated to v9.7.1

[Documentation](https://flectone.net/pulse/docs/changelog)
[Full Changelog](https://github.com/Flectone/FlectonePulse/compare/v1.13.0...v1.13.1)
## ✨ Features
  • Reason keys now carry a time, it is set by reason_times in the settings of ban, mute, warn, maintenance and whitelist. If no time is entered in the command, it is taken by the reason, and default is used when the reason is not listed
  • Added group_order to the LuckPerms integration, to sort TAB by your own group order instead of the group weight
  • Added check_group_weight to the /whois command, a player with the same or higher permissions cannot be viewed and is hidden from the list
  • The punishment lists got the line_not_active format, the list of a player now also shows the inactive punishments
  • The condition tag now works in sidebar messages with string list
  • Added sequential execution of the async tasks of one module, they no longer overtake each other

## 🔧 Refactors
  • TAB, scoreboard and objectives send packets only when something has changed, what was sent is remembered
  • The name updates in TAB now go player by player instead of everyone at once
  • Name constants are updated always, not only in proxy mode
  • The signature is removed from the player_head textures
  • Database queries and indexes are optimized, /whois now makes one query instead of two
  • The punishment cache is reworked
  • The runAsync with independent is removed from the scheduler
  • Vanish handling is simplified, a separate SuperVanish check is no longer needed
  • The priorities of the join and quit events on Bukkit are changed

## 🐞 Bug Fixes
  • player_head takes the head by uuid instead of the name, which crashed the client of the players
  • Join and quit messages no longer reach the integrations several times in proxy mode
  • Discord, Telegram and Twitch no longer connect several times on a fast /flectonepulse reload
  • A player who is not in the database yet no longer gets into the online cache, which broke saving their settings
  • Broken yaml no longer stays on disk after saving through the editor, the file is restored to the previous one
  • The dump is validated before the import, an empty file no longer wipes the database
  • A busy editor port no longer shuts the server down
  • The stuck queue detection no longer clears it, because of this the async tasks of a module stopped forever
  • The executor overload warning no longer appears on shutdown
  • A permanent mute is detected in CMI
  • The online status of a player is updated correctly in the database
  • Negative time is no longer shown
  • Updated the metrics link in config.yml

## 📦 Dependencies
  • Hytale Server updated to 0.6.3
  • Velocity API updated to v4.1.0
  • Fabric Loader updated to v0.19.5
  • Fabric Loom updated to v1.17.20
  • Discord4J updated to v3.3.3
  • TelegramBots updated to v10.2.1
  • PlasmoVoice updated to v2.1.16
  • Lettuce updated to v7.7.0
  • SQLite driver updated to v3.53.4.0
  • Gradle updated to v9.7.1

[Documentation](https://flectone.net/pulse/docs/changelog)
[Full Changelog](https://github.com/Flectone/FlectonePulse/compare/v1.13.0...v1.13.1)
## ✨ Features
  • Reason keys now carry a time, it is set by reason_times in the settings of ban, mute, warn, maintenance and whitelist. If no time is entered in the command, it is taken by the reason, and default is used when the reason is not listed
  • Added group_order to the LuckPerms integration, to sort TAB by your own group order instead of the group weight
  • Added check_group_weight to the /whois command, a player with the same or higher permissions cannot be viewed and is hidden from the list
  • The punishment lists got the line_not_active format, the list of a player now also shows the inactive punishments
  • The condition tag now works in sidebar messages with string list
  • Added sequential execution of the async tasks of one module, they no longer overtake each other

## 🔧 Refactors
  • TAB, scoreboard and objectives send packets only when something has changed, what was sent is remembered
  • The name updates in TAB now go player by player instead of everyone at once
  • Name constants are updated always, not only in proxy mode
  • The signature is removed from the player_head textures
  • Database queries and indexes are optimized, /whois now makes one query instead of two
  • The punishment cache is reworked
  • The runAsync with independent is removed from the scheduler
  • Vanish handling is simplified, a separate SuperVanish check is no longer needed
  • The priorities of the join and quit events on Bukkit are changed

## 🐞 Bug Fixes
  • player_head takes the head by uuid instead of the name, which crashed the client of the players
  • Join and quit messages no longer reach the integrations several times in proxy mode
  • Discord, Telegram and Twitch no longer connect several times on a fast /flectonepulse reload
  • A player who is not in the database yet no longer gets into the online cache, which broke saving their settings
  • Broken yaml no longer stays on disk after saving through the editor, the file is restored to the previous one
  • The dump is validated before the import, an empty file no longer wipes the database
  • A busy editor port no longer shuts the server down
  • The stuck queue detection no longer clears it, because of this the async tasks of a module stopped forever
  • The executor overload warning no longer appears on shutdown
  • A permanent mute is detected in CMI
  • The online status of a player is updated correctly in the database
  • Negative time is no longer shown
  • Updated the metrics link in config.yml

## 📦 Dependencies
  • Hytale Server updated to 0.6.3
  • Velocity API updated to v4.1.0
  • Fabric Loader updated to v0.19.5
  • Fabric Loom updated to v1.17.20
  • Discord4J updated to v3.3.3
  • TelegramBots updated to v10.2.1
  • PlasmoVoice updated to v2.1.16
  • Lettuce updated to v7.7.0
  • SQLite driver updated to v3.53.4.0
  • Gradle updated to v9.7.1

[Documentation](https://flectone.net/pulse/docs/changelog)
[Full Changelog](https://github.com/Flectone/FlectonePulse/compare/v1.13.0...v1.13.1)
## ⚠️ 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 api and common modules, so addons now depend on api alone
  • Added the fading module 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 /flectonepulse command, along with file suggestions for import and database_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 mention module
  • 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 ticker in the names module settings
  • Player settings storage is unified, and getSetting, isSetting and saveSetting now also take the key a setting is stored under
  • ExternalMuteService renamed to ExternalModerationService
  • 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
  • r and reply are added to spy by default
  • The reload events are merged into a single ReloadEvent with 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
  • tictactoe now handles empty input and validates move coordinates
  • A rock paper scissors game is cleaned up when a player disconnects
  • swear now 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

[Documentation](https://flectone.net/pulse/docs/changelog)
[Full Changelog](https://github.com/Flectone/FlectonePulse/compare/v1.12.2...v1.13.0)
## ⚠️ 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 api and common modules, so addons now depend on api alone
  • Added the fading module 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 /flectonepulse command, along with file suggestions for import and database_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 mention module
  • 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 ticker in the names module settings
  • Player settings storage is unified, and getSetting, isSetting and saveSetting now also take the key a setting is stored under
  • ExternalMuteService renamed to ExternalModerationService
  • 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
  • r and reply are added to spy by default
  • The reload events are merged into a single ReloadEvent with 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
  • tictactoe now handles empty input and validates move coordinates
  • A rock paper scissors game is cleaned up when a player disconnects
  • swear now 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

[Documentation](https://flectone.net/pulse/docs/changelog)
[Full Changelog](https://github.com/Flectone/FlectonePulse/compare/v1.12.2...v1.13.0)
## ⚠️ 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 api and common modules, so addons now depend on api alone
  • Added the fading module 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 /flectonepulse command, along with file suggestions for import and database_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 mention module
  • 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 ticker in the names module settings
  • Player settings storage is unified, and getSetting, isSetting and saveSetting now also take the key a setting is stored under
  • ExternalMuteService renamed to ExternalModerationService
  • 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
  • r and reply are added to spy by default
  • The reload events are merged into a single ReloadEvent with 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
  • tictactoe now handles empty input and validates move coordinates
  • A rock paper scissors game is cleaned up when a player disconnects
  • swear now 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

[Documentation](https://flectone.net/pulse/docs/changelog)
[Full Changelog](https://github.com/Flectone/FlectonePulse/compare/v1.12.2...v1.13.0)
## ⚠️ 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

[Documentation](https://flectone.net/pulse/docs/changelog)
[Full Changelog](https://github.com/Flectone/FlectonePulse/compare/v1.12.1...v1.12.2)
## ⚠️ 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

[Documentation](https://flectone.net/pulse/docs/changelog)
[Full Changelog](https://github.com/Flectone/FlectonePulse/compare/v1.12.1...v1.12.2)
## ⚠️ 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 EventMetadata have been removed and replaced with MessageContext composition. 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
  • /chatcolor is 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 /stream replaced with new tag resolver approach

## 📦 Dependencies
  • Updated TelegramBots to v10.1.1

[Documentation](https://flectone.net/pulse/docs/changelog)
[Full Changelog](https://github.com/Flectone/FlectonePulse/compare/v1.12.0...v1.12.1)
## ⚠️ 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 EventMetadata have been removed and replaced with MessageContext composition. 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
  • /chatcolor is 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 /stream replaced with new tag resolver approach

## 📦 Dependencies
  • Updated TelegramBots to v10.1.1

[Documentation](https://flectone.net/pulse/docs/changelog)
[Full Changelog](https://github.com/Flectone/FlectonePulse/compare/v1.12.0...v1.12.1)
## ✨ 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

[Documentation](https://flectone.net/pulse/docs/changelog)
[Full Changelog](https://github.com/Flectone/FlectonePulse/compare/v1.11.0...v1.12.0)
## ✨ 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

[Documentation](https://flectone.net/pulse/docs/changelog)
[Full Changelog](https://github.com/Flectone/FlectonePulse/compare/v1.11.0...v1.12.0)
## ✨ Features
  • Added support for Minecraft version 26.2
  • Started NeoForge support (in development)
  • Completely reworked the command system in the scoreboard. Added per-player visibility control and support for name display distance
  • Added distance-based text rendering in belowname
  • The spy module has been rewritten using packet monitoring (so it works on Fabric too)

## 🔧 Refactors
  • In FPlayer, improved ID generation and type handling; now uses a constant for the console
  • The bubble module uses its own ExecutorService with error handling
  • Objective name generation has been extracted into a separate method
  • In FColor, added comments for SEE and OUT types

## 🐞 Bug Fixes
  • Optimized database connection pool
  • Handled concurrent player updates in FPlayerDAO
  • Added client version check in ServerLink
  • Console excluded from offline player suggestions
  • Added color context control in objective
  • getFirst replaced with getInt for compatibility with JVM downgrader
  • Fixed argument order in sulfur cube death messages

## 📦 Dependencies
  • Updated PacketEvents to 2.13.0
  • Updated VoiceChat API to v2.6.20
  • Updated Fabric to 26.2
  • Updated Fabric Loom to v1.17.12
  • Updated Vanish to v1.6.14
  • Updated Cloud Fabric to v2.0.0-beta.17
  • Updated Cloud Paper to v2.0.0-beta.16
  • Updated Gradle to v9.6.0
  • Updated maven.publish plugin to v0.37.0

[Documentation](https://flectone.net/pulse/docs/changelog)
[Full Changelog](https://github.com/Flectone/FlectonePulse/compare/v1.10.2...v1.11.0)
## ✨ Features
  • Added support for Minecraft version 26.2
  • Started NeoForge support (in development)
  • Completely reworked the command system in the scoreboard. Added per-player visibility control and support for name display distance
  • Added distance-based text rendering in belowname
  • The spy module has been rewritten using packet monitoring (so it works on Fabric too)

## 🔧 Refactors
  • In FPlayer, improved ID generation and type handling; now uses a constant for the console
  • The bubble module uses its own ExecutorService with error handling
  • Objective name generation has been extracted into a separate method
  • In FColor, added comments for SEE and OUT types

## 🐞 Bug Fixes
  • Optimized database connection pool
  • Handled concurrent player updates in FPlayerDAO
  • Added client version check in ServerLink
  • Console excluded from offline player suggestions
  • Added color context control in objective
  • getFirst replaced with getInt for compatibility with JVM downgrader
  • Fixed argument order in sulfur cube death messages

## 📦 Dependencies
  • Updated PacketEvents to 2.13.0
  • Updated VoiceChat API to v2.6.20
  • Updated Fabric to 26.2
  • Updated Fabric Loom to v1.17.12
  • Updated Vanish to v1.6.14
  • Updated Cloud Fabric to v2.0.0-beta.17
  • Updated Cloud Paper to v2.0.0-beta.16
  • Updated Gradle to v9.6.0
  • Updated maven.publish plugin to v0.37.0

[Documentation](https://flectone.net/pulse/docs/changelog)
[Full Changelog](https://github.com/Flectone/FlectonePulse/compare/v1.10.2...v1.11.0)
## ✨ Features
  • Implemented unified task scheduler
  • Added SuperVanish state synchronization across servers via proxy
  • On server start and reload, all players in the database are marked as offline

## 🔧 Refactors
  • Proxy message listeners extracted into separate classes
  • Player cache invalidation on the proxy optimized
  • Proxy initialization moved to the correct loading phase
  • Library com.alessiodp.libby replaced with internal Flectone dependencies
  • Player nickname validation extracted to a separate validator class
  • ArtifactId API is now dynamic (common -> minecraft-common, bukkit -> minecraft-bukkit, etc.)
  • Updated log color scheme and thread prefix
  • Incendo Cloud Pair replaced with Apache Commons Lang3 Pair
  • Removed unused BiPredicate and imports from ModuleController

## 🐞 Bug Fixes
  • Fixed race condition in online status handling
  • Player removed from scoreboard on server leave
  • Locale update occurs only for online players
  • Proxy no longer sends messages on plugin shutdown
  • Added valid range check to proxy listeners
  • Vanilla commands are no longer removed in Bukkit with default config
  • Added Folia compatibility for entity passenger handling
  • Fixed error message formatting in logs
  • Direct page number input in moderation is handled correctly
  • Fake join/leave messages while vanished displayed with correct visibility
  • Fixed main class name in bungee.yml
  • Cache for unknown players updates correctly
  • Improved player name validation in whitelist
  • Proxy moderation filtered by server

## 📦 Dependencies
  • Updated Hytale Server to 0.5.5
  • Updated SkinsRestorer API to v15.12.3
  • Updated LibertyBans to v1.1.3
  • Updated Vanish to v1.6.11
  • Updated HikariCP to v7.1.0
  • Updated Plasmovoice API to v2.1.10
  • Updated Fabric Loom to v1.17.11
  • Updated MariaDB Java Client to v3.5.9
  • Updated Jackson to v3.2.0

[Documentation](https://flectone.net/pulse/docs/changelog)
[Full Changelog](https://github.com/Flectone/FlectonePulse/compare/v1.10.1...v1.10.2)
## ✨ Features
  • Implemented unified task scheduler
  • Added SuperVanish state synchronization across servers via proxy
  • On server start and reload, all players in the database are marked as offline

## 🔧 Refactors
  • Proxy message listeners extracted into separate classes
  • Player cache invalidation on the proxy optimized
  • Proxy initialization moved to the correct loading phase
  • Library com.alessiodp.libby replaced with internal Flectone dependencies
  • Player nickname validation extracted to a separate validator class
  • ArtifactId API is now dynamic (common -> minecraft-common, bukkit -> minecraft-bukkit, etc.)
  • Updated log color scheme and thread prefix
  • Incendo Cloud Pair replaced with Apache Commons Lang3 Pair
  • Removed unused BiPredicate and imports from ModuleController

## 🐞 Bug Fixes
  • Fixed race condition in online status handling
  • Player removed from scoreboard on server leave
  • Locale update occurs only for online players
  • Proxy no longer sends messages on plugin shutdown
  • Added valid range check to proxy listeners
  • Vanilla commands are no longer removed in Bukkit with default config
  • Added Folia compatibility for entity passenger handling
  • Fixed error message formatting in logs
  • Direct page number input in moderation is handled correctly
  • Fake join/leave messages while vanished displayed with correct visibility
  • Fixed main class name in bungee.yml
  • Cache for unknown players updates correctly
  • Improved player name validation in whitelist
  • Proxy moderation filtered by server

## 📦 Dependencies
  • Updated Hytale Server to 0.5.5
  • Updated SkinsRestorer API to v15.12.3
  • Updated LibertyBans to v1.1.3
  • Updated Vanish to v1.6.11
  • Updated HikariCP to v7.1.0
  • Updated Plasmovoice API to v2.1.10
  • Updated Fabric Loom to v1.17.11
  • Updated MariaDB Java Client to v3.5.9
  • Updated Jackson to v3.2.0

[Documentation](https://flectone.net/pulse/docs/changelog)
[Full Changelog](https://github.com/Flectone/FlectonePulse/compare/v1.10.1...v1.10.2)
## ✨ Features
  • Added vanilla command removal functionality (bukkit)
  • Added import functionality to whitelist (whitelist)
  • Added player login and connection event handling for Fabric

## 🔧 Refactors
  • !!! Separated FPlayer and settings, ignores, colors into SocialService (BREAKING CHANGE API: FPlayer no longer contains these fields) !!!
  • Added proxy message listeners for all modules (api)
  • Moved proxy registry enable call to correct position
  • Streamlined cache invalidation process
  • Removed player name parameter from pre-login processing
  • Moved playtime repository from social to dedicated repository
  • Removed settings loading from player queries (database)
  • Separated FPlayerService into PlaytimeService and ModerationService, added new cache for SocialRepository
  • Restructured listeners

## 🐞 Bug Fixes
  • Replaced direct IntegrationModule dependency with provider injection
  • Removed explicit field selection from database queries
  • Removed default AFK from message ignore (afk)
  • Checked AFK suffix before removal and fixed double message (afk)
  • Replaced login session tracking with online status validation [#359](https://github.com/Flectone/FlectonePulse/issues/359)
  • Fixed InteractiveChat raw tags in Discord [#360](https://github.com/Flectone/FlectonePulse/pull/360)
  • Fixed player head validation logic: check playername first, then UUID and textures (object) [#362](https://github.com/Flectone/FlectonePulse/pull/362)
  • Handled additional database migration error cases
  • Bound component extractor (platform)
  • Excluded console from range filtering (filter)
  • Delayed player online invalidation on proxy (proxy)

## 📦 Dependencies
  • Updated Fabric Loom to v1.17.3
  • Updated Hytale server version dependency
  • Updated SkinsRestorer API to v15.12.2

## New Contributors

[Documentation](https://flectone.net/pulse/docs/changelog)
[Full Changelog](https://github.com/Flectone/FlectonePulse/compare/v1.10.0...v1.10.1)
## ✨ Features
  • Added vanilla command removal functionality (bukkit)
  • Added import functionality to whitelist (whitelist)
  • Added player login and connection event handling for Fabric

## 🔧 Refactors
  • !!! Separated FPlayer and settings, ignores, colors into SocialService (BREAKING CHANGE API: FPlayer no longer contains these fields) !!!
  • Added proxy message listeners for all modules (api)
  • Moved proxy registry enable call to correct position
  • Streamlined cache invalidation process
  • Removed player name parameter from pre-login processing
  • Moved playtime repository from social to dedicated repository
  • Removed settings loading from player queries (database)
  • Separated FPlayerService into PlaytimeService and ModerationService, added new cache for SocialRepository
  • Restructured listeners

## 🐞 Bug Fixes
  • Replaced direct IntegrationModule dependency with provider injection
  • Removed explicit field selection from database queries
  • Removed default AFK from message ignore (afk)
  • Checked AFK suffix before removal and fixed double message (afk)
  • Replaced login session tracking with online status validation [#359](https://github.com/Flectone/FlectonePulse/issues/359)
  • Fixed InteractiveChat raw tags in Discord [#360](https://github.com/Flectone/FlectonePulse/pull/360)
  • Fixed player head validation logic: check playername first, then UUID and textures (object) [#362](https://github.com/Flectone/FlectonePulse/pull/362)
  • Handled additional database migration error cases
  • Bound component extractor (platform)
  • Excluded console from range filtering (filter)
  • Delayed player online invalidation on proxy (proxy)

## 📦 Dependencies
  • Updated Fabric Loom to v1.17.3
  • Updated Hytale server version dependency
  • Updated SkinsRestorer API to v15.12.2

## New Contributors

[Documentation](https://flectone.net/pulse/docs/changelog)
[Full Changelog](https://github.com/Flectone/FlectonePulse/compare/v1.10.0...v1.10.1)
# Version 1.10.0

## ✨ Features
  • Added serverlink module (serverlink)
  • Added whitelist command
  • Added support for formatting books, anvil names, and sign events with components for Paper (book, anvil, sign)
  • Added reasons field for unban, unmute, and unwarn (moderation)
  • Added server UUID configuration and server-side filtering for bans, mutes, and warns (ban, mute, warn)
  • Added subcommand configuration (command)
  • Added extended maintenance command capabilities: start/stop, support for time and reason (maintenance)
  • Added asynchronous texture loading with MineSkin integration (texture)
  • Added integration with MiniPlaceholders API for Fabric (miniplaceholders)
  • Added console name formatting (names)
  • Added radius parsing for clearchat and emit commands (clearchat, emit)
  • Added always_send_silent_packet option
  • Added detection of Bedrock players via UUID version check
  • Added additional integration placeholders (COMMAND_MAINTENANCE_FALSE/TRUE, MESSAGE_AFK_FALSE/TRUE, etc.)
  • Added Type enum with INIT and READY values in EnableEvent (api)
  • Added controls for fake join/leave messages (supervanish)
  • Added option to cancel default death screen (vanilla)
  • Added death messages for magma cube (minecraft)
  • Added radius configuration for playerlistname (playerlistname)
  • Added Mojang skins loading option (skinsrestorer)
  • Added avatar and body skin support for Hytale (hytale)
  • Added player indexing system for fast lookup by UUID, name, and IP (player)
  • Added violation tracking system with caps, flood, and profanity limits (moderation)
  • Added mode selection support for newbie message triggers (newbie)

## 🔧 Refactors
  • Simplified task scheduling API, runRegion used only when necessary (scheduler)
  • Enabled server-side filtering by default (moderation)
  • Updated moderation system to properly handle unmoderation events
  • Replaced Collections with immutable collection factory methods
  • Replaced deprecated Optional-based formatting with Paper component serialization
  • MessageContext migrated to builder pattern
  • Split PreLoginEvent listeners for Bukkit and Paper compatibility (bukkit)
  • Replaced direct component serialization methods with unified ComponentSerializer
  • Optimized bubble message splitting logic (bubble)
  • Added ComponentDecorator for consistent text formatting (platform)
  • Set default has_shadow: true and see_through: false for bubble messages (bubble)
  • Moved scoreboard module to correct package (scoreboard)
  • Moved DAO implementations to database-specific interfaces (database)
  • Replaced individual moderation command implementations with centralized ModerationListSender (moderation)
  • Extracted UUID parsing logic into dedicated parser class
  • Reworked message dispatcher with improved API and documentation (api)
  • Changed moderation field type from int to string (moderation)
  • Separated Twitch, Telegram, and Discord integration classes
  • Optimized bubble message queue management with minimum display time (bubble)
  • Animation time applied to all modern bubble messages (bubble)
  • Updated Discord client creation with presence handling (discord)
  • Performed general refactoring and code optimization

## 🐞 Bug Fixes
  • Fixed login session management and player collection operations in async tasks (minecraft)
  • Implemented persist method for integration modules (placeholderapi)
  • Updated equals and hashCode methods for FPlayer entity
  • Players are always kicked to the proxy via the server (maintenance)
  • Added check for empty full word before calling isIgnored (swear)
  • Fixed double command suggestions (hytale)
  • Player data always saved after login event
  • Use event player instead of original fPlayer when processing PreLoginEvent
  • Fixed webhook creator ID comparison (discord)
  • Optimized message sending with async execution (greeting)
  • Replaced StringUtils.chop with Strings.CS.removeEnd, fixes [#341](https://github.com/Flectone/FlectonePulse/issues/341)
  • Generate random UUID for unknown players in DAO methods (database)
  • Added console player handling and caching logic (player)
  • Prevented sidebar from being sent if player disabled the setting (sidebar)
  • Added boundary check to prevent array out of bounds error (bubble)
  • Added zero ID error messages for unban, unmute, and unwarn (moderation)
  • Fixed AFK delay condition during migration
  • Use different player instead of sender for proxy sending (proxy)
  • Handled chest atlas naming mismatch (sprite)
  • Fixed initial maxNumber value and default key skip (condition)
  • Resolved proxy player online status synchronization issue
  • Fixed simple message sending method in ProxySender (proxy)
  • Updated version compatibility warnings (minecraft)

## 📦 Dependencies
  • Updated SQLite JDBC to v3.53.2.0
  • Updated BuildConfig plugin to v6.0.10
  • Updated Hytale server version to 0.5.3
  • Updated PacketEvents Spigot to v2.12.2, transitioned to own Maven repository
  • Updated Netty Buffer to v4.2.15.Final
  • Updated Fabric Loader to v0.19.3 and Fabric Loom to v1.16.3
  • Updated TelegramBots to v10
  • Updated Vanish to v1.6.9+26.1.2
  • Updated MineSkin Java Client to v3.2.6
  • Updated Jackson YAML to v3.1.4
  • Updated Lettuce Core to v7.6.0.RELEASE
  • Updated Shadow plugin to v9.4.2
  • Updated Gradle to v9.5.1
  • Updated Log4j Core to v2.26.0
  • Updated PostgreSQL to v42.7.11
  • Updated Triton API to v4.0.1
  • Updated JDBI Core to v3.53.0

[Documentation](https://flectone.net/pulse/docs/changelog)
[Full Changelog](https://github.com/Flectone/FlectonePulse/compare/v1.9.3...v1.10.0)
# Version 1.10.0

## ✨ Features
  • Added serverlink module (serverlink)
  • Added whitelist command
  • Added support for formatting books, anvil names, and sign events with components for Paper (book, anvil, sign)
  • Added reasons field for unban, unmute, and unwarn (moderation)
  • Added server UUID configuration and server-side filtering for bans, mutes, and warns (ban, mute, warn)
  • Added subcommand configuration (command)
  • Added extended maintenance command capabilities: start/stop, support for time and reason (maintenance)
  • Added asynchronous texture loading with MineSkin integration (texture)
  • Added integration with MiniPlaceholders API for Fabric (miniplaceholders)
  • Added console name formatting (names)
  • Added radius parsing for clearchat and emit commands (clearchat, emit)
  • Added always_send_silent_packet option
  • Added detection of Bedrock players via UUID version check
  • Added additional integration placeholders (COMMAND_MAINTENANCE_FALSE/TRUE, MESSAGE_AFK_FALSE/TRUE, etc.)
  • Added Type enum with INIT and READY values in EnableEvent (api)
  • Added controls for fake join/leave messages (supervanish)
  • Added option to cancel default death screen (vanilla)
  • Added death messages for magma cube (minecraft)
  • Added radius configuration for playerlistname (playerlistname)
  • Added Mojang skins loading option (skinsrestorer)
  • Added avatar and body skin support for Hytale (hytale)
  • Added player indexing system for fast lookup by UUID, name, and IP (player)
  • Added violation tracking system with caps, flood, and profanity limits (moderation)
  • Added mode selection support for newbie message triggers (newbie)

## 🔧 Refactors
  • Simplified task scheduling API, runRegion used only when necessary (scheduler)
  • Enabled server-side filtering by default (moderation)
  • Updated moderation system to properly handle unmoderation events
  • Replaced Collections with immutable collection factory methods
  • Replaced deprecated Optional-based formatting with Paper component serialization
  • MessageContext migrated to builder pattern
  • Split PreLoginEvent listeners for Bukkit and Paper compatibility (bukkit)
  • Replaced direct component serialization methods with unified ComponentSerializer
  • Optimized bubble message splitting logic (bubble)
  • Added ComponentDecorator for consistent text formatting (platform)
  • Set default has_shadow: true and see_through: false for bubble messages (bubble)
  • Moved scoreboard module to correct package (scoreboard)
  • Moved DAO implementations to database-specific interfaces (database)
  • Replaced individual moderation command implementations with centralized ModerationListSender (moderation)
  • Extracted UUID parsing logic into dedicated parser class
  • Reworked message dispatcher with improved API and documentation (api)
  • Changed moderation field type from int to string (moderation)
  • Separated Twitch, Telegram, and Discord integration classes
  • Optimized bubble message queue management with minimum display time (bubble)
  • Animation time applied to all modern bubble messages (bubble)
  • Updated Discord client creation with presence handling (discord)
  • Performed general refactoring and code optimization

## 🐞 Bug Fixes
  • Fixed login session management and player collection operations in async tasks (minecraft)
  • Implemented persist method for integration modules (placeholderapi)
  • Updated equals and hashCode methods for FPlayer entity
  • Players are always kicked to the proxy via the server (maintenance)
  • Added check for empty full word before calling isIgnored (swear)
  • Fixed double command suggestions (hytale)
  • Player data always saved after login event
  • Use event player instead of original fPlayer when processing PreLoginEvent
  • Fixed webhook creator ID comparison (discord)
  • Optimized message sending with async execution (greeting)
  • Replaced StringUtils.chop with Strings.CS.removeEnd, fixes [#341](https://github.com/Flectone/FlectonePulse/issues/341)
  • Generate random UUID for unknown players in DAO methods (database)
  • Added console player handling and caching logic (player)
  • Prevented sidebar from being sent if player disabled the setting (sidebar)
  • Added boundary check to prevent array out of bounds error (bubble)
  • Added zero ID error messages for unban, unmute, and unwarn (moderation)
  • Fixed AFK delay condition during migration
  • Use different player instead of sender for proxy sending (proxy)
  • Handled chest atlas naming mismatch (sprite)
  • Fixed initial maxNumber value and default key skip (condition)
  • Resolved proxy player online status synchronization issue
  • Fixed simple message sending method in ProxySender (proxy)
  • Updated version compatibility warnings (minecraft)

## 📦 Dependencies
  • Updated SQLite JDBC to v3.53.2.0
  • Updated BuildConfig plugin to v6.0.10
  • Updated Hytale server version to 0.5.3
  • Updated PacketEvents Spigot to v2.12.2, transitioned to own Maven repository
  • Updated Netty Buffer to v4.2.15.Final
  • Updated Fabric Loader to v0.19.3 and Fabric Loom to v1.16.3
  • Updated TelegramBots to v10
  • Updated Vanish to v1.6.9+26.1.2
  • Updated MineSkin Java Client to v3.2.6
  • Updated Jackson YAML to v3.1.4
  • Updated Lettuce Core to v7.6.0.RELEASE
  • Updated Shadow plugin to v9.4.2
  • Updated Gradle to v9.5.1
  • Updated Log4j Core to v2.26.0
  • Updated PostgreSQL to v42.7.11
  • Updated Triton API to v4.0.1
  • Updated JDBI Core to v3.53.0

[Documentation](https://flectone.net/pulse/docs/changelog)
[Full Changelog](https://github.com/Flectone/FlectonePulse/compare/v1.9.3...v1.10.0)
## ✨ Features
  • Added disallowed input pattern filtering for bubble messages (bubble)

## 🔧 Refactors
  • Renamed eventMessage parameter to rawString for clarity (chat)
  • Changed AFK delay from seconds to ticks (afk)
  • Updated AFK delay value from 3000 to 36000 ticks (afk)
  • Separated TOTAL and TOTAL_DYNAMIC time types (online)
  • Replaced hardcoded library relocation patterns with BuildConfig constant
  • Streamlined library resolution with dynamic artifact handling
  • Moved LoginStatus to shared constant utility
  • Simplified chat type lookup (proxy)
  • Replaced visibility filter method with direct stream filtering (playerlistname)
  • Optimized HTTP client configuration for Discord and Telegram integrations

## 🐞 Bug Fixes
  • Fixed Fabric SimpleVoice chat integration class name
  • Added Velocity login state tracking for player connection management
  • Added null check for sound object in sound players
  • Added system skin handling with proxy cache updates (skinsrestorer)
  • Added fallback mechanism using MojangSkinDataResult when primary skin lookup fails (skinsrestorer)
  • Fixed signature inclusion in profile property (object)
  • Changed online players to platform players in cleanup process
  • Fixed object module to always use local textures when MineSkin is not hooked
  • Fixed object client version check
  • Fixed LuckPerms user loading when player is not unknown
  • Fixed tick multiplier usage

## 📦 Dependencies
  • Downgraded Adventure API dependency to 4.x (temp)
  • Updated cloud dependencies to org.incendo namespace

[Documentation](https://flectone.net/pulse/docs/changelog)
[Full Changelog](https://github.com/Flectone/FlectonePulse/compare/v1.9.2...v1.9.3)
[1.9.3] FlectonePulse 1.9.3 by TheFaser on Oct 12, 2026
Download
## ✨ Features
  • Added disallowed input pattern filtering for bubble messages (bubble)

## 🔧 Refactors
  • Renamed eventMessage parameter to rawString for clarity (chat)
  • Changed AFK delay from seconds to ticks (afk)
  • Updated AFK delay value from 3000 to 36000 ticks (afk)
  • Separated TOTAL and TOTAL_DYNAMIC time types (online)
  • Replaced hardcoded library relocation patterns with BuildConfig constant
  • Streamlined library resolution with dynamic artifact handling
  • Moved LoginStatus to shared constant utility
  • Simplified chat type lookup (proxy)
  • Replaced visibility filter method with direct stream filtering (playerlistname)
  • Optimized HTTP client configuration for Discord and Telegram integrations

## 🐞 Bug Fixes
  • Fixed Fabric SimpleVoice chat integration class name
  • Added Velocity login state tracking for player connection management
  • Added null check for sound object in sound players
  • Added system skin handling with proxy cache updates (skinsrestorer)
  • Added fallback mechanism using MojangSkinDataResult when primary skin lookup fails (skinsrestorer)
  • Fixed signature inclusion in profile property (object)
  • Changed online players to platform players in cleanup process
  • Fixed object module to always use local textures when MineSkin is not hooked
  • Fixed object client version check
  • Fixed LuckPerms user loading when player is not unknown
  • Fixed tick multiplier usage

## 📦 Dependencies
  • Downgraded Adventure API dependency to 4.x (temp)
  • Updated cloud dependencies to org.incendo namespace

[Documentation](https://flectone.net/pulse/docs/changelog)
[Full Changelog](https://github.com/Flectone/FlectonePulse/compare/v1.9.2...v1.9.3)
## ✨ Features
  • Added toponline player placeholder (toponline)
  • Added online time placeholders and integration support (online)
  • Added AFK playtime tracking disabling option (#322)
  • Added warning method overload for object parameter (logging)
  • Added quit messages sent to all platform players on disable (quit)

## 🔧 Refactors
  • Renamed classes with platform prefix
  • Moved integration message handling to async tasks
  • Updated player join/quit event handling with cancellation support (api)

## 🐞 Bug Fixes
  • Fixed AFK disable event handling (afk)
  • Fixed AFK player quit handler to return modified event with updated player data
  • Fixed Minecraft event cancellation to only occur when messageReceiveEvent is cancelled
  • Fixed chatcolor player parser to support offline players
  • Fixed player loading order (load after modules)

## 📦 Dependencies
  • Updated Lombok to v1.18.46
  • Updated Lombok plugin to v9.4.0

[Documentation](https://flectone.net/pulse/docs/changelog)
[Full Changelog](https://github.com/Flectone/FlectonePulse/compare/v1.9.1...v1.9.2)
[1.9.2] FlectonePulse 1.9.2 by TheFaser on Oct 12, 2026
Download
## ✨ Features
  • Added toponline player placeholder (toponline)
  • Added online time placeholders and integration support (online)
  • Added AFK playtime tracking disabling option (#322)
  • Added warning method overload for object parameter (logging)
  • Added quit messages sent to all platform players on disable (quit)

## 🔧 Refactors
  • Renamed classes with platform prefix
  • Moved integration message handling to async tasks
  • Updated player join/quit event handling with cancellation support (api)

## 🐞 Bug Fixes
  • Fixed AFK disable event handling (afk)
  • Fixed AFK player quit handler to return modified event with updated player data
  • Fixed Minecraft event cancellation to only occur when messageReceiveEvent is cancelled
  • Fixed chatcolor player parser to support offline players
  • Fixed player loading order (load after modules)

## 📦 Dependencies
  • Updated Lombok to v1.18.46
  • Updated Lombok plugin to v9.4.0

[Documentation](https://flectone.net/pulse/docs/changelog)
[Full Changelog](https://github.com/Flectone/FlectonePulse/compare/v1.9.1...v1.9.2)
FlectonePulse Icon
Download FlectonePulse
Select game version
Select platform