1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- package com.gmail.nossr50.commands.chat;
- import co.aikar.commands.BaseCommand;
- import co.aikar.commands.BukkitCommandIssuer;
- import co.aikar.commands.annotation.CommandAlias;
- import co.aikar.commands.annotation.Conditions;
- import co.aikar.commands.annotation.Default;
- import com.gmail.nossr50.commands.CommandManager;
- import com.gmail.nossr50.datatypes.chat.ChatChannel;
- import com.gmail.nossr50.datatypes.player.McMMOPlayer;
- import com.gmail.nossr50.mcMMO;
- import com.gmail.nossr50.util.player.UserManager;
- import org.jetbrains.annotations.NotNull;
- @CommandAlias("ac|a|adminchat|achat") //Kept for historical reasons
- public class AdminChatCommand extends BaseCommand {
- private final @NotNull mcMMO pluginRef;
- public AdminChatCommand(@NotNull mcMMO pluginRef) {
- this.pluginRef = pluginRef;
- }
- @Default @Conditions(CommandManager.ADMIN_CONDITION)
- public void processCommand(String[] args) {
- BukkitCommandIssuer bukkitCommandIssuer = (BukkitCommandIssuer) getCurrentCommandIssuer();
- if(args == null || args.length == 0) {
- //Process with no arguments
- if(bukkitCommandIssuer.isPlayer()) {
- McMMOPlayer mmoPlayer = UserManager.getPlayer(bukkitCommandIssuer.getPlayer());
- pluginRef.getChatManager().setOrToggleChatChannel(mmoPlayer, ChatChannel.ADMIN);
- } else {
- //Not support for console
- mcMMO.p.getLogger().info("You cannot switch chat channels as console, please provide full arguments.");
- }
- } else {
- if(bukkitCommandIssuer.isPlayer()) {
- McMMOPlayer mmoPlayer = UserManager.getPlayer(bukkitCommandIssuer.getPlayer());
- if(mmoPlayer == null)
- return;
- //Message contains the original command so it needs to be passed to this method to trim it
- pluginRef.getChatManager().processPlayerMessage(mmoPlayer, args, ChatChannel.ADMIN);
- } else {
- pluginRef.getChatManager().processConsoleMessage(args);
- }
- //Arguments are greater than 0, therefore directly send message and skip toggles
- }
- }
- }
|