> For the complete documentation index, see [llms.txt](https://wiki.leafstudios.dev/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://wiki.leafstudios.dev/plugins/blockyjoin.md).

# BlockyJoin

### 🎯 What is BlockyJoin?

BlockyJoin is a premium, high-performance join/leave message plugin for Paper/Folia servers (1.21+). It offers fully customizable message sets, beautiful GUIs, database storage, and Folia compatibility. Give your players the ability to choose their own unique join/leave messages with permission-based access.

### ✨ Key Features

* **Highly Configurable** - Customize every aspect of join/leave messages
* **MiniMessage Support** - Full RGB gradients, hover events, and modern formatting
* **Customizable GUI** - Beautiful, paginated message selection interface with favorites
* **Permission-Based Message Sets** - Control access to different message themes
* **Folia Compatible** - Optimized for Folia's regionized scheduling system
* **Database Storage** - SQLite database for player preferences with automatic backup system
* **Multiple Message Types** - CHAT, TITLE, ACTIONBAR support
* **World-Based Messages** - Enable/disable messages in specific worlds
* **First Join Messages** - Special messages for new players
* **Preview System** - Test messages before applying them
* **Multi-Page GUI** - Handle unlimited message sets with pagination
* **Skull Texture Support** - Custom player heads for GUI items
* **PlaceholderAPI Integration** - Support for PAPI placeholders in messages
* **LuckPerms Integration** - Display prefixes, suffixes, and groups in messages
* **Auto-Config Updates** - Seamlessly updates configs while preserving your settings

### 📚 Quick Links

#### Getting Started

* [Installation Guide](/plugins/blockyjoin/installation-and-setup.md)
* [Quick Start Guide](/plugins/blockyjoin/quick-start.md)
* [Commands & Permissions](/plugins/blockyjoin/commands-and-permissions.md)

#### Advanced

* [Placeholders](/plugins/blockyjoin/placeholders.md)
* [Creating Custom Message Sets](/plugins/blockyjoin/creating-message-sets.md)
* [GUI Customization](/plugins/blockyjoin/gui-customization.md)

#### Support

* [FAQ](/plugins/blockyjoin/frequently-asked-questions.md)
* [Troubleshooting](/plugins/blockyjoin/frequently-asked-questions.md#troubleshooting)

### 🎮 Quick Example

```yaml
# Example message set from join-leave-messages.yml
wizard:
  join:
    - "<#49FF00>[+] <white>Wizard <#AC73D4>{player} <white>appeared in a puff of smoke!"
  leave:
    - "<#FF3232>[-] <white>Wizard <#AC73D4>{player} <white>vanished in smoke."
  item:
    material: "PLAYER_HEAD"
    name: "<#AC73D4>Wizard's Appearance"
  permission: "blockyjoin.set.wizard"
```

### 💬 Support & Community

* **Discord**: [Join our Discord](https://leafstudios.dev/discord)
* **Documentation**: You're here!

### 📝 Credits

**Developed by:**

* Leaf Studios
* Blockyware Studios
