@Override public void execute(CommandSender sender, String[] args) { if ( args.length < 1 ) { sender.sendMessage( ChatColor.RED + "Please follow this command by a user name" ); return; } ProxiedPlayer user = ProxyServer.getInstance().getPlayer( args[0] ); if ( user == null ) { sender.sendMessage( ChatColor.RED + "That user is not online" ); } else { sender.sendMessage( ChatColor.BLUE + "IP of " + args[0] + " is " + user.getAddress() ); } } }
@Override public boolean hasPermission(String permission) { return bungee.getPluginManager().callEvent( new PermissionCheckEvent( this, permission, permissions.contains( permission ) ) ).hasPermission(); }
@Override public Iterable<String> onTabComplete(CommandSender sender, String[] args) { final String lastArg = ( args.length > 0 ) ? args[args.length - 1].toLowerCase( Locale.ROOT ) : ""; return Iterables.transform( Iterables.filter( ProxyServer.getInstance().getPlayers(), new Predicate<ProxiedPlayer>() { @Override public boolean apply(ProxiedPlayer player) { return player.getName().toLowerCase( Locale.ROOT ).startsWith( lastArg ); } } ), new Function<ProxiedPlayer, String>() { @Override public String apply(ProxiedPlayer player) { return player.getName(); } } ); } }
@Override public void sendMessage(String message) { ProxyServer.getInstance().getLogger().info( message ); }
@Override public void ping(final Callback<ServerPing> callback) { ping( callback, ProxyServer.getInstance().getProtocolVersion() ); }
@Override public void execute(CommandSender sender, String[] args) { sender.sendMessage( ChatColor.BLUE + "This server is running BungeeCord version " + ProxyServer.getInstance().getVersion() + " by md_5" ); } }
@Override public void onServerRemove(ServerInfo serverInfo) { if (serverInfo == null) return; ProxyServer.getInstance().getPluginManager().callEvent(new ProxiedServerRemoveEvent(serverInfo)); ProxyServer.getInstance().getServers().remove(serverInfo.getServiceId().getServerId()); cachedServers.remove(serverInfo.getServiceId().getServerId()); if (serverInfo.getServiceId().getGroup().equalsIgnoreCase(getProxyGroup().getProxyConfig().getDynamicFallback().getDefaultFallback())) CollectionWrapper.iterator(ProxyServer.getInstance().getConfig().getListeners(), new Runnabled<ListenerInfo>() { @Override public void run(ListenerInfo obj) { obj.getServerPriority().remove(serverInfo.getServiceId().getServerId()); } }); if (CloudAPI.getInstance().getModuleProperties().contains("notifyService") && CloudAPI.getInstance().getModuleProperties().getBoolean("notifyService")) for (ProxiedPlayer proxiedPlayer : ProxyServer.getInstance().getPlayers()) if (proxiedPlayer.hasPermission("cloudnet.notify")) proxiedPlayer.sendMessage(ChatColor.translateAlternateColorCodes('&', CloudAPI.getInstance().getCloudNetwork().getMessages().getString("notify-message-server-remove").replace("%server%", serverInfo.getServiceId().getServerId()))); }
if ( bungee.getPluginManager().callEvent( event ).isCancelled() ) Preconditions.checkState( !serverBrand.contains( bungee.getName() ), "Cannot connect proxy to itself!" ); DefinedPacket.writeString( bungee.getName() + " (" + bungee.getVersion() + ")" + " <- " + serverBrand, brand ); pluginMessage.setData( DefinedPacket.toArray( brand ) ); brand.release(); ProxiedPlayer target = bungee.getPlayer( in.readUTF() ); if ( target != null ) for ( ServerInfo server : bungee.getServers().values() ) for ( ServerInfo server : bungee.getServers().values() ) ServerInfo server = bungee.getServerInfo( target ); if ( server != null ) ServerInfo server = bungee.getServerInfo( in.readUTF() ); if ( server != null ) ProxiedPlayer player = bungee.getPlayer( in.readUTF() ); if ( player != null ) ServerInfo server = bungee.getServerInfo( in.readUTF() ); if ( server != null ) out.writeInt( bungee.getOnlineCount() ); } else
@Override protected void scheduleApplyTask(SkinModel skinData) { Runnable skinUpdater = new SkinApplier(plugin, invoker, receiver, skinData, bukkitOp, keepSkin); ProxyServer.getInstance().getScheduler().runAsync(plugin, skinUpdater); }
@Override protected ServerInfo getStoredServer(ProxiedPlayer player) { ServerInfo server = null; lock.readLock().lock(); try { server = ProxyServer.getInstance().getServerInfo( data.get( key( player ) ) ); } finally { lock.readLock().unlock(); } return server; }
return; ServerInfo target = ProxyServer.getInstance().getServerInfo( args[1] ); if ( target == null ) sender.sendMessage( ProxyServer.getInstance().getTranslation( "no_server" ) ); return; for ( ProxiedPlayer p : ProxyServer.getInstance().getPlayers() ) ServerInfo serverTarget = ProxyServer.getInstance().getServerInfo( args[0] ); if ( serverTarget != null ) ProxiedPlayer player = ProxyServer.getInstance().getPlayer( args[0] ); if ( player == null )
@Override public void execute(CommandSender sender, String[] args) { for ( ServerInfo server : ProxyServer.getInstance().getServers().values() ) { if ( !server.canAccess( sender ) ) { continue; } List<String> players = new ArrayList<>(); for ( ProxiedPlayer player : server.getPlayers() ) { players.add( player.getDisplayName() ); } Collections.sort( players, String.CASE_INSENSITIVE_ORDER ); sender.sendMessage( ProxyServer.getInstance().getTranslation( "command_list", server.getName(), server.getPlayers().size(), Util.format( players, ChatColor.RESET + ", " ) ) ); } sender.sendMessage( ProxyServer.getInstance().getTranslation( "total_players", ProxyServer.getInstance().getOnlineCount() ) ); } }
for ( ProxiedPlayer player : ProxyServer.getInstance().getPlayers() ) for ( String server : ProxyServer.getInstance().getServers().keySet() )
sender.sendMessage( proxy.getTranslation( "no_permission" ) ); if ( proxy.getConfig().isLogCommands() ) proxy.getLogger().log( Level.INFO, "{0} executed command: /{1}", new Object[] ProxyServer.getInstance().getLogger().log( Level.WARNING, "Error in dispatching command", ex );
/** * Checks whether this message is run on this proxy server. * * @return if this command runs on the proxy * @see PluginManager#isExecutableCommand(java.lang.String, net.md_5.bungee.api.CommandSender) */ public boolean isProxyCommand() { if ( !isCommand() ) { return false; } int index = message.indexOf( " " ); String commandName = ( index == -1 ) ? message.substring( 1 ) : message.substring( 1, index ); CommandSender sender = ( getSender() instanceof CommandSender ) ? (CommandSender) getSender() : null; return ProxyServer.getInstance().getPluginManager().isExecutableCommand( commandName, sender ); } }
@Override public Iterable<String> onTabComplete(final CommandSender sender, final String[] args) { return ( args.length > 1 ) ? Collections.EMPTY_LIST : Iterables.transform( Iterables.filter( ProxyServer.getInstance().getServers().values(), new Predicate<ServerInfo>() { private final String lower = ( args.length == 0 ) ? "" : args[0].toLowerCase( Locale.ROOT ); @Override public boolean apply(ServerInfo input) { return input.getName().toLowerCase( Locale.ROOT ).startsWith( lower ) && input.canAccess( sender ); } } ), new Function<ServerInfo, String>() { @Override public String apply(ServerInfo input) { return input.getName(); } } ); } }
@Override public void execute(CommandSender sender, String[] args) Map<String, ServerInfo> servers = ProxyServer.getInstance().getServers(); if ( args.length == 0 ) sender.sendMessage( ProxyServer.getInstance().getTranslation( "current_server", ( (ProxiedPlayer) sender ).getServer().getInfo().getName() ) ); ComponentBuilder serverList = new ComponentBuilder( "" ).append( TextComponent.fromLegacyText( ProxyServer.getInstance().getTranslation( "server_list" ) ) ); boolean first = true; for ( ServerInfo server : servers.values() ) if ( server == null ) player.sendMessage( ProxyServer.getInstance().getTranslation( "no_server" ) ); } else if ( !server.canAccess( player ) ) player.sendMessage( ProxyServer.getInstance().getTranslation( "no_server_permission" ) ); } else
@Override public void disconnected(ChannelWrapper channel) throws Exception { // We lost connection to the server server.getInfo().removePlayer( con ); if ( bungee.getReconnectHandler() != null ) { bungee.getReconnectHandler().setServer( con ); } if ( !server.isObsolete() ) { con.disconnect( bungee.getTranslation( "lost_connection" ) ); } ServerDisconnectEvent serverDisconnectEvent = new ServerDisconnectEvent( con, server.getInfo() ); bungee.getPluginManager().callEvent( serverDisconnectEvent ); }
@Override public void forward(Vote v) { ProxiedPlayer p = ProxyServer.getInstance().getPlayer(v.getUsername()); if (p != null && p.getServer() != null && serverFilter.isAllowed(p.getServer().getInfo().getName())) { if (forwardSpecific(new BungeeBackendServer(p.getServer().getInfo()), v)) { return; } } ServerInfo serverInfo = ProxyServer.getInstance().getServers().get(fallbackServer); // nowhere to fall back to, yet still not online. lets save this vote yet! if (serverInfo == null) attemptToAddToPlayerCache(v, v.getUsername()); else if (!forwardSpecific(new BungeeBackendServer(serverInfo), v)) attemptToAddToCache(v, fallbackServer); }
public void sendToBukkit(String channel, List<String> messages) { ByteArrayDataOutput out = ByteStreams.newDataOutput(); out.writeUTF(channel); messages.forEach((msg) -> { out.writeUTF(msg); }); ProxyServer.getInstance().getServers().keySet().forEach(server -> { ProxyServer.getInstance().getServerInfo(server).sendData("AdvancedBan", out.toByteArray(), true); }); } }