How to get the player without the full name

Discussion in 'Plugin Development' started by edocsyl, May 8, 2012.

Thread Status:
Not open for further replies.
  1. Offline

    edocsyl

    Hi
    I can get the player with the exact name:
    Player kickPlayer = Bukkit.getServer().getPlayer(args[1]);

    Now my question is:
    How to get the player with only "edo" for "Edocsyl" and how to check if he is online?

    Greez Edocsyl
     
  2. Offline

    Sayshal

    I don't know the code, but I believe this calls for Regex.
     
  3. Offline

    Njol

    You don't have to change anything, Bukkit.getPlayer(name) already accepts only the beginning of the name. If you wanted to get a player with the exact name, you would have to use Bukkit.getPlayerExact(name).
     
  4. Offline

    edocsyl

    This ist just a simple test, but if i put in as command:
    /tool kick edo reason

    Code:
              if (args.length == 3) {
                    if(args[0].equalsIgnoreCase("kick") || args[0].equalsIgnoreCase("kicken")){
                        Player kickPlayer = Bukkit.getServer().getPlayer(args[1]);
                        String grund = "; Grund: " + args[2];
                        kickPlayer.kickPlayer(ChatColor.AQUA + "[Info] " + ChatColor.WHITE +"Gekickt von: " + p.getName() + grund);
                        return true;
                    }
                    return true;
                }
    
    Then it gives me this error:

    2012-05-08 23:21:38 [SEVERE] null
    org.bukkit.command.CommandException: Unhandled exception executing command 'tool' in plugin CraftingTerritory.net by Edocsyl.ch v0.4
    at org.bukkit.command.PluginCommand.execute(PluginCommand.java:42)
    at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:166)
    at org.bukkit.craftbukkit.CraftServer.dispatchCommand(CraftServer.java:473)
    at net.minecraft.server.NetServerHandler.handleCommand(NetServerHandler.java:821)
    at net.minecraft.server.NetServerHandler.chat(NetServerHandler.java:781)
    at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:764)
    at net.minecraft.server.Packet3Chat.handle(Packet3Chat.java:34)
    at net.minecraft.server.NetworkManager.b(NetworkManager.java:229)
    at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:113)
    at net.minecraft.server.NetworkListenThread.a(NetworkListenThread.java:78)
    at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:551)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:449)
    at net.minecraft.server.ThreadServerApplication.run(SourceFile:492)
    Caused by: java.lang.NullPointerException
    at ch.edocsyl.CraftingTerritory.GSMCommandExecutor.onCommand(GSMCommandExecutor.java:58)
    at org.bukkit.command.PluginCommand.execute(PluginCommand.java:40)
    ... 12 more
    2012-05-08 23:22:06 [WARNING] Can't keep up! Did the system time change, or is the server overloaded?
    2012-05-08 23:22:11 [SEVERE] null
    org.bukkit.command.CommandException: Unhandled exception executing command 'tool' in plugin CraftingTerritory.net by Edocsyl.ch v0.4
    at org.bukkit.command.PluginCommand.execute(PluginCommand.java:42)
    at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:166)
    at org.bukkit.craftbukkit.CraftServer.dispatchCommand(CraftServer.java:473)
    at net.minecraft.server.NetServerHandler.handleCommand(NetServerHandler.java:821)
    at net.minecraft.server.NetServerHandler.chat(NetServerHandler.java:781)
    at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:764)
    at net.minecraft.server.Packet3Chat.handle(Packet3Chat.java:34)
    at net.minecraft.server.NetworkManager.b(NetworkManager.java:229)
    at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:113)
    at net.minecraft.server.NetworkListenThread.a(NetworkListenThread.java:78)
    at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:551)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:449)
    at net.minecraft.server.ThreadServerApplication.run(SourceFile:492)
    Caused by: java.lang.NullPointerException
    at ch.edocsyl.CraftingTerritory.GSMCommandExecutor.onCommand(GSMCommandExecutor.java:58)
    at org.bukkit.command.PluginCommand.execute(PluginCommand.java:40)
    ... 12 more

    Oh, lol. Now it works..

    :confused:. ok this is solved :p

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 25, 2016
  5. You are using the wrong command
    Code:
              if (args.length == 3) { 
                    if(args[0].equalsIgnoreCase("kick") || args[0].equalsIgnoreCase("kicken")){
                        Player kickPlayer = Bukkit.getServer().getPlayer(args[1]);
                        String grund = "; Grund: " + args[2];
                        kickPlayer.kickPlayer(ChatColor.AQUA + "[Info] " + ChatColor.WHITE +"Gekickt von: " + p.getName() + grund);
                        return true;
                    }
                    return true; 
                }
    
    You should NOT use exact if you want to use partial name.
     
Thread Status:
Not open for further replies.

Share This Page