Solved Command not seeming to work

Discussion in 'Plugin Development' started by danichef, Apr 15, 2017.

Thread Status:
Not open for further replies.
  1. Hello,
    I'm sorry for coming again but another thing isnt loading. When I complete the command it doesent load meaning if I do /booster add its gives me erro but if I do /booster add fireballbow it doesent do anything
    Command class:
    Code:
            Player p = (Player) sender;
            String prefix = ChatColor.DARK_RED + "" + ChatColor.BOLD + "Krazium" + ChatColor.WHITE + "" + ChatColor.BOLD + "Booster" + ChatColor.DARK_GRAY + "" + ChatColor.BOLD + "> ";
            if ((args.length == 1) && (args[0].equalsIgnoreCase("add"))){
            if (args[1].equalsIgnoreCase("doublelive")){
                    if(onDoubleLives == true){
                        p.sendMessage(prefix + "Theres already a double live booster!");
                    }else {
                        if(onDoubleLives == false){
                            onDoubleLives = true;
                            p.sendMessage(prefix + ChatColor.GREEN + "You've used 1 double live booster!");
                            Collection<? extends Player> onlinePlayerList = Bukkit.getServer().getOnlinePlayers();
                            for (Player players : onlinePlayerList) {
                                players.sendMessage(prefix + ChatColor.GREEN + p.getName() +  " has acctivated double live booster!");
                            
                            }
    
                        }
                    }
                }
                else if (args[1].equalsIgnoreCase("fireballbow")){
                    if(onFireBow == true){
                        p.sendMessage(prefix + "Theres already a fireball bow booster!");
                    }else {
                        if(onFireBow == false){
                            onFireBow = true;
                            p.sendMessage(prefix + ChatColor.GREEN + "You've used 1 double live booster!");
                            Collection<? extends Player> onlinePlayerList = Bukkit.getServer().getOnlinePlayers();
                            for (Player players : onlinePlayerList) {
                                players.sendMessage(prefix + ChatColor.GREEN + p.getName() +  " has activated a fire ball bow booster!");
                            
                            }
    
                        }
                    }
                }
            }         else if ((args.length == 1) && (args[0].equalsIgnoreCase("remove"))){
                if (args[1].equalsIgnoreCase("fireballbow")){
    
                    if(onFireBow == true){
                        onFireBow = false;
                        p.sendMessage(prefix + "Removed fireball bow booster!");
                    }else {
                        if(onFireBow == false){
                            p.sendMessage(prefix + "There is no fireball bow booster!");
    
                        }
                    }
                }
            }
            else if (args[1].equalsIgnoreCase("fireballbow")){
    
                if(onDoubleLives == true){
                    onDoubleLives = false;
                    p.sendMessage(prefix + "Removed Double live booster!");
                }else {
                    if(onDoubleLives == false){
                        p.sendMessage(prefix + "There is no Double live booster!");
    
                    }
                }
            }
            return true;
        }
    
    }
            
    
    Heres my Main class:
    Code:
        SettingsManager settings = SettingsManager.getInstance();
    
        public void onEnable(){
            registerCommands();
            settings.setup(this);
            getServer().getPluginManager().registerEvents(new AntiFallDamage(), this);
            getServer().getPluginManager().registerEvents(new BowBooster(), this);
            getServer().getPluginManager().registerEvents(new LiveBooster(), this);
        
        }
    Thanks for your time! Hope you can help meh.
    Edit: Using SPigot 1.8 and no errors shown on console
     
    Last edited: Apr 16, 2017
  2. Offline

    Yehonathan_

    First thing is: You have written; if ((args.length == 1) && (args[0].equalsIgnoreCase("add))) When it should be if (args.length == 1 && args[0].equalsIgnoreCase("add"))

    Sent fra min GT-I9195 via Tapatalk
     
  3. Offline

    Dnyce72799

    You have "if (args.length == 1)" but you're checking for a second argument... The args length is greater than 1, so it won't work.

    Sent from my LGLS775 using Tapatalk
     
  4. Offline

    Zombie_Striker

    Can you tell me why you are using 1.8? Also, please read this.
    What exactly does not load? Have you debugged?
     
  5. The commands dont work at all. and im srry but i dont know what u mean by "Debug"
     
  6. Offline

    Caderape2

    @danichef We can't help y ou if you just show part of code. If the command dun work at all, then you must have failed the register. Show the full command class , the registerCommand() and did u put the command in your plugin.yml ?
     
  7. k lemme show all.
    Main:
    Code:
    public class Main extends JavaPlugin implements Listener {
        SettingsManager settings = SettingsManager.getInstance();
       
        public void onEnable(){
            registerCommands();
            settings.setup(this);
            getServer().getPluginManager().registerEvents(new AntiFallDamage(), this);
            getServer().getPluginManager().registerEvents(new BowBooster(), this);
            getServer().getPluginManager().registerEvents(new LiveBooster(), this);
           
        }
          private void registerCommands() {
                getCommand("plugins").setExecutor(new AntiPluginSearcher());
                getCommand("booster").setExecutor(new BoosterCommmands());
          }     
    
    }
    AntiPluginSearcher:
    Code:
        public boolean onDoubleLives = false;
        public boolean onFireBow = false;
    
        public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
            Player p = (Player) sender;
            String prefix = ChatColor.DARK_RED + "" + ChatColor.BOLD + "Krazium" + ChatColor.WHITE + "" + ChatColor.BOLD + "Booster" + ChatColor.DARK_GRAY + "" + ChatColor.BOLD + "> ";
            if ((args.length == 1) && (args[0].equalsIgnoreCase("add"))){
            if (args[1].equalsIgnoreCase("doublelive")){
                    if(onDoubleLives == true){
                        p.sendMessage(prefix + "Theres already a double live booster!");
                    }else {
                        if(onDoubleLives == false){
                            onDoubleLives = true;
                            p.sendMessage(prefix + ChatColor.GREEN + "You've used 1 double live booster!");
                            Collection<? extends Player> onlinePlayerList = Bukkit.getServer().getOnlinePlayers();
                            for (Player players : onlinePlayerList) {
                                players.sendMessage(prefix + ChatColor.GREEN + p.getName() +  " has acctivated double live booster!");
                               
                            }
    
                        }
                    }
                }
                else if (args[1].equalsIgnoreCase("fireballbow")){
                    if(onFireBow == true){
                        p.sendMessage(prefix + "Theres already a fireball bow booster!");
                    }else {
                        if(onFireBow == false){
                            onFireBow = true;
                            p.sendMessage(prefix + ChatColor.GREEN + "You've used 1 double live booster!");
                            Collection<? extends Player> onlinePlayerList = Bukkit.getServer().getOnlinePlayers();
                            for (Player players : onlinePlayerList) {
                                players.sendMessage(prefix + ChatColor.GREEN + p.getName() +  " has activated a fire ball bow booster!");
                               
                            }
    
                        }
                    }
                }
            }         else if ((args.length == 1) && (args[0].equalsIgnoreCase("remove"))){
                if (args[1].equalsIgnoreCase("fireballbow")){
    
                    if(onFireBow == true){
                        onFireBow = false;
                        p.sendMessage(prefix + "Removed fireball bow booster!");
                    }else {
                        if(onFireBow == false){
                            p.sendMessage(prefix + "There is no fireball bow booster!");
    
                        }
                    }
                }
            }
            else if (args[1].equalsIgnoreCase("fireballbow")){
    
                if(onDoubleLives == true){
                    onDoubleLives = false;
                    p.sendMessage(prefix + "Removed Double live booster!");
                }else {
                    if(onDoubleLives == false){
                        p.sendMessage(prefix + "There is no Double live booster!");
    
                    }
                }
            }
            return true;
        }
    
    }
               
    
    Booster classes:
    Code:
        BoosterCommmands bo = new BoosterCommmands();
       
        SettingsManager settings = SettingsManager.getInstance();
    
        @EventHandler
        public void onPlayerJoin(PlayerJoinEvent e){
            if(bo.onDoubleLives == true){
                e.getPlayer().setMaxHealth(40);
            } else {
                return;
            }
        }
        @EventHandler
        public void onPlayerRespawn(PlayerRespawnEvent e){
            if(bo.onDoubleLives == true){
                e.getPlayer().setMaxHealth(40);
    
            } else {
                return;
            }
        }
    
    }
    
    and
    Code:
        BoosterCommmands bo = new BoosterCommmands();
       
        @EventHandler
        public void onPlayerInteract(PlayerInteractEvent e) {
            if(bo.onFireBow == true){
                if (!(e.getAction() == Action.RIGHT_CLICK_AIR)) return;
    
                if (!(e.getItem().getType() == Material.BOW)) return;
    
                Fireball f = e.getPlayer().launchProjectile(Fireball.class);
                f.setIsIncendiary(false);
                f.setYield(0);
            }else {
                return;
            }
        }
    
        @EventHandler
        public void onEntityDamage(EntityDamageByEntityEvent e) {
            if (e.getDamager() instanceof Fireball) {
                Fireball f = (Fireball) e.getDamager();
                if (f.getShooter() instanceof Player) {
                    Player shooter = (Player) f.getShooter();
                    if (shooter.getItemInHand().getType() == Material.BOW) {
                        e.setDamage(8.0);
                    }
                }
            }
        }
    }
    
    
     
  8. Offline

    Caderape2

    @danichef
    Do you have an error when you do '/plugins add' ?

    When you call this part of code.
     
  9. args.length == 1 > args[0]

    args.length == 2 -> args[0], args[1]

    Lists will start at 1, integers will start at 0 ;)


    Verzonden vanaf mijn iPhone met Tapatalk
     
  10. Offline

    Caderape2

    @danichef So, do you have an error when u do /booster add ?
    if yes, that mean the code is called, if no, you have another problem

    You register the command plugins with the class AntiPluginSearcher.

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
  11. That did that message worked. but boolean still doesent work.

    Im pretty sure its cause idk how to use booleans properly.

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: Apr 16, 2017
Thread Status:
Not open for further replies.

Share This Page