ExtraGreetings
A feature-rich greeting plugin for Minecraft servers with customizable particles, titles, subtitles, action bars, boss bars, chat messages, and more.
ExtraGreetings
🎉 ExtraGreetings
A feature-rich greeting plugin for Minecraft servers with Minecraft 1.20.1+, Minecraft 1.20.1+, Minecraft 1.20.1+, and optimized for Minecraft 1.20.1+.
✨ Features
- 🧪 Enhanced Test Command - Welcome players with titles, subtitles, action bars, boss bars, particles, sounds, and chat messages - 🧪 Enhanced Test Command - Different greetings for new players vs returning players - 🧪 Enhanced Test Command - Special greetings for VIP players with permissions (now includes quit messages!) - 🧪 Enhanced Test Command - VIP and regular quit messages with different effects - 🧪 Enhanced Test Command - Full support for Folia's scheduler - 🧪 Enhanced Test Command - Rich text formatting with gradients, colors, and effects - 🧪 Enhanced Test Command - Support for custom placeholders - 🧪 Enhanced Test Command - Prevent spam with configurable cooldowns - 🧪 Enhanced Test Command - Run commands on join/quit events - 🧪 Enhanced Test Command - Track player joins and active features - 🧪 Enhanced Test Command - Reload configuration without restarting - 🧪 Enhanced Test Command - Automatic configuration updates with backup system - 🧪 Enhanced Test Command - Actually test greetings instead of just logging
📋 Requirements
- Optional - Optional or Optional server - Optional - Optional: PlaceholderAPI for additional placeholders
⚙️ Configuration
The plugin generates a default configuration file at `plugins/ExtraGreetings/config.yml`. Here's an example:
```yaml
ExtraGreetings Configuration
settings: enableJoin: true enableQuit: true cooldownSeconds: 60 debug: false joinDelay: 1
join: firstTime: title: "<gradient:#FF55FF:#55FFFF>Welcome</gradient>" subtitle: "<italic>%player% has joined for the first time!</italic>" actionbar: "<rainbow>Enjoy your stay!</rainbow>" bossbar: enable: true text: "Welcome, %player%!" color: BLUE style: SOLID duration: 10 particles: enable: true effect: "HEART" count: 50 offset: {x: 0.5, y: 1.0, z: 0.5} speed: 0.1 sound: enable: true effect: "ENTITY_PLAYER_LEVELUP" volume: 1.0 pitch: 1.0 message: "<bold><gold>[+]</bold> <white>%player%</white> joined for the first time!" commands: - "give %player% diamond 1" - "broadcast &aWelcome new player %player%!"
recurring: title: "<yellow>Welcome back!</yellow>" subtitle: "<gray>Enjoy your stay!</gray>" message: "<gray>[+]</gray> <white>%player%</white> returned!"
vip: enable: true title: "<gradient:#FFD700:#FFA500>VIP</gradient> <gold>Welcome!</gold>" subtitle: "<yellow>%player% the VIP has joined!</yellow>"
... more VIP settings
quit:
VIP quit greeting (for players with extragreetings.vip permission)
vip: message: "<bold><gold>[VIP]</gold></bold> <yellow>%player%</yellow> has left the server!" particles: enable: true effect: "DRAGON_BREATH" count: 30 offset: {x: 0.5, y: 1.0, z: 0.5} speed: 0.15 sound: enable: true effect: "ENTITY_ENDER_DRAGON_FLAP" volume: 1.0 pitch: 1.2 commands: - "say VIP %player% has left the server!"
Regular quit greeting
regular: message: "<gray>[-]</gray> <white>%player%</white> left the server." particles: enable: true effect: "SMOKE_NORMAL" count: 20 offset: {x: 0.0, y: 0.5, z: 0.0} speed: 0.1 sound: enable: true effect: "ENTITY_HORSE_SADDLE" volume: 0.8 pitch: 1.0 commands: [] ```
🎮 Commands
| Command | Description | Permission | |---------|-------------|------------| | `/extragreetings` | Show help menu | `extragreetings.admin` | | `/extragreetings reload` | Reload configuration | `extragreetings.admin` | | `/extragreetings info` | Show plugin information | `extragreetings.admin` | | `/extragreetings stats` | Show plugin statistics | `extragreetings.admin` | | `/extragreetings debug [on/off]` | Toggle debug mode | `extragreetings.admin` | | `/extragreetings reset [data/cooldowns]` | Reset plugin data | `extragreetings.admin` | | `/extragreetings test [join/quit]` | Test greetings (actually triggers them!) | `extragreetings.admin` | | `/extragreetings update` | Update configuration to latest version | `extragreetings.admin` |
Aliases: `/eg`
🔐 Permissions
| Permission | Description | Default | |------------|-------------|---------| | `extragreetings.admin` | Access to admin commands | `op` | | `extragreetings.vip` | Receive VIP greetings (join AND quit) | `false` | | `extragreetings.bypass.cooldown` | Bypass greeting cooldown | `op` |
🛠️ Configuration Updater
✨ Features:
- Validation: Updates configuration on plugin startup - Validation: Maintains all your configuration comments - Validation: Creates timestamped backups before changes - Validation: Use `/extragreetings update` to force updates - Validation: Checks for invalid sound/particle effects
📁 Backup Location:
Backups are stored in `/plugins/ExtraGreetings/backups/config.yml.timestamp.bak`
🔄 How It Works:
1. Preservation: Plugin automatically checks for missing config options 2. Preservation: Adds new options with default values 3. Preservation: Removes obsolete configuration options 4. Preservation: Keeps all your custom settings and comments
📝 Console Messages:
``` [ExtraGreetings] Added missing config option: quit.vip.message [ExtraGreetings] Configuration updated successfully! [ExtraGreetings] Config backed up to: config.yml.1234567890.bak ```
🎨 MiniMessage Formatting
ExtraGreetings supports full MiniMessage formatting:
```yaml title: "<gradient:#FF55FF:#55FFFF>Welcome</gradient>" subtitle: "<italic><yellow>%player%</yellow> has joined!</italic>" actionbar: "<rainbow>Enjoy your stay!</rainbow>" message: "<bold><gold>[+]</gold></bold> <white>%player%</white> joined!" ```
Available Tags: - `<bold>`, `<italic>`, `<underlined>`, `<strikethrough>` - `<color:#hex>`, `<red>`, `<green>`, `<blue>`, etc. - `<gradient:#start:#end>`, `<rainbow>` - `<click:run_command:/command>`, `<hover:show_text:text>`
🏷️ Placeholders
Built-in Placeholders
- `%player%` - Player name - `%player_displayname%` - Player display name - `%player_uuid%` - Player UUID - `%online_players%` - Online player count - `%max_players%` - Maximum players - `%server_name%` - Server name - `%current_time%` - Current time - `%server_uptime%` - Server uptime - `%plugin_version%` - Plugin version
PlaceholderAPI Support
When PlaceholderAPI is installed, you can use any available placeholder: - `%player_level%` - Player level - `%vault_eco_balance%` - Player balance - `%luckperms_prefix%` - Player prefix - And many more!
🎆 Particle Effects
Supported particle effects include: - `HEART`, `VILLAGER_HAPPY`, `FLAME`, `SMOKE_NORMAL` - `EXPLOSION_LARGE`, `FIREWORKS_SPARK`, `ENCHANTMENT_TABLE` - `SNOWFLAKE`, `WATER_BUBBLE`, `REDSTONE` - NEW: `DRAGON_BREATH` (used in VIP quit greetings) - And all other Bukkit particle types
🔊 Sound Effects
Supported sound effects include: - `ENTITY_PLAYER_LEVELUP`, `ENTITY_EXPERIENCE_ORB_PICKUP` - `ENTITY_ENDER_DRAGON_GROWL`, `ENTITY_HORSE_SADDLE` - `BLOCK_ANVIL_USE`, `ENTITY_FIREWORK_ROCKET_LAUNCH` - NEW: `ENTITY_ENDER_DRAGON_FLAP` (used in VIP quit greetings) - And all other Bukkit sound types
🎯 Boss Bar Configuration
```yaml bossbar: enable: true text: "Welcome, %player%!" color: BLUE # BLUE, RED, GREEN, YELLOW, PURPLE, PINK, WHITE style: SOLID # SOLID, SEGMENTED_6, SEGMENTED_10, SEGMENTED_12, SEGMENTED_20 duration: 10 # Duration in seconds ```
🔧 Advanced Configuration
Custom Commands
Execute commands when players join or quit: ```yaml commands: - "give %player% diamond 1" - "broadcast &aWelcome %player%!" - "tp %player% spawn" ```
VIP Configuration
Special greetings for VIP players (both join AND quit): ```yaml vip: enable: true title: "<gradient:#FFD700:#FFA500>VIP</gradient> <gold>Welcome!</gold>"
Players need extragreetings.vip permission
```
Permission-Based Quit Messages
Different quit messages based on permissions: - Regular Players (`extragreetings.vip`): Special quit effects with dragon particles - Regular Players: Standard quit messages
Cooldown System
Prevent greeting spam: ```yaml settings: cooldownSeconds: 60 # Cooldown in seconds joinDelay: 1 # Delay before showing greeting ```
📊 Statistics
Use `/extragreetings stats` to view: - Total players who have joined - Active cooldowns - Active boss bars - Plugin status
🧪 Testing System
Usage:
- `/extragreetings test join` - Tests join greetings (shows actual effects!) - `/extragreetings test quit` - Tests quit greetings (shows actual effects!)
Features:
- Error Handling: Shows real greetings instead of just logging - Error Handling: Automatically detects VIP status - Error Handling: Shows which type of greeting is being triggered - Error Handling: Provides clear error messages if something fails
🐛 Troubleshooting
Common Issues
1. Config not updating: Check if join/quit events are enabled in config 2. Config not updating: Verify particle effect names are correct 3. Config not updating: Check sound effect names and volume settings 4. Config not updating: Make sure PlaceholderAPI is installed and loaded 5. Config not updating: Use `/extragreetings update` to manually update
Debug Mode
Enable debug mode to see detailed logging: ```yaml settings: debug: true ```
Or use the command: `/extragreetings debug on`
🔄 Migration
From Other Greeting Plugins
1. Start your server 2. Start your server and its data files 3. Start your server 4. Start your server the new plugin using this guide 5. Start your server
🤝 Support
- Discord: Discord