Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package fr.maxlego08.quests.command;
- import java.util.ArrayList;
- import java.util.List;
- import org.bukkit.command.Command;
- import org.bukkit.command.CommandExecutor;
- import org.bukkit.command.CommandSender;
- import org.bukkit.entity.Player;
- import fr.maxlego08.quests.Main;
- import fr.maxlego08.quests.command.commands.CommandeQuest;
- import fr.maxlego08.quests.command.commands.CommandeQuestAdd;
- import fr.maxlego08.quests.command.commands.CommandeQuestKill;
- import fr.maxlego08.quests.command.commands.CommandeQuestKoth;
- import fr.maxlego08.quests.command.commands.CommandeQuestVersion;
- public class CommandManager implements CommandExecutor {
- private Main main;
- private List<VCommand> commands = new ArrayList<>();
- public CommandManager(Main main) {
- this.main = main;
- main.getCommand("quest").setExecutor(this);
- VCommand questCommand = addCommand(new CommandeQuest());
- addCommand(new CommandeQuestAdd(questCommand));
- addCommand(new CommandeQuestKill(questCommand));
- addCommand(new CommandeQuestVersion(questCommand));
- addCommand(new CommandeQuestKoth(questCommand));
- }
- private VCommand addCommand(VCommand command){
- commands.add(command);
- return command;
- }
- @Override
- public boolean onCommand(CommandSender sender, Command command, String s, String[] strings){
- for(VCommand vcommand : commands){
- if (vcommand.getCommands().contains(command.getName().toLowerCase())){
- if (strings.length == 0 && vcommand.getParent() == null){
- processRequirements(vcommand, sender, strings);
- return true;
- }
- }else if (strings.length != 0 && vcommand.getParent() != null && vcommand.getParent().getCommands().contains(command.getName().toLowerCase())){
- String cmd = strings[0].toLowerCase();
- if (vcommand.getCommands().contains(cmd)){
- processRequirements(vcommand, sender, strings);
- return true;
- }
- }
- }
- sender.sendMessage(main.getPrefix()+ " §cCette argument n'existe pas !");
- return true;
- }
- private void processRequirements(VCommand command, CommandSender sender, String[] strings) {
- if (!(sender instanceof Player) && command.isNoConsole()) {
- sender.sendMessage(main.getPrefix() + " §CVous devez être un joueur pour executer cette commande.");
- return;
- }
- if (command.getPermission() == null || sender.hasPermission(command.getPermission())) {
- VCommand.CommandType returnType = command.runCommand(main, sender, strings);
- if (returnType == VCommand.CommandType.SYNTAX_ERROR) {
- sender.sendMessage(main.getPrefix() + " §7Vous devez utilisez la commande comme ceci§8: §a" + command.getSyntax());
- }
- return;
- }
- sender.sendMessage(main.getPrefix() + " §cVous n'avez pas la permission de faire ceci !");
- }
- public List<VCommand> getCommands() {
- return commands;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement