Solved Spams the error text

Discussion in 'Plugin Development' started by _Stamp_, Jan 30, 2016.

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

    _Stamp_

    So I just started making a plugin for a server that I'm admin on, so far I have managed to get the config working and arguments kinda working.
    So when I type /arena sand everything works fine, it teleports you and sends you a message,
    when I type /arena earth it gets the }else{ message from sand,
    when I type /arena nether it gets the }else{ message from sand and earth!
    I don't know what I have done wrong here, I have checked my code and I can't see anything wrong with it,
    I'm probably just being blind. xD
    Heres the code.
    Code:
    package me.stamp.arenas;
    
    EDIT - Nothing is displayed in console, I have checked.
    
    
    import java.util.logging.Logger;
    
    import org.bukkit.Bukkit;
    import org.bukkit.command.Command;
    import org.bukkit.command.CommandSender;
    import org.bukkit.entity.Player;
    import org.bukkit.event.EventHandler;
    import org.bukkit.event.Listener;
    import org.bukkit.event.player.PlayerJoinEvent;
    import org.bukkit.plugin.java.JavaPlugin;
    
    import net.md_5.bungee.api.ChatColor;
    
    public class Arenas extends JavaPlugin implements Listener {
    public final Logger logger = Bukkit.getLogger();
      
      
    
    
    public void onEnable() {
        getServer().getPluginManager().registerEvents(this, this);
        this.saveDefaultConfig();
        getServer().getPluginManager().registerEvents(new Listener() {
    
            @EventHandler
            public void playerJoin(PlayerJoinEvent event) {
                event.getPlayer().sendMessage(getConfig().getString("join-message"));
          
            }
        }, this);
    
    }
    
    public void onDisable(){
      
    }
    
    
    public boolean onCommand(CommandSender sender,Command cmd ,String command,String[] args){
        if (cmd.getName().equalsIgnoreCase("arena") && sender instanceof Player){
            if (args.length == 0) {
                sender.sendMessage(ChatColor.AQUA + "" + ChatColor.BOLD + "List of arenas");
                sender.sendMessage(ChatColor.LIGHT_PURPLE + "" + getConfig().getString("sand"));
                sender.sendMessage(ChatColor.LIGHT_PURPLE + "" + getConfig().getString("earth"));
                sender.sendMessage(ChatColor.LIGHT_PURPLE + "" + getConfig().getString("nether"));
                return true;
              
              
              
              
            }
            if (args.length == 1) {
           if (args[0].equalsIgnoreCase("sand")){
           sender.getServer().dispatchCommand(sender.getServer().getConsoleSender(), "warp " + args[0] + " " + sender.getName());
           sender.sendMessage(ChatColor.GOLD + "" + ChatColor.BOLD + "Warping to the " + args[0] + " arena!");
    return true;
    }else{
               sender.sendMessage(ChatColor.RED + "" + ChatColor.BOLD + "Error, that is a invalid arena!!");
             
           }
                      
                    }
            if (args.length == 1) {
                if (args[0].equalsIgnoreCase("earth")){
                     sender.getServer().dispatchCommand(sender.getServer().getConsoleSender(), "warp " + args[0] + " " + sender.getName());
                       sender.sendMessage(ChatColor.GOLD + "" + ChatColor.BOLD + "Warping to the " + args[0] + " arena!");
                       return true;
                       }else{
                           sender.sendMessage(ChatColor.RED + "" + ChatColor.BOLD + "Error, that is a invalid arena!");
                       
                              
                     
                }
            }
            if(args.length == 1){
                if(args[0].equalsIgnoreCase("nether")){
                    sender.getServer().dispatchCommand(sender.getServer().getConsoleSender(), "warp " + args[0] + " " + sender.getName());
                      sender.sendMessage(ChatColor.GOLD + "" + ChatColor.BOLD + "Warping to the " + args[0] + " arena!");
                      return true;
                    
                }else{
                    sender.sendMessage(ChatColor.RED + "" + ChatColor.BOLD + "Error, that is a invalid arena!");
                  
                }
              
            }
          
          
            //start a new arena here
      
    
            }
        return true;
        }
    }
    
    
    
     
  2. Offline

    teej107

  3. Offline

    _Stamp_

  4. Offline

    JoaoBM

    @_Stamp_ Instead of checking everytime if the args.length == 1 . Check one time and use "else if" to check the name of the arenas.
     
  5. Offline

    _Stamp_

    Could you give me a example? I have never used that in those circumstances so I keep getting errors when I try to put them in, I have tried 'else if' '}else if{'
     
  6. Offline

    Zombie_Striker

    @_Stamp_
    Code:
    If (args == 1){
    
     if (args[0] equals "blank"){
     }else if (args[0] equals "blank 2"){
     }
    }
     
  7. Offline

    _Stamp_

Thread Status:
Not open for further replies.

Share This Page