mirror of
https://e.coding.net/circlecloud/MiaoChat.git
synced 2025-09-10 11:27:05 +00:00
@ -41,9 +41,7 @@ public class ChatRule extends InjectConfigurationSection {
|
||||
if (permission == null) {
|
||||
permission = String.format("MiaoChat.%s", name);
|
||||
}
|
||||
formats = new LinkedList<>();
|
||||
load();
|
||||
lastColor = ChatColor.getLastColors(ChatColor.translateAlternateColorCodes('&', formats.isEmpty() ? "§r" : formats.getLast()));
|
||||
}
|
||||
|
||||
public boolean check(Player player) {
|
||||
@ -91,24 +89,24 @@ public class ChatRule extends InjectConfigurationSection {
|
||||
}
|
||||
|
||||
private void load() {
|
||||
formats = new LinkedList<>();
|
||||
Matcher m = FORMAT_PATTERN.matcher(format);
|
||||
LinkedList<String> temp = new LinkedList<>();
|
||||
while (m.find()) {
|
||||
temp.add(m.group(1));
|
||||
}
|
||||
String tempvar = format;
|
||||
if (!temp.isEmpty()) {
|
||||
for (String var : temp) {
|
||||
String[] args = tempvar.split("\\[" + var + "]", 2);
|
||||
if (!"".equals(args[0])) {
|
||||
formats.add(args[0]);
|
||||
}
|
||||
formats.add(var);
|
||||
tempvar = args[1];
|
||||
}
|
||||
if (!tempvar.isEmpty()) {
|
||||
formats.add(tempvar);
|
||||
for (String var : temp) {
|
||||
String[] args = tempvar.split("\\[" + var + "]", 2);
|
||||
if (!"".equals(args[0])) {
|
||||
formats.add(args[0]);
|
||||
}
|
||||
formats.add(var);
|
||||
tempvar = args[1];
|
||||
}
|
||||
if (!tempvar.isEmpty()) {
|
||||
formats.add(tempvar);
|
||||
}
|
||||
lastColor = ChatColor.getLastColors(ChatColor.translateAlternateColorCodes('&', formats.isEmpty() ? "§r" : formats.getLast()));
|
||||
}
|
||||
}
|
||||
|
@ -1,6 +1,9 @@
|
||||
package pw.yumc.MiaoChat.listeners;
|
||||
|
||||
import me.clip.placeholderapi.PlaceholderAPI;
|
||||
import java.util.*;
|
||||
import java.util.regex.Matcher;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.Material;
|
||||
@ -11,6 +14,8 @@ import org.bukkit.event.EventPriority;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.player.AsyncPlayerChatEvent;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
|
||||
import me.clip.placeholderapi.PlaceholderAPI;
|
||||
import pw.yumc.MiaoChat.MiaoChat;
|
||||
import pw.yumc.MiaoChat.MiaoMessage;
|
||||
import pw.yumc.MiaoChat.config.ChatConfig;
|
||||
@ -24,10 +29,6 @@ import pw.yumc.YumCore.statistic.Statistics;
|
||||
import pw.yumc.YumCore.tellraw.Tellraw;
|
||||
import pw.yumc.YumCore.update.SubscribeTask;
|
||||
|
||||
import java.util.*;
|
||||
import java.util.regex.Matcher;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
public class ChatListener implements Listener {
|
||||
public static Set<String> offList = new HashSet<>();
|
||||
private static Pattern ITEM_PATTERN = Pattern.compile("%([i1-9]?)");
|
||||
@ -52,8 +53,7 @@ public class ChatListener implements Listener {
|
||||
return;
|
||||
}
|
||||
e.setCancelled(true);
|
||||
Tellraw tr = Tellraw.create();
|
||||
handleChat(p, tr, cr, e.getMessage());
|
||||
handleChat(p, Tellraw.create(), cr, e.getMessage());
|
||||
}
|
||||
|
||||
private void handleChat(Player p, Tellraw tr, ChatRule cr, String message) {
|
||||
@ -76,7 +76,7 @@ public class ChatListener implements Listener {
|
||||
tr.then(PlaceholderAPI.setPlaceholders(p, format));
|
||||
}
|
||||
}
|
||||
return ChatColor.getLastColors(formats.getLast());
|
||||
return ChatColor.getLastColors(formats.isEmpty() ? "§r" : formats.getLast());
|
||||
}
|
||||
|
||||
private LinkedList<String> handleMessage(LinkedList<String> il, String message) {
|
||||
|
Reference in New Issue
Block a user