Add tab completion for find command. Also change api a bit.
This commit is contained in:
parent
d67acd7bc9
commit
e998faeec1
@ -145,7 +145,10 @@ public class PluginManager
|
|||||||
command.execute( sender, args );
|
command.execute( sender, args );
|
||||||
} else if ( command instanceof TabExecutor )
|
} else if ( command instanceof TabExecutor )
|
||||||
{
|
{
|
||||||
tabResults.addAll( ( (TabExecutor) command ).onTabComplete( sender, args ) );
|
for ( String s : ( (TabExecutor) command ).onTabComplete( sender, args ) )
|
||||||
|
{
|
||||||
|
tabResults.add( s );
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} catch ( Exception ex )
|
} catch ( Exception ex )
|
||||||
{
|
{
|
||||||
|
@ -2,10 +2,9 @@ package net.md_5.bungee.api.plugin;
|
|||||||
|
|
||||||
import net.md_5.bungee.api.CommandSender;
|
import net.md_5.bungee.api.CommandSender;
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
public interface TabExecutor
|
public interface TabExecutor
|
||||||
{
|
{
|
||||||
|
|
||||||
public List<String> onTabComplete(CommandSender sender, String[] args);
|
public Iterable<String> onTabComplete(CommandSender sender, String[] args);
|
||||||
}
|
}
|
||||||
|
@ -4,9 +4,8 @@ import net.md_5.bungee.api.ChatColor;
|
|||||||
import net.md_5.bungee.api.CommandSender;
|
import net.md_5.bungee.api.CommandSender;
|
||||||
import net.md_5.bungee.api.ProxyServer;
|
import net.md_5.bungee.api.ProxyServer;
|
||||||
import net.md_5.bungee.api.connection.ProxiedPlayer;
|
import net.md_5.bungee.api.connection.ProxiedPlayer;
|
||||||
import net.md_5.bungee.api.plugin.Command;
|
|
||||||
|
|
||||||
public class CommandFind extends Command
|
public class CommandFind extends PlayerCommand
|
||||||
{
|
{
|
||||||
|
|
||||||
public CommandFind()
|
public CommandFind()
|
||||||
|
@ -0,0 +1,36 @@
|
|||||||
|
package net.md_5.bungee.command;
|
||||||
|
|
||||||
|
import com.google.common.base.Function;
|
||||||
|
import com.google.common.collect.Iterables;
|
||||||
|
import net.md_5.bungee.api.CommandSender;
|
||||||
|
import net.md_5.bungee.api.ProxyServer;
|
||||||
|
import net.md_5.bungee.api.connection.ProxiedPlayer;
|
||||||
|
import net.md_5.bungee.api.plugin.Command;
|
||||||
|
import net.md_5.bungee.api.plugin.TabExecutor;
|
||||||
|
|
||||||
|
public abstract class PlayerCommand extends Command implements TabExecutor
|
||||||
|
{
|
||||||
|
|
||||||
|
public PlayerCommand(String name)
|
||||||
|
{
|
||||||
|
super( name );
|
||||||
|
}
|
||||||
|
|
||||||
|
public PlayerCommand(String name, String permission, String... aliases)
|
||||||
|
{
|
||||||
|
super( name, permission, aliases );
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Iterable<String> onTabComplete(CommandSender sender, String[] args)
|
||||||
|
{
|
||||||
|
return Iterables.transform( ProxyServer.getInstance().getPlayers(), new Function<ProxiedPlayer, String>()
|
||||||
|
{
|
||||||
|
@Override
|
||||||
|
public String apply(ProxiedPlayer input)
|
||||||
|
{
|
||||||
|
return input.getDisplayName();
|
||||||
|
}
|
||||||
|
} );
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user