Made global chat async and added uuid to it everywhere

This commit is contained in:
2021-07-31 03:46:50 +02:00
parent a36ac260f1
commit a9be164979
5 changed files with 20 additions and 10 deletions
@@ -1,7 +1,6 @@
package com.alttd.chat.commands;
import com.alttd.chat.ChatPlugin;
import com.alttd.chat.managers.ChatUserManager;
import org.apache.commons.lang.StringUtils;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
@@ -9,20 +8,24 @@ import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.scheduler.BukkitRunnable;
import java.util.Objects;
public class GlobalChat implements CommandExecutor {
@Override
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
if(!(sender instanceof Player)) { // must be a player
if(!(sender instanceof Player player)) { // must be a player
return true;
}
Player player = (Player) sender;
if(args.length == 0) return false;
String message = StringUtils.join(args, " ", 0, args.length);
ChatPlugin.getInstance().getChatHandler().globalChat(player, message);
new BukkitRunnable() {
@Override
public void run() {
ChatPlugin.getInstance().getChatHandler().globalChat(player, message);
}
}.runTaskAsynchronously(ChatPlugin.getInstance());
return false;
}
@@ -38,7 +38,7 @@ public class PluginMessage implements PluginMessageListener {
break;
}
case "globalchat": {
if (ChatPlugin.getInstance().serverGlobalChatEnabled()) {
if (ChatPlugin.getInstance().serverGlobalChatEnabled() && !ChatPlugin.getInstance().serverMuted()) {
String uuidString = in.readUTF();
if (!uuidString.matches("\\b[0-9a-f]{8}\\b-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-\\b[0-9a-f]{12}\\b")) {
Bukkit.broadcast(GsonComponentSerializer.gson().deserialize(uuidString), Config.GCPERMISSION);