Solved Having errors with "else"

Discussion in 'Plugin Development' started by 22vortex22, Oct 5, 2013.

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

    22vortex22

    Could somebody please look at this and tell my why I am getting these error? "Syntax error on token "else", { expected" and "player cannot be resolved"

    http://pastebin.com/g6805NtX

    Code:java
    1. package com.gmail.codervortex;
    2.  
    3. import java.util.ArrayList;
    4. import org.bukkit.ChatColor;
    5. import org.bukkit.Material;
    6. import org.bukkit.command.Command;
    7. import org.bukkit.command.CommandSender;
    8. import org.bukkit.entity.Player;
    9. import org.bukkit.event.EventHandler;
    10. import org.bukkit.event.Listener;
    11. import org.bukkit.event.entity.PlayerDeathEvent;
    12. import org.bukkit.event.player.PlayerEvent;
    13. import org.bukkit.inventory.ItemStack;
    14. import org.bukkit.plugin.java.JavaPlugin;
    15.  
    16. public class EasyPvpKits extends JavaPlugin implements Listener{
    17.  
    18. @Override
    19. public void onEnable() {
    20. getServer().getPluginManager().registerEvents(this, this);
    21.  
    22. }
    23. ArrayList<String> kits = new ArrayList<String>();
    24.  
    25. @EventHandler
    26. public void playerDeath(PlayerDeathEvent e) {
    27. kits.remove(e.getEntity().getName());
    28. }
    29.  
    30.  
    31.  
    32. public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args) {
    33. Player player = (Player) sender;
    34. if (commandLabel.equalsIgnoreCase("Pvp") && sender instanceof Player){
    35. if (player.hasPermission("EasyPvpKits.Pvp")){
    36. if (!kits.contains(player.getName()));{
    37. player.sendMessage(ChatColor.GOLD + "You have been given the Pvp kit!");
    38. kits.add(player.getName());
    39. player.getInventory().clear();
    40. player.getInventory().addItem(new ItemStack(Material.DIAMOND_SWORD));
    41. player.getInventory().setHelmet(new ItemStack(Material.IRON_HELMET));
    42. player.getInventory().setChestplate(new ItemStack(Material.IRON_CHESTPLATE));
    43. player.getInventory().setLeggings(new ItemStack(Material.IRON_LEGGINGS));
    44. player.getInventory().setBoots(new ItemStack(Material.IRON_BOOTS));
    45. for (int i = 0; i < 35; i++){
    46. player.getInventory().addItem(new ItemStack(Material.MUSHROOM_SOUP));}}
    47.  
    48.  
    49. else {
    50. player.sendMessage(ChatColor.RED + "You have already picked a kit!");
    51. }}
    52.  
    53.  
    54.  
    55.  
    56. }
    57. if (commandLabel.equalsIgnoreCase("Archer") && sender instanceof Player){
    58. if (player.hasPermission("EasyPvpKits.Archer")){
    59. if (!kits.contains(player.getName()));{
    60. player.sendMessage(ChatColor.GOLD + "You have been given the Archer kit!");
    61. player.getInventory().clear();
    62. player.getInventory().addItem(new ItemStack(Material.IRON_SWORD));
    63. player.getInventory().addItem(new ItemStack(Material.BOW));
    64. player.getInventory().setHelmet(new ItemStack(Material.CHAINMAIL_HELMET));
    65. player.getInventory().setChestplate(new ItemStack(Material.IRON_CHESTPLATE));
    66. player.getInventory().setLeggings(new ItemStack(Material.IRON_LEGGINGS));
    67. player.getInventory().setBoots(new ItemStack(Material.CHAINMAIL_BOOTS));
    68. for (int i = 0; i < 33; i++){
    69. player.getInventory().addItem(new ItemStack(Material.MUSHROOM_SOUP));}}
    70.  
    71. else {player.sendMessage(ChatColor.RED + "You have already picked a kit!");}}
    72.  
    73.  
    74. }
    75.  
    76.  
    77. }
    78.  
    79.  
    80. else{
    81. player.sendMessage(ChatColor.RED + "You do not have permission to recieve this kit!");}
    82.  
    83.  
    84.  
    85.  
    86.  
    87.  
    88. return false;
    89. }
    90. }
    91.  
     
  2. Offline

    Tehmaker

    EDIT:

    Whoah, copying that fked shit up..... Lets try that again, I will just show an example:

    Code:
    if(cmd.getName().equalsIgnoreCase("Example"))
    {
         p.sendMessage("This is an example");
    }
    else
    {
         p.sendMessage("You entered any other command that doesn't equal Example!");
    }
    
     
  3. Offline

    22vortex22

    If you didnt know, Im new to coding and Im still learning. So how can I fix it?

    Edit: I still have no idea what to do..


    I dont think thats what Im trying to do. When you do /pvp or /archer it checks if your a player, then checks to make sure you have permission and then checks to make sure you haven't already picked a kit that life. If you have already had a kit that life you get the "You have already picked a kit message" If not it gives you the kit..... Could somebody please help me.

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

    Tehmaker

    Code:
    public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args)
    {
          Player player = (Player) sender;
          if (commandLabel.equalsIgnoreCase("Pvp") && sender instanceof Player)
          {
               if (player.hasPermission("EasyPvpKits.Pvp"))
               {
               if (!kits.contains(player.getName()))
               {
                   player.sendMessage(ChatColor.GOLD + "You have been given the Pvp kit!");
                   kits.add(player.getName());
                  player.getInventory().clear();
                  player.getInventory().addItem(new ItemStack(Material.DIAMOND_SWORD));
                  player.getInventory().setHelmet(new ItemStack(Material.IRON_HELMET));
                  player.getInventory().setChestplate(new ItemStack(Material.IRON_CHESTPLATE));
                  player.getInventory().setLeggings(new ItemStack(Material.IRON_LEGGINGS));
                  player.getInventory().setBoots(new ItemStack(Material.IRON_BOOTS));
                  for (int i = 0; i < 35; i++)
                  {
                      player.getInventory().addItem(new ItemStack(Material.MUSHROOM_SOUP));
                  }
             }
             else {
                   player.sendMessage(ChatColor.RED + "You have already picked a kit!");
             }
    
    I just did it really quick without an IDE, sorry if any mistakes are still there... Try to properly indent etc....
     
  5. Offline

    CubieX

    Code:
     if (!kits.contains(player.getName()));{
    Delete the ";" in line 36 after your if() statement.
     
    DAZ3DNDC0NFUS3D likes this.
  6. Offline

    The_Doctor_123

  7. Offline

    Goblom

    That code organization is horrible...

    I took the liberty of fixing all your mistakes (there was about 10) and also fixing your code organization. Link to code is http://pastebin.com/M94AEZ7n

    Your Problems
    • You had and else statement outside of onCommand
    • You had multiple brackets that closed onCommand before you wanted it to be closed.
    • You had ; in areas that cause plugin to break.
    • You had return false outside of onCommand
    • You had an extra } at the end of your code
     
  8. Offline

    22vortex22

    Thank you guys so much! I'm still learning and I really appreciate the help.
     
  9. Offline

    MrSparkzz

    You're a God. I never would've done that much to help someone that was a beginner. I would've just told them to watch/read more tutorials. Hah.
     
  10. Offline

    Goblom

    MrSparkzz When im bored... Which i was. I tend to write/fix the code for others...

    Its very bad for them because they don't learn but it ends up keeping this sub forum clean from very easy to detect mistakes.
     
  11. Offline

    UltraFireFX

  12. Offline

    Goblom

    Please change thread to solve
     
Thread Status:
Not open for further replies.

Share This Page