Solved Help With Args[] Please!

Discussion in 'Plugin Development' started by dagen9, Aug 11, 2017.

Thread Status:
Not open for further replies.
  1. Code:
    PHP:
    package com.arrowheadnetwork.essentials.commands;

    import org.bukkit.Bukkit;
    import org.bukkit.ChatColor;
    import org.bukkit.Material;
    import org.bukkit.command.Command;
    import org.bukkit.command.CommandExecutor;
    import org.bukkit.command.CommandSender;
    import org.bukkit.entity.Player;
    import org.bukkit.inventory.Inventory;
    import org.bukkit.inventory.ItemStack;
    import org.bukkit.inventory.meta.ItemMeta;

    public class 
    OPCommand implements CommandExecutor {
      
        public 
    boolean onCommand(CommandSender senderCommand cmdString labelString[] args){
            
    Player player = (Playersender;
            
    Player target Bukkit.getPlayer(args[0]);
            if(
    cmd.getName().equalsIgnoreCase("op")){
                    if(
    args.length != && target == null){
                      
                        
    player.sendMessage(ChatColor.RED "Usage: /op <Player>");
                    }else{
                        
    Inventory optrgt Bukkit.createInventory(null9ChatColor.GOLD "OP " target.getName() + "?");
                        
    ItemStack ys = new ItemStack(Material.EMERALD_BLOCK,1);
                        
    ItemMeta ysmeta = (ItemMetays.getItemMeta();
                        
    ysmeta.setDisplayName("§a§lYes");
                        
    ys.setItemMeta(ysmeta);
                  
                        
    optrgt.setItem(1ys);
                        
    player.openInventory(optrgt);
                    }
                }
            return 
    true;
        }

    }
    Error:

    Code:
    [11:10:35 ERROR]: null
    org.bukkit.command.CommandException: Unhandled exception executing command 'op' in plugin ArrowHeadEssentials v1.0
            at org.bukkit.command.PluginCommand.execute(PluginCommand.java:46) ~[CraftBukkit.jar:git-Bukkit-c1b8cac]
            at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:140) ~[CraftBukkit.jar:git-Bukkit-c1b8cac]
            at org.bukkit.craftbukkit.v1_12_R1.CraftServer.dispatchCommand(CraftServer.java:623) ~[CraftBukkit.jar:git-Bukkit-c1b8cac]
            at net.minecraft.server.v1_12_R1.PlayerConnection.handleCommand(PlayerConnection.java:1326) [CraftBukkit.jar:git-Bukkit-c1b8cac]
            at net.minecraft.server.v1_12_R1.PlayerConnection.a(PlayerConnection.java:1186) [CraftBukkit.jar:git-Bukkit-c1b8cac]
            at net.minecraft.server.v1_12_R1.PacketPlayInChat.a(SourceFile:37) [CraftBukkit.jar:git-Bukkit-c1b8cac]
            at net.minecraft.server.v1_12_R1.PacketPlayInChat.a(SourceFile:9) [CraftBukkit.jar:git-Bukkit-c1b8cac]
            at net.minecraft.server.v1_12_R1.PlayerConnectionUtils$1.run(SourceFile:13) [CraftBukkit.jar:git-Bukkit-c1b8cac]
            at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [?:1.8.0_144]
            at java.util.concurrent.FutureTask.run(Unknown Source) [?:1.8.0_144]
            at net.minecraft.server.v1_12_R1.SystemUtils.a(SourceFile:46) [CraftBukkit.jar:git-Bukkit-c1b8cac]
            at net.minecraft.server.v1_12_R1.MinecraftServer.D(MinecraftServer.java:695) [CraftBukkit.jar:git-Bukkit-c1b8cac]
            at net.minecraft.server.v1_12_R1.DedicatedServer.D(DedicatedServer.java:366) [CraftBukkit.jar:git-Bukkit-c1b8cac]
            at net.minecraft.server.v1_12_R1.MinecraftServer.C(MinecraftServer.java:650) [CraftBukkit.jar:git-Bukkit-c1b8cac]
            at net.minecraft.server.v1_12_R1.MinecraftServer.run(MinecraftServer.java:554) [CraftBukkit.jar:git-Bukkit-c1b8cac]
            at java.lang.Thread.run(Unknown Source) [?:1.8.0_144]
    Caused by: java.lang.ArrayIndexOutOfBoundsException: 0
            at com.arrowheadnetwork.essentials.commands.OPCommand.onCommand(OPCommand.java:18) ~[?:?]
            at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) ~[CraftBukkit.jar:git-Bukkit-c1b8cac]
            ... 15 more
    Screenies:
    View attachment 30109
    View attachment 30111
     
  2. Offline

    Reflxction

    You're defining the Player target before checking if there are even arguments. Add a if statement checking if the args.length == 1, then add
    Code:
    Player target = Bukkit.getPlayer(args[0]);
     
  3. Hey thanks it works! :)
     
  4. @dagen9

    In addition, you will probably get an error, if you do the command in your console,
    since you are not checking if the sender is a player. You straight do:
    Code:
    Player player = (Player) sender;
    If you want to fix that you need to check if the sender is an instance of Player.
    Code:
    if(sender instanceof Player) {
        Player player = (Player) sender;
    }
     
Thread Status:
Not open for further replies.

Share This Page