GreetCraft
A powerful and configurable Paper Server plugin that greets players with beautiful, formatted messages when they enter the server.
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.