GreetCraft

A powerful and configurable Paper Server plugin that greets players with beautiful, formatted messages when they enter the server.

19

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.

ADS