MrLucasX

CmdBlock Command

Jan 21st, 2016
243
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.23 KB | None | 0 0
  1. import java.util.Set;
  2. import org.bukkit.Material;
  3. import org.bukkit.block.Block;
  4. import org.bukkit.command.Command;
  5. import org.bukkit.command.CommandExecutor;
  6. import org.bukkit.command.CommandSender;
  7. import org.bukkit.entity.Player;
  8.  
  9. public class Command_cmdblock implements CommandExecutor{
  10.  
  11.     @Override
  12.     public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
  13.        
  14.         if(!(sender instanceof Player)) {
  15.             sender.sendMessage("Dieser Befehl ist nur fuer Spieler gedacht!");
  16.             return true;
  17.         }
  18.        
  19.         Player p = (Player) sender;
  20.        
  21.         if(!p.hasPermission("cmdblock.command")){
  22.             p.sendMessage("§e§l>> §7Dafür hast du keine Rechte!");
  23.             return true;
  24.         }
  25.        
  26.         if(args.length < 1){
  27.             p.sendMessage("§7/cmdblock add <ID>");
  28.             p.sendMessage("§7/cmdblock remove <ID>");
  29.             p.sendMessage("§7/cmdblock setcmd <ID> <CMD>");
  30.             p.sendMessage("§7/cmdblock setsender <ID> <Player/Console>");
  31.             p.sendMessage("§7/cmdblock list");
  32.             return true;
  33.         }
  34.    
  35.         CmdBlockManager cbm = Main.cbm;
  36.        
  37.         if(args[0].equalsIgnoreCase("add")){
  38.            
  39.             if(args.length < 2){
  40.                 p.sendMessage("§7/cmdblock add <ID>");
  41.                 return true;
  42.             }
  43.            
  44.             Block block = p.getTargetBlock((Set<Material>)  null, 3);
  45.            
  46.             if(block.getType() == Material.AIR){
  47.                 p.sendMessage("§e§l>> §7Bitte schaue einen Block an!");
  48.                 return true;
  49.             }
  50.            
  51.             if(cbm.getCmdBlock(block.getLocation()) != null){
  52.                 p.sendMessage("§e§l>> §7Dieser Block beinhaltet schon einen Kommando!");
  53.                 return true;
  54.             }
  55.            
  56.             if(cbm.getCmdBlock(args[1]) != null){
  57.                 p.sendMessage("§e§l>> §7Diese ID wird bereits verwendet!");
  58.                 return true;
  59.             }
  60.            
  61.             cbm.addCmdBlock(args[1], block.getLocation(), "say Test", true);
  62.             p.sendMessage("§e§l>> §7Cmdblock erfolgreicht erstellt!");
  63.             return true;
  64.            
  65.         }
  66.        
  67.         if(args[0].equalsIgnoreCase("remove")){
  68.            
  69.             if(args.length < 2){
  70.                 p.sendMessage("§7/cmdblock remove <ID>");
  71.                 return true;
  72.             }
  73.            
  74.             if(cbm.getCmdBlock(args[1]) == null){
  75.                 p.sendMessage("§e§l>> §7Diese ID gibts es nicht!");
  76.                 return true;
  77.             }
  78.            
  79.             cbm.removeCmdBlock(args[1]);
  80.             p.sendMessage("§e§l>> §7Cmdblock erfolgreicht entfernt!");
  81.             return true;
  82.            
  83.         }
  84.        
  85.         if(args[0].equalsIgnoreCase("setcmd")){
  86.            
  87.             if(args.length < 3){
  88.                 p.sendMessage("§7/cmdblock setcmd <ID> <CMD>");
  89.                 return true;
  90.             }
  91.            
  92.             if(cbm.getCmdBlock(args[1]) == null){
  93.                 p.sendMessage("§e§l>> §7Diese ID gibts es nicht!");
  94.                 return true;
  95.             }
  96.            
  97.             String befehl = "";
  98.            
  99.             for(int x = 2; x < args.length; x++){
  100.                 befehl = befehl + args[x] + " ";
  101.             }
  102.            
  103.             cbm.getCmdBlock(args[1]).setCmd(befehl);
  104.             p.sendMessage("§e§l>> §7Cmd erfolgreich gesetzt!");
  105.             return true;
  106.            
  107.         }
  108.        
  109.         if(args[0].equalsIgnoreCase("setsender")){
  110.            
  111.             if(args.length < 3){
  112.                 p.sendMessage("§7/cmdblock setsender <ID> <Player/Console>");
  113.                 return true;
  114.             }
  115.            
  116.             if(cbm.getCmdBlock(args[1]) == null){
  117.                 p.sendMessage("§e§l>> §7Diese ID gibts es nicht!");
  118.                 return true;
  119.             }
  120.            
  121.             if(args[2].equalsIgnoreCase("player")){
  122.                 cbm.getCmdBlock(args[1]).setConsole(false);
  123.                 p.sendMessage("§e§l>> §7Cmdsender wurde zu Spieler gesetzt!");
  124.                 return true;
  125.             }
  126.            
  127.             if(args[2].equalsIgnoreCase("console")){
  128.                 cbm.getCmdBlock(args[1]).setConsole(true);
  129.                 p.sendMessage("§e§l>> §7Cmdsender wurde zu Konsole gesetzt!");
  130.                 return true;
  131.             }
  132.            
  133.             p.sendMessage("§7/cmdblock setsender <ID> <Player/Console>");
  134.             return true;
  135.            
  136.         }
  137.        
  138.         if(args[0].equalsIgnoreCase("list")){
  139.            
  140.             p.sendMessage("§e§l>> §7Eine List aller CmdBlöcke:");
  141.             for(String list : cbm.listIds()){
  142.                 String loc = " §e" + cbm.getLocation(list).getWorld().getName() + " " + cbm.getLocation(list).getX() + " " + cbm.getLocation(list).getY() + " " + cbm.getLocation(list).getZ();
  143.                 p.sendMessage("§e- §7" + list + loc + " §7" + cbm.getCmdBlock(list).getCmd());
  144.             }
  145.            
  146.             return true;
  147.            
  148.         }
  149.        
  150.         p.sendMessage("§7/cmdblock add <ID>");
  151.         p.sendMessage("§7/cmdblock remove <ID>");
  152.         p.sendMessage("§7/cmdblock setcmd <ID> <CMD>");
  153.         p.sendMessage("§7/cmdblock setsender <ID> <Player/Console>");
  154.         p.sendMessage("§7/cmdblock list");
  155.         return true;
  156.     }
  157. }
Advertisement
Add Comment
Please, Sign In to add comment