Advertisement
Aljosha

GM Änderer

Jun 1st, 2018
116
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5.70 KB | None | 0 0
  1. public class GameModeCommand implements CommandExecutor {
  2.  
  3.     @Override
  4.     public boolean onCommand(CommandSender commandSender, Command command, String usedAlias, String[] args) {
  5.         if (usedAlias.equalsIgnoreCase("gm") || usedAlias.equalsIgnoreCase("gamemode") || usedAlias.equalsIgnoreCase("spielmodus")){
  6.             if (commandSender.hasPermission("eldo.essentials.gamemode")){
  7.                 Player target;
  8.                 if (args.length == 1 || args.length == 2){
  9.                     if (args.length == 2){
  10.                         target = Bukkit.getPlayerExact(args[1]);
  11.                     } else {
  12.                         target = null;
  13.                     }
  14.                     switch (args[0]){
  15.                         case "1":
  16.                         case "creative":
  17.                         case "kreativ":
  18.                             setGameMode(commandSender, GameMode.CREATIVE, target, args);
  19.                             break;
  20.                         case "0":
  21.                         case "survival":
  22.                         case "überleben":
  23.                             setGameMode(commandSender, GameMode.SURVIVAL, target, args);
  24.                             break;
  25.                         case "2":
  26.                         case "adventure":
  27.                         case "abenteuer":
  28.                             setGameMode(commandSender, GameMode.ADVENTURE, target, args);
  29.                             break;
  30.                         case "3":
  31.                         case "spectator":
  32.                         case "beobachter":
  33.                             setGameMode(commandSender, GameMode.SPECTATOR, target, args);
  34.                             break;
  35.                         default:
  36.                             EldoAPI.sendDefaultMessage(commandSender, DefaultMessage.WRONG_ARGUMENTS);
  37.                             break;
  38.                     }
  39.                     return true;
  40.                 } else {
  41.                     EldoAPI.sendDefaultMessage(commandSender, DefaultMessage.WRONG_ARGUMENTS);
  42.                     return true;
  43.                 }
  44.             } else {
  45.                
  46.                 EldoAPI.sendDefaultMessage(commandSender, DefaultMessage.MISSING_PERMISSION);
  47.                 return true;
  48.             }
  49.  
  50.         } else {
  51.             if (args.length == 0){
  52.                 if(commandSender instanceof Player){
  53.                     Player player = (Player) commandSender;
  54.                     if(player.hasPermission("eldo.essentials.gamemode")){
  55.                         switch (usedAlias) {
  56.                             case "creative":
  57.                             case "kreativ":
  58.                             case "gm1":
  59.                                 setGameMode(player, GameMode.CREATIVE, null, args);
  60.                                 break;
  61.                             case "survival":
  62.                             case "überleben":
  63.                             case "gm0":
  64.                                 setGameMode(player, GameMode.SURVIVAL, null, args);
  65.                                 break;
  66.                             case "adventure":
  67.                             case "abenteuer":
  68.                             case "gm2":
  69.                                 setGameMode(player, GameMode.ADVENTURE, null, args);
  70.                                 break;
  71.                             case "spectator":
  72.                             case "beobachter":
  73.                             case "gm3":
  74.                                 setGameMode(player, GameMode.SPECTATOR, null, args);
  75.                                 break;
  76.                         }
  77.                         return true;
  78.                     } else {
  79.                         EldoAPI.sendDefaultMessage(commandSender, DefaultMessage.MISSING_PERMISSION);
  80.                         return true;
  81.                     }
  82.                 } else {
  83.                     EldoAPI.sendDefaultMessage(commandSender, DefaultMessage.ONLY_FOR_PLAYERS);
  84.                     return true;
  85.                 }
  86.  
  87.             } else {
  88.                 System.out.println("args.legnth: " + args.length);
  89.                 //send message /creative /survival /spectator /adventure
  90.                 EldoAPI.sendDefaultMessage(commandSender, DefaultMessage.WRONG_ARGUMENTS);
  91.                 return true;
  92.             }
  93.  
  94.         }
  95.  
  96.     }
  97.  
  98.     private void setGameMode(CommandSender commandSender, GameMode gameMode, Player target, String[] args){
  99.  
  100.         if (target != null){
  101.             if(commandSender.hasPermission("eldo.essentials.gamemode.others")){
  102.                 target.setGameMode(gameMode);
  103.                 EldoAPI.sendSystemMessage(target, Cfg.ownGameModeChanged,
  104.                         ReplacementFactory.createReplacement("gamemode", gameMode.name()));
  105.                 EldoAPI.sendSystemMessage(commandSender, Cfg.otherGameModeChanged,
  106.                         ReplacementFactory.createReplacement("spieler", target.getName()),
  107.                         ReplacementFactory.createReplacement("gamemode", gameMode.name()));
  108.             } else {
  109.                 EldoAPI.sendDefaultMessage(commandSender, DefaultMessage.MISSING_PERMISSION);
  110.             }
  111.         } else {
  112.             if (args.length == 2){
  113.                 EldoAPI.sendDefaultMessage(commandSender, DefaultMessage.PLAYER_NOT_ONLINE);
  114.             } else if (commandSender instanceof Player){
  115.                 Player player = (Player) commandSender;
  116.                 player.setGameMode(gameMode);
  117.                 EldoAPI.sendSystemMessage(player, Cfg.ownGameModeChanged, ReplacementFactory.createReplacement("gamemode", gameMode.name()));
  118.             } else {
  119.                 EldoAPI.sendDefaultMessage(commandSender, DefaultMessage.ONLY_FOR_PLAYERS);
  120.             }
  121.         }
  122.     }
  123. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement