Commands Not Exacting Right

Discussion in 'Plugin Development' started by toxiccoke, Jan 12, 2015.

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

    toxiccoke

    Hi
    I was making a plugin that is for my hub server and i was working on my commands but when i exacute /server /vanish /mmenable does not execute what i have put in the code to not work right. i cannot find the solution to fix this so i came here

    Commands.jar
    Code:
    package me.toxiccoke.hubcore.Commands;
    
    import java.util.ArrayList;
    import java.util.HashMap;
    
    import me.toxiccoke.hubcore.Main;
    import net.minecraft.server.v1_7_R4.WhiteList;
    
    import org.bukkit.Bukkit;
    import org.bukkit.ChatColor;
    import org.bukkit.Effect;
    import org.bukkit.GameMode;
    import org.bukkit.Location;
    import org.bukkit.Sound;
    import org.bukkit.command.Command;
    import org.bukkit.command.CommandExecutor;
    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.AsyncPlayerChatEvent;
    import org.bukkit.event.player.PlayerJoinEvent;
    import org.bukkit.event.player.PlayerQuitEvent;
    
    public class Commands implements Listener, CommandExecutor{
      
        public static HashMap<String, String> msg = new HashMap<String, String>();
        public final HashMap<String, String> msg2 = new HashMap<String, String>();
        ArrayList<Player> vanished = new ArrayList<Player>();
      
        public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args) {
            if (!(sender instanceof Player)) {
                sender.sendMessage("You must be a player");
                return true;
            }
            Player p = (Player) sender;
          
            if (cmd.getName().equalsIgnoreCase("Fly")) {
                if (!sender.hasPermission("hc.fly")) {
            sender.sendMessage(ChatColor.GRAY + "["  + ChatColor.RED + "Aporia" + ChatColor.GRAY + "]" + ChatColor.GOLD +
                    "You dont have permission to use this command");
            return true;
            }
            boolean fly = p.getAllowFlight();
                if (fly)
                    p.sendMessage(ChatColor.GRAY + "Fly disabled");
                else
                    p.sendMessage(ChatColor.GRAY + "Fly enabled");
                p.setAllowFlight(!fly);
                return true;
            }
          
            else if(cmd.getName().equalsIgnoreCase("gm")){
                if (!sender.hasPermission("hc.gm")) {
            sender.sendMessage(ChatColor.GRAY + "["  + ChatColor.RED + "Aporia" + ChatColor.GRAY + "]" + ChatColor.GOLD +
                    "You dont have permission to use this command");
            return true;
            }
                if (args.length == 0) {
                    p.sendMessage(ChatColor.RED + "Too Few Arguments");
                    p.sendMessage(ChatColor.GRAY + "/gm <0/1/2> ");
                } else if (args.length == 1) {
                    int mode = Integer.parseInt(args[0]);
                    if (mode == 0) {
                        p.setGameMode(GameMode.SURVIVAL);
                        p.sendMessage(ChatColor.GRAY + "You GameMode Has Been Set To" + ChatColor.GOLD + " Survival");
                    } else if (mode == 1) {
                        p.setGameMode(GameMode.CREATIVE);
                        p.sendMessage(ChatColor.GRAY + "You GameMode Has Been Set To" + ChatColor.GOLD + " Creative");
                    } else if (mode == 2) {
                        p.setGameMode(GameMode.ADVENTURE);
                        p.sendMessage(ChatColor.GRAY + "You GameMode Has Been Set To" + ChatColor.GOLD + " Adventure");
                    } else {
                        p.sendMessage(ChatColor.DARK_RED + "" + mode + ChatColor.RED + " Is Not A Available Gamemode");
                    }
                } else {
                    p.sendMessage(ChatColor.RED + "Too Many Arguments!");
                    p.sendMessage(ChatColor.GRAY + "/gm <1/2/3>");
            }
            }else if(cmd.getName().equalsIgnoreCase("Kick")){
                if (!sender.hasPermission("hc.kick")) {
            sender.sendMessage(ChatColor.GRAY + "["  + ChatColor.RED + "Aporia" + ChatColor.GRAY + "]" + ChatColor.GOLD +
                    "You dont have permission to use this command");
            return true;
            }
                if (args.length == 0) {
                    sender.sendMessage(ChatColor.RED + "/kick {Username} {Reason}");
                    return true;
                }
                Player target = Bukkit.getServer().getPlayer(args[0]);
                if (target == null) {
                    sender.sendMessage(ChatColor.RED + "Could not find player " + args[0] + "!");
                    return true;
                }
                StringBuilder str = new StringBuilder();
                for (int i = 1; i < args.length; i++){
                    str.append(args[i] + " ");
                }
       
                String message = str.toString();
       
                      target.kickPlayer(ChatColor.RED + "You Have Been Kicked By " +  sender.getName() + " Because " + message);
                    
            }else if(cmd.getName().equalsIgnoreCase("warn")){
                if (!sender.hasPermission("hc.warn")) {
            sender.sendMessage(ChatColor.GRAY + "["  + ChatColor.RED + "Aporia" + ChatColor.GRAY + "]" + ChatColor.GOLD +
                    "You dont have permission to use this command");
            return true;
            }
                if (args.length == 0) {
                    sender.sendMessage(ChatColor.RED + "/warn {Username} {Reason}");
                    return true;
                }
                Player target = Bukkit.getServer().getPlayer(args[0]);
                if (target == null) {
                    sender.sendMessage(ChatColor.RED + "Could not find player " + args[0] + "!");
                    return true;
                }
                StringBuilder str = new StringBuilder();
                for (int i = 1; i < args.length; i++){
                    str.append(args[i] + " ");
                }
       
                String reason = str.toString();
       
                      target.sendMessage(ChatColor.RED + "You have been Warned by " + ChatColor.GRAY + sender.getName() + ChatColor.RED + " because " + reason);
                      p.sendMessage(ChatColor.RED + "You have Warned " + ChatColor.GRAY + target.getName());
                      target.sendMessage(ChatColor.RED + "Nex Time Will Result In Ban/Kick");
    
        }else if(cmd.getName().equalsIgnoreCase("msg")){
            if (!sender.hasPermission("hc.msg")) {
        sender.sendMessage(ChatColor.GRAY + "["  + ChatColor.RED + "Aporia" + ChatColor.GRAY + "]" + ChatColor.GOLD +
                "You dont have permission to use this command");
        return true;
        }
            if (args.length == 0) {
                sender.sendMessage(ChatColor.RED + "/msg {Username} {message}");
                return true;
            }
            Player target = Bukkit.getServer().getPlayer(args[0]);
            if (target == null) {
                sender.sendMessage(ChatColor.RED + "Could not find player " + args[0] + "!");
                return true;
            }
              
            StringBuilder str = new StringBuilder();
            for (int i = 1; i < args.length; i++){
                str.append(args[i] + " ");
            }
            String message = str.toString();
          
                  target.sendMessage(ChatColor.GRAY + target.getName() + "->" + ChatColor.YELLOW + "Me" + ChatColor.GRAY+ "]" + ": " + message);
                  p.sendMessage(ChatColor.GRAY + "[Me ->" + ChatColor.YELLOW + target.getName() + ChatColor.GRAY+ "]" + ": " + message);
                
        }else if(cmd.getName().equalsIgnoreCase("tp")){
            if (!sender.hasPermission("hc.msg")) {
        sender.sendMessage(ChatColor.GRAY + "["  + ChatColor.RED + "Aporia" + ChatColor.GRAY + "]" + ChatColor.GOLD +
                "You dont have permission to use this command");
        return true;
        }
            if(args.length == 0){
                p.sendMessage(ChatColor.RED + "/tp {Username}");
                return true;
            } else if (args.length == 1) {
                Player targetPlayer = p.getServer().getPlayer(args[0]);
                Location targetPlayerlocation = targetPlayer.getLocation();
                p.teleport(targetPlayerlocation);
                p.sendMessage(ChatColor.GRAY + "You have teleported to "
                        + targetPlayer.getName());
              
            }else if(cmd.getName().equalsIgnoreCase("vanish")){
                if (!this.vanished.contains(p)) {
                    for (Player pl : Bukkit.getServer().getOnlinePlayers()) {
                        pl.hidePlayer(p);
                    }
                    this.vanished.add(p);
                    p.sendMessage(ChatColor.GRAY + "You have been Main.plugin.vanished!");
                    return true;
                } else {
                    for (Player pl : Bukkit.getServer().getOnlinePlayers()) {
                        pl.showPlayer(p);
                    }
                    this.vanished.remove(p);
                    p.sendMessage(ChatColor.GRAY + "You have been unMain.plugin.vanished!");
                    return true;
                  
                }
                }else if(cmd.getName().equalsIgnoreCase("server")){
                    if (!sender.hasPermission("hc.server")) {
                        sender.sendMessage(ChatColor.GRAY + "["  + ChatColor.RED + "Aporia" + ChatColor.GRAY + "]" + ChatColor.GOLD +
                                "You dont have permission to use this command");
                        return true;
                }else{
                    p.openInventory(me.toxiccoke.hubcore.gadgets.GameSelector.gs);
                  
                }
                  
               if(cmd.getName().equalsIgnoreCase("mmenable")){
                      Bukkit.getServer().setWhitelist(true);
                        Bukkit.getServer().getOnlinePlayers();
                            if (!p.isOp() && !p.isWhitelisted()) {
                                p.kickPlayer("Server is now in mainteance mode.");
                            }
                        }
                        p.sendMessage("Mainteance mode is now activated.");
                        return true;
                }
        }
    
            return false;
        }
        }
            
    Main.jar
    Code:
    package me.toxiccoke.hubcore;
    
    import java.util.ArrayList;
    import java.util.logging.Logger;
    
    import me.toxiccoke.hubcore.AfkKick.AFKKick;
    import me.toxiccoke.hubcore.Bar.BossBar;
    import me.toxiccoke.hubcore.Commands.Commands;
    import me.toxiccoke.hubcore.Jump.Jump;
    import me.toxiccoke.hubcore.MOTD.OnJoinMOTD;
    import me.toxiccoke.hubcore.Scoreboard.ScoreBoard;
    import me.toxiccoke.hubcore.Tab.Tab;
    import me.toxiccoke.hubcore.WorldEvents.Time;
    import me.toxiccoke.hubcore.WorldEvents.Weather;
    import me.toxiccoke.hubcore.gadgets.Events;
    import me.toxiccoke.hubcore.gadgets.GameSelector;
    import me.toxiccoke.hubcore.gadgets.Particles;
    import me.toxiccoke.hubcore.gadgets.playerhider;
    
    import org.bukkit.World;
    import org.bukkit.entity.Player;
    import org.bukkit.event.EventHandler;
    import org.bukkit.event.Listener;
    import org.bukkit.event.player.PlayerJoinEvent;
    import org.bukkit.event.player.PlayerQuitEvent;
    import org.bukkit.plugin.Plugin;
    import org.bukkit.plugin.java.JavaPlugin;
    
    public class Main extends JavaPlugin implements Listener {
      
        public static World world = null;
        static boolean firstJoin = true;
        static boolean start = true;
        ArrayList<Player> vanished = new ArrayList<Player>();
      
        final Logger log = Logger.getLogger("Minecraft");
        public static Plugin plugin;
    
      
        @Override
        public void onEnable() {
            System.out.println("HubCore Enabled");
            plugin = this;
            getServer().getPluginManager().registerEvents(this, this);
            getServer().getPluginManager().registerEvents(new GameSelector(), this);
            getServer().getPluginManager().registerEvents(new playerhider(), this);
            getServer().getPluginManager().registerEvents(new Events(), this);
            getServer().getPluginManager().registerEvents(new Tab(), this);
            getServer().getPluginManager().registerEvents(new OnJoinMOTD(), this);
            getServer().getPluginManager().registerEvents(new Particles(), this);
            getServer().getPluginManager().registerEvents(new Weather(), this);
            getServer().getPluginManager().registerEvents(new Time(), this);
            getServer().getPluginManager().registerEvents(new AFKKick(), this);
            getServer().getPluginManager().registerEvents(new ScoreBoard(), this);
            getServer().getPluginManager().registerEvents(new BossBar(), this);
            getServer().getPluginManager().registerEvents(new Jump(), this);
            getServer().getPluginManager().registerEvents(new Commands(), this);
            me.toxiccoke.hubcore.Commands.Commands c = new me.toxiccoke.hubcore.Commands.Commands();
            getCommand("gm").setExecutor(c);
            getCommand("kick").setExecutor(c);
            getCommand("fly").setExecutor(c);
            getCommand("warn").setExecutor(c);
            getCommand("msg").setExecutor(c);
            getCommand("tp").setExecutor(c);
            getCommand("vanish").setExecutor(c);
            getCommand("server").setExecutor(c);
        }
    @EventHandler
    public void onPlayerJoin(PlayerJoinEvent e) {
            for (Player p : vanished) {
                    e.getPlayer().hidePlayer(p);
            }
    }
            @EventHandler
            public void onPlayerLeave(PlayerQuitEvent e) {
                    vanished.remove(e.getPlayer());
            }
    }
    If anymore information is needed please post below

    Thanks
    toxiccoke
     
  2. Offline

    Epicballzy

    /mmenable:
    Code:
    Bukkit.getServer().setWhitelist(true);
                        Bukkit.getServer().getOnlinePlayers();
                            if (!p.isOp() && !p.isWhitelisted()) {
                                p.kickPlayer("Server is now in mainteance mode.");
                            }
                        }
                        p.sendMessage("Mainteance mode is now activated.");
                        return true;
    Whats the point of Bukkit.getServer().getOnlinePlayers();?
    Instead of using p to try and kick all the players, use a for loop and loop through all the players on the server.

    I'm not sure how to help you with /server.. The code is all messy.

    And for the /vanish cmd, what seems to be the problem?
     
  3. Offline

    toxiccoke

    For some reason all them commands that i listed are not working right now are exacting right
     
  4. Offline

    drpk

    @toxiccoke are you registering them in your plugin.yml?
     
Thread Status:
Not open for further replies.

Share This Page