Skip to content

Commit 21eddda

Browse files
mm started rework
1 parent 6d599c8 commit 21eddda

7 files changed

Lines changed: 52 additions & 39 deletions

File tree

.github/workflows/release.yml

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,12 @@ jobs:
1313
- name: Git
1414
uses: actions/checkout@v4
1515

16-
- name: Java
17-
uses: actions/setup-java@v4.0.0
16+
- name: Setup Java
17+
uses: actions/setup-java@v4
1818
with:
19-
distribution: 'adopt'
20-
java-version: '8'
19+
java-version: '21'
20+
distribution: 'temurin'
21+
check-latest: true
2122

2223
- name: Cache
2324
uses: actions/cache@v4.0.0

pom.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,14 @@
55

66
<groupId>org.zeroBzeroT.chatCo</groupId>
77
<artifactId>ChatCoPlus</artifactId>
8-
<version>1.0.1</version>
8+
<version>1.0.2</version>
99
<packaging>jar</packaging>
1010
<name>${project.artifactId}</name>
1111

1212
<description>An efficient chat system with colored text, ignore list, whispering and chat logging.</description>
1313

1414
<properties>
15-
<java.version>17</java.version>
15+
<java.version>21</java.version>
1616
<maven.compiler.source>${java.version}</maven.compiler.source>
1717
<maven.compiler.target>${java.version}</maven.compiler.target>
1818
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
package org.zeroBzeroT.chatCo;
2+
3+
import net.kyori.adventure.text.Component;
4+
import net.kyori.adventure.text.minimessage.MiniMessage;
5+
6+
/**
7+
* helper method because the MiniMessage syntax is too verbose
8+
*/
9+
public final class Components {
10+
public static Component mm(String miniMessageString) { // mm, short for MiniMessage
11+
return MiniMessage.miniMessage().deserialize(miniMessageString);
12+
}
13+
}

src/main/java/org/zeroBzeroT/chatCo/PublicChat.java

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919

2020
import java.io.File;
2121

22-
import static org.zeroBzeroT.chatCo.Utils.componentFromLegacyText;
22+
import static org.zeroBzeroT.chatCo.Components.mm;
2323

2424
public class PublicChat implements Listener {
2525
public final Main plugin;
@@ -81,21 +81,21 @@ public void onAsyncChat(AsyncChatEvent event) {
8181
}
8282

8383
// Message text
84-
TextComponent messageText = componentFromLegacyText(legacyMessage);
84+
Component messageText = Component.text(legacyMessage);
8585

8686
// Sender name
87-
TextComponent messageSender = componentFromLegacyText(player.getDisplayName());
87+
Component sender = player.displayName();
8888

8989
if (plugin.getConfig().getBoolean("ChatCo.whisperOnClick", true)) {
90-
messageSender = messageSender.clickEvent(ClickEvent.suggestCommand("/w " + player.getName() + " "));
91-
messageSender = messageSender.hoverEvent(HoverEvent.hoverEvent(HoverEvent.Action.SHOW_TEXT, Component.text("Whisper to " + player.getName())));
90+
sender = sender.clickEvent(ClickEvent.suggestCommand("/w " + player.getName() + " "));
91+
sender = sender.hoverEvent(HoverEvent.hoverEvent(HoverEvent.Action.SHOW_TEXT, Component.text("Whisper to " + player.getName())));
9292
}
9393

9494
// Message
9595
TextComponent message = Component.text("")
96-
.append(componentFromLegacyText("<"))
97-
.append(messageSender)
98-
.append(componentFromLegacyText("> "))
96+
.append(Component.text("<"))
97+
.append(sender)
98+
.append(Component.text("> "))
9999
.append(messageText);
100100

101101
// Send to the players

src/main/java/org/zeroBzeroT/chatCo/Utils.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -28,12 +28,12 @@ public static boolean isVanished(Player player) {
2828
return false;
2929
}
3030

31-
/**
32-
* Converts a string into a single text component while retaining the old formatting
33-
*/
34-
public static TextComponent componentFromLegacyText(String legacyText) {
35-
return LegacyComponentSerializer.legacyAmpersand().deserialize(legacyText);
36-
}
31+
///**
32+
// * Converts a string into a single text component while retaining the old formatting
33+
// */
34+
//public static TextComponent componentFromLegacyText(String legacyText) {
35+
// return LegacyComponentSerializer.legacyAmpersand().deserialize(legacyText);
36+
//}
3737

3838
/**
3939
* Saves a stream to a file

src/main/java/org/zeroBzeroT/chatCo/Whispers.java

Lines changed: 16 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,8 @@
11
package org.zeroBzeroT.chatCo;
22

3-
import net.kyori.adventure.audience.Audience;
43
import net.kyori.adventure.text.Component;
5-
import net.kyori.adventure.text.TextComponent;
64
import net.kyori.adventure.text.event.ClickEvent;
75
import net.kyori.adventure.text.event.HoverEvent;
8-
import net.kyori.adventure.text.serializer.legacy.LegacyComponentSerializer;
96
import org.bukkit.Bukkit;
107
import org.bukkit.ChatColor;
118
import org.bukkit.entity.Player;
@@ -19,7 +16,7 @@
1916
import java.util.Arrays;
2017
import java.util.stream.Collectors;
2118

22-
import static org.zeroBzeroT.chatCo.Utils.componentFromLegacyText;
19+
import static org.zeroBzeroT.chatCo.Components.mm;
2320
import static org.zeroBzeroT.chatCo.Utils.now;
2421

2522
public record Whispers(Main plugin) implements Listener {
@@ -97,31 +94,33 @@ public void onPlayerCommandPreprocess(final PlayerCommandPreprocessEvent event)
9794
}
9895
}
9996

100-
public TextComponent whisperFormat(Boolean send, final Player sender, final Player target) {
101-
String legacyMessage = send ? plugin.getConfig().getString("ChatCo.whisperFormat.send") : plugin.getConfig().getString("ChatCo.whisperFormat.receive");
97+
public Component whisperFormat(Boolean isSending, final Player sender, final Player target) {
98+
String legacyMessage = isSending ?
99+
plugin.getConfig().getString("ChatCo.whisperFormat.send") :
100+
plugin.getConfig().getString("ChatCo.whisperFormat.receive");
102101

103-
for (ChatColor color : ChatColor.values()) {
104-
legacyMessage = legacyMessage.replace("%" + color.name() + "%", color.toString());
105-
}
102+
//for (ChatColor color : ChatColor.values()) {
103+
// legacyMessage = legacyMessage.replace("%" + color.name() + "%", color.toString());
104+
//}
106105

107106
String[] parts;
108107
String name;
109108

110-
if (send) {
111-
legacyMessage = legacyMessage.replace("%SENDER%", sender.getName());
109+
if (isSending) {
110+
//legacyMessage = legacyMessage.replace("%SENDER%", sender.getName());
112111
parts = legacyMessage.split("%RECEIVER%", 2);
113112
name = target.getName();
114113
} else {
115-
legacyMessage = legacyMessage.replace("%RECEIVER%", target.getName());
114+
//legacyMessage = legacyMessage.replace("%RECEIVER%", target.getName());
116115
parts = legacyMessage.split("%SENDER%", 2);
117116
name = sender.getName();
118117
}
119118

120119
// Part before player name
121-
TextComponent message = componentFromLegacyText(parts[0]);
120+
var message = mm(parts[0]);
122121

123122
// Player name
124-
TextComponent messagePlayer = componentFromLegacyText(name);
123+
var messagePlayer = mm(name);
125124

126125
if (plugin.getConfig().getBoolean("ChatCo.whisperOnClick", true)) {
127126
messagePlayer = messagePlayer.clickEvent(ClickEvent.suggestCommand("/w " + name + " "));
@@ -135,7 +134,7 @@ public TextComponent whisperFormat(Boolean send, final Player sender, final Play
135134

136135
// Part after player name
137136
if (parts.length == 2) {
138-
TextComponent part1 = componentFromLegacyText(parts[1]);
137+
Component part1 = mm(parts[1]);
139138

140139
if (part1.color() != message.color())
141140
message = message.color(part1.color());
@@ -159,8 +158,8 @@ private void sendPrivateMessage(Player sender, Player receiver, String message)
159158
isIgnoring = true;
160159
}
161160

162-
TextComponent senderMessage = whisperFormat(true, sender, receiver);
163-
TextComponent receiverMessage = whisperFormat(false, sender, receiver);
161+
Component senderMessage = whisperFormat(true, sender, receiver);
162+
Component receiverMessage = whisperFormat(false, sender, receiver);
164163

165164
receiverMessage = receiverMessage.append(Component.text(message));
166165
senderMessage = senderMessage.append(Component.text(message));

src/main/resources/config.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,8 @@ ChatCo:
1717
whisperLog: false
1818
whisperMonitoring: false
1919
whisperFormat:
20-
receive: "%LIGHT_PURPLE%%SENDER% whispers: "
21-
send: "%LIGHT_PURPLE%To %RECEIVER%: "
20+
receive: "<light_purple>%SENDER% whispers: "
21+
send: "<light_purple>To %RECEIVER%: "
2222
chatPrefixes:
2323
AQUA: null
2424
BLACK: null

0 commit comments

Comments
 (0)