Solved Target Player

Discussion in 'Plugin Development' started by Someguy556, Feb 24, 2017.

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

    Someguy556

    I made a plugin that gives you nightvision with a command and it goes away when you enter it again, i added a way to target others, but for some reason the command without arguments doesnt work it says an internal error occurred. Does anyone know how to fix this?
    Code:
    public class Test extends JavaPlugin{
    public void onEnable(){
        getLogger().info("Your plugin has been enabled!");
    
    }
    public void onDisable() {
        getLogger().info("Your plugin has been disabled!");
    }
    public boolean onCommand(CommandSender sender , Command cmd, String commandLabel, String[] args) {
    
        if (!(sender instanceof Player)) {
            sender.sendMessage(ChatColor.RED + "The console cannot use Night Vision!");
            return true;
        }
        Player player = (Player) sender;
        Player target = Bukkit.getServer().getPlayer(args[0]);
    
    
            if (cmd.getName().equalsIgnoreCase("nv")) {
                if (args.length == 0) {
             if (player.hasPotionEffect(PotionEffectType.NIGHT_VISION)) {
                 player.sendMessage(ChatColor.AQUA + "Removing Night Vision!");
                    player.removePotionEffect(PotionEffectType.NIGHT_VISION);
                    return true;
             }
       
    
            else {
       
                player.sendMessage(ChatColor.AQUA + "Adding Night Vision!");
                player.addPotionEffect((new PotionEffect(PotionEffectType.NIGHT_VISION, 100000000, 1)));
                return true;
            }
                }
    
    
    
       
    
                    if (target == null) {
                        player.sendMessage(ChatColor.RED + "Could not find player!");
                    return true;
            }
           
             if (target.hasPotionEffect(PotionEffectType.NIGHT_VISION)) {
                target.sendMessage(ChatColor.AQUA + "Removing Night Vision!");
                target.removePotionEffect(PotionEffectType.NIGHT_VISION);
                return true;
            }
             else {
                target.sendMessage(ChatColor.AQUA + "Adding Night Vision!");
                target.addPotionEffect((new PotionEffect(PotionEffectType.NIGHT_VISION, 100000000, 1)));
            return true;
                }
    
    }
    
                    return false;
    }
    }
    
    Code:
    [GUI] Retrieving your current bukkit version...
    [GUI] Your current bukkit version couldn't be determined
    [GUI] Starting bukkit server - min. RAM:128 max. RAM:1024
    [GUI] The server is starting...
    [GUI] Server started...
    6:54:34 Loading libraries, please wait...
    6:54:37 WARN Unable to instantiate org.fusesource.jansi.WindowsAnsiOutputStream
    6:54:42 [INFO] Starting minecraft server version 1.8
    6:54:42 [INFO] Loading properties
    6:54:42 [INFO] Default game type: SURVIVAL
    6:54:42 [INFO] Generating keypair
    6:54:42 [INFO] Starting Minecraft server on *:25565
    6:54:42 [INFO] This server is running CraftBukkit version git-Bukkit-33d5de3 (MC: 1.8) (Implementing API version 1.8-R0.1-SNAPSHOT)
    6:54:42 [INFO] [1st] Loading 1st v1
    6:54:42 [INFO] [Test] Loading Test v1.0
    6:54:42 [INFO] [HF] Loading HF v1.0
    6:54:42 [INFO] Preparing level "world"
    6:54:42 [INFO] Preparing start region for level 0 (Seed: 5608124730555841867)
    6:54:43 [INFO] Preparing start region for level 1 (Seed: 5608124730555841867)
    6:54:44 [INFO] Preparing start region for level 2 (Seed: 5608124730555841867)
    6:54:44 [INFO] [1st] Enabling 1st v1
    6:54:44 [INFO] [1st] Your plugin has been enabled!
    6:54:44 [INFO] [Test] Enabling Test v1.0
    6:54:44 [INFO] Test Plugin Enabled!
    6:54:44 [INFO] [HF] Enabling HF v1.0
    6:54:44 [INFO] Heal & Feed enabled!
    6:54:44 [INFO] Server permissions file permissions.yml is empty, ignoring it
    6:54:44 [INFO] Done (2.076s)! For help, type "help" or "?"
    6:54:49 [INFO] UUID of player Someguy556 is 52486378-6b5b-400a-a02c-0e9555f93074
    6:54:49 [INFO] Someguy556[/127.0.0.1:49661] logged in with entity id 285 at ([world] -178.69999998807907, 65.0, 97.83215227819092)
    6:54:51 [INFO] Someguy556 issued server command: /nv
    6:54:51 [SEVERE] null
    6:54:51 org.bukkit.command.CommandException: Unhandled exception executing command 'nv' in plugin 1st v1
    6:54:51     at org.bukkit.command.PluginCommand.execute(PluginCommand.java:46) ~[craftbukkit-1.8-R0.1-SNAPSHOT-latest.jar:git-Bukkit-33d5de3]
    6:54:51     at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:140) ~[craftbukkit-1.8-R0.1-SNAPSHOT-latest.jar:git-Bukkit-33d5de3]
    6:54:51     at org.bukkit.craftbukkit.v1_8_R1.CraftServer.dispatchCommand(CraftServer.java:625) ~[craftbukkit-1.8-R0.1-SNAPSHOT-latest.jar:git-Bukkit-33d5de3]
    6:54:51     at net.minecraft.server.v1_8_R1.PlayerConnection.handleCommand(PlayerConnection.java:1058) [craftbukkit-1.8-R0.1-SNAPSHOT-latest.jar:git-Bukkit-33d5de3]
    6:54:51     at net.minecraft.server.v1_8_R1.PlayerConnection.a(PlayerConnection.java:919) [craftbukkit-1.8-R0.1-SNAPSHOT-latest.jar:git-Bukkit-33d5de3]
    6:54:51     at net.minecraft.server.v1_8_R1.PacketPlayInChat.a(SourceFile:37) [craftbukkit-1.8-R0.1-SNAPSHOT-latest.jar:git-Bukkit-33d5de3]
    6:54:51     at net.minecraft.server.v1_8_R1.PacketPlayInChat.a(SourceFile:9) [craftbukkit-1.8-R0.1-SNAPSHOT-latest.jar:git-Bukkit-33d5de3]
    6:54:51     at net.minecraft.server.v1_8_R1.PacketHandleTask.run(SourceFile:13) [craftbukkit-1.8-R0.1-SNAPSHOT-latest.jar:git-Bukkit-33d5de3]
    6:54:51     at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [?:1.8.0_121]
    6:54:51     at java.util.concurrent.FutureTask.run(Unknown Source) [?:1.8.0_121]
    6:54:51     at net.minecraft.server.v1_8_R1.MinecraftServer.z(MinecraftServer.java:656) [craftbukkit-1.8-R0.1-SNAPSHOT-latest.jar:git-Bukkit-33d5de3]
    6:54:51     at net.minecraft.server.v1_8_R1.DedicatedServer.z(DedicatedServer.java:284) [craftbukkit-1.8-R0.1-SNAPSHOT-latest.jar:git-Bukkit-33d5de3]
    6:54:51     at net.minecraft.server.v1_8_R1.MinecraftServer.y(MinecraftServer.java:609) [craftbukkit-1.8-R0.1-SNAPSHOT-latest.jar:git-Bukkit-33d5de3]
    6:54:51     at net.minecraft.server.v1_8_R1.MinecraftServer.run(MinecraftServer.java:517) [craftbukkit-1.8-R0.1-SNAPSHOT-latest.jar:git-Bukkit-33d5de3]
    6:54:51     at java.lang.Thread.run(Unknown Source) [?:1.8.0_121]
    6:54:51 Caused by: java.lang.ArrayIndexOutOfBoundsException: 0
    6:54:51     at Test.first.main.Test.onCommand(Test.java:27) ~[?:?]
    6:54:51     at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) ~[craftbukkit-1.8-R0.1-SNAPSHOT-latest.jar:git-Bukkit-33d5de3]
    6:54:51     ... 14 more
    Code:
    name: 1st
    main: Test.first.main.Test
    version: 1
    author: Someguy556
    description:
    commands:
        donothing:
          description: This does nothing..
          usage: /donothing
          permission: 1st.donothing
          permission-message: You can't do nothing!
        troll:
          description: Get trolled kid!
          usage: /troll
          permission: 1st.troll
          permission-message: You can't troll!
        nv:
          description: Gives you Night Vision!
          usage: /<command>
          permission: 1st.nv
          permission-message: You can't add Night Vision!
     
    Last edited: Feb 24, 2017
  2. Offline

    Zombie_Striker

    Please click the link in my signature for 1.8 servers. Update your server to 1.11

    The issue is that you are not checking the args lenght before you try to get the target. Make sure there is a first arg before trying to use it to get the target.
     
    Rayzr522 likes this.
  3. Offline

    Someguy556

    Thanks it worked! :D
    and i'll think about it :p
     
  4. Offline

    Zombie_Striker

    @Someguy556
    If your problem has been solved, mark this thread as solved.
     
Thread Status:
Not open for further replies.

Share This Page