package com.alttd.chat.handler; import com.alttd.chat.ChatPlugin; import com.alttd.chat.config.Config; import com.alttd.chat.managers.ChatUserManager; import com.alttd.chat.managers.RegexManager; import com.alttd.chat.objects.ChatUser; import com.alttd.chat.util.Utility; import com.google.common.io.ByteArrayDataOutput; import com.google.common.io.ByteStreams; import net.kyori.adventure.text.Component; import net.kyori.adventure.text.minimessage.MiniMessage; import net.kyori.adventure.text.minimessage.Template; import net.kyori.adventure.text.serializer.gson.GsonComponentSerializer; import org.bukkit.Bukkit; import org.bukkit.Material; import org.bukkit.entity.Player; import org.bukkit.inventory.ItemStack; import java.util.ArrayList; import java.util.List; import java.util.concurrent.TimeUnit; public class ChatHandler { private final ChatPlugin plugin; private final MiniMessage miniMessage; private final Component GCNOTENABLED; public ChatHandler() { plugin = ChatPlugin.getInstance(); miniMessage = MiniMessage.get(); GCNOTENABLED = miniMessage.parse(Config.GCNOTENABLED); } public void privateMessage(Player player, String target, String message) { ChatUser user = ChatUserManager.getChatUser(player.getUniqueId()); user.setReplyTarget(target); message = RegexManager.replaceText(message); // todo a better way for this if(message == null) return; // the message was blocked if(!player.hasPermission("chat.format")) { message = miniMessage.stripTokens(message); } if(message.contains("[i]")) message = message.replace("[i]", "<[i]>"); List