Emotes/src/main/java/dev/plex/emotes/command/Command_emotes.java

94 lines
3.6 KiB
Java

package dev.plex.emotes.command;
import dev.plex.emotes.EmotesBase;
import dev.plex.emotes.util.EmoteLoader;
import dev.plex.emotes.util.EmoteMeta;
import dev.plex.emotes.util.MessageUtils;
import dev.plex.rank.enums.Rank;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.jetbrains.annotations.NotNull;
public class Command_emotes implements CommandExecutor, EmotesBase
{
public static List<CommandSender> mutedPlayers = new ArrayList<>();
@Override
public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, @NotNull String[] args)
{
if (args.length == 0 || args[0].equalsIgnoreCase("list") || args[0].equalsIgnoreCase("help"))
{
if (args.length > 2)
{
EmoteMeta emote = null;
try
{
emote = EmoteLoader.getEmoteByCommand(args[1]);
if (emote == null)
{
emote = EmoteLoader.getEmoteByName(args[1]);
}
}
catch (IOException e)
{
e.printStackTrace();
}
if (emote != null)
{
sender.sendMessage(MessageUtils.colorize("&6Unknown Command: &c" + args[1]));
}
sender.sendMessage(MessageUtils.colorize("&e -- &6Emote Help: &c" + emote.getName() + "&e -- "));
sender.sendMessage(MessageUtils.colorize("&6Description: &e" + emote.getDescription()));
sender.sendMessage(MessageUtils.colorize("&6Usage: &e" + emote.getUsage()));
sender.sendMessage(MessageUtils.colorize("&6Author: &e" + emote.getAuthor()));
return true;
}
List<EmoteMeta> emoteList = EmoteLoader.getAllEmotes();
sender.sendMessage(MessageUtils.colorize("&e ---- &6Emotes &e----"));
for (EmoteMeta emote : emoteList)
{
sender.sendMessage(ChatColor.GOLD + "/" + emote.getName().toLowerCase() + ChatColor.WHITE + ": " + emote.getDescription());
}
return true;
}
if (args[0].equalsIgnoreCase("mute") || args[0].equalsIgnoreCase("unmute"))
{
sender.sendMessage(mutedPlayers.contains(sender) ? (ChatColor.GREEN + "You will now see all Emotes.") : (ChatColor.RED + "You will no longer see any Emotes."));
if (mutedPlayers.contains(sender))
{
mutedPlayers.remove(sender);
}
else
{
mutedPlayers.add(sender);
}
return true;
}
if (args[0].equalsIgnoreCase("reload"))
{
if (plugin.tfmBridge.isAdmin(sender))
{
sender.sendMessage(ChatColor.GREEN + "Reloading Emotes!");
plugin.reloadConfig();
}
else if (Bukkit.getServer().getPluginManager().isPluginEnabled("Plex") && plugin.plexBridge.checkRank(sender, Rank.ADMIN, "plex.emotes.reload"))
{
sender.sendMessage(ChatColor.GREEN + "Reloading Emotes!");
plugin.reloadConfig();
}
else
{
sender.sendMessage(ChatColor.RED + "You do not have permission to use this command!");
}
return true;
}
return false;
}
}