This commit is contained in:
2023-03-08 14:26:10 -06:00
parent 41b0076f8f
commit ea512487ac
119 changed files with 440 additions and 364 deletions

View File

@ -6,7 +6,6 @@ import dev.plex.Plex;
import dev.plex.util.PlexLog;
import dev.plex.util.PlexUtils;
import dev.plex.util.minimessage.SafeMiniMessage;
import java.util.UUID;
import net.kyori.adventure.text.Component;
import org.bukkit.Bukkit;
import org.bukkit.command.CommandSender;
@ -14,29 +13,43 @@ import org.bukkit.entity.Player;
import org.json.JSONException;
import org.json.JSONObject;
import redis.clients.jedis.JedisPubSub;
import java.util.UUID;
import static dev.plex.util.PlexUtils.messageComponent;
public class MessageUtil {
public class MessageUtil
{
private static final Gson GSON = new Gson();
private static JedisPubSub SUBSCRIBER;
public static void subscribe() {
public static void subscribe()
{
PlexLog.debug("Subscribing");
SUBSCRIBER = new JedisPubSub() {
SUBSCRIBER = new JedisPubSub()
{
@Override
public void onMessage(String channel, String message) {
try {
public void onMessage(String channel, String message)
{
try
{
JSONObject object = new JSONObject(message);
if (channel.equalsIgnoreCase("staffchat")) {
UUID[] ignore = GSON.fromJson(object.getString("ignore"), new TypeToken<UUID[]>(){}.getType());
String sender = object.getString("sender").isEmpty() ? "CONSOLE": object.getString("sender");
if (channel.equalsIgnoreCase("staffchat"))
{
UUID[] ignore = GSON.fromJson(object.getString("ignore"), new TypeToken<UUID[]>()
{
}.getType());
String sender = object.getString("sender").isEmpty() ? "CONSOLE" : object.getString("sender");
PlexUtils.adminChat(sender, object.getString("message"), ignore);
String[] server = object.getString("server").split(":");
if (!Bukkit.getServer().getIp().equalsIgnoreCase(server[0]) || Bukkit.getServer().getPort() != Integer.parseInt(server[1])) {
if (!Bukkit.getServer().getIp().equalsIgnoreCase(server[0]) || Bukkit.getServer().getPort() != Integer.parseInt(server[1]))
{
Plex.get().getServer().getConsoleSender().sendMessage(messageComponent("adminChatFormat", sender, object.getString("message")));
}
}
} catch (JSONException ignored) {
}
catch (JSONException ignored)
{
}
}
@ -47,14 +60,17 @@ public class MessageUtil {
PlexLog.debug("Subscribed to {0}", channel);
}
};
// SUBSCRIBER.subscribe("staffchat", "chat");
Plex.get().getRedisConnection().runAsync(jedis -> {
// SUBSCRIBER.subscribe("staffchat", "chat");
Plex.get().getRedisConnection().runAsync(jedis ->
{
jedis.subscribe(SUBSCRIBER, "staffchat", "chat");
});
}
public static void sendStaffChat(CommandSender sender, Component message, UUID... ignore) {
if (!Plex.get().getRedisConnection().isEnabled() || Plex.get().getRedisConnection().getJedis() == null) {
public static void sendStaffChat(CommandSender sender, Component message, UUID... ignore)
{
if (!Plex.get().getRedisConnection().isEnabled() || Plex.get().getRedisConnection().getJedis() == null)
{
return;
}