Skip to content

Commit 4a0b7b9

Browse files
committed
Separate nametag and display name
1 parent 5df5651 commit 4a0b7b9

File tree

5 files changed

+28
-5
lines changed

5 files changed

+28
-5
lines changed

src/main/java/ru/nukkit/multichat/util/Cfg.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,9 @@ public class Cfg extends SimpleConfig {
2727
@Path("display-name.enable")
2828
public boolean displayNameEnable = true;
2929

30+
@Path("display-name.format")
31+
public String displayNameFormat = "&a%prefix%&6%player%";
32+
3033
@Path("display-name.strip-colors")
3134
public boolean isDisplayNameNoColors = false;
3235

src/main/java/ru/nukkit/multichat/util/ChatListener.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ public void onJoin(PlayerJoinEvent event) {
3232
Message.debugMessage("setNameTag", Util.getNametag(event.getPlayer()));
3333
}
3434
if (MultiChat.getCfg().displayNameEnable) {
35-
Util.setDisplayName(event.getPlayer(), Util.getNametag(player));
35+
Util.setDisplayName(event.getPlayer(), Util.getDisplayName (player));
3636
} else {
3737
player.setDisplayName(player.getName());
3838
}

src/main/java/ru/nukkit/multichat/util/Util.java

Lines changed: 22 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,18 @@ private static String getCusomParam(Player player, boolean getFormat) {
3232
return result;
3333
}
3434

35+
private static String getCustomDisplayName(Player player) {
36+
String result = MultiChat.getCfg().displayNameFormat;
37+
String param = ".display-name";
38+
ConfigSection section = MultiChat.getCfg().customGroups;
39+
for (String key : section.getKeys(false)) {
40+
if (isPlayerInGroup(player, key) && section.exists(key + param)) {
41+
result = section.getString(key + param);
42+
}
43+
}
44+
return result;
45+
}
46+
3547
private static boolean isPlayerInGroup(Player player, String group) {
3648
if (!MultiChat.getCfg().useSubGroup) return Multipass.isInGroup(player, group);
3749
for (String g : Multipass.getGroups(player))
@@ -69,11 +81,18 @@ public static void setNameTag(Player player, String nameTag) {
6981
player.setNameTagVisible(false);
7082
} else {
7183
player.isNameTagVisible();
72-
player.setDisplayName(TextFormat.colorize(nameTag));
84+
player.setNameTag(TextFormat.colorize(nameTag));
7385
}
7486
}
7587

76-
public static void setDisplayName(Player player, String nameTag) {
77-
player.setDisplayName(MultiChat.getCfg().isDisplayNameNoColors ? TextFormat.clean(nameTag) : nameTag);
88+
public static void setDisplayName(Player player, String displayName) {
89+
player.setDisplayName(MultiChat.getCfg().isDisplayNameNoColors ? TextFormat.clean(displayName) : displayName);
7890
}
91+
92+
public static String getDisplayName(Player player) {
93+
return replacePlaceholders(player, getCustomDisplayName(player))
94+
.replace("{%0}", player.getName()).replace("{%1}", "");
95+
}
96+
97+
7998
}

src/main/resources/config.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ name-tag:
1818
display-name:
1919
# Enable display name (shown by TAB-key)
2020
enable: true
21+
format: '&2%prefix%a2%player%&e: %message%'
2122
# Remove color codes from display name
2223
strip-colors: false
2324

src/main/resources/plugin.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
name: MultiChat
22
main: ru.nukkit.multichat.MultiChat
3-
version: "1.0.1"
3+
version: "1.0.2"
44
author: fromgate, nukkit.ru
55
api: ["1.0.0"]
66
description: MultiChat - universal chat formater based on MultiPass plugin

0 commit comments

Comments
 (0)