GreetCraft
A powerful and configurable Paper Server plugin that greets players with beautiful, formatted messages when they enter the server.
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.
GreetCraft
GreetCraft
A lightweight, fully configurable Paper plugin that welcomes players with rich, formatted join messages powered by MiniMessage.
Features
- Modern API usage — Gradients, hex colours, decorations, and more via the Modern API usage standard - Modern API usage — Optionally announce joins to the entire server - Modern API usage — Inject player name, world, online count, and other dynamic values - Modern API usage — Apply config changes without restarting via `/greetcraft reload` - Modern API usage — Automatically uses legacy formatting on Spigot/Bukkit where MiniMessage is unavailable - Modern API usage — Control access at a per-feature level - Modern API usage — Designed to have negligible impact on server performance - Modern API usage — Built against Paper's latest APIs
Requirements
| Requirement | Minimum | |---|---| | Java | 17 | | Minecraft | 1.20 | | Server software | Paper 1.20+ (see Compatibility) |
Installation
1. Download the latest release from Modrinth. 2. Place the `.jar` file into your server's `plugins/` directory. 3. Restart the server. Avoid using `/reload confirm` in production environments. 4. Edit `plugins/GreetCraft/config.yml` to your liking. 5. Run `/greetcraft reload` to apply changes without a restart.
Configuration
The configuration file is generated automatically at `plugins/GreetCraft/config.yml` on first run.
```yaml
Enable MiniMessage formatting.
Set to false to use legacy (&) formatting codes instead.
use-minimessage: true
Message sent privately to the joining player.
welcome-message: '<gold><bold>Welcome to the server, %player%!</bold></gold>'
Whether to broadcast a message to all online players when someone joins.
broadcast-join: true
Message broadcast to all players on join.
broadcast-message: '<yellow>%player%</yellow> <gray>joined the server (<white>%online%</white> online).</gray>'
Set to true to suppress the default "Player joined the game" message.
override-join-message: false ```
Placeholders
These placeholders can be used in any message field within `config.yml`.
| Placeholder | Description | |---|---| | `%player%` | The joining player's username | | `%displayname%` | The joining player's display name | | `%world%` | The name of the world the player joined in | | `%online%` | The current number of online players |
MiniMessage Formatting
When `use-minimessage: true` is set, you can use the full MiniMessage tag syntax in your messages.
```yaml
Colour gradient
welcome-message: '<gradient:gold:yellow>Welcome, %player%!</gradient>'
Rainbow text
welcome-message: '<rainbow>Welcome, %player%!</rainbow>'
Hex colour
welcome-message: '<#00ff00>Welcome, %player%!</#00ff00>'
Combined tags
welcome-message: '<gradient:red:blue><bold>Welcome</bold></gradient> <aqua>%player%</aqua>!' ```
For a full reference of available tags, see the MiniMessage Documentation.
Commands
| Command | Description | Permission | |---|---|---| | `/greetcraft` | Displays plugin version and information | `greetcraft.use` | | `/greetcraft reload` | Reloads `config.yml` without a restart | `greetcraft.reload` |
Aliases: `/gc`, `/greet`
Permissions
| Node | Description | Default | |---|---|---| | `greetcraft.use` | Access to the `/greetcraft` command | `true` | | `greetcraft.reload` | Access to `/greetcraft reload` | `op` | | `greetcraft.*` | Grants all GreetCraft permissions | `op` |
Compatibility
| Platform | Support level | |---|---| | Paper | Full support (recommended) | | Purpur | Full support | | Folia | Full support |
MiniMessage formatting requires Paper or a Paper fork. On Spigot and Bukkit, the plugin automatically falls back to standard `&`-based formatting codes.
Contributing
Bug reports and feature requests are welcome.
- GitHub: Use the issue tracker on the GitHub: - GitHub: Open an issue or pull request on the %%MD1%%
When reporting a bug, please include your server software, version, and a full copy of any relevant error output from the console.
Licence
This project is released under the MIT Licence.