HomeJavaModsWelcome Mod
Welcome Mod
ModsJava

Welcome Mod

by tsunddev · on Modrinth

A simple, configurable Fabric server-side mod that greets players when they join — publicly, privately, or both.

⬇ Download on Modrinth

🌟 Welcome Mod

License GitHub Actions Workflow Status

A simple, configurable Fabric server-side mod that greets players when they join — publicly, privately, or both.
Lightweight: MidnightLib is bundled inside the JAR (jar-in-jar), so no external dependency required.


Table of Contents


Features


Installation

  1. Download the welcome-mod.jar (from your build or release).
  2. Place welcome-mod.jar into your server's mods/ folder.
  3. Start (or restart) your Fabric server.
  4. Configure via in-game MidnightLib config GUI or edit the config file at config/welcome-mod.json.

Configuration

You can update the mod configuration either in-game (MidnightLib GUI) or by directly editing the JSON config file in your server's config/ folder. Changes should apply without a server restart where midnightlib supports live config updates.

Default config (JSON)

{
  "enableBroadcastWelcomeMessage": true,
  "enablePersonalWelcomeMessage": true,
  "broadcastWelcomeOverlay": true,
  "broadcastMessage": "§fEveryone welcome §a%player§f to §a%server§r!",
  "personalMessage": "Welcome §9%player§r, to §a%server§r!"
}

Note: Minecraft color codes (e.g. §a, §f, §9, §r) are supported in the messages.

Update config in-game or via file


Placeholders

Use these placeholders in broadcastMessage and personalMessage. The mod will replace them automatically at runtime:

placeholders.put("%player", player.getDisplayName().getString());
placeholders.put("%server", server.getName());
placeholders.put("%permission", String.valueOf(player.getPermissionLevel()));
placeholders.put("%max", String.valueOf(server.getMaxPlayerCount()));
placeholders.put("%cur", String.valueOf(server.getCurrentPlayerCount()));
Placeholder Description Example output
%player Player display name Notch
%server Server name My Awesome Server
%permission Player permission level (op level) 4
%max Max player count configured on server 100
%cur Current online player count 12

Example message using placeholders:

"broadcastMessage": "Welcome %player to %server! There are %cur/%max players online."

Usage


Manifest / mod metadata (example)

Save this as fabric.mod.json (or include in your build output). This example matches the mod schema you provided:

{
  "schemaVersion": 1,
  "id": "welcome-mod",
  "version": "${version}",
  "name": "Welcome Mod",
  "description": "A simple, server-side mod to greet new players. Configure a custom message to be broadcast server-wide, sent directly to the player, or both.",
  "authors": [
    "Ben L Martin"
  ],
  "contact": {
    "email": "ben@lmartin.dev",
    "sources": "https://github.com/tsunddev/welcome-mod"
  },
  "license": "MIT",
  "icon": "assets/welcome-mod/icon.png",
  "environment": "*",
  "entrypoints": {
    "main": [
      "dev.lmartin.Main"
    ]
  },
  "mixins": [
    "welcome-mod.mixins.json"
  ],
  "depends": {
    "fabricloader": ">=0.17.3",
    "minecraft": "~1.21.10",
    "java": ">=21",
    "fabric-api": "*"
  },
  "suggests": {}
}

Technical Details


Development & Contributing

Contributions welcome! Typical workflow:

  1. Fork the repository.
  2. Create a feature branch.
  3. Make changes and update tests (if any).
  4. Open a PR with a clear description of your changes.

If you add features that change config format or placeholders, update the README and bump the schema/version accordingly.


Author & Contact

Ben L Martin


License

This project is released under the MIT License. See LICENSE for details.


🪶 “A warm welcome goes a long way — even in Minecraft.”
Welcome Mod

Quick facts

Install steps are the general flow for this file type — How to install Minecraft Java mods & modpacks walks through it step by step.

Verified by MCModsHub

These come from our own check of the pack file, not from the source page.

Explore more