Skip to content

Commit ef173b8

Browse files
committed
v1.0.1
1 parent 83a0d02 commit ef173b8

File tree

5 files changed

+25
-18
lines changed

5 files changed

+25
-18
lines changed

README.md

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,9 +94,16 @@ group:
9494
scan-subgroups: true
9595
# Chat format
9696
format:
97+
# List of groups
98+
# First - lower prity, last - higher
99+
# For example, if player are member of three groups: default, vip and admin
100+
# Will used format describe in last group in list - admin
97101
default: # Group name
98102
chat: '&5[GUEST]&3%player%&a: 6%message%' # Chat format
99103
vip: # Group name
100-
chat: '&6[VIP]&4%player%&a: %message%' # Chat format
104+
chat: '&6[VIP]&e%player%&a: %message%' # Chat format
101105
name-tag: '&6[VIP] &4%player%' # Name tag format
106+
admin:
107+
'&4[ADM]&c%player%e:&a %message'
108+
name-tag: '&4[admin] &4%player%' # Name tag format
102109
```

src/main/java/ru/nukkit/multichat/command/ChatGroup.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ public boolean execute(CommandSender sender, Player player, String[] args) {
2323

2424
Message.CHAT_GROUP_CHAT_OK.print(sender, group, format);
2525
sender.sendMessage(TextFormat.colorize(format).replace("%player%", "{%0}").replace("%message%", "{%1}").replace("{%0}", "Leeloo").replace("{%1}", "Big bada boom!"));
26-
} else if (args[1].matches("(?i)name|tag|nametag")){
26+
} else if (args[1].matches("(?i)name|tag|nametag")) {
2727
if (!format.contains("{%0}") && !format.contains("%player%"))
2828
return Message.CHAT_FAILTAGFORMAT.print(sender);
2929
MultiChat.getCfg().customGroups.set(group + ".name-tag", format);

src/main/java/ru/nukkit/multichat/command/ChatSet.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ public boolean execute(CommandSender sender, Player player, String[] args) {
2323

2424
Message.CHAT_SET_OK.print(sender, format);
2525
sender.sendMessage(TextFormat.colorize(format).replace("%player%", "{%0}").replace("%message%", "{%1}").replace("{%0}", "Leeloo").replace("{%1}", "Big bada boom!"));
26-
} else if (args[1].matches("(?i)name|tag|nametag")){
26+
} else if (args[1].matches("(?i)name|tag|nametag")) {
2727
if (!format.contains("{%0}") && !format.contains("%player%"))
2828
return Message.CHAT_FAILTAGFORMAT.print(sender);
2929
MultiChat.getCfg().nametagFormat = format;

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

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -13,24 +13,23 @@ public static String getChatFormat(Player player) {
1313
}
1414

1515
public static String getCustomFormat(Player player) {
16-
ConfigSection section = MultiChat.getCfg().customGroups;
17-
String chatFormat = MultiChat.getCfg().chatFormat;
18-
for (String key : section.getKeys(false)) {
19-
if (!isPlayerInGroup(player, key)) continue;
20-
chatFormat = section.getString(key + ".chat", chatFormat);
21-
}
22-
Message.debugMessage("getCustomFormat(" + player.getName() + "):", chatFormat);
23-
return chatFormat;
16+
return getCusomParam(player, true);
2417
}
2518

2619
public static String getCustomNameTag(Player player) {
20+
return getCusomParam(player, false);
21+
}
22+
23+
private static String getCusomParam(Player player, boolean getFormat) {
24+
String param = getFormat ? ".chat" : ".name-tag";
25+
String result = getFormat ? MultiChat.getCfg().chatFormat : MultiChat.getCfg().nametagFormat;
2726
ConfigSection section = MultiChat.getCfg().customGroups;
28-
String nameTag = MultiChat.getCfg().nametagFormat;
2927
for (String key : section.getKeys(false)) {
30-
if (!isPlayerInGroup(player, key)) continue;
31-
nameTag = section.getString(key + ".name-tag", nameTag);
28+
if (isPlayerInGroup(player, key) && section.exists(key + param)) {
29+
result = section.getString(key + param);
30+
}
3231
}
33-
return nameTag;
32+
return result;
3433
}
3534

3635
private static boolean isPlayerInGroup(Player player, String group) {
@@ -66,8 +65,9 @@ public static String join(String[] args, int num) {
6665
}
6766

6867
public static void setNameTag(Player player, String nameTag) {
69-
if (nameTag == null || nameTag.isEmpty()) player.setNameTagVisible(false);
70-
else {
68+
if (nameTag == null || nameTag.isEmpty()) {
69+
player.setNameTagVisible(false);
70+
} else {
7171
player.isNameTagVisible();
7272
player.setDisplayName(TextFormat.colorize(nameTag));
7373
}

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.0"
3+
version: "1.0.1"
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)