26.2-R7
Compatibility
Changes
Version 26.2 R7
A complete modernization of the original BungeeJoinMessages project.
Original Creator: Tirco Modified & Maintained by: Gameitall
Commands
/fakemessage— Main command for previewing message formats./fm— Short alias for/fakemessage./fm fakejoin— Preview the normal network join message./fm fakequit— Preview the network leave message./fm fakeswitch <from> <to>— Preview a server-switch message./fm fakefirstjoin— Preview the first-time join message./fm fakefirstjoin <number>— Preview a first-time join using a custom%firstjoin_number%./togglejoinmessage— Toggle which network messages you receive./bjointoggle— Short alias for/togglejoinmessage./bungeejoinreload— Reload BungeeJoinMessages configuration and supporting systems./bjoinreload— Short alias for/bungeejoinreload.
Examples
/fm fakejoin
/fm fakequit
/fm fakeswitch lobby survival
/fm fakefirstjoin
/fm fakefirstjoin 250
/bjointoggle
/bjoinreload
Major Changes
- Updated for Minecraft 26.2 and modern BungeeCord.
- Updated Java/API compatibility and plugin metadata.
- Modernized message handling and color support.
- Preserved optional PremiumVanish support.
Messaging
- Custom join, leave, server-switch, and first-join messages.
- Improved placeholders and player-count handling.
- Fixed legacy join/leave and server-switch bugs.
- Added better null, connection, and cleanup handling.
Default messages:
SwapServerMessage: '&e%player%&r &8-> &7%to%'
JoinNetworkMessage: '&a>>&8 %displayname%'
LeaveNetworkMessage: '&c<<&8 %displayname%'
First-Time Joins
- Added true first-ever join detection by UUID.
- Enabled by default on fresh servers.
- Added
%firstjoin_number%. - Added permanent UUID history.
- Added
/fm fakefirstjointesting.
Example:
Message: '&6&l★ &e%displayname% &7is player &f#%firstjoin_number% &7to join the network!'
Existing Player Import
-
Import existing UUIDs from:
world/playerdatausercache.json- Custom file paths
- UUID data files
-
Added Old UUID ID folder for hosts that block cross-server file access.
-
Added automatic import instructions and reports.
-
Imported players are treated as returning players.
Multi-Proxy Support
-
Added optional Redis synchronization.
-
Syncs:
- Join messages
- Leave messages
- Server-switch messages
- First-time joins
-
Added duplicate-message protection.
-
Added automatic Redis reconnects.
-
Local messaging continues if Redis goes offline.
Automatic Data Migration
- Added DataRevision tracking for UUID history.
- Old UUID data automatically migrates to newer formats.
- Previous data is backed up before migration.
- Player history is preserved between updates.
Automatic Config Migration
- Added ConfigRevision at the top of
config.yml. - Existing settings are preserved during plugin updates.
- New configuration options are automatically added.
- Config backups are created before migration.
Config Redesign
-
config.ymlnow contains live settings only. -
Added
config-example.ymlwith full documentation. -
Includes real examples for:
- Messages
- Placeholders
- Colors
- Servers
- Redis
- First joins
- UUID importing
- Permissions and commands
-
config-example.ymlautomatically updates with every plugin revision.
Commands & Testing
- Improved command documentation.
- Added first-join testing.
- Corrected fake server-switch syntax:
/fm fakeswitch <from> <to>
Reliability
- Fixed ignored-player persistence issues.
- Fixed incorrect leave-message checks.
- Improved player-count calculations.
- Improved connection tracking.
- Improved Redis failure handling.
- Improved startup and migration safety.
Credits
Original Project & Creator: Tirco
Original project appears to be abandoned.
Modernization, New Features & Maintenance: Gameitall
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:uhx7d5RL:l1CxNXgo"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:uhx7d5RL:l1CxNXgo"
}

