package net.md_5.bungee.command; import java.util.Collection; import java.util.Collections; import lombok.Getter; import net.md_5.bungee.api.CommandSender; import net.md_5.bungee.api.ProxyServer; import net.md_5.bungee.api.chat.BaseComponent; /** * Command sender representing the proxy console. */ public class ConsoleCommandSender implements CommandSender { @Getter private static final ConsoleCommandSender instance = new ConsoleCommandSender(); private ConsoleCommandSender() { } @Override public void sendMessage(String message) { ProxyServer.getInstance().getLogger().info( message ); } @Override public void sendMessages(String... messages) { for ( String message : messages ) { sendMessage( message ); } } @Override public void sendMessage(BaseComponent... message) { sendMessage( BaseComponent.toLegacyText( message ) ); } @Override public void sendMessage(BaseComponent message) { sendMessage( message.toLegacyText() ); } @Override public String getName() { return "CONSOLE"; } @Override public Collection<String> getGroups() { return Collections.emptySet(); } @Override public void addGroups(String... groups) { throw new UnsupportedOperationException( "Console may not have groups" ); } @Override public void removeGroups(String... groups) { throw new UnsupportedOperationException( "Console may not have groups" ); } @Override public boolean hasPermission(String permission) { return true; } @Override public void setPermission(String permission, boolean value) { throw new UnsupportedOperationException( "Console has all permissions" ); } @Override public Collection<String> getPermissions() { return Collections.emptySet(); } }