Solved Plugin commands do nothing

Discussion in 'Plugin Development' started by Nave-GCT, Mar 28, 2020.

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

    Nave-GCT

    In a plugin that i am making, when i run certain commands it does nothing.
    The commands /assist, /fly, /endfly, /essentreload work, but other commands dont.
    I would say that the problem might be related to the config file, but the /notice command (which uses config) still shows up when a player joins. The server colors in the config file also work.

    When i type the command it does nothing: It doesent say null, it doesent say invalid command, it doesent work.

    Code:

    src.com.kianate.Main (main file)
    Code:
    package com.kianate;
    
    import org.bukkit.ChatColor;
    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 com.kianate.commands.HelpCommand;
    import org.bukkit.event.Listener;
    
    public class Main extends JavaPlugin implements Listener {
    
    
        boolean motdEnabled;
        boolean motdFirstTime;
        boolean firstJoinMessage;
        boolean noticeEnabled;
    
        @Override
        public void onEnable() {
            System.out.println("'Loading Essent");
            getConfig().options().copyDefaults(true);
            System.out.println("Loaded 'Essent': 'CopyDefaults' Option set to true.");
            saveDefaultConfig();
            System.out.println("Essent Default Config Saved. Essent is by Kianate Studios (Nave GCT)");
            new HelpCommand(this);
            System.out.println("Essent Commands Loaded.");
            System.out.println("Essent Loaded.");
            getServer().getPluginManager().registerEvents(this, this);
        } // error here?
    
        @EventHandler
        public void onPlayerJoinEvent(PlayerJoinEvent event) {
            motdEnabled = getConfig().getBoolean("motdonstart");
            noticeEnabled = getConfig().getBoolean("shownoticeonstart");
            motdFirstTime = getConfig().getBoolean("normalmotdonfirstjoin");
            firstJoinMessage = getConfig().getBoolean("firstjoinmessageenabled");
    
            if (motdEnabled = true)
            {
                if(event.getPlayer().hasPlayedBefore()) {
                    event.getPlayer().sendMessage(ChatColor.translateAlternateColorCodes('&', getConfig().getString("motd")));
                } else {
                    if (motdFirstTime = true)
                    {
                        event.getPlayer().sendMessage(ChatColor.translateAlternateColorCodes('&', getConfig().getString("motd")));
                    }
                }
            }
            if (firstJoinMessage = true)
            {
                if(event.getPlayer().hasPlayedBefore()) {
    
                } else {
                    event.getPlayer().sendMessage(ChatColor.translateAlternateColorCodes('&', getConfig().getString("firstjoinmessage")));
                }
            }
            if (noticeEnabled = true)
            {
                event.getPlayer().sendMessage(ChatColor.translateAlternateColorCodes('&', getConfig().getString("maincolor") + "Server Notice: " + getConfig().getString("secondcolor") + getConfig().getString("notice")));
            }
    
        }
    
        @Override
        public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
            if (sender.hasPermission("essent.reloadperm")) {
                if (cmd.getName().equalsIgnoreCase("essentreload")) {
                    this.reloadConfig();
                    this.saveConfig();
                    sender.sendMessage(ChatColor.translateAlternateColorCodes('&', "&cReloaded &2Essent&c!"));
                    return true;
                }
            } else{
                sender.sendMessage(ChatColor.translateAlternateColorCodes('&', "&cyou dont have permission to do that!"));
            }
    
            if (sender.hasPermission("essent.flyperm")) {
                if (cmd.getName().equalsIgnoreCase("fly")) {
                    if (!(sender instanceof Player)) {
                        sender.sendMessage("Consoles cant fly! Niether can plugins or bots...");
                    }
    
                    Player p = (Player) sender;
    
                    if (p.isFlying()) {
                        p.setAllowFlight(false);
                        p.sendMessage(ChatColor.translateAlternateColorCodes('&', getConfig().getString("maincolor") + "you have disabled" + getConfig().getString("secondcolor") + " fly " + getConfig().getString("maincolor") + "mode for yourself"));
                        return true;
                    } else {
                        p.setAllowFlight(true);
                        p.sendMessage(ChatColor.translateAlternateColorCodes('&', getConfig().getString("maincolor") + "you have enabled" + getConfig().getString("secondcolor") + " fly " + getConfig().getString("maincolor") + "mode for yourself"));
                        return true;
                    }
                }
            }
    
            if (cmd.getName().equalsIgnoreCase("endfly")) {
                if (!(sender instanceof Player)) {
                    sender.sendMessage("Error: Consoles can fly now? No they cant. Nice try.");
                }
    
                Player p = (Player) sender;
    
                if (p.hasPermission("essent.flyperm")) {
                    p.setAllowFlight(false);
                    p.sendMessage(ChatColor.translateAlternateColorCodes('&', getConfig().getString("maincolor") + "you have disabled" + getConfig().getString("secondcolor") + " fly " + getConfig().getString("maincolor") + "mode for yourself"));
                }
    
                if (cmd.getName().equalsIgnoreCase("notice")) {
                    if (sender.hasPermission("essent.noticeperm"))
                    {
                        sender.sendMessage(ChatColor.translateAlternateColorCodes('&', getConfig().getString("maincolor") + "Server Notice: " + getConfig().getString("secondcolor") + getConfig().getString("notice")));
                    }
                }
    
    
                if (cmd.getName().equalsIgnoreCase("plug")) {
                    sender.sendMessage(ChatColor.translateAlternateColorCodes('&', getConfig().getString("maincolor") + getConfig().getString("server") + " has the following plugins: " + getConfig().getString("secondcolor") + getConfig().getString("plist")));
    
                }
    
                if (sender.hasPermission("essent.checkrankperm")) {
                    if (cmd.getName().equalsIgnoreCase("checkrank")) {
                        if (sender.hasPermission("essent.eop")) {
                            sender.sendMessage("It was detected that you were an operator! This command will not work for you.");
                        } else {
                            if (sender.hasPermission("essent.rank.adminrperm")) {
                                sender.sendMessage("You are admin");
                            }
                            if (sender.hasPermission("essent.rank.moderatorrperm")) {
                                sender.sendMessage("You are mod");
                            }
                            if (sender.hasPermission("essent.rank.miprperm")) {
                                sender.sendMessage("You are MIP");
                            }
                            if (sender.hasPermission("essent.rank.developerrperm")) {
                                sender.sendMessage("You are developer");
                            }
                            if (sender.hasPermission("essent.rank.builderrperm")) {
                                sender.sendMessage("You are builder");
                            }
                            if (sender.hasPermission("essent.rank.vipperm")) {
                                sender.sendMessage("You are a VIP!");
                            }
                            if (sender.hasPermission("essent.rank.userperm")) {
                                sender.sendMessage("You are a normal user");
                            }
                            if (sender.hasPermission("essent.rank.cust1perm")) {
                                sender.sendMessage("you are " + getConfig().getString("custone"));
                            }
                            if (sender.hasPermission("essent.rank.cust2perm")) {
                                sender.sendMessage("you are " + getConfig().getString("custtwo"));
                            }
                            if (sender.hasPermission("essent.rank.cust3perm")) {
                                sender.sendMessage("you are " + getConfig().getString("custthree"));
                            }
                            if (sender.hasPermission("essent.rank.cust4perm")) {
                                sender.sendMessage("you are " + getConfig().getString("custfour"));
                            }
                            if (sender.hasPermission("essent.rank.cust5perm")) {
                                sender.sendMessage("you are " + getConfig().getString("custfive"));
                            }
                            if (sender.hasPermission("essent.rank.cust6perm")) {
                                sender.sendMessage("you are " + getConfig().getString("custsix"));
                            }
                            if (sender.hasPermission("essent.rank.cust7perm")) {
                                sender.sendMessage("you are " + getConfig().getString("custseven"));
                            }
                            if (sender.hasPermission("essent.rank.cust8perm")) {
                                sender.sendMessage("you are " + getConfig().getString("custeight"));
                            }
                            if (sender.hasPermission("essent.rank.cust9perm")) {
                                sender.sendMessage("you are " + getConfig().getString("custnine"));
                            }
                            if (sender.hasPermission("essent.rank.cust10perm")) {
                                sender.sendMessage("you are " + getConfig().getString("custten"));
                            }
                        }
                    }
                }
            }
            return false;
        }}
    
    src.com.kianate.commands.HelpCommand (this file just displays all the commands)
    Code:
    package com.kianate.commands;
    
    import org.bukkit.ChatColor;
    import org.bukkit.command.Command;
    import org.bukkit.command.CommandExecutor;
    import org.bukkit.command.CommandSender;
    import org.bukkit.entity.Player;
    
    import com.kianate.Main;
    
    public class HelpCommand implements CommandExecutor{
       
        private Main plugin;
       
        public HelpCommand(Main plugin) {
            this.plugin = plugin;
            plugin.getCommand("assist").setExecutor(this);
        }
    
        @Override
        public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
            if (!(sender instanceof Player)) {
                sender.sendMessage("you dont need to know dat boi");
                return true;
            }
           
            Player p = (Player) sender;
           
            if (p.hasPermission("essent.help")) {
                p.sendMessage("Essent Help:");
                p.sendMessage("/assist - shows you help for Essent");
                p.sendMessage("/fly - makes you fly in the air");
                p.sendMessage("/endfly - stops you flying");
                p.sendMessage("/plug - displays plugins for the server");
                p.sendMessage("/checkrank - shows what rank you are");
                p.sendMessage("/notice - shows you a server notice approved by the owner");
                p.sendMessage("/essentreload - reloads the essent plugin config");
                return true;
            } else {
                p.sendMessage("you dont have permission to see that!");
            }
           
            return false;
        }
    
    }
    
    config.yml
    Code:
    notice: 'ServerWideNotice'
    shownoticeonstart: true
    plist: 'Essent, and KianewsVTPT'
    maincolor: '&3'
    secondcolor: '&2'
    custone: ''
    custtwo: ''
    custthree: ''
    custfour: ''
    custfive: ''
    custsix: ''
    custseven: ''
    custeight: ''
    custnine: ''
    custten: ''
    server: ''
    motdonstart: false
    motd:
    firstjoinmessageenabled: false
    firstjoinmessage:
    normalmotdonfirstjoin: false
    plugin.yml
    Code:
    name: Essent
    version: 3.0
    author: NaveGCT
    main: com.kianate.Main
    description: a kianate studios plugin.
    
    commands:
      assist:
        description: this command displays the help for Essent
      essentreload:
        description: reload Essent config
      fly:
        description: fly in the air
      endfly:
        description: lets not fly.
      notice:
        descriptions: shows you a notice
      checkrank:
        description: shows what rank you are
      plug:
        description: shows you a list of plugins
       
    permissions:
      essent.flyperm:
        description: essent command permission fly
        default: op
      essent.eop:
        description: this permission checks if you are an operator
        default: op
      essent.reloadperm:
        description: essent command permission reload
        default: op
      essent.noticeperm:
        description: essent command permission notice
        default: op
      essent.plugperm:
        description: essent command permission plug
        default: op
      essent.checkrankperm:
        description: essent command permission checkrank
        default: op
      essent.rank.adminrperm:
        description: essent rank
        default: op
      essent.rank.moderatorrperm:
        description: essent rank
        default: op
      essent.rank.miprperm:
        description: essent rank
        default: op
      essent.rank.developerrperm:
        description: essent rank
        default: op
      essent.rank.builderrperm:
        description: essent rank
        default: op
      essent.rank.miprperm:
        description: essent rank
        default: op
      essent.rank.vipperm:
        description: essent rank
        default: op
      essent.rank.userperm:
        description: essent rank
        default: op
      essent.rank.cust1perm:
        description: essent rank
        default: op
      essent.rank.cust2perm:
        description: essent rank
        default: op
      essent.rank.cust3perm:
        description: essent rank
        default: op
      essent.rank.cust4perm:
        description: essent rank
        default: op
      essent.rank.cust5perm:
        description: essent rank
        default: op
      essent.rank.cust6perm:
        description: essent rank
        default: op
      essent.rank.cust7perm:
        description: essent rank
        default: op
      essent.rank.cust8perm:
        description: essent rank
        default: op
      essent.rank.cust9perm:
        description: essent rank
        default: op
      essent.rank.cust10perm:
        description: essent rank
        default: op 
      
    Thanks.
     
  2. Offline

    timtower Administrator Administrator Moderator

    @Nave-GCT That is because some of your commands are inside of the endfly check
     
  3. Offline

    Nave-GCT

    @timtower thanks that was the answer. I dont know how I didnt see it. Thanks.
     
Thread Status:
Not open for further replies.

Share This Page