GreetCraft

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

19

Quick challenge

How far can you run before the mobs catch you?

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