FirstJoinRewards – Welcome Rewards Plugin
v1.3 – Full Java + Bedrock Support
Features
- ✅ Detects when a player joins for the first time
- Rewards the first player who welcomes them correctly
- Supports custom chat message formats (e.g. hej %player%)
- Bedrock player support (via Geyser + Floodgate)
- Smart name matching (e.g. *Steve_ = Steve)
- Supports command and/or item rewards
- Combo rewards for milestones (e.g. 50, 100, 150 welcomes)
- Multi-language support (PL/EN)
- Full HEX and legacy color support
- Lightweight — uses SQLite, no MySQL required
- /fjr reload command
⚙️ Configuration
After starting the server, the plugin will generate:
- config.yml
- messages.yml (supports PL + EN)
- SQLite database file
In config.yml, you can:
- Define welcome patterns in message_formats
- Enable rewards: command, item, or both
- Set a timeout window for greeting (in seconds)
- Configure combo rewards for milestones
Code (YAML):
prefix
:
"�ffcc[FJR]"
language
:
"pl"
# or "en"
message_formats
:
-
"hej %player%"
-
"witaj %player%"
-
"siema %player%"
-
"miło cię widzieć, %player%"
-
"yo %player%"
-
"dobrze, że jesteś %player%"
reward:
enable_command
: true
command
:
"eco give %sender% 100"
enable_item
: true
item:
type
:
"DIAMOND"
amount
: 3
combo_rewards:
50
:
"eco give %sender% 1000"
100
:
"eco give %sender% 2000"
150
:
"eco give %sender% 3000"
200
:
"eco give %sender% 4000"
250
:
"give %sender% DIAMOND 10"
300
:
"say Gracz %sender% powitał 300 osób!"
welcome_timeout_seconds
: 30
Translations – messages.yml
Code (YAML):
pl:
first_join
:
"�ccff%player% dołączył do nas po raz pierwszy! Powitajmy go!"
success
:
"�ff00%sender% powitał gracza %player% jako pierwszy i otrzymał nagrodę!"
already_welcomed
:
"&#ff9900Już powitałeś gracza %player%!"
expired
:
"&#ff0000Czas na powitanie gracza %player% minął!"
not_new
:
"&#aaaaaaGracz %player% nie jest już nowy!"
combo_reward
:
"Bff66Gratulacje! Otrzymujesz nagrodę za %count% powitań!"
reload_success
:
"�ffffPlugin został pomyślnie przeładowany!"
en:
first_join
:
"�ccffPlayer %player% has joined for the first time! Let's welcome them!"
success
:
"�ff00%sender% was the first to welcome %player% and received a reward!"
already_welcomed
:
"&#ff9900You've already welcomed %player%!"
expired
:
"&#ff0000Time to welcome %player% has expired!"
not_new
:
"&#aaaaaaPlayer %player% is not new anymore!"
combo_reward
:
"Bff66Congrats! You received a reward for %count% welcomes!"
reload_success
:
"�ffffPlugin reloaded successfully!"
How It Works
- A new player joins the server.
- A broadcast is sent with %player%.
- Other players have a limited time (e.g. 30s) to send a matching greeting from message_formats.
- Only the first player to do so receives the reward.
- Players cannot greet themselves.
- After timeout, greeting expires.
Commands
Command
Description
Permission
/fjr reload Reload config and messages fjr.admin
Data Storage
- Tracks:
- Who joined for the first time
- Who welcomed whom
- Who received combo rewards
- Stores data in SQLite (.db file)
- Prevents duplicate rewards
- Works across restarts
Tips
- Customize message_formats to suit your community vibe
- Use eco give, lp user %sender% permission set ..., etc. in commands
- HEX (&#xxxxxx) and &a style codes supported
- You can mix languages, add as many greeting formats as you like
❤️
Plugin by Deveusz
Need help or want to share ideas? Join discussions or reach out on Discord!