Skip to content

Commit 5035bd3

Browse files
Prepare works for Discord's new "global_name" field
* Javacord needs to update before I can add support for global names, but there is a working 1.20 SNAPSHOT which contains updated information regarding it and fixes a few bugs.
1 parent 04317d3 commit 5035bd3

10 files changed

Lines changed: 26 additions & 16 deletions

File tree

src/main/java/com/firecontroller1847/truediscordlink/DiscordManager.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ public DiscordManager(TrueDiscordLink discordlink) {
7272
if (discordlink.getConfig().getBoolean("bot.enabled")) {
7373
new DiscordApiBuilder()
7474
.setToken(discordlink.getConfig().getString("bot.token"))
75-
.setIntents(Intent.GUILDS, Intent.GUILD_MESSAGES, Intent.GUILD_MEMBERS, Intent.DIRECT_MESSAGES)
75+
.setIntents(Intent.GUILDS, Intent.GUILD_MESSAGES, Intent.GUILD_MEMBERS, Intent.DIRECT_MESSAGES, Intent.MESSAGE_CONTENT)
7676
.login().thenAcceptAsync(api -> {
7777
this.api = api;
7878

@@ -335,7 +335,7 @@ private void sendDiscordBotMessage(String content, boolean blocking, Player play
335335
CompletableFuture<Message> future = channel.sendMessage(TrueDiscordLink.stripColorCodes(discordlink.getTranslation("messages.from_mc_bot_format", false,
336336
new String[] { "%message%", content },
337337
new String[] { "%name%" , TrueDiscordLink.escapeDiscordFormatting(player.getName()) },
338-
new String[] { "%displayName%", TrueDiscordLink.escapeDiscordFormatting(player.getDisplayName()) },
338+
new String[] { "%display_name%", TrueDiscordLink.escapeDiscordFormatting(player.getDisplayName()) },
339339
new String[] { "%uuid%", player.getUniqueId().toString() }
340340
)));
341341
if (blocking) {
@@ -373,7 +373,7 @@ private void sendDiscordWebhookMessage(String content, Player player) {
373373
this.makeWebhookRequest(url, TrueDiscordLink.stripColorCodes(discordlink.getTranslation("messages.from_mc_webhook_format", false,
374374
new String[] { "%message%", content },
375375
new String[] { "%name%" , TrueDiscordLink.escapeDiscordFormatting(player.getName()) },
376-
new String[] { "%displayName%", TrueDiscordLink.escapeDiscordFormatting(player.getDisplayName()) },
376+
new String[] { "%display_name%", TrueDiscordLink.escapeDiscordFormatting(player.getDisplayName()) },
377377
new String[] { "%uuid%", player.getUniqueId().toString() }
378378
)), TrueDiscordLink.stripColorCodes(player.getDisplayName()), skin); // TODO: Why is the username not customizable
379379
} else {

src/main/java/com/firecontroller1847/truediscordlink/TrueDiscordLink.java

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -117,8 +117,8 @@ private void migrateConfigurations() throws IOException {
117117
migrated = true;
118118
}
119119
if (!translations.contains("linking.discord.notify", true)) {
120-
translations.set("linking.discord.notify.link", "%username% has linked with %mention%!");
121-
translations.set("linking.discord.notify.unlink", "%username% has unlinked with %mention%!");
120+
translations.set("linking.discord.notify.link", "%name% has linked with %mention%!");
121+
translations.set("linking.discord.notify.unlink", "%name% has unlinked with %mention%!");
122122
this.getLogger().info("[en.yml] Added linking.discord.notify.*");
123123
migrated = true;
124124
}
@@ -150,6 +150,16 @@ private void migrateConfigurations() throws IOException {
150150
migrated = true;
151151
}
152152

153+
// v1.3.0 -> v1.3.3
154+
if (Objects.requireNonNull(translations.getString("linking.discord.notify.link")).contains("%username%")) {
155+
translations.set("linking.discord.notify.link", this.getTranslation("linking.discord.notify.link", false).replace("%username%", "%name%"));
156+
migrated = true;
157+
}
158+
if (Objects.requireNonNull(translations.getString("linking.discord.notify.unlink")).contains("%username%")) {
159+
translations.set("linking.discord.notify.unlink", this.getTranslation("linking.discord.notify.link", false).replace("%username%", "%name%"));
160+
migrated = true;
161+
}
162+
153163
// Save
154164
if (migrated) {
155165
this.saveConfig();

src/main/java/com/firecontroller1847/truediscordlink/commands/CommandUnlink.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command
8787
if (plugin.getConfig().getBoolean("bot.linking.notify.unlink.enabled")) {
8888
TextChannel channel = ((TrueDiscordLink) plugin).getDiscordManager().getApi().getChannelById(plugin.getConfig().getString("bot.linking.notify.unlink.channel")).orElseThrow(() -> new Exception("Unlink Notification Channel cannot be null!")).asTextChannel().orElseThrow(() -> new Exception("Unlink Notification Channel must be a text channel"));
8989
channel.sendMessage(plugin.getTranslation("linking.discord.notify.unlink",
90-
new String[] { "%username%", player.getName() },
90+
new String[] { "%name%", player.getName() },
9191
new String[] { "%tag%", ((TrueDiscordLink) plugin).getDiscordManager().getApi().getUserById(userId).get().getDiscriminatedName() },
9292
new String[] { "%mention%", "<@" + userId + ">"}
9393
));

src/main/java/com/firecontroller1847/truediscordlink/listeners/discord/DiscordChatListener.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ public void onMessageCreate(MessageCreateEvent event) {
9898
if (discordlink.getConfig().getBoolean("bot.linking.notify.link.enabled")) {
9999
TextChannel channel = discordlink.getDiscordManager().getApi().getChannelById(discordlink.getConfig().getString("bot.linking.notify.link.channel")).orElseThrow(() -> new Exception("Link Notification Channel cannot be null!")).asTextChannel().orElseThrow(() -> new Exception("Link Notification Channel must be a text channel"));
100100
channel.sendMessage(discordlink.getTranslation("linking.discord.notify.link",
101-
new String[] { "%username%", player.getName() },
101+
new String[] { "%name%", player.getName() },
102102
new String[] { "%tag%", message.getAuthor().getDiscriminatedName() },
103103
new String[] { "%mention%", "<@" + message.getAuthor().getIdAsString() + ">"}
104104
));

src/main/java/com/firecontroller1847/truediscordlink/listeners/discord/DiscordEditListener.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ public void onMessageEdit(MessageEditEvent event) {
2626
}
2727

2828
// If the message doesn't exist, return
29-
Message message = event.getMessage().orElse(null);
29+
Message message = event.getMessage();
3030
if (message == null) {
3131
return;
3232
}

src/main/java/com/firecontroller1847/truediscordlink/listeners/minecraft/PlayerAdvancementDoneListener.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ public void onPlayerAdvancementDone(PlayerAdvancementDoneEvent event) {
4848
discordlink.getDiscordManager().sendDiscordMessage(
4949
discordlink.getTranslation("events.player_advance", false,
5050
new String[] { "%name%", event.getPlayer().getName() },
51-
new String[] { "%displayName%", event.getPlayer().getDisplayName() },
51+
new String[] { "%display_name%", event.getPlayer().getDisplayName() },
5252
new String[] { "%uuid%", event.getPlayer().getUniqueId().toString() },
5353
new String[] { "%advancement_name%", name },
5454
new String[] { "%advancement_description%", description }

src/main/java/com/firecontroller1847/truediscordlink/listeners/minecraft/PlayerDeathListener.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ public void onPlayerDeath(PlayerDeathEvent event) {
2727
discordlink.getTranslation("events.player_death", false,
2828
new String[] { "%message%", event.getDeathMessage() },
2929
new String[] { "%name%", TrueDiscordLink.escapeDiscordFormatting(TrueDiscordLink.stripColorCodes(event.getEntity().getName())) },
30-
new String[] { "%displayName%", TrueDiscordLink.escapeDiscordFormatting(TrueDiscordLink.stripColorCodes(event.getEntity().getDisplayName())) },
30+
new String[] { "%display_name%", TrueDiscordLink.escapeDiscordFormatting(TrueDiscordLink.stripColorCodes(event.getEntity().getDisplayName())) },
3131
new String[] { "%uuid%", event.getEntity().getUniqueId().toString() }
3232
)
3333
);

src/main/java/com/firecontroller1847/truediscordlink/listeners/minecraft/PlayerJoinListener.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ public void onPlayerJoin(PlayerJoinEvent event) {
2626
discordlink.getDiscordManager().sendDiscordMessage(
2727
discordlink.getTranslation("events.player_join", false,
2828
new String[] { "%name%", TrueDiscordLink.escapeDiscordFormatting(event.getPlayer().getName()) },
29-
new String[] { "%displayName%", TrueDiscordLink.escapeDiscordFormatting(event.getPlayer().getDisplayName()) },
29+
new String[] { "%display_name%", TrueDiscordLink.escapeDiscordFormatting(event.getPlayer().getDisplayName()) },
3030
new String[] { "%uuid%", event.getPlayer().getUniqueId().toString() }
3131
)
3232
);

src/main/java/com/firecontroller1847/truediscordlink/listeners/minecraft/PlayerQuitListener.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ public void onPlayerQuit(PlayerQuitEvent event) {
2626
discordlink.getDiscordManager().sendDiscordMessage(
2727
discordlink.getTranslation("events.player_quit", false,
2828
new String[] { "%name%", TrueDiscordLink.escapeDiscordFormatting(event.getPlayer().getName()) },
29-
new String[] { "%displayName%", TrueDiscordLink.escapeDiscordFormatting(event.getPlayer().getDisplayName()) },
29+
new String[] { "%display_name%", TrueDiscordLink.escapeDiscordFormatting(event.getPlayer().getDisplayName()) },
3030
new String[] { "%uuid%", event.getPlayer().getUniqueId().toString() }
3131
)
3232
);

src/main/resources/lang/en.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
11
# Global Arguments:
22
# - %prefix%: The prefix of the plugin
33
# - %message%: The content of a message
4+
# - %display_name%: The display name of a Minecraft player or Discord user
45
# - %name%: A raw username for both Minecraft and Discord (no nickname or modifiers)
56
#
67
# Minecraft Arguments:
7-
# - %displayName%: The displayName of a player
88
# - %uuid%: The UUID of a player
99
# - %advancement_name%: The name of a Minecraft advancement
1010
# - %advancement_description%: The description of a Minecraft advancement
1111
#
1212
# Discord Arguments:
13-
# - %nickname%: The nickname of a user, otherwise the username if no nickname is present
13+
# - %nickname%: The nickname of a user, otherwise the display name if no nickname is present
1414
# - %discriminator%: The discriminator of a user
1515
# - %id%: The ID of a user
1616
#
@@ -62,5 +62,5 @@ linking:
6262
no_request: "You do not currently have a request to link your accounts. Make sure to run the `/tdl link` command in Minecraft first!"
6363
success: "Congratulations! Your Minecraft and Discord accounts are now linked!"
6464
notify:
65-
link: "%username% has linked with %mention%!"
66-
unlink: "%username% has unlinked with %mention%!"
65+
link: "%name% has linked with %mention%!"
66+
unlink: "%name% has unlinked with %mention%!"

0 commit comments

Comments
 (0)