All Mods Resource Packs Data Packs Shaders Modpacks Plugins
Nilcord

Nilcord

by unilock • Downloads: 0 • Followers: 0
Description
Gallery
Changelog
Versions

What started as a niche project for a niche modloader for a niche Minecraft version has now been extended to all Minecraft versions (that I personally care about)!

Nilcord | Yet another Discord bridge for Minecraft

Nilcord connects the chat of your Minecraft server to a specified Discord text channel, using a Discord bot and (optionally) webhook.

Installation

To get the mod set up, simply place the mod file in the mods directory (or nilmods with NilLoader), start your Minecraft server, and wait for it to generate the config file (and crash because it's not yet populated).

The config file, named nilcord.toml, is found in the config folder, and is pretty self-explanatory.

(default configuration)
# Settings pertaining to Discord itself
[discord]
    # The Discord bot token to use
    # default: 
    token = ""
    # The default Discord channel ID for the bot to send messages to / receive messages from. Used ALONGSIDE send_to and receive_from. Can be blank!
    # default: 
    channel_id = ""
    # Other Discord channel ID(s) for the bot to send messages to
    send_to = []
    # Other Discord channel ID(s) for the bot to receive messages from
    receive_from = []

    # Settings pertaining to the Discord webhook
    [discord.webhook]
        # Whether to use a webhook for sending players' chat messages to Discord
        # default: false
        enabled = false
        # The webhook URL to use
        # default: 
        url = ""

# Settings pertaining to Minecraft itself
[minecraft]
    # Whether to allow mentioning Discord users from Minecraft
    # default: false
    enable_mentions = false
    # Whether to allow mentioning @everyone and @here from Minecraft
    # default: false
    enable_everyone_and_here = false
    # Whether to show Discord message attachments in-game
    # default: true
    show_attachments = true
    # Whether to show messages from other Discord bots in-game
    # default: false
    show_bot_messages = false
    # Whether to show messages from Discord webhooks in-game
    # default: true
    show_webhook_messages = true
    # Application / User IDs to ignore messages from
    ignored_ids = ["000000000000000000"]

# Settings pertaining to message formatting
[formatting]

    # Settings pertaining to messages visible in Discord
    # Available placeholders: <displayname> <username>
    [formatting.discord]
        # Server starting message
        # Available placeholders: N/A
        # default: **Server starting...**
        server_starting_message = "**Server starting...**"
        # Server started message
        # Available placeholders: N/A
        # default: **Server started!**
        server_started_message = "**Server started!**"
        # Server stopping message
        # Available placeholders: N/A
        # default: **Server stopping...**
        server_stopping_message = "**Server stopping...**"
        # Server stopped message
        # Available placeholders: N/A
        # default: **Server stopped!**
        server_stopped_message = "**Server stopped!**"
        # Server crash message
        # Available placeholders: N/A
        # default: **Server crashed :(**
        server_crash_message = "**Server crashed :(**"
        # Player chat messages
        # Additional placeholders: <message>
        # default: **<<username>>** <message>
        chat_message = "**<<username>>** <message>"
        # Player join messages
        # Additional placeholders: N/A
        # default: > **<username> joined the game**
        join_message = "> **<username> joined the game**"
        # Player leave messages
        # Additional placeholders: N/A
        # default: > **<username> left the game**
        leave_message = "> **<username> left the game**"
        # Player advancement messages
        # Additional placeholders: <advancement_description> <advancement_title>
        # default: > **<username>** has just earned the achievement **[<advancement_title>]**
        #> \> _<advancement_description>_
        advancement_fallback_message = "> **<username>** has just earned the achievement **[<advancement_title>]**\n> \\> _<advancement_description>_"
        # default: > **<username>** has completed the challenge **[<advancement_title>]**
        #> \> _<advancement_description>_
        advancement_challenge_message = "> **<username>** has completed the challenge **[<advancement_title>]**\n> \\> _<advancement_description>_"
        # default: > **<username>** has reached the goal **[<advancement_title>]**
        #> \> _<advancement_description>_
        advancement_goal_message = "> **<username>** has reached the goal **[<advancement_title>]**\n> \\> _<advancement_description>_"
        # default: > **<username>** has made the advancement **[<advancement_title>]**
        #> \> _<advancement_description>_
        advancement_task_message = "> **<username>** has made the advancement **[<advancement_title>]**\n> \\> _<advancement_description>_"
        # Player death messages
        # Additional placeholders: <death_message>
        # default: **<username> died:** _<death_message>_
        death_message = "**<username> died:** _<death_message>_"

        # Settings pertaining to messages sent from the webhook, if enabled
        [formatting.discord.webhook]
            # The URL to use for the webhook's avatar
            # Additional placeholders: <skin_id> <skin_model> <uuid>
            # default: https://visage.surgeplay.com/bust/128/<skin_id>?<skin_model>
            avatar_url = "https://visage.surgeplay.com/bust/128/<skin_id>?<skin_model>"
            # Default skin ID for the webhook's avatar, if the player's cannot be loaded
            # default: 31f477eb1a7beee631c2ca64d06f8f68fa93a3386d04452ab27f43acdf1b60cb
            default_skin_id = "31f477eb1a7beee631c2ca64d06f8f68fa93a3386d04452ab27f43acdf1b60cb"
            # Default skin model for the webhook's avatar, if the player's cannot be loaded
            # default: wide
            default_skin_model = "wide"
            # The webhook's username
            # Additional placeholders: N/A
            # default: <username>
            username = "<username>"
            # Player chat messages
            # Additional placeholders: <message>
            # default: <message>
            chat_message = "<message>"

    # Settings pertaining to messages visible in Minecraft
    # Available placeholders: <message> <message_url> <nickname> <role_color> <username>
    [formatting.minecraft]
        # Discord messages
        # Additional placeholders: <attachment_format> <discord_format> <reply_format> <username_format>
        # default: [Discord] <reply_format><click type:open_url value:'<message_url>'><<username_format>></click> <message><attachment_format>
        discord_message = "[Discord] <reply_format><click type:open_url value:'<message_url>'><<username_format>></click> <message><attachment_format>"
        # Username format
        # Additional placeholders: N/A
        # default: <hover type:show_text value:'@<username>'><color value:'<role_color>'><nickname></color></hover>
        username_format = "<hover type:show_text value:'@<username>'><color value:'<role_color>'><nickname></color></hover>"
        # Mention format
        # Additional placeholders: N/A
        # default: <underline><hover type:show_text value:'@<username>'>@<nickname></hover></underline>
        mention_format = "<underline><hover type:show_text value:'@<username>'>@<nickname></hover></underline>"
        # Reply format
        # Additional placeholders: <reply_message> <reply_nickname> <reply_role_color> <reply_url> <reply_username>
        # default: <click type:open_url value:'<reply_url>'><hover type:show_text value:'@<reply_username>: <reply_message>'>[<aqua>←</aqua><color value:'<reply_role_color>'><reply_nickname></color>]</hover></click> 
        reply_format = "<click type:open_url value:'<reply_url>'><hover type:show_text value:'@<reply_username>: <reply_message>'>[<aqua>←</aqua><color value:'<reply_role_color>'><reply_nickname></color>]</hover></click> "
        # Attachment format
        # Additional placeholders: <attachment_url>
        # default: <click type:open_url value:'<attachment_url>'>[<aqua>Attachment</aqua>]</click>
        attachment_format = "<click type:open_url value:'<attachment_url>'>[<aqua>Attachment</aqua>]</click>"

(Note that this is the config file for Nilcord 4.2+26.2+fabric. It may look different on other versions.)

Only the token and channel_id fields (under the discord category) are strictly required to be filled out; the mod falls back to sensible defaults for everything else. But feel free to change it to your liking!

Notes

For setting up a Discord application (to get a bot token), follow discord.js' guide: Setting up a bot application | discord.js Guide

For finding a Discord channel's "Channel ID", follow Discord's guide: Where can I find my User/Server/Message ID? - Discord

With 1.21.1 and below, the Fabric versions can also make use of the Simplified Text Format, as well as placeholders supplied by Text Placeholder API and the various mods that support it.

With 1.21.2 and above, the Fabric versions allow using QuickText as well.

With 1.20.4, as well as 26.1 and above, the NeoForge versions also allow using Simplified Text Format and QuickText.

The Forge 1.7.10 version has additional support for ChromatiCraft's progression messages, as well as ServerUtilities' AFK messages.


Comments? Questions? Suggestions? Demands? Open an issue on the issue tracker!

How to Install Nilcord (Mod)

Nilcord by unilock is verified for Fabric, Forge, Neoforge, Nilloader, Quilt across Minecraft versions 1.12.2, 1.19, 1.19.1, 1.19.2, 1.20, 1.20.1, 1.20.3, 1.20.4 (latest release: 5.1+1.21+fabric, file size: 10.5 MB). Follow the steps below to install it safely from ModCraft.tv:

  1. Click the Download button above and select your Minecraft version (1.12.2, 1.19, 1.19.1, 1.19.2, 1.20, 1.20.1, 1.20.3, 1.20.4) and platform (Fabric, Forge, Neoforge, Nilloader, Quilt).
  2. Make sure you have the compatible loader or environment installed for Fabric, Forge, Neoforge, Nilloader, Quilt.
  3. Move the downloaded Nilcord file into your Minecraft .minecraft/mods folder and launch the game.

All Versions

+ Add Version
Name Game version Platforms Published Downloads Actions
1.21.x
Fabric
1mo ago 1
26.3
Fabric
2mo ago 1
26.2
Neoforge
2mo ago 1
26.2
Fabric
2mo ago 1
26.1.x
Neoforge
2mo ago 1
26.1.x
Fabric
2mo ago 1
26.2
Neoforge
3mo ago 1
26.2
Fabric
3mo ago 1
26.1.x
Neoforge
3mo ago 1
26.1.x
Fabric
3mo ago 1
26.2
Neoforge
3mo ago 1
26.2
Fabric
3mo ago 1
26.1.x
Neoforge
3mo ago 1
26.1.x
Fabric
3mo ago 1
26.1.x
Neoforge
3mo ago 1
26.1.x
Fabric
3mo ago 1
26.2
Neoforge
3mo ago 1
26.2
Fabric
3mo ago 1
1.4.7
Nilloader
3mo ago 1
26.2
Neoforge
4mo ago 1
26.2
Fabric
4mo ago 1
26.1.x
Neoforge
4mo ago 1
26.1.x
Fabric
4mo ago 1
26.1.x
Neoforge
7mo ago 1
26.1.x
Fabric
7mo ago 1
1.21.11
Fabric
10mo ago 1
1.4.7
Nilloader
last yr. 1
1.4.7
Nilloader
last yr. 1
1.21.x
Fabric
last yr. 1
1.21.x
Fabric
last yr. 1
1.20.x
Fabric Quilt
last yr. 1
1.21.x
Fabric
last yr. 1
1.21.x
Fabric
last yr. 1
1.20.x
Fabric Quilt
last yr. 1
1.21.x
Fabric
last yr. 1
1.21.x
Fabric
last yr. 1
1.21.x
Fabric
last yr. 1
1.20.x
Fabric Quilt
last yr. 1
1.20.x
Fabric Quilt
last yr. 1
1.20.x
Fabric Quilt
last yr. 1
1.20.x
Fabric Quilt
last yr. 1
1.12.2
Forge
last yr. 1
1.7.10
Forge
last yr. 1
1.21.5
Fabric
last yr. 1
1.21.x
Fabric
last yr. 1
1.21.x
Fabric
last yr. 1
1.4.7
Nilloader
last yr. 1
1.20.x
Fabric Quilt
last yr. 1
1.19.x
Fabric Quilt
last yr. 1
1.12.2
Forge
last yr. 1
1.7.10
Forge
last yr. 1
1.20.x
Fabric Quilt
last yr. 1
1.20.x
Fabric Quilt
last yr. 1
1.21.4
Fabric
last yr. 1
1.21.4
Fabric
last yr. 1
1.4.7
Nilloader
last yr. 1
1.4.7
Nilloader
last yr. 1
1.4.7
Nilloader
last yr. 1
1.12.2
Forge
last yr. 1
1.12.2
Forge
last yr. 1
1.12.2
Forge
last yr. 1
1.7.10
Forge
last yr. 1
1.12.2
Forge
last yr. 1
1.20.x
Neoforge
last yr. 1
1.20.x
Neoforge
last yr. 1
1.20.x
Neoforge
last yr. 1
1.20.x
Neoforge
last yr. 1
1.7.10
Forge
last yr. 1
1.19.x
Fabric Quilt
last yr. 1
1.19.x
Fabric Quilt
last yr. 1
1.20.x
Fabric Quilt
last yr. 1
1.20.x
Fabric Quilt
last yr. 1
1.7.10
Forge
last yr. 1
1.12.2
Forge
last yr. 1
1.20.x
Fabric Quilt
last yr. 1
1.20.x
Fabric Quilt
last yr. 1
1.20.x
Fabric Quilt
last yr. 1
1.20.x
Fabric Quilt
last yr. 1
1.20.x
Fabric Quilt
last yr. 1
1.20.x
Fabric Quilt
last yr. 1
1.7.10
Forge
last yr. 1
1.4.7
Nilloader
last yr. 1
Sync with modern branch
Run the treadmill (port to 26.3)
Avoid webhook conflicts when attaching multiple Nilcord instances to the same channel
Avoid webhook conflicts when attaching multiple Nilcord instances to the same channel
Avoid webhook conflicts when attaching multiple Nilcord instances to the same channel
Avoid webhook conflicts when attaching multiple Nilcord instances to the same channel
Refactor webhook logic. Webhooks are now created automatically per Discord text channel that Nilcord is configured to send Minecraft chat messages to. Yay! (your configs may need updating)
Refactor webhook logic. Webhooks are now created automatically per Discord text channel that Nilcord is configured to send Minecraft chat messages to. Yay! (your configs may need updating)
Refactor webhook logic. Webhooks are now created automatically per Discord text channel that Nilcord is configured to send Minecraft chat messages to. Yay! (your configs may need updating)
Refactor webhook logic. Webhooks are now created automatically per Discord text channel that Nilcord is configured to send Minecraft chat messages to. Yay! (your configs may need updating)
Allow sending messages to / receiving messages from multiple Discord text channels. Old configs should migrate automatically! (hopefully)
Allow sending messages to / receiving messages from multiple Discord text channels. Old configs should migrate automatically! (hopefully)
Allow sending messages to / receiving messages from multiple Discord text channels. Old configs should migrate automatically! (hopefully)
Allow sending messages to / receiving messages from multiple Discord text channels. Old configs should migrate automatically! (hopefully)
Tweak crash report logic to not trigger superfluously
Nilcord Icon
Download Nilcord
Select game version
Select platform