Skip to content

Commit c0cb4fd

Browse files
committed
2.2.4 Update
1 parent 996b2ff commit c0cb4fd

File tree

2 files changed

+27
-24
lines changed

2 files changed

+27
-24
lines changed

src/com/loohp/interactivechat/Listeners/Events.java

Lines changed: 26 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -66,8 +66,6 @@ public void checkChat(AsyncPlayerChatEvent event) {
6666
if (InteractiveChat.ChatManagerHook) {
6767
return;
6868
}
69-
70-
checkMention(event);
7169

7270
String message = event.getMessage();
7371
if (InteractiveChat.maxPlacholders >= 0) {
@@ -100,12 +98,14 @@ public void checkChatforChatManager(AsyncPlayerChatEvent event) {
10098
if (event.isCancelled()) {
10199
return;
102100
}
101+
102+
checkMention(event);
103+
104+
103105
if (!InteractiveChat.ChatManagerHook) {
104106
return;
105107
}
106108

107-
checkMention(event);
108-
109109
String message = event.getMessage();
110110
if (InteractiveChat.maxPlacholders >= 0) {
111111
int count = 0;
@@ -151,25 +151,28 @@ private void checkMention(AsyncPlayerChatEvent event) {
151151
int index = message.toLowerCase().indexOf(name.toLowerCase());
152152
if (index >= 0) {
153153
char escape = (index - 1) < 0 ? ' ' : message.charAt(index - 1);
154-
char escapeescape = (index - 2) < 0 ? ' ' : message.charAt(index - 2);
155-
if ((escape != '\\') || ((escape == '\\' && escapeescape == '\\'))) {
156-
if (escapeescape == '\\') {
157-
StringBuilder sb = new StringBuilder(message);
158-
sb.deleteCharAt(index - 2);
159-
event.setMessage(sb.toString());
160-
message = event.getMessage();
161-
}
162-
if (!player.equals(sender)) {
163-
InteractiveChat.mentionPair.put(player.getUniqueId(), new MentionPair(sender.getUniqueId(), player.getUniqueId(), InteractiveChat.mentionPair));
164-
}
165-
break;
166-
} else {
167-
if (escape == '\\') {
168-
StringBuilder sb = new StringBuilder(message);
169-
sb.deleteCharAt(index - 1);
170-
event.setMessage(sb.toString());
171-
message = event.getMessage();
172-
}
154+
char after = (index + name.length()) >= message.length() ? ' ' : message.charAt(index + name.length());
155+
if (String.valueOf(escape).matches("[ \\\\]") && String.valueOf(after).matches("[ \\\\]")) {
156+
char escapeescape = (index - 2) < 0 ? ' ' : message.charAt(index - 2);
157+
if ((escape != '\\') || ((escape == '\\' && escapeescape == '\\'))) {
158+
if (escapeescape == '\\') {
159+
StringBuilder sb = new StringBuilder(message);
160+
sb.deleteCharAt(index - 2);
161+
event.setMessage(sb.toString());
162+
message = event.getMessage();
163+
}
164+
if (!player.equals(sender)) {
165+
InteractiveChat.mentionPair.put(player.getUniqueId(), new MentionPair(sender.getUniqueId(), player.getUniqueId(), InteractiveChat.mentionPair));
166+
}
167+
break;
168+
} else {
169+
if (escape == '\\') {
170+
StringBuilder sb = new StringBuilder(message);
171+
sb.deleteCharAt(index - 1);
172+
event.setMessage(sb.toString());
173+
message = event.getMessage();
174+
}
175+
}
173176
}
174177
}
175178
}

src/plugin.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
name: InteractiveChat
22
author: loohp
3-
version: 2.2.3
3+
version: 2.2.4
44
main: com.loohp.interactivechat.InteractiveChat
55
api-version: 1.13
66
description: Make the chat interactive

0 commit comments

Comments
 (0)