Solved Does anyone know why I get an internal error when I try to use my command?

Discussion in 'Plugin Help/Development/Requests' started by mrdude123, Apr 15, 2015.

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

    mrdude123

    Main class:
    Code:
    package me.thecerealkill3r.Soulbound;
    
    import org.bukkit.plugin.java.JavaPlugin;
    
    public class Main extends JavaPlugin {
        public void onEnable(){
            getCommand("SoulBound").setExecutor(new Soulbound());
        }
    
    }
    
    soulbound class:
    Code:
    package me.thecerealkill3r.Soulbound;
    
    import org.bukkit.ChatColor;
    import org.bukkit.command.Command;
    import org.bukkit.command.CommandExecutor;
    import org.bukkit.command.CommandSender;
    import org.bukkit.entity.Player;
    import org.bukkit.inventory.ItemStack;
    import org.bukkit.inventory.meta.ItemMeta;
    
    public class Soulbound implements CommandExecutor {
        @Override
        public boolean onCommand(CommandSender sender, Command cmd, String lbl, String[] args){
            if((sender instanceof Player));
            Player player = (Player) sender;
            ItemMeta immm = player.getItemInHand().getItemMeta();
            if(player.getItemInHand().equals(null)){
                player.sendMessage("That's not going to work.");
            }else{
            immm.getLore().add(ChatColor.GOLD + "Soulbound");
            }
            return true;
    }
    }
    Stack trace:
    Code:
    [07:12:11] [Server thread/INFO]: TheCerealKill3r issued server command: /soulbound
    [07:12:11] [Server thread/ERROR]: null
    org.bukkit.command.CommandException: Unhandled exception executing command 'soulbound' in plugin SoulboundTest v0.0
    at org.bukkit.command.PluginCommand.execute(PluginCommand.java:46) ~[Spigot.jar:git-Spigot-b8f6402-a646500]
    at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:181) ~[Spigot.jar:git-Spigot-b8f6402-a646500]
    at org.bukkit.craftbukkit.v1_8_R1.CraftServer.dispatchCommand(CraftServer.java:642) ~[Spigot.jar:git-Spigot-b8f6402-a646500]
    at net.minecraft.server.v1_8_R1.PlayerConnection.handleCommand(PlayerConnection.java:1105) [Spigot.jar:git-Spigot-b8f6402-a646500]
    at net.minecraft.server.v1_8_R1.PlayerConnection.a(PlayerConnection.java:940) [Spigot.jar:git-Spigot-b8f6402-a646500]
    at net.minecraft.server.v1_8_R1.PacketPlayInChat.a(PacketPlayInChat.java:26) [Spigot.jar:git-Spigot-b8f6402-a646500]
    at net.minecraft.server.v1_8_R1.PacketPlayInChat.a(PacketPlayInChat.java:53) [Spigot.jar:git-Spigot-b8f6402-a646500]
    at net.minecraft.server.v1_8_R1.PacketHandleTask.run(SourceFile:13) [Spigot.jar:git-Spigot-b8f6402-a646500]
    at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [?:1.7.0_01]
    at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source) [?:1.7.0_01]
    at java.util.concurrent.FutureTask.run(Unknown Source) [?:1.7.0_01]
    at net.minecraft.server.v1_8_R1.MinecraftServer.z(MinecraftServer.java:683) [Spigot.jar:git-Spigot-b8f6402-a646500]
    at net.minecraft.server.v1_8_R1.DedicatedServer.z(DedicatedServer.java:316) [Spigot.jar:git-Spigot-b8f6402-a646500]
    at net.minecraft.server.v1_8_R1.MinecraftServer.y(MinecraftServer.java:623) [Spigot.jar:git-Spigot-b8f6402-a646500]
    at net.minecraft.server.v1_8_R1.MinecraftServer.run(MinecraftServer.java:526) [Spigot.jar:git-Spigot-b8f6402-a646500]
    at java.lang.Thread.run(Unknown Source) [?:1.7.0_01]
    Caused by: java.lang.NullPointerException
    at me.thecerealkill3r.Soulbound.Soulbound.onCommand(Soulbound.java:20) ~[?:?]
    at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) ~[Spigot.jar:git-Spigot-b8f6402-a646500]
    ... 15 more
    Thank you.
     
  2. Offline

    sgavster

    Oh gosh, where to start...
    You don't check if the command is the command you want
    You have ; when you need { when you check for a player.
    You dont use .equals(null) to check for a null item
    You're not setting the lore correctly.
     
  3. Offline

    mrdude123

    @sgavster Oh dear. Thank you.

    @sgavster Do you happen to know how I could set the lore? I've been working on it, but have yet to solve it.
     
    Last edited by a moderator: Apr 15, 2015
  4. Offline

    sgavster

    @mrdude123 You could try my SimplyItems util or do this:
    PHP:
     immm.setLore(Arrays.asList(lore));
            
    player.getItemInHand().setItemMeta(immm);
     
  5. Offline

    nverdier

    @mrdude123 ItemMeta#setLore(List<String>) and ItemStack#setItemMeta(ItemMeta)
     
  6. Offline

    mrdude123

  7. Offline

    nverdier

    @mrdude123 No problem! Please mark as solved.
     
Thread Status:
Not open for further replies.

Share This Page