Sueta

AuthMeMessages

1.4.0

Advanced messaging extension for AuthMe Reloaded. Group-based Chat, ActionBar, and Titles on player login and registration, with optional PlaceholderAPI and Geyser/Floodgate support.

·Plugin
  1. 1.4.0latestAuthMeMessages 1.4.0Sep 9, 2026
    🚀 What’s New
    🔐 Premium Verification System (new)
    - New /premium command: the player confirms twice within a 30-second window, then the account is verified against Mojang's API asynchronously (never blocks the main thread). - If the account is premium → it's saved to premium.yml, a confirmation title/sound is shown, and the player won't need to log in again. - If it's not premium → the player is kicked with a configurable kick message (now built as a modern Component instead of the deprecated kickPlayer(String) method on Paper). - If Mojang doesn't respond (timeout, 429, no connection) → the error is reported and the player is not kicked over a temporary API failure. - New admin command /authmemessages premium <add|remove> <player> to manage the list manually. - New PremiumManager, which persists the premium player list in premium.yml (names stored lowercase to avoid duplicates). - Auto-login for players marked as premium: if they join without being authenticated, the plugin registers them (with a random password) and logs them in automatically. - New placeholder %authmemessages_is_premium% (plus its customizable version is_premium_YES_NO).
    📱 Bedrock Player Support (Geyser/Floodgate)
    - Bedrock players are detected via reflection (BedrockUtil), without a hard dependency on the Floodgate library. - They're automatically marked as premium when using /premium, skipping the Mojang check (their identity is already guaranteed by Xbox Live login). - New bedrock_only: true / java_only: true filters to target messages to each platform specifically. - Fixed a bug where the [Bedrock] tag broke internal console commands (e.g. in Multiverse).
    🎨 Full HEX Color Support
    - New ColorUtil, which translates &#RRGGBB codes into real RGB color in addition to the traditional & codes.
    🐉 BossBars
    - New temporary, configurable BossBars (color, style, duration) for login, register, logout, and logout-without-authentication.
    ⏱️ Delays Between Actions
    - New wait: TICKS action to pause between messages, sounds, or commands and build timed sequences.
    🔄 Smart Config Auto-Update
    - When updating the .jar, the plugin detects new keys from the bundled config.yml and automatically adds them to the user's file without erasing their custom edits. - The /authmemessages reload command now also reloads the premium.yml list in case it was edited by hand.

    🐛 Bug Fixes

    - Memory leaks / ghost tasks: the periodic cleanup tasks (AuthListener, AuthMePlaceholders, PremiumCommand) are now properly cancelled on /authmemessages reload or plugin disable, instead of continuing to run in the background. - Global placeholders broken in HolographicDisplays: placeholders like total_online used to fail when queried without an attached player; the player == null check was moved after evaluating them so holograms can read them. - `is_first_join` cleared too early: it's now unmarked only on quit (onQuit) instead of at login time, so it stays true for the whole first session. - Infinite recursion in placeholders: the isAuthenticated and isRegistered lookups were split apart to prevent loops when they queried each other. - Native auto-login wasn't firing welcome messages: the old handlePremiumAutoLogin was replaced with verifyLoginState/notifyLogin, which detects any player authenticated via Floodgate, forceLogin, or another auto-login plugin, guaranteeing login messages are never missed (with a cooldown to avoid duplicates if the normal event does fire shortly after). - More robust premium registration/login: they now run in separate try/catch blocks, so if pre-registration fails (e.g. a false negative from isRegistered()), the forced login is still attempted instead of aborting the whole process. - `/reload` left stale references: the listener and the placeholder expansion are now correctly re-registered, updating the plugin's internal reference via reflection. - `/premium` actions now use the same engine as login/register/logout: every premium message list now supports message:, centered_message:, playsound:, title:, player:, console:, wait:, and to_all:, not just plain text.

    ⚠️ Migration Notes

    - The premium.yml file is automatically created in the plugin's folder the first time the premium system is used. - The /authmemessages command now requires the authmemessages.admin permission defined in plugin.yml (the premium subaction didn't exist before this version). - Check your config.yml: although your existing values are preserved, the auto-update will add the new keys (premium-*, geyser, bossbars, etc.) the first time the plugin starts. ```

    =====================================================

    AuthMeMessages - Configuration (v1.4.0)

    =====================================================

    --- COLOR FORMATTING ---

    Legacy: &a, &b, &l, etc.

    HEX (RGB): &#FF0000, &#00BFFF, etc.

    #

    --- INTERNAL PLACEHOLDERS ---

    %player% → Player name

    %online% → Online players count

    %max_players% → Server max players

    %time% → Current time (HH:mm)

    %date% → Current date (dd/MM/yyyy)

    {prefix} → Plugin prefix

    #

    --- PLACEHOLDERAPI PLACEHOLDERS (%authmemessages_...%) ---

    #

    === PLAYER STATUS ===

    %authmemessages_is_authenticated% → yes/no - Is logged in?

    %authmemessages_is_logged% → yes/no - Alias of above

    %authmemessages_is_registered% → yes/no - Is registered?

    %authmemessages_is_not_authenticated% → yes/no - Not logged in?

    %authmemessages_is_first_join% → yes/no - Is first time joining?

    %authmemessages_is_premium% → yes/no - Is on the premium list? (NEW)

    #

    === CUSTOMIZABLE STATUS (yes_no) ===

    %authmemessages_is_authenticated_yes_no% → Shows "yes" if logged in, "no" if not

    %authmemessages_is_authenticated_✔_✖% → Shows ✔ if logged in, ✖ if not

    %authmemessages_is_authenticated_&aOn_&cOff%→ With colors

    %authmemessages_is_registered_yes_no% → Same pattern for is_registered

    %authmemessages_is_first_join_yes_no% → Same pattern for is_first_join

    %authmemessages_is_premium_yes_no% → Same pattern for is_premium (NEW)

    #

    === VISUALS (icons and texts) ===

    %authmemessages_status_icon% → &a✔ / &c✖ / &7? (based on status)

    %authmemessages_status_text% → &aAuthenticated / &cUnauthenticated / &7Unregistered

    %authmemessages_status_letter% → &aA / &cP / &7G (A=Auth, P=Pending, G=Guest)

    %authmemessages_name_with_status% → Colored name based on status

    #

    === GLOBAL (Server) ===

    %authmemessages_total_registered% → Total registered accounts

    %authmemessages_total_online% → Connected players

    %authmemessages_total_authenticated% → Logged in players

    %authmemessages_total_not_authenticated% → Unauthenticated players

    #

    === INFO ===

    %authmemessages_ip% → Player's IP

    #

    External PlaceholderAPI support included (LuckPerms, etc.)

    NOTE: global placeholders (total_online, total_registered, etc.) work with no

    player attached, so they are safe to use inside HolographicDisplays.

    #

    =====================================================

    --- AVAILABLE ACTIONS PER LINE ---

    Work the same way inside "messages" (login/register/logout/logout-not-authenticated

    AND every "premium-*" message) and inside "commands". Freely combinable, in any

    order, and all of them accept a "to_all:" prefix.

    #

    message: TEXT → Send message to player

    to_all: message: TEXT → Send message to everyone

    centered_message: TEXT → Send centered message

    to_all:

    168 downloads
  2. 1.3.0AuthMeMessages 1.3.0Apr 9, 2026

    🚀 What’s New

    This update introduces powerful new customization tools, modern server features, and critical optimizations to make your authentication messages smarter and more dynamic than ever: ⏱️ Individual Action Delays: You can now pause between actions! Add - "wait: 20" (20 ticks = 1 second) to create timed sequences of messages, sounds, or commands. 🐉 BossBar Support: Display beautiful, temporary BossBars when a player logs in, registers, or leaves. Fully customizable colors and styles! 📱 Platform-Specific Messages (Geyser/Floodgate): Target Bedrock or Java players specifically by simply adding bedrock_only: true or java_only: true to your groups. Give your mobile players a unique welcome! 🎨 Full HEX Color Support: Say goodbye to simple colors. Use the &#RRGGBB format to bring modern, vibrant RGB colors to your messages and UI. 🔄 Smart Auto-Updating Config: Updating the .jar will no longer require deleting your configuration! The plugin now automatically injects new features into your config.yml without touching your custom edits. 🐛 Major Bug Fixes & Optimizations: Fixed a bug where the [Bedrock] tag would break internal console commands (like Multiverse). Fixed memory leaks causing ghost tasks when using the reload command. Fixed global placeholders (like total online) breaking when used in HolographicDisplays. Fixed %authmemessages_is_first_join% prematurely clearing upon login.
    # =====================================================
    # AuthMeMessages - Configuration
    # =====================================================
    # --- COLOR FORMATTING ---
    # Legacy: &a, &b, &l, etc.
    # HEX (RGB): &#FF0000, &#00BFFF, etc.
    #
    # --- INTERNAL PLACEHOLDERS ---
    #   %player%              → Player name
    #   %online%              → Online players count
    #   %max_players%         → Server max players
    #   %time%                → Current time (HH:mm)
    #   %date%                → Current date (dd/MM/yyyy)
    #   {prefix}              → Plugin prefix
    #
    # --- PLACEHOLDERAPI PLACEHOLDERS (%authmemessages_...%) ---
    #
    #   === PLAYER STATUS ===
    #   %authmemessages_is_authenticated%           → yes/no - Is logged in?
    #   %authmemessages_is_logged%                  → yes/no - Alias of above
    #   %authmemessages_is_registered%              → yes/no - Is registered?
    #   %authmemessages_is_not_authenticated%       → yes/no - Not logged in?
    #   %authmemessages_is_first_join%              → yes/no - Is first time joining?
    #
    #   === CUSTOMIZABLE STATUS (yes_no) ===
    #   %authmemessages_is_authenticated_yes_no%    → Shows "yes" if logged in, "no" if not
    #   %authmemessages_is_authenticated_✔_✖%       → Shows ✔ if logged in, ✖ if not
    #   %authmemessages_is_authenticated_&aOn_&cOff%→ With colors
    #
    #   === VISUALS (icons and texts) ===
    #   %authmemessages_status_icon%                → &a✔ / &c✖ / &7? (based on status)
    #   %authmemessages_status_text%                → &aAuthenticated / &cUnauthenticated / &7Unregistered
    #   %authmemessages_status_letter%              → &aA / &cP / &7G (A=Auth, P=Pending, G=Guest)
    #   %authmemessages_name_with_status%           → Colored name based on status
    #
    #   === GLOBAL (Server) ===
    #   %authmemessages_total_registered%           → Total registered accounts
    #   %authmemessages_total_online%               → Connected players
    #   %authmemessages_total_authenticated%        → Logged in players
    #   %authmemessages_total_not_authenticated%    → Unauthenticated players
    #
    #   === INFO ===
    #   %authmemessages_ip%                         → Player's IP
    #
    #   External PlaceholderAPI support included (LuckPerms, etc.)
    #
    # =====================================================
    # --- AVAILABLE ACTIONS PER LINE ---
    #   message: TEXT                               → Send message to player
    #   to_all: message: TEXT                       → Send message to everyone
    #   centered_message: TEXT                      → Send centered message
    #   to_all: centered_message: TEXT              → Send centered message to everyone
    #   playsound: SOUND VOLUME PITCH               → Play sound for player
    #   to_all: playsound: SOUND VOLUME PITCH       → Play sound for everyone
    #   wait: TICKS                                 → Pause before next action (20 ticks = 1 sec)
    #
    # --- COMMANDS ---
    #   player: command                             → Execute as player (without /)
    #   console: command                            → Execute as console (without /)
    #   to_all: console: command                    → Execute as console for every online player
    #   wait: TICKS                                 → Pause before executing the next command
    #
    # --- GROUP FILTERS ---
    #   permission: "vip.diamond"                   → Requires permission (use | for multiple)
    #   bedrock_only: true                          → Triggers only for Bedrock players (Geyser)
    #   java_only: true                             → Triggers only for Java players
    # =====================================================
    Now you have complete control over how login and register messages look and behave.
    470 downloads
  3. 1.2.0AuthMeMessages 1.2.0Feb 12, 2026

    🚀 What’s New

    This update introduces powerful new customization tools to make your authentication messages smarter and more dynamic: - ✨ Added placeholder support for dynamic player data - 🎯 New actions system to trigger behaviors when messages are sent - 🖥️ Improved centered text formatting - 🎨 Full HEX color & formatting support - ⚙️ Expanded config options for easier customization - 🔄 Reload command to apply changes instantly - 🚀 Performance optimizations and cleaner message handling
    # =====================================================
    # AuthMeMessages - Configuración
    # =====================================================
    # Colores con &
    #
    # Placeholders internos de este plugin:
    #   %player%              → Nombre del jugador
    #   %online%              → Jugadores online
    #   %max_players%         → Máximo de jugadores
    #   %time%                → Hora actual (HH:mm)
    #   %date%                → Fecha actual (dd/MM/yyyy)
    #   {prefix}              → Prefijo del plugin
    #
    # Placeholders de PlaceholderAPI (%authmemessages_...%):
    #
    #   === ESTADO DEL JUGADOR ===
    #   %authmemessages_is_authenticated%           → yes/no - ¿Está logueado?
    #   %authmemessages_is_logged%                  → yes/no - Alias de arriba
    #   %authmemessages_is_registered%              → yes/no - ¿Está registrado?
    #   %authmemessages_is_not_authenticated%       → yes/no - ¿NO está logueado?
    #   %authmemessages_is_first_join%              → yes/no - ¿Primera vez en el servidor?
    #
    #   === PERSONALIZABLES (sí_no) ===
    #   %authmemessages_is_authenticated_si_no%     → Muestra "si" si está logueado, "no" si no
    #   %authmemessages_is_authenticated_✔_✖%       → Muestra ✔ si está logueado, ✖ si no
    #   %authmemessages_is_authenticated_&aOnline_&cOffline%  → Con colores
    #   %authmemessages_is_registered_✔_✖%          → Igual para registro
    #   %authmemessages_is_first_join_&aNuevo_&7Antiguo%      → Igual para primera vez
    #
    #   === VISUALES (iconos y textos) ===
    #   %authmemessages_status_icon%                → &a✔ / &c✖ / &7? (según estado)
    #   %authmemessages_status_text%                → &aAutenticado / &cNo autenticado / &7No registrado
    #   %authmemessages_status_letter%              → &aA / &cP / &7G (A=Auth, P=Pending, G=Guest)
    #   %authmemessages_name_with_status%           → Nombre coloreado según estado
    #
    #   === GLOBALES (servidor) ===
    #   %authmemessages_total_registered%           → Total de cuentas registradas
    #   %authmemessages_total_online%               → Jugadores conectados
    #   %authmemessages_total_authenticated%        → Jugadores logueados
    #   %authmemessages_total_not_authenticated%    → Jugadores no logueados (registrados pero sin login)
    #
    #   === INFORMACIÓN ===
    #   %authmemessages_ip%                         → IP del jugador
    #
    #   PlaceholderAPI externo también soportado (LuckPerms, etc.)
    #
    # =====================================================
    # Acciones disponibles por línea:
    #   message: TEXTO                              → Mensaje al jugador
    #   to_all: message: TEXTO                      → Mensaje a todos
    #   centered_message: TEXTO                     → Mensaje centrado
    #   to_all: centered_message: TEXTO             → Mensaje centrado a todos
    #   playsound: SOUND VOLUME PITCH               → Sonido al jugador
    #   to_all: playsound: SOUND VOLUME PITCH       → Sonido a todos
    #
    # Comandos:
    #   player: comando                             → Ejecuta como jugador (sin /)
    #   console: comando                            → Ejecuta como consola (sin /)
    #   to_all: console: comando                    → Ejecuta como consola para cada jugador online
    #
    # Permisos en grupos:
    #   permission: "vip.diamond"                   → Un solo permiso
    #   permission: "vip.diamond | vip.gold | admin" → Múltiples permisos (cualquiera funciona)
    # =====================================================
    Now you have complete control over how login and register messages look and behave.
    113 downloads
  4. 1.0.0AuthMeMessages 1.0.0Feb 2, 2026
    📌 AuthMeMessages AuthMeMessages es un plugin ligero y altamente configurable que amplía AuthMe Reloaded, permitiéndote enviar mensajes personalizados cuando un jugador se registra o inicia sesión en el servidor. Está diseñado para servidores modernos y ofrece soporte para mensajes por grupos, ActionBar, Titles, comandos automáticos, delays configurables y compatibilidad con PlaceholderAPI y Geyser/Floodgate, todo sin afectar el rendimiento. 🧾 Resumen corto Mensajes avanzados para AuthMe Reloaded. Chat, ActionBar y Titles por grupos al registrarse o iniciar sesión, con soporte PlaceholderAPI y Geyser/Floodgate. ✨ Características 📢 Mensajes de chat al login y registro 🧠 Sistema de grupos con permisos (LuckPerms friendly) 🔊 ActionBar y Titles configurables y por grupos ⏳ Delay configurable por acción 🔄 /authmemessages reload sin reiniciar el servidor 🔧 Ejecución de comandos automáticos 🌍 Compatibilidad con Geyser / Floodgate (detección Bedrock) 🧩 Soporte completo para PlaceholderAPI 🎨 Prefijo dinámico {prefix} y colores con & 🔒 Permisos granulares por acción ⚙️ Compatibilidad ✔ Minecraft 1.21.x ✔ Paper / Spigot ✔ AuthMe Reloaded ✔ PlaceholderAPI (opcional) ✔ LuckPerms (opcional) ✔ Floodgate / Geyser (opcional)
    35 downloads

Similar projects

Plugin →