NEW | GreetingsManager - Community & Engagement (1.21.x) icon

NEW | GreetingsManager - Community & Engagement (1.21.x) -----

A plugin that rewards users for welcoming & welcoming back players to the server. Community feature!




Due to spigot still bugging out and not letting me upload the new version file, please use the external link
----------, May 20, 2025

CMI is no longer a hard-dependency.
Instead, if you do not own CMI, the system will default to the spigot internal chat system. This should work for most chat plugins but may cause unexpected errors. The preferred way is still to use CMI to use its sudo system.

[​IMG]
----------, May 20, 2025

Hopefully this now uploads the newest version directly to spigot. If you still download version 1.1.2 or anything other than 1.3.4-r, use the "click here" download directly from my own file-server.
----------, May 18, 2025

I hope this now properly displays the right version as attached.
----------, May 12, 2025

NEW: If enabled in config.yml ( allowOnlyKeyword: true), players may only send any of the defined keywords to also trigger the same welcomeback system. This will trigger automatically on the last joined player.

FIX:
Code (Text):
%new_player%
and
Code (Text):
<new_player>
in greeting messages is now properly replaced with the name of the name of the newest entry in list "newJoinPlayers"

-> Only affects welcomechain system for firstjoin players.

YOU MUST REGENERATE / MERGE CONFIG.YML AND MESSAGES.YML WITH THE NEW CHANGES!
----------, May 12, 2025

Plugin failed to load custom messages as the internal message system was falling back on default value.

Now bossbar-messages have been moved to messages.yml for parity.

You can copy + paste your custom config into messages.yml as a drag-and-drop replacement :)

Default messages.yml:

Code (Text):
# Greetings Manager Messages Configuration
# Uses MiniMessage format for rich text formatting
# See: https://docs.adventure.kyori.net/minimessage/format.html

general:
  no_permission: "<red>You don't have permission to use this command."
  player_only: "<red>This command can only be used by players."
  invalid_player: "<red>Player not found: <gray>%player%</gray>"
  reload_success: "<green>Configuration reloaded successfully!"
  prefix: "<dark_gray>[<gold>Greetings<dark_gray>]</dark_gray> "

command:
  unknown: "<red>Unknown command: <gray>%command%</gray>"
  cooldown: "<red>Please wait before using this command again."
  success: "<green>Command executed successfully!"

welcomeMemoryWiped: "<green>All GRM-cooldowns have been wiped from memory."

welcome:
  received: "<green>You successfully welcomed back a player!\n\n<yellow>Your totalwelcomes has increased by 1 point!</yellow>"
  already_welcomed: "<yellow>You've already welcomed that player recently."
  prompt: "<yellow>Welcome <aqua>%player%</aqua> to the server using one of these welcome words: <green>%keywords%"
  prompt_disabled: "<gray>You have join prompts disabled. Enable them with <yellow>/grm prompt</yellow>"
  toggle_enabled: "<green>Join prompts have been enabled. You will receive notifications to greet new players."
  toggle_disabled: "<green>Join prompts have been disabled. You will no longer receive notifications to greet new players."

greet:
  no_active_chain: "<red>There is no active welcome chain right now."
  already_greeted: "<yellow>You've already participated in the current welcome chain."
  success: "\n\n<green>Thank you for greeting the new players!\n\n"
  current_greeting: "<yellow>Your current custom greeting is: <green>%message%"
  no_custom_greeting: "<yellow>You don't have a custom greeting set. Use <green>/grm mygreet <message></green> to set one."
  greeting_set: "\n\n<green>Your custom greeting has been set to:\n\n<gray>%message% \n\n"
  greeting_reset: "<green>Your custom greeting has been reset to the default."
  message_too_long: "\n\n<red>Your greeting message is too long! Maximum length is 100 characters.\n\n"

welcomechain:
  started: "<yellow>A welcome chain has started! <green>%count%</green> new players have joined."
  joined: "<yellow>New player <green>%player%</green> has joined the welcome chain!"
  greet_added: "<green>+1</green> Welcome added to the chain! (<yellow>%current%/%needed%</yellow>)"
  complete: "<green>Welcome chain completed! Handing out some extra rewards to participating players!</green>"
  expired: "<red><b>███ Welcomechain failed... ███</b> </red>\n\n<red><b>Oh oh...</b> <gray>not enough players participated in the <yellow>welcomechain</yellow>. \nSadly, there will be <u><i>no extra rewards</i></u> this time. \n\nThank you to everyone that participated!</gray></red>"
  progress: "Active Welcomechain ▶ %current%/%needed% | /greet"
  time_remaining: "<yellow>Time remaining: <green>%time%s</green>"

sendChatPromptColored: "\n\n\n<yellow>███ <gray><gold><b><i>Welcomechain activated!</i></b></gold></gray> ███ </yellow>\n\n<dark_gray><gray>A player joined for the first time!</gray>\n\n<yellow><click:run_command:'/greet'><hover:show_text:'Click to participate in welcome chain!'>Click here</hover></click></yellow> <gray>to greet them. You can participate in\nthe welcomechain and</gray> <i><u><light_purple>get some rewards</light_purple></u></i> <gray>as a bonus!</gray>\n\n<yellow>███ Toggle this message with /grm toggle ███</yellow>"

leaderboard:
  title: "\n\n<gold><bold>Top Welcomers</bold></gold>"
  entry: "<yellow>%position%. <white>%player% <gray>- <green>%count% welcomes</green>"
  no_entries: "<gray>No data available yet."

data:
  reset_success: "<green>Data for <yellow>%player%</yellow> has been reset."
  prune_started: "<yellow>Found <green>%count%</green> player data files to prune."
  prune_confirm: "<yellow>Type <red>/grm confirmprune %count%</red> to delete these files."
  prune_completed: "<green>Successfully pruned <yellow>%count%</yellow> player data files."
  prune_expired: "<red>Prune confirmation has expired. Please run the prunedata command again."
  prune_none: "<yellow>No player data files found to prune."
  prune_mismatch: "<red>Confirmation number doesn't match the number of selected files (%count%). Pruning canceled."

debug:
  chain_active: "<gold>Active welcomechain: <green>Yes</green>"
  chain_inactive: "<red>No active welcomechain</red>"
  players_in_chain: "<gold>Loaded playerdata: <yellow>%players%</yellow>"
  time_remaining: "<gold>Time remaining: <yellow>%time% seconds</yellow>"
  greet_progress: "<gold>Greet progress: <yellow>%current%/%needed%</yellow>"
  new_player_count: "<gold>New players in chain: <yellow>%count%</yellow>"

# Bossbar configuration
# Colors must be instanciated with <color> tags and ended with </color> tags. All default colors are valid.
# Valid placeholders are: %newPlayer%, %playersInChain%, %timeRemaining%, %greetsCurrent%, %greetsNeeded%
# Do not use any other placeholder or the plugin will break. You have been warned.
welcomechain:
  bossbar:
    single: "<gold>Welcomechain for <light_purple>%newPlayer%</light_purple> ◆ <yellow>[%greetsCurrent%/%greetsNeeded%]</yellow> | <gray>(%timeRemaining%s)</gray>"
    multiple: "<gold>Welcomechain for <light_purple>%newPlayer%</light_purple> <green>+%playersInChain%</green> ◆ <yellow>[%greetsCurrent%/%greetsNeeded%]</yellow> | <gray>(%timeRemaining%s)</gray>"


# GENERAL INFORMATION : REFERR TO INDIVIDUAL DEFAULT MESSAGES PER SECTION FOR VALID PLACEHOLDERS
# ###########
# Placeholders available:
#
# %player% - Player name
# %count% - Number count
# %current% - Current greet count
# %needed% - Needed greet count
# %time% - Time remaining
# %command% - Command name
# %message% - Message content
# %keywords% - Welcome keywords
# %position% - Position in leaderboard
# %players% - List of players
----------, May 10, 2025

NEW FEATURE: Configure your very own welcomechain texts for bossbar display in config.yml, this supports color coding!

Default layout:

Code (Text):
# Bossbar configuration
# Colors must be instanciated with <color> tags and ended with </color> tags. All default colors are valid.
# Valid placeholders are: %newPlayer%, %playersInChain%, %timeRemaining%, %greetsCurrent%, %greetsNeeded%
# Do not use any other placeholder or the plugin will break. You have been warned.

welcomechain:
  bossbar:
    single: "<gold>Welcomechain for <light_purple>%newPlayer%</light_purple> ◆ <yellow>[%greetsCurrent%/%greetsNeeded%]</yellow> | <gray>(%timeRemaining%s)</gray>"
    multiple: "<gold>Welcomechain for <light_purple>%newPlayer%</light_purple> <green>+%playersInChain%</green> ◆ <yellow>[%greetsCurrent%/%greetsNeeded%]</yellow> | <gray>(%timeRemaining%s)</gray>"
----------, May 10, 2025

See title.
This update only contains bugfixes.

This plugin is now production-ready and can be used. If you find any other bugs, report them in the discussions tab, NOT in the review.

Thanks a lot! :)
----------, May 5, 2025

Little fix for production ready release. :)
----------, Apr 30, 2025

The plugin was rewritten from the ground up, optimizing all playerdata handling. This rewrite also includes a new mechanic called the "welcomechain":

When a player joins for the first time, they get added to the welcomechain and the system triggers a display for anyone that has this toggled on. During this time, anyone can participate by typing /greet which will a) trigger a default message if non has been set by that player b) trigger a custom message from that player's playerdatafile.

Both the initial participation in /greet and the compeltion of a chain have individually configurable rewards.

The plugin allows the use of many internal placeholders within messages, please referr to the default messages.yml and config.yml files.

For custom greet messages:

Using <player> or %player% will replace this with the name of the last-joined newjoin player. Use this to create messages like:

/greetingsmanager mygreet Yoo, what's good <new_player>! Hope you enjoy your stay on our server!
----------, Apr 30, 2025

NEW: When a player joins vanished with CMI, then other players no longer get informed about their join and can't greet them.
NEW: When starting, the plugin will check if its dependencies are loaded and output the result. It will intelligently disable features if the needed softdependencies are not loaded.
CHANGED: CMI has been moved into a softdependency.
----------, Mar 30, 2025

The time has come, the plugin now supports placeholderAPI
For now, this included:

%greetingsmanager_rank<rank>% ranging from rank1 to rank10
----------, Mar 24, 2025

Plugin can now handle thousands of entries in the leaderboard within a fraction of a second, thanks to culling and caching of data.

In addition, the /grm reload command now prints out the changed config values (though its still not fully functional)
----------, Mar 24, 2025

- Optimized playerdata storage, now takes less than 400ms to generate 500 playerfiles and less than 350ms to create leaderboard with over 1000 entries.

- Added minimessage formatting

- Made most of the custom messages that are needed for player-interaction customizable via messages.yml

- Reworked some commands and made them easier to use
----------, Mar 22, 2025

Resource Information
Author:
----------
Total Downloads: 112
First Release: Mar 20, 2025
Last Update: May 20, 2025
Category: ---------------
All-Time Rating:
1 ratings
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings