public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
        if (!sender.hasPermission("minipython.admin")) {
            sender.sendMessage(ChatColor.RED + "You do not have permission to use this command.");
            return true;
        }

        if (args.length == 0) {
            sender.sendMessage(ChatColor.RED + "Please provide a subcommand: " + ChatColor.WHITE + "load, unload, reload, reloadall");
            return true;
        }

        if (args[0].equalsIgnoreCase("load")) {
            if (!checkArgLen(sender, args)) return true;
            load(sender, args[1]);
        } else if (args[0].equalsIgnoreCase("unload")) {
            if (!checkArgLen(sender, args)) return true;
            unload(sender, args[1]);
        } else if (args[0].equalsIgnoreCase("reload")) {
            if (!checkArgLen(sender, args)) return true;
            refresh(sender, args[1]);
        } else if (args[0].equalsIgnoreCase("reloadall")) {
            reload(sender);
        } else {
            sender.sendMessage(ChatColor.RED + "Invalid subcommand " + ChatColor.WHITE + args[0] + ChatColor.RED + ", try /" + label);
        }
        return true;
    }