Sueta

DiscordNickSync

v1.0.4

Syncs your Discord nickname with your Essentials nickname via DiscordSRV

·Plugin
Tested MC versions
1.21

DiscordNickSync

Latest Release
GitHub Downloads
Modrinth Downloads


Our Discord
Our Other Projects
Donate


DiscordNickSync is a plugin for Minecraft Java Edition that lets your players sync their Discord nickname to their Essentials nickname, and vice versa, via DiscordSRV.

I know that DiscordSRV already allows syncing from Minecraft to Discord, but it doesn't allow syncing the other way around. So I created this plugin to do that!

When Nicknames are Synced

DiscordNickSync currently only syncs nicknames when a player does any of the following:

  • Logs in
  • Links their Discord to Minecraft via DiscordSRV
  • Changes their Essentials nickname.
  • Uses the command /discordnick sync

There is currently no timer to sync nicknames from Discord to Minecraft. If this is a feature you would want, create an issue, and I will consider adding it.

Mentions

DiscordNickSync also allows syncing of Discord mentions!

  • Type @<nickname> in minecraft chat to also ping the linked account on Discord.
  • Mentions from Discord also ping online players in Minecraft.
  • Optionally configure a sound and a title message for the mentioned player.

Note that the way I've set it up, it changes the message in Minecraft to use Discord's nickname. I do not currently know a way around this and would like to change this. If you know another way to implement it, please let me know on Our Discord!

Default Files

Config.yml

# DO NOT CHANGE THIS
internal:
  plugin-version: "X.X.X"
# DO NOT CHANGE THIS

# What name to use by default for both Minecraft and Discord.
# This can be changed by the player as long as they have the permission discordnick.use
# Can either be "minecraft", "discord", or "off"
default-sync: minecraft

# What to replace whitespace characters with when syncing from Discord to Minecraft.
# Keep this as "" to remove whitespace characters.
# Set this to " " to keep as spaces.
# Set this to anything else to replace it with that.
replace-whitespaces-with: ""

# Whether to combine whitespace characters together before replacing them with the value above.
merge-whitespaces-before-replacing: true

# Type @<minecraft username|essentials nickname|discord nickname> in minecraft chat to also ping the linked account on Discord.
# Mentions also work when pinged on Discord, except for the mention color.
mentions:
  # Set to false to disable mentions.
  enabled: true

  # The sound that a player hears when they are mentioned.
  # You must manually disable MinecraftMentionSound in DiscordSRV's config.yml if you don't want multiple sounds.
  play-sound:
    enabled: true
    # Can be any value listed under "Java Edition values" on this webpage: https://minecraft.wiki/w/Sounds.json#Sound_events
    sound: "block.note_block.bell"
    # Any decimal number between 0 and 1.
    volume: 1.0
    # Any decimal number between 0 and 2.
    pitch: 1.0
  
  # Display a title to the player who is mentioned.
  send-title:
    enabled: true
    # Type {mentioner} for the nickname of the person who mentioned you
    # Color formats are supported
    title: "&eYou have been mentioned"
    # Type {mentioner} for the nickname of the person who mentioned you
    # Color formats are supported
    subtitle: "&eby &6&l{mentioner}"
    duration:
      # The duration in ticks for the title to fade in.
      fade-in: 5
      # The duration in ticks for the title to stay on the screen.
      stay: 70
      # The duration in ticks for the title to fade out.
      fade-out: 5

  # The color of the mention in chat.
  # Set to "" to disable
  color: "&e"

updater:
  # Whether to notify admins for new snapshot releases. Admins will still be notified on stable releases.
  notify-on-dev-release: false

Language.yml

colors:
  default: "&e"
  highlight: "&6"
  error: "&c"
  error_highlight: "&6"
messages:
  # {d} for default color
  # {h} for highlight color
  # {e} for error color
  # {eh} for error highlight
  
  reload_success: "{h}DiscordNickSync {d}configuration reloaded."

  # Additional placeholders: {player} {from} {to}
  sync_success: "{d}Synced {h}{player} {d}({from} → {to})"

  # Additional placeholders: {count}
  sync_all_success: "{d}Synced {h}{count} {d}players."

  # Additional placeholders: {player}
  sync_disabled: "{h}{player}{d} has syncing disabled."

  # Additional placeholders: {nickname} {from} {to}
  nickname_updated: "{d}Your {to} nickname has been updated to {h}{nickname}{d}."

  # Additional placeholders: {from} {to}
  mode_set: "{d}Your {to} nickname will now use your {h}{from} {d}nickname"

  sync_notif: "{d}If you would like to configure how your nick is synced, type {h}/discordnick"

  mode_off: "{d}Your nicknames will no longer be synced between Minecraft and Discord."
errors:
  # {d} for default color
  # {h} for highlight color
  # {e} for error color
  # {eh} for error highlight

  no_permission: "{e}You do not have permission to use this command."

  # Additional placeholders: {player}
  player_not_found: "{eh}{player} {e}not found or offline"

  # Additional placeholders: {player}
  sync_not_linked: "{eh}{player} {e}has not linked their Discord account."

  # The usage will be shown after this.
  invalid_command: "{e}Invalid command usage!"

  only_players: "{e}Only players can use this command."

Commands

  • /discordnick < discord | minecraft | off >
  • /discordnick sync [ all | <username> ]
  • /discordnick reload

Permissions

  • discordnick.use
    • Allows players to:
      • Set their own nickname sync mode
      • Run /discordnick sync for themselves.
    • Default: true
  • discordnick.admin
    • Allows admins to:
      • Run /discordnick sync for all players or individual players.
      • Reload the config with /discordnick reload
    • Default: op

Support

If you have any issues, or want to request a feature, please create an issue, and I will try my best to help!

Similar projects

Plugin →