public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {

		Player player = null;

		if ((sender instanceof Player)) {
			player = (Player)sender;
		}
		else {
			sender.sendMessage("You need to be a player !");
			return true;
		}

		if(cmd.getName().equalsIgnoreCase("oitc")){
			if(args == null || args.length < 1){
				help(player);
				return true;
			}
			if(args[0].equalsIgnoreCase("help")){
				help(player);
				return true;
			}
			String sub = args[0];

			Vector<String> l = new Vector<String>();
			l.addAll(Arrays.asList(args));
			l.remove(0);
			args = (String[])l.toArray(new String[0]);

			if (!this.commands.containsKey(sub)) {

				File fichier_language = new File(OneInTheChamber.instance.getDataFolder() + File.separator + "Language.yml");
				FileConfiguration Language = YamlConfiguration.loadConfiguration(fichier_language);

				String wrongCommand = Language.getString("Language.Error.Wrong_command");

				UtilSendMessage.sendMessage(player, wrongCommand);
				return true;
			}

			try {
				((BasicCommand)this.commands.get(sub)).onCommand(player, args);
			} catch (Exception e) {
				e.printStackTrace();
				player.sendMessage(ChatColor.RED + "An error occured while executing the command. Check the console");
				player.sendMessage(ChatColor.BLUE + "Type /oitc help for help");
			}
			return true;

		}
		return true;
	}