Ultimate Welcome

A modern, lightweight plugin that enhances your server's join/leave experience with rank exclusive custom messages, events ,a full welcome bounty system and much more with 100% customizable configs.

7

Quick challenge

How far can you run before the mobs catch you?

Ultimate Welcome

UltimateWelcome

A next-generation, powerful, and fully configurable plugin for Minecraft that puts you in full control of your server’s join and leave events! Packed with advanced features like rank-specific messages, command execution, custom sounds, titles, fireworks, animated boss bars, a complete welcome bounty system, and so much more—everything you could possibly ask for!!

---

Now Avaliable on

BuiltByBit

---

🚀 Features

✔ Rank-based welcome messages ✔ Join & leave broadcasts ✔ Custom join titles ✔ Sounds & fireworks on join ✔ Bossbar on join with custom animation ✔ Console & player join commands ✔ Rank-based join commands ✔ Welcome bounty system (reward players for welcoming others) ✔ Fully customizable config ✔ Supports all the color formatting. ✔ Placeholder support like `%player%` and `%target%`

---

📦 Installation

1. Download `UltimateWelcome.jar` 2. Place it into your `plugins/` folder 3. Restart your server 4. Enjoy!

---

⚙ Commands

| Command | Description | |--------|-------------| | `/wb <player>` | Welcome another player | | `/uwreload` | Reload configuration | | `/uw forcewelcome <player>` | Force uses wb command, bypassing any restriction(for testing) | | `/uw checkcooldown <player>` | Checks the coodown for using /wb commnad on a certain player(coming soon) | | `/uw welcomeself` | Allows players to welcome them selfs(for testing) |

---

🎯 Permissions

| Permission | Description | |------------|-------------| | `uw.reload` | Allows plugin reload command | | `uw.admin` | Allows using /uw command |

---

💡 Placeholders

You can use these in certain messages or commands on config.yml file:

- `%player%` → Player name - `%target%` → Target player (welcome bounty) - `%amount%` → Reward amount - `%currency%` → Currency name

---

🎉 Features Overview

👋 Join System

- Rank-based join messages - Titles on join - Sounds and fireworks - Console/player commands

🚪 Leave System

- Custom leave broadcasts per rank - Optional leave commands

💰 Welcome Bounty System

Encourages player interaction:

- Reward players for welcoming others - Cooldowns to prevent abuse - Rank-based rewards - Broadcast + personal messages - Sound effects

---

📄Click to view config.yml

```yaml

#=====================================================================

__ ______ _ __ _ __ __

/ / / / / /() ___ _/ /____ | | /| / /__ / /______ __ _ ___

#/ /_/ / / __/ / ' / _ `/ __/ -) | |/ |/ / -) / __/ / ' / -) #____/_/__/////,/__/__/ |__/|__/__/_/__/___///_/__/ # #======================================================================

Thanks for downloading UltimateWelcome V1.1!

If you have any questions or need help, feel free to join the support discord server: https://discord.gg/6gCFHFHsbD

Enable or disable the entire welcome plugin

enabled: true

Rank priority order (highest will be used if a player has multiple ranks).

Make sure to include all ranks you want to use in the welcome messages.

rank-order: - owner - admin - moderator - mvp - vip - default

#===================================================================

JOIN SYSTEM

#===================================================================

------------ COLOR FORMATING ---------------

You can use the following color and formatting codes in messages:

Legacy Colors: &0-&f (e.g., &cRed, &aGreen)

Formatting: &l Bold, &o Italic, &n Underline, &m Strikethrough, &r Reset

Legacy Hex: &x&R&R&G&G&B&B (e.g., &x&F&F&0&0&0&0 = #FF0000)

Modern Hex: &#RRGGBB (e.g., &#FF0000Red)

MiniMessage: <red>text, <gradient:red:blue>text</gradient>, <rainbow>text</rainbow>

Player Will see this message on that after they join. There's a 1 second delay before the message is sent to the player. You can use %player% as a placeholder for the player's name.

If not set, it will use default messages in the welcome-messages.

welcome-messages: enabled: true messages: owner: - "=========================================" - " <b><gradient:#FF0000:#9400FF>sᴇʀᴠᴇʀ_ɴᴀᴍᴇ</gradient></b>" - " &4&lᴡᴇʟᴄᴏᴍᴇ &f%player% &4&l!" - " &cʜᴏᴘᴇ ʏᴏᴜ ʜᴀᴠᴇ ᴀɴ &6ᴀᴍᴀᴢɪɴɢ &cʀᴇsᴛ ᴏғ ʏᴏᴜʀ sᴛᴀʏ!" - "" - " &bᴡᴇʙsɪᴛᴇ: &fwww.example.com" - " &9ᴅɪsᴄᴏʀᴅ: &fdiscord.gg/example" - " <gradient:#FF5555:#FFAA00:#FFFF55>✨ ʏᴏᴜ ᴀʀᴇ ᴜsɪɴɢ ᴜʟᴛɪᴍᴀᴛᴇᴡᴇʟᴄᴏᴍᴇ V1.1 ✨</gradient> <gray>by <gradient:#55FF55:#00AA00>KingLe0</gradient></gray>" - "=========================================" vip: - "=========================================" - " <b><gradient:#FF0000:#9400FF>sᴇʀᴠᴇʀ_ɴᴀᴍᴇ</gradient></b>" - "" - " <b><gradient:#FF0000:#0300FF>ᴡᴇʟᴄᴏᴍᴇ <color:#FFFF00>%player%</color> <gradient:#FF0000:#0300FF>!</gradient></b>" - " <color:#999999>ᴡᴇ ʜᴀᴠᴇ ʙᴇᴇᴅ ᴡᴀɪᴛɪɴɢ ᴊᴜsᴛ ꜰᴏʀ ʏᴏᴜ!</color>" - "" - " &bᴡᴇʙsɪᴛᴇ: &fwww.example.com" - " &9ᴅɪsᴄᴏʀᴅ: &fdiscord.gg/example" - "=========================================" default: - "=========================================" - " <b><gradient:#FF0000:#9400FF>sᴇʀᴠᴇʀ_ɴᴀᴍᴇ</gradient></b>" - " &d&lᴡᴇʟᴄᴏᴍᴇ &f%player% &d&l!" - " &9ʜᴏᴘᴇ ʏᴏᴜ ʜᴀᴠᴇ ᴀɴ &aᴀᴍᴀᴢɪɴɴɢ &9sᴛᴀʏ!" - "" - " &bᴡᴇʙsɪᴛᴇ: &fwww.example.com" - " &9ᴅɪsᴄᴏʀᴅ: &fdiscord.gg/example" - "========================================="

Broadcast messages to all players when someone joins based on their rank. You can use %player% as a placeholder for the player's name.

welcome-broadcasts: enabled: true messages: owner: - "<b><gradient:#FF0000:#0300FF>ᴛʜᴇ ᴏᴡɴᴇʀ %player% ᴊᴏɪɴᴇᴅ ᴛʜᴇ sᴇʀᴠᴇʀ</gradient></b>" vip: - "&a&lVIP &e%player% &aᴊᴏɪɴᴇᴅ ᴛʜᴇ sᴇʀᴠᴇʀ!" - "&f[&a!&f] &eᴛʏᴘᴇ &f/wb <ᴘʟᴀʏᴇʀɴᴀᴍᴇ> &eᴛᴏ ᴡᴇʟᴄᴏᴍᴇ ᴛʜᴇ ᴘʟᴀʏᴇʀ ᴀɴᴅ ʀᴇᴄɪᴠᴇ &6EXTRA &eʀᴇᴡᴀʀᴅs!" default: - "&f[&a+&f] &d&l&f%player% &dᴊᴏɪɴᴇᴅ ᴛʜᴇ sᴇʀᴠᴇʀ!" - "&eᴛʏᴘᴇ &f/wb <ᴘʟᴀʏᴇʀɴᴀᴍᴇ> &eᴛᴏ ᴡᴇʟᴄᴏᴍᴇ ᴛʜᴇ ᴘʟᴀʏᴇʀ ᴀɴᴅ ʀᴇᴄɪᴠᴇ ʀᴇᴡᴀʀᴅs!"

These commands will be executed when a player joins. You can use %player% as a placeholder for the player's name.

The command will be executed by the console if it starts with [CONSOLE],

or by the player if it starts with [PLAYER]. If no prefix is provided, it will default to console execution.

on-join-commands: - "[CONSOLE] say ᴡᴇʟᴄᴏᴍᴇ %player%!"

rank-join-commands: enabled: true commands: owner: - "[CONSOLE] say OWNER %player% JOINED!" - "[PLAYER] warp ownerroom"

vip: - "[CONSOLE] eco give %player% 100"

default: - "[PLAYER] spawn"

Title on join settings

title: enabled: true main: "&5&lᴡᴇʟᴄᴏᴍᴇ %player%!" sub: "&9&lᴇɴᴊᴏʏ ʏᴏᴜʀ sᴛᴀʏ!"

Durations are in seconds, Defaults: stay=3, fade-in=1, fade-out=2

stay: 3 fade-in: 1 fade-out: 2

Sound on join settings

sound: enabled: true type: "entity.player.levelup"

Some example sound types(capitalization doesn't matter):

ENTITY_PLAYER_LEVELUP

BLOCK_NOTE_BLOCK_PLING

ITEM_FIREWORK_ROCKET_LAUNCH

ENTITY_FIREWORK_ROCKET_BLAST

volume: 1.0 pitch: 1.0

Firework on join settings

firework: enabled: true delay: 20 # 1 second(20 ticks)

power: 1

colors: - "PURPLE" - "BLUE"

fade-colors: - "CYAN"

type: "BALL"

JOIN BOSSBAR

bossbar: enabled: true

How long the bossbar stays visible (in seconds)

duration: 20

Bossbar text (supports %player% placeholder and all color formats)

text: "<gradient:#FF0000:#FFAA00>✨ ᴡᴇʟᴄᴏᴍᴇ %player%! ✨</gradient>"

Bossbar color (PINK, BLUE, RED, GREEN, YELLOW, PURPLE, WHITE)

color: "PURPLE"

Bossbar style (SOLID, SEGMENTED_6, SEGMENTED_10, SEGMENTED_12, SEGMENTED_20)

style: "SOLID"

Loop color settings

loop-color: enabled: true

How often the color changes (in seconds)

interval: 1

Colors to cycle through

colors: - "PURPLE" - "BLUE" - "GREEN" - "YELLOW" - "RED"

#===================================================================

LEAVE SYSTEM

#===================================================================

Broadcast messages to all players when someone leaves based on their rank.

If rank-specific messages are not set, it will use the default messages.

leave-broadcasts: enabled: true messages: owner: - "&f[&4-&f] &4&lOWNER %player% &7ʟᴇꜰᴛ ᴛʜᴇ sᴇʀᴠᴇʀ!" vip: - "&f[&4-&f] &d&lVIP %player% &7ʟᴇꜰᴛ ᴛʜᴇ sᴇʀᴠᴇʀ!" default: - "&f[&c-&f] &7%player% &7ʟᴇꜰᴛ ᴛʜᴇ sᴇʀᴠᴇʀ!"

Commands executed when player leaves (all ranks).

on-leave-commands:

- "[CONSOLE] say %player% ʟᴇꜰᴛ ᴛʜᴇ sᴇʀᴠᴇʀ"

leave-rank-commands: enabled: false commands: owner:

- "[CONSOLE] say OWNER %player% LEFT"

vip:

- "[CONSOLE] eco take %player% 50"

default:

- "[PLAYER] spawn"

#===================================================================

Welcome bounty

#===================================================================

give players rewards for welcoming others back to the server.

This encourages players to welcome back returning players and creates a more friendly community.

You can customize the rewards, cooldowns, and messages for this feature.

welcome-bounty:

enable or disable the welcome bounty system

enabled: true

how long after a player joins that they can be welcomed by others.

expiry-seconds: 60

how long a player must wait before they can welcome the same player again and receive rewards again.

reward-cooldown-seconds: 1800

The name of the currency used for rewards. You can use this in messages with the %currency% placeholder below.

currency-name: "ᴍᴏɴᴇʏ"

Main reward command with placeholders

reward-command: "[CONSOLE] eco give %player% %amount%"

Rank-specific rewards (optional)

rewards: owner: amount: 500 # money amount, can be used in the reward-command with %amount% placeholder wb-commands: # additional commands to run when welcoming someone of this rank (optional) - "[CONSOLE] eco give %target% 500" - "[CONSOLE] give %target% diamond 3" vip: amount: 150 reward-command: "[CONSOLE] eco give %player% %amount%" # You can override the main reward command for specific ranks. wb-commands: - "[CONSOLE] give %target% diamond 1" mvp: amount: 200 wb-commands: - "[CONSOLE] eco give %target% 200" - "[CONSOLE] give %target% diamond 2" default: amount: 50

General welcome back commands (optional)

wb-commands:

- "[CONSOLE] say %player% ᴊᴜsᴛ ᴡᴇʟᴄᴏᴍᴇᴅ %target%!"

broadcast-message: - "&f%player% &dᴡᴇʟᴄᴏᴍᴇᴅ &b%target% &dᴛᴏ ᴛʜᴇ sᴇʀᴠᴇʀ ᴀɴᴅ &9ʀᴇᴄɪᴠᴇᴅ ʀᴇᴡᴀʀᴅs!"

This will be sent to the player after they welcome someone.

welcomer-message: - "&b&l ᴀᴡsᴏᴍᴇ!" - "&bʏᴏᴜ ᴡᴇʟᴄᴏᴍᴇᴅ &9%target% &bᴀɴᴅ ʀᴇᴄᴇɪᴠᴇᴅ &d%amount% %currency%&a!"

This will be sent to the welcomed player after they are welcomed by someone.

welcomed-message: - "&e&l sᴇʀᴠᴇʀ" - "%player% &dᴡᴇʟᴄᴏᴍᴇᴅ ʏᴏᴜ ᴀɴᴅ ʀᴇᴄᴇɪᴠᴇᴅ ᴀ ʀᴇᴡᴀʀᴅ!"

This will be heard by the player after they welcome someone.

sound: enabled: true type: "ENTITY_PLAYER_LEVELUP" volume: 1.0 pitch: 1.0

```

📄Click to view settings-messages.yml

```yaml

This is the language file for some setting messages.

You can customize the messages for different languages here.

The keys in this file correspond to the keys used in the config.yml file for settings messages.

You can use color codes and placeholders in these messages as well.

plugin-reload: success: "<gradient:#55FF55:#00AA00>✅ ᴘʟᴜɢɪɴ ʀᴇʟᴏᴀᴅᴇᴅ sᴜᴄᴄᴇssꜰᴜʟʟʏ!</gradient>" error: "<gradient:#FF5555:#AA0000>❌ ᴀɴ ᴇʀʀᴏʀ ᴏᴄᴄᴜʀʀᴇᴅ ᴡʜɪʟᴇ ʀᴇʟᴏᴀᴅɪɴɢ! ᴄʜᴇᴄᴋ ᴄᴏɴsᴏʟᴇ ꜰᴏʀ ᴅᴇᴛᴀɪʟs.</gradient>"

uw-help: header: "<gradient:#FFAA00:#FF5500>━━━━━━━━ <bold>ᴡᴇʟᴄᴏᴍᴇ ᴄᴏᴍᴍᴀɴᴅs</bold> ━━━━━━━━</gradient>" wb: "<yellow>/ᴡʙ <ᴘʟᴀʏᴇʀ></yellow> <gray>- ᴡᴇʟᴄᴏᴍᴇ ᴀ ᴘʟᴀʏᴇʀ ᴀɴᴅ ᴇᴀʀɴ ʀᴇᴡᴀʀᴅs!</gray>" uw-forcewelcome: "<red>/ᴜᴡ ꜰᴏʀᴄᴇᴡᴇʟᴄᴏᴍᴇ <ᴘʟᴀʏᴇʀ></red> <gray>- ꜰᴏʀᴄᴇ ᴡᴇʟᴄᴏᴍᴇ ᴀ ᴘʟᴀʏᴇʀ</gray>" uw-resetcooldown: "<red>/ᴜᴡ ʀᴇsᴇᴛᴄᴏᴏʟᴅᴏᴡɴ <ᴘʟᴀʏᴇʀ></red> <gray>- ʀᴇsᴇᴛ ᴄᴏᴏʟᴅᴏᴡɴ</gray>" uw-welcomeself: "<red>/ᴜᴡ ᴡᴇʟᴄᴏᴍᴇsᴇʟꜰ</red> <gray>- ᴛᴏɢɢʟᴇ sᴇʟꜰ-ᴡᴇʟᴄᴏᴍᴇ</gray>" uw-reload: "<red>/ᴜᴡʀᴇʟᴏᴀᴅ</red> <gray>- ʀᴇʟᴏᴀᴅ ᴄᴏɴꜰɪɢ</gray>" footer: "<gradient:#FFAA00:#FF5500>━━━━━━━━━━━━━━━━━━━━━━━━━</gradient>"

uw-forcewelcome: success: "<gradient:#55FF55:#00FF00>✅ ᴡᴇʟᴄᴏᴍᴇ ᴍᴇssᴀɢᴇ sᴇɴᴛ ᴛᴏ <yellow>%target%</yellow>!</gradient>" error: "<gradient:#FF5555:#FF0000>❌ ꜰᴀɪʟᴇᴅ ᴛᴏ sᴇɴᴅ ᴡᴇʟᴄᴏᴍᴇ ᴍᴇssᴀɢᴇ! ᴄʜᴇᴄᴋ ᴄᴏɴsᴏʟᴇ.</gradient>" uw-selfwelcome: enabled: "<gradient:#55FF55:#00FF00>✅ sᴇʟꜰ-ᴡᴇʟᴄᴏᴍᴇ ɪs ɴᴏᴡ <bold>ᴇɴᴀʙʟᴇᴅ</bold>! ᴘʟᴀʏᴇʀs ᴄᴀɴ ᴡᴇʟᴄᴏᴍᴇ ᴛʜᴇᴍsᴇʟᴠᴇs.</gradient>" disabled: "<gradient:#FF5555:#FF0000>🔒 sᴇʟꜰ-ᴡᴇʟᴄᴏᴍᴇ ɪs ɴᴏᴡ <bold>ᴅɪsᴀʙʟᴇᴅ</bold>! ᴘʟᴀʏᴇʀs ᴄᴀɴɴᴏᴛ ᴡᴇʟᴄᴏᴍᴇ ᴛʜᴇᴍsᴇʟᴠᴇs.</gradient>" uw-resetcooldown: success: "<gradient:#55FF55:#00AA00>🔄 ᴄᴏᴏʟᴅᴏᴡɴ ꜰᴏʀ <yellow>%target%</yellow> ʜᴀs ʙᴇᴇɴ ʀᴇsᴇᴛ!</gradient>" error: "<gradient:#FF5555:#AA0000>❌ ꜰᴀɪʟᴇᴅ ᴛᴏ ʀᴇsᴇᴛ ᴄᴏᴏʟᴅᴏᴡɴ! ᴄʜᴇᴄᴋ ᴄᴏɴsᴏʟᴇ.</gradient>"

uw-unknownsubcommand: "<gradient:#FFAA00:#FF5500>⚠️ ᴜɴᴋɴᴏᴡɴ sᴜʙᴄᴏᴍᴍᴀɴᴅ! ᴜsᴇ <yellow>/ᴜᴡ ʜᴇʟᴘ</yellow> ꜰᴏʀ ᴀ ʟɪsᴛ.</gradient>" uw-only-players: "<gradient:#FF5555:#FF0000>🚫 ᴏɴʟʏ ᴘʟᴀʏᴇʀs ᴄᴀɴ ᴜsᴇ ᴛʜɪs ᴄᴏᴍᴍᴀɴᴅ!</gradient>" uw-no-permission: "<gradient:#FF5555:#FF0000>🔒 ʏᴏᴜ ᴅᴏɴ'ᴛ ʜᴀᴠᴇ ᴘᴇʀᴍɪssɪᴏɴ ᴛᴏ ᴜsᴇ ᴛʜɪs ᴄᴏᴍᴍᴀɴᴅ!</gradient>"

wb-player-not-found: "<gradient:#FF5555:#FF0000>🔍 ᴘʟᴀʏᴇʀ <yellow>%target%</yellow> ɴᴏᴛ ꜰᴏᴜɴᴅ ᴏʀ ɴᴏᴛ ᴏɴʟɪɴᴇ!</gradient>" wb-cooldown: "<gradient:#FFAA00:#FF5500>⏳ ʏᴏᴜ ᴍᴜsᴛ ᴡᴀɪᴛ <yellow>%time%</yellow> ʙᴇꜰᴏʀᴇ ᴡᴇʟᴄᴏᴍɪɴɢ <yellow>%target%</yellow> ᴀɢᴀɪɴ!</gradient>" wb-expired: "<gradient:#FF5555:#FF0000>⏰ <yellow>%target%</yellow> ᴄᴀɴ ɴᴏ ʟᴏɴɢᴇʀ ʙᴇ ᴡᴇʟᴄᴏᴍᴇᴅ! ᴛʜᴇʏ ᴊᴏɪɴᴇᴅ ᴏᴠᴇʀ <yellow>%time%</yellow> ᴀɢᴏ.</gradient>" wb-no-reward: "<gradient:#FFAA00:#FF5500>🎁 ɴᴏ ʀᴇᴡᴀʀᴅ ᴀᴠᴀɪʟᴀʙʟᴇ ꜰᴏʀ ᴡᴇʟᴄᴏᴍɪɴɢ <yellow>%target%</yellow>! ɴᴏ ʀᴇᴡᴀʀᴅ ᴄᴏɴꜰɪɢᴜʀᴇᴅ ꜰᴏʀ ᴛʜᴇɪʀ ʀᴀɴᴋ.</gradient>" wb-no-selfwelcome: "<gradient:#FF5555:#FF0000>🚫 ʏᴏᴜ ᴄᴀɴɴᴏᴛ ᴡᴇʟᴄᴏᴍᴇ ʏᴏᴜʀsᴇʟꜰ!</gradient>"

```

---

Example Preview

📋 Welcome Bounty

Join Broadcast 2 Join Broadcast

💬 Join Broadcast Messages

image image

🎨 Welcome Messages with Gradients

BossBar Display Welcome Bounty Command

🎮 BossBar Display

Reward Notification

✅ Reward Notification

Welcome Messages

---

⚡ Support

Join Discord Server for help or updates: discordhelpbanner

ADS