
GreetCraft
A powerful and configurable Paper Server plugin that greets players with beautiful, formatted messages when they enter the server.
GreetCraft
A lightweight, fully configurable Paper plugin that welcomes players with rich, formatted join messages powered by MiniMessage.
Features
- MiniMessage support — Gradients, hex colours, decorations, and more via the MiniMessage standard
- Broadcast messages — Optionally announce joins to the entire server
- Placeholder system — Inject player name, world, online count, and other dynamic values
- Live reload — Apply config changes without restarting via
/greetcraft reload - Graceful fallback — Automatically uses legacy formatting on Spigot/Bukkit where MiniMessage is unavailable
- Fine-grained permissions — Control access at a per-feature level
- Minimal footprint — 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
- Download the latest release from Modrinth.
- Place the
.jarfile into your server'splugins/directory. - Restart the server. Avoid using
/reload confirmin production environments. - Edit
plugins/GreetCraft/config.ymlto your liking. - Run
/greetcraft reloadto apply changes without a restart.
Configuration
The configuration file is generated automatically at plugins/GreetCraft/config.yml on first run.
# 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.
# Colour gradient
welcome-message: '<gradient:gold:yellow>Welcome, %player%!</gradient>'
# ✨ text
welcome-message: '<✨>Welcome, %player%!</✨>'
# 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.
- Modrinth: Use the issue tracker on the Modrinth project page
- GitHub: Open an issue or pull request on the GitHub repository
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.
