ISSUED SERVER COMMAND![SOLVED]

Discussion in 'Plugin Development' started by FastFuture, Mar 7, 2014.

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

    FastFuture

    Hey i have been having problems i wanted to make a new different kitpvp but when i type /pvp its says in console issued server command and i can't still see what's the problem can be?
    any help?
    heres code for the kitpvp!
    Code:
    package me.lionos.plugins;
     
    import java.util.ArrayList;
     
    import org.bukkit.ChatColor;
    import org.bukkit.Material;
    import org.bukkit.command.CommandSender;
    import org.bukkit.enchantments.Enchantment;
    import org.bukkit.entity.Player;
    import org.bukkit.event.Listener;
    import org.bukkit.inventory.ItemStack;
    import org.bukkit.material.Command;
    import org.bukkit.plugin.java.JavaPlugin;
     
     
       
     
        public class Main extends JavaPlugin implements Listener {
            public void onEnable() {
                getServer().getPluginManager().registerEvents(this, this);
            }
            ArrayList <String> kits = new ArrayList<String>();
           
       
            public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args) {
                Player player = (Player) sender;   
                if(commandLabel.equalsIgnoreCase("pvp")) {
                    player.getInventory().clear();
                    player.sendMessage(ChatColor.GOLD + "Obtained PvP Kit!");
                    player.getInventory().setHelmet(new ItemStack(Material.DIAMOND_HELMET));
                    player.getInventory().setChestplate(new ItemStack(Material.DIAMOND_CHESTPLATE));
                    player.getInventory().setLeggings(new ItemStack(Material.DIAMOND_LEGGINGS));
                    player.getInventory().setBoots(new ItemStack(Material.DIAMOND_BOOTS));
                    ItemStack sword = new ItemStack(Material.DIAMOND_SWORD);
                    sword.addEnchantment(Enchantment.DAMAGE_ALL, 1);
                    player.getInventory().addItem(sword);
                    player.getInventory().addItem(new ItemStack(Material.MUSHROOM_SOUP));
                    player.getInventory().addItem(new ItemStack(Material.MUSHROOM_SOUP));
                    player.getInventory().addItem(new ItemStack(Material.MUSHROOM_SOUP));
                    player.getInventory().addItem(new ItemStack(Material.MUSHROOM_SOUP));
                    player.getInventory().addItem(new ItemStack(Material.MUSHROOM_SOUP));
                    player.getInventory().addItem(new ItemStack(Material.MUSHROOM_SOUP));
                   
                }
                return false;
           
            }
           
        }
     
     
           
               
    
    here is my plugin.yml
    Code:
    name: KitPvP
    version: 1.0
    main: me.lionos.plugins.Main
    author: PixCo Studios
    description: KitPvP
    commands:
      pvp:
        description: PvP Kit
     
    
     
  2. Offline

    Wizehh

    First off, you can't *should not* cast Player to sender without checking first.
    Secondly, try changing "label.equals..." to "cmd.getName().equals()"
    - -
    What exactly is the error or problem?
     
  3. Offline

    FastFuture

    the problem is that when i type/pvp i i get issued server command in console
     
  4. Offline

    Wolfey

    Does the command work though?
     
  5. Offline

    FastFuture

    No it doesn't work, its says its running when i type /pl but when i type /pvp nothing happens and i check console and it says issued server command
     
  6. Offline

    Wizehh

    Have you tried my suggestion?
     
  7. Offline

    FastFuture

    this thing cmd.getName().equals()? getting error at getName says that i need to add a cast
     
  8. Offline

    Wizehh

    if (cmd.getName().equalsIgnoreCase("pvp")) {

    }
     
  9. Offline

    FastFuture

    tried that but still need to add a cast to getName()
     
  10. Offline

    Wizehh

    Please post the code.
     
  11. Offline

    FastFuture

    sure
    Code:
    package me.lionos.plugins;
     
    import java.util.ArrayList;
     
    import org.bukkit.ChatColor;
    import org.bukkit.Material;
    import org.bukkit.command.CommandSender;
    import org.bukkit.enchantments.Enchantment;
    import org.bukkit.entity.Player;
    import org.bukkit.event.Listener;
    import org.bukkit.inventory.ItemStack;
    import org.bukkit.material.Command;
    import org.bukkit.plugin.java.JavaPlugin;
     
     
       
     
        public class Main extends JavaPlugin implements Listener {
            public void onEnable() {
                getServer().getPluginManager().registerEvents(this, this);
            }
            ArrayList <String> kits = new ArrayList<String>();
           
       
            public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args) {
                    Player player = (Player) sender;   
                    if(cmd.getName().equalsIgnoreCase("pvp")) {
                    player.getInventory().clear();
                    player.sendMessage(ChatColor.GOLD + "Obtained PvP Kit!");
                    player.getInventory().setHelmet(new ItemStack(Material.DIAMOND_HELMET));
                    player.getInventory().setChestplate(new ItemStack(Material.DIAMOND_CHESTPLATE));
                    player.getInventory().setLeggings(new ItemStack(Material.DIAMOND_LEGGINGS));
                    player.getInventory().setBoots(new ItemStack(Material.DIAMOND_BOOTS));
                    ItemStack sword = new ItemStack(Material.DIAMOND_SWORD);
                    sword.addEnchantment(Enchantment.DAMAGE_ALL, 1);
                    player.getInventory().addItem(sword);
                    player.getInventory().addItem(new ItemStack(Material.MUSHROOM_SOUP));
                    player.getInventory().addItem(new ItemStack(Material.MUSHROOM_SOUP));
                    player.getInventory().addItem(new ItemStack(Material.MUSHROOM_SOUP));
                    player.getInventory().addItem(new ItemStack(Material.MUSHROOM_SOUP));
                    player.getInventory().addItem(new ItemStack(Material.MUSHROOM_SOUP));
                    player.getInventory().addItem(new ItemStack(Material.MUSHROOM_SOUP));
                   
                }
                return false;
           
            }
           
        }
     
     
           
               
    
     
  12. Offline

    Wizehh

    FastFuture
    That looks fine, but make sure you check who the sender is:
    if (sender instanceof Player) {
    //code
    } else {
    //not a player
    }
     
  13. Offline

    FastFuture

    could you change the code for me to get it work?

    not quite sure what i am going to do with that code u gave me

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: Jun 7, 2016
  14. Offline

    Wizehh

    public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
    if (cmd.getName().equalsIgnoreCase("pvp")) {
    if (sender instanceof Player) {
    Player player = (Player) sender; // (Safely) casting
    // your code here
    }
    }
    }
     
  15. Offline

    FastFuture

    thanks will try that

    but i get a red error under getName() its says that i need to cast something like (CommandSender)

    The method getName() is undefined for the type Command

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: Jun 7, 2016
  16. Offline

    Wizehh

    That's strange, I've never had that happen before.
    Just out of curiosity, is 'craftbukkit.jar' or 'bukkit.jar' in your plugin's build path? It's optimal to use the latter, unless you're working with NMS.
    -edit-
    Download for 'bukkit.jar': http://dl.bukkit.org/latest-dev/bukkit.jar
    That should be remedial.
     
  17. Offline

    FastFuture

    using eclipse added the craftbukkit.jar into the referenced libraries

    craftbukkit version 1.7.2

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: Jun 7, 2016
  18. Offline

    Axe2760

    FastFuture
    This line is your issue
    Code:
    import org.bukkit.material.Command;
    Wrong import for Command, use org.bukkit.command.Command.
     
  19. Offline

    FastFuture

    thanks now i dont't get the error at getName();

    will try to check the plugin if it works!

    OMFG! it works thanks a lot for the help!

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: Jun 7, 2016
  20. Offline

    Wizehh

    I'm happy I could help. Can you mark the thread as 'solved'?
     
  21. Offline

    FastFuture

  22. Offline

    Wizehh

    Ah, good catch.
     
Thread Status:
Not open for further replies.

Share This Page