ExtraGreetings

A feature-rich greeting plugin for Minecraft servers with customizable particles, titles, subtitles, action bars, boss bars, chat messages, and more.

343

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

ADS