Skip to content

Commit 6174269

Browse files
authored
Update TIPS.java
Automatic Line Breaking
1 parent 219397b commit 6174269

File tree

1 file changed

+29
-1
lines changed
  • src/main/java/sensen1234/sencraft/tips

1 file changed

+29
-1
lines changed

src/main/java/sensen1234/sencraft/tips/TIPS.java

Lines changed: 29 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import org.bukkit.plugin.java.JavaPlugin;
66
import org.bukkit.scheduler.BukkitRunnable;
77

8+
import java.util.ArrayList;
89
import java.util.List;
910
import java.util.Random;
1011

@@ -40,10 +41,37 @@ public void run() {
4041
}.runTaskTimer(this, interval * 20, interval * 20); // 以ticks为单位,每个tick为1/20秒
4142
}
4243

44+
private void sendFormattedTip(String message) {
45+
int maxLineLength = 60; // 定义最大行长度
46+
List<String> lines = new ArrayList<>();
47+
StringBuilder currentLine = new StringBuilder();
48+
49+
// 智能分割消息
50+
for (String word : message.split(" ")) {
51+
if (currentLine.length() + word.length() <= maxLineLength) {
52+
currentLine.append(word).append(" ");
53+
} else {
54+
lines.add(currentLine.toString().trim());
55+
currentLine = new StringBuilder(word + " ");
56+
}
57+
}
58+
59+
// 添加最后一行
60+
if (currentLine.length() > 0) {
61+
lines.add(currentLine.toString().trim());
62+
}
63+
64+
// 发送消息到公屏
65+
for (String line : lines) {
66+
Bukkit.broadcastMessage(line);
67+
}
68+
}
69+
4370
private void sendRandomTip() {
4471
if (tips != null && !tips.isEmpty()) {
4572
String tip = tips.get(random.nextInt(tips.size()));
46-
Bukkit.broadcastMessage(tipstextcolor + tipstext + tip); // 发送小提示到公屏
73+
String formattedTip = tipstextcolor + tipstext + tip;
74+
sendFormattedTip(formattedTip);
4775
}
4876
}
4977
}

0 commit comments

Comments
 (0)