Advertisement
Guest User

Untitled

a guest
Nov 17th, 2018
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.92 KB | None | 0 0
  1. package fr.maxlego08.quests.command;
  2.  
  3. import java.util.ArrayList;
  4. import java.util.List;
  5.  
  6. import org.bukkit.command.Command;
  7. import org.bukkit.command.CommandExecutor;
  8. import org.bukkit.command.CommandSender;
  9. import org.bukkit.entity.Player;
  10. import fr.maxlego08.quests.Main;
  11. import fr.maxlego08.quests.command.commands.CommandeQuest;
  12. import fr.maxlego08.quests.command.commands.CommandeQuestAdd;
  13. import fr.maxlego08.quests.command.commands.CommandeQuestKill;
  14. import fr.maxlego08.quests.command.commands.CommandeQuestKoth;
  15. import fr.maxlego08.quests.command.commands.CommandeQuestVersion;
  16.  
  17. public class CommandManager implements CommandExecutor {
  18.  
  19. private Main main;
  20. private List<VCommand> commands = new ArrayList<>();
  21.  
  22. public CommandManager(Main main) {
  23. this.main = main;
  24.  
  25. main.getCommand("quest").setExecutor(this);
  26.  
  27. VCommand questCommand = addCommand(new CommandeQuest());
  28. addCommand(new CommandeQuestAdd(questCommand));
  29. addCommand(new CommandeQuestKill(questCommand));
  30. addCommand(new CommandeQuestVersion(questCommand));
  31. addCommand(new CommandeQuestKoth(questCommand));
  32. }
  33.  
  34. private VCommand addCommand(VCommand command){
  35. commands.add(command);
  36. return command;
  37. }
  38.  
  39. @Override
  40. public boolean onCommand(CommandSender sender, Command command, String s, String[] strings){
  41.  
  42. for(VCommand vcommand : commands){
  43. if (vcommand.getCommands().contains(command.getName().toLowerCase())){
  44. if (strings.length == 0 && vcommand.getParent() == null){
  45. processRequirements(vcommand, sender, strings);
  46. return true;
  47. }
  48. }else if (strings.length != 0 && vcommand.getParent() != null && vcommand.getParent().getCommands().contains(command.getName().toLowerCase())){
  49. String cmd = strings[0].toLowerCase();
  50. if (vcommand.getCommands().contains(cmd)){
  51. processRequirements(vcommand, sender, strings);
  52. return true;
  53. }
  54. }
  55. }
  56. sender.sendMessage(main.getPrefix()+ " §cCette argument n'existe pas !");
  57. return true;
  58. }
  59.  
  60. private void processRequirements(VCommand command, CommandSender sender, String[] strings) {
  61. if (!(sender instanceof Player) && command.isNoConsole()) {
  62. sender.sendMessage(main.getPrefix() + " §CVous devez être un joueur pour executer cette commande.");
  63. return;
  64. }
  65. if (command.getPermission() == null || sender.hasPermission(command.getPermission())) {
  66. VCommand.CommandType returnType = command.runCommand(main, sender, strings);
  67. if (returnType == VCommand.CommandType.SYNTAX_ERROR) {
  68. sender.sendMessage(main.getPrefix() + " §7Vous devez utilisez la commande comme ceci§8: §a" + command.getSyntax());
  69. }
  70. return;
  71. }
  72. sender.sendMessage(main.getPrefix() + " §cVous n'avez pas la permission de faire ceci !");
  73. }
  74.  
  75. public List<VCommand> getCommands() {
  76. return commands;
  77. }
  78.  
  79.  
  80. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement