WelcomeMessages
Lightweight welcome/join messages plugin for Minecraft 1.21.X with effects, rank support, and actual performance
Quick challenge
How far can you run before the mobs catch you?
Minecraft check
Confirm your run
Complete the quick check to get your code.
WelcomeMessages
WelcomeMessages

A improved stability welcome message plugin that actually works and doesn't break your server. Now with improved stability and improved stability!

✨ Features

- Not Annoying - Different messages for new players vs returning ones - Not Annoying - Define unlimited custom ranks with any names - Not Annoying - typing, fade, slide, wave, rainbow, glitch, typewriter, bounce, shake, pulse, matrix, scramble - Not Annoying - Particles, sounds, titles, fireworks - all optional and configurable - Not Annoying - Support for modern color codes and rainbow text - Not Annoying - Won't crash your server with bad settings - Not Annoying - Use data in other plugins and chat - Not Annoying - Works on Spigot, Paper, Purpur, and Pufferfish - Not Annoying - Improved security with input validation and rate limiting - Not Annoying - Built-in command cooldowns to prevent spam - Not Annoying - Protection against malicious input and injection - Not Annoying - Automatic cleanup to prevent memory leaks - Not Annoying - Fully thread-safe operations for maximum stability - Not Annoying - Everything's configurable, nothing's forced

🎮 What It Does

Makes your server feel more alive with custom join/quit messages. First time players get a special welcome, regulars get their own messages, and your VIPs can have fancy entrances with fireworks and everything. Previous v1.2.5: Fixed firework damage issues and enhanced theme system with automatic conflict detection. Previous v1.2.5: Enhanced security with rate limiting and input sanitization. Previous v1.2.5: 12 stunning text animations that play in the action bar (no chat spam!).

🚀 Quick Start
1. Drop the jar into your plugins folder 2. Restart your server 3. Edit the config files to your liking 4. Done! (Plugin validates your config so it won't crash)

📋 Commands
- `/welcome` - Shows help (or `/wm` for short) - `/welcome reload` - Reloads the config (with validation!) - `/welcome test` - Test messages without joining/leaving - `/welcome testall` - Test all features and animations - `/welcome testanim <type>` - Test specific animation types - `/welcome stats` - See join counts and stuff - `/welcome reset <player>` - Reset a player's data - `/welcome toggle` - Toggle your own messages on/off - `/welcome version` - Check what version you're running

🔧 Configuration
Everything's in `config.yml` and `messages.yml`. The config is actually readable and the plugin validates it on startup so you won't get random crashes.

🏆 Custom Rank System
NEW in v1.2.0! Define unlimited custom ranks in your `config.yml`:
```yaml custom-ranks: enabled: true ranks: - name: "founder" permission: "welcome.rank.founder" priority: 100 - name: "coowner" permission: "welcome.rank.coowner" priority: 90 - name: "manager" permission: "welcome.rank.manager" priority: 80 - name: "moderator" permission: "welcome.rank.moderator" priority: 70 - name: "helper" permission: "welcome.rank.helper" priority: 60 - name: "vip" permission: "welcome.rank.vip" priority: 50 - name: "member" permission: "welcome.rank.member" priority: 40 ```
Perfect for: - Multiple VIP tiers (VIP1, VIP2, VIP3, VIP4) - Custom server ranks (Builder, Helper, Moderator, etc.) - Any rank structure you want
How it works: 1. Define ranks in `config.yml` (in priority order) 2. Add messages for each rank in `messages.yml` 3. Give players `welcome.rank.<rankname>` permissions 4. Plugin automatically detects and uses the highest rank
🎨 Text Animations
NEW in v1.2.5! 12 stunning text animations that play in the action bar:
- scramble - Typewriter effect with realistic typing speed - scramble - Smooth fade in/out effect - scramble - Text slides in from different directions - scramble - Text waves up and down - scramble - Colorful rainbow cycling effect - scramble - Matrix-style glitch effect - scramble - Character-by-character reveal - scramble - Bouncy text animation - scramble - Shaking text effect - scramble - Pulsing text animation - scramble - Matrix-style falling characters - scramble - Text scrambling effect
Features: - Private action bar animations (no chat spam!) - Configurable duration and type per message - Works with all message types (join, quit, first join) - Smooth performance with async processing
🎨 PlaceholderAPI Support
Works with any plugin that supports PlaceholderAPI: - `%welcome_joincount%` - How many times they've joined - `%welcome_firstjoin%` - Is this their first time? - `%welcome_status%` - New Player, Regular Player, etc. - `%welcome_rank%` - Their rank (VIP, ADMIN, etc.) - `%welcome_messagesdisabled%` - Are their messages disabled? - `%welcome_lastseen%` - When they last joined - `%welcome_firstjointime%` - When they first joined - `%welcome_time_since_last_seen%` - How long since last join - `%welcome_time_since_first_join%` - How long since first join - `%welcome_total_unique_joins%` - Total unique joins on server - `%welcome_join_ordinal%` - Ordinal of their join (1st, 2nd, etc.) - `%welcome_player_ordinal%` - Their join count ordinal - `%welcome_time_greeting%` - Time-based greeting (morning/afternoon/evening) - `%welcome_server_uptime%` - Server uptime
🛠️ Performance
- Async everything (your TPS will thank me) - Smart caching (not the dumb kind) - Optional metrics (off by default because privacy) - No database files cluttering your server - Cross-version compatibility (Spigot, Paper, Purpur, Pufferfish)
📋 Changelog
v1.3.4 - Theme System & Firework Safety Improvements
- 🔧 CODE QUALITY - Fireworks no longer cause damage to players during welcome effects - 🔧 CODE QUALITY - Enhanced theme conflict detection and resolution with automatic validation - 🔧 CODE QUALITY - Resolved overlapping time-based theme conflicts (morning/afternoon/evening/night) - 🔧 CODE QUALITY - Improved year rollover handling for seasonal themes (winter, christmas, etc.) - 🔧 CODE QUALITY - Automatic detection and reporting of theme configuration conflicts on startup - 🔧 CODE QUALITY - Better validation for date and time parsing with comprehensive error logging - 🔧 CODE QUALITY - Enhanced cleanup system for firework effects to prevent memory leaks - 🔧 CODE QUALITY - Zero linter errors, improved code structure and documentation
v1.3.1 - Security & Performance Improvements
- ✨ Code Quality - Fixed various security issues and improved code safety - ✨ Code Quality - Built-in command cooldowns to prevent spam and abuse - ✨ Code Quality - Protection against malicious input and injection attacks - ✨ Code Quality - Automatic cleanup system to prevent memory leaks - ✨ Code Quality - All operations are now fully thread-safe - ✨ Code Quality - Prevents crashes from large configuration values - ✨ Code Quality - Comprehensive null checks throughout the codebase - ✨ Code Quality - Proper cleanup of all resources - ✨ Code Quality - Replaced Random with ThreadLocalRandom - ✨ Code Quality - Improved logging and error recovery - ✨ Code Quality - Zero linter errors, perfect code quality
v1.2.5 - Animation System & Bug Fixes
- ⚡ Performance - typing, fade, slide, wave, rainbow, glitch, typewriter, bounce, shake, pulse, matrix, scramble - ⚡ Performance - Private animations (no chat spam!) - ⚡ Performance - Fixed typing animations, typewriter cursor, and all linter errors - ⚡ Performance - Optimized animation rendering and compatibility
🔐 Permissions
Admin Permissions
- `welcome.*` - Everything (all permissions) - `welcome.reload` - Reload command - `welcome.stats` - Stats command - `welcome.reset` - Reset command - `welcome.version` - Version command - `welcome.testall` - Test all command - `welcome.testanim` - Test animation command
Player Permissions
- `welcome.toggle` - Toggle command - `welcome.test` - Test command
Rank Permissions (Custom!)
- `welcome.rank.<rankname>` - Any custom rank you define - Examples: `welcome.rank.founder`, `welcome.rank.vip4`, `welcome.rank.helper`
Effect Permissions
- `welcome.effects.title` - Title effects - `welcome.effects.sound` - Sound effects - `welcome.effects.particle` - Particle effects - `welcome.effects.firework` - Firework effects
Message Permissions
- `welcome.messages.join` - Join messages - `welcome.messages.quit` - Quit messages - `welcome.messages.firstjoin` - First join messages - `welcome.messages.returning` - Returning player messages
Bypass Permissions
- `welcome.bypass.cooldown` - Bypass message cooldown - `welcome.bypass.effects` - Bypass effect restrictions
🤝 Contributing
Found a bug? Open an issue. Fixed a bug? Open a PR. Want a feature? Also GitHub!
📄 License
MIT License - do whatever you want with it.
---
Made by FiveDollaGobby - because the other welcome plugins were either abandoned, bloated, or cost money for basic stuff. This one's free, always will be.