Advertisement
Guest User

Handcuffs+

a guest
Oct 7th, 2012
563
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 7.12 KB | None | 0 0
  1. package me.lol768.handcuffsPlus;
  2.  
  3. import static org.bukkit.ChatColor.RED;
  4.  
  5. import java.util.ArrayList;
  6. import java.util.logging.Logger;
  7.  
  8.  
  9. import org.bukkit.Bukkit;
  10. import org.bukkit.ChatColor;
  11. import org.bukkit.Material;
  12. import org.bukkit.Server;
  13. import org.bukkit.command.Command;
  14. import org.bukkit.command.CommandExecutor;
  15. import org.bukkit.command.CommandSender;
  16. import org.bukkit.entity.Player;
  17. import org.bukkit.plugin.java.JavaPlugin;
  18.  
  19.  
  20. public class Handcuffs extends JavaPlugin implements CommandExecutor{
  21.     public int cuffID = Material.STRING.getId(), keyID = Material.SHEARS.getId();
  22.     public int cuffAmount = 7;
  23.     public boolean cuffTake = true, burnCuffs = true, canPickup = false, nerfDamage = true, canChangeInv = false, reqOP = false, keyTake = false, usePerms = false;
  24.    
  25.     public HListener Listener = new HListener(this);
  26.     public Server server;
  27.     public Logger log;
  28.    
  29.     public ArrayList<Player> cuffed = new ArrayList<Player>();
  30.    
  31.     public void onEnable(){
  32.         server = this.getServer();
  33.         log = this.getLogger();
  34.  
  35.         server.getPluginManager().registerEvents(Listener, this);
  36.         loadConfig();
  37.         if (!this.getConfig().contains("restrictDistance"))
  38.         {
  39.             this.getConfig().set("restrictDistance", true);
  40.             this.saveConfig();
  41.         }
  42.     }
  43.    
  44.     public void onDisable()
  45.     {
  46.        
  47.     }
  48.    
  49.     public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args){
  50.         if(cmd.getName().equalsIgnoreCase("hc") && sender instanceof Player){
  51.             if(args[0].equalsIgnoreCase("fc")){
  52.                 Player p = (Player) sender;
  53.                 try
  54.                 {
  55.                
  56.                 p.setPassenger(Bukkit.getPlayer(args[1]));
  57.                 Listener.cuff(Bukkit.getPlayer(args[1]));
  58.                 }
  59.                 catch (Exception e)
  60.                 {
  61.                     p.sendMessage("Couldn't get target player");
  62.                     return false;
  63.                 }
  64.                 return true;
  65.             }
  66.            
  67.             if(args[0].equalsIgnoreCase("fu")){
  68.                 Player p = (Player) sender;
  69.                 p.eject();
  70.                 Listener.free(Bukkit.getPlayer(args[1]));
  71.                 return true;
  72.             }
  73.         }
  74.    
  75.        
  76.         if(cmd.getName().equalsIgnoreCase("hc") && sender instanceof Player){
  77.             Player player = (Player) sender;
  78.  
  79.             if(args[0].equalsIgnoreCase("carry")){
  80.                 if(((reqOP && player.isOp()) || !reqOP) && (!usePerms || player.hasPermission("hc.cmd.carry"))){
  81.                         Player target = server.getPlayer(args[1]);
  82.                        
  83.                         if(target==null || !target.isOnline()){
  84.                             Listener.tell(player, ChatColor.RED + "Player not found.");
  85.                             return true;
  86.                         }
  87.                        
  88.                         if(target.hasPermission("hc.immune")){
  89.                             Listener.tell(player, ChatColor.RED + "You cannot do that to this player.");
  90.                         }
  91.                         Boolean doIt = true;
  92.                         if (this.getConfig().getBoolean("restrictDistance"))
  93.                         {
  94.                             if (!(player.getLocation().distance(target.getLocation()) <= 5))
  95.                             {
  96.                                 doIt = false;
  97.                             }
  98.                         }
  99.                         if(Listener.cuffed(target) && !Listener.cuffed(player) && doIt){
  100.                             player.setPassenger(target);
  101.                            
  102.                             if(player.getPassenger()==null)
  103.                                 Listener.tell(player, ChatColor.GREEN + "You have put down " + ChatColor.AQUA + target.getName());
  104.                             else
  105.                                 Listener.tell(player, ChatColor.GREEN + "You have picked up " + ChatColor.AQUA + target.getName());
  106.                            
  107.                             return true;
  108.                         }
  109.                 }else{
  110.                     Listener.tell(player, RED + "You don't have permission to do this.");
  111.                     return true;
  112.                 }
  113.             }
  114.  
  115.             if(args[0].equalsIgnoreCase("cuff")){
  116.                 if(((reqOP && player.isOp()) || !reqOP) && (!usePerms || player.hasPermission("hc.cmd.cuff"))){
  117.                         Player target = server.getPlayer(args[1]);
  118.                        
  119.                         if(target==null || !target.isOnline()){
  120.                             Listener.tell(player, ChatColor.RED + "Player not found.");
  121.                             return true;
  122.                         }
  123.                        
  124.                         if(target.hasPermission("hc.immune")){
  125.                             Listener.tell(player, ChatColor.RED + "You cannot do that to this player.");
  126.                         }
  127.                        
  128.                         if(!Listener.cuffed(target)){
  129.                             Listener.cuff(target);
  130.                             Listener.tell(player, ChatColor.GREEN + "You have cuffed " + ChatColor.AQUA + target.getName());
  131.                             return true;
  132.                         }else{
  133.                             Listener.tell(player, RED + "This player is already cuffed.");
  134.                             return true;
  135.                         }
  136.                 }else{
  137.                     Listener.tell(player, RED + "You don't have permission to do this.");
  138.                     return true;
  139.                 }
  140.             }
  141.  
  142.             if(args[0].equalsIgnoreCase("free")){
  143.                 if(((reqOP && player.isOp()) || !reqOP) && (!usePerms || player.hasPermission("hc.cmd.free"))){
  144.                         Player target = server.getPlayer(args[1]);
  145.                        
  146.                         if(target==null || !target.isOnline()){
  147.                             Listener.tell(player, ChatColor.RED + "Player not found.");
  148.                             return true;
  149.                         }
  150.                        
  151.                         if(Listener.cuffed(target)){
  152.                             Listener.free(target);
  153.                             Listener.tell(player, ChatColor.GREEN + "You have set " + ChatColor.AQUA + target.getName() + ChatColor.GREEN + " free.");
  154.                             return true;
  155.                         }else{
  156.                             Listener.tell(player, RED + "This player is already free.");
  157.                         }
  158.                 }else{
  159.                     Listener.tell(player, RED + "You don't have permission to do this.");
  160.                     return true;
  161.                 }
  162.             }
  163.         }
  164.        
  165.         return false;
  166.     }
  167.    
  168.     public void loadConfig(){
  169.         this.saveDefaultConfig();
  170.         this.getConfig().options().copyDefaults(true);
  171.        
  172.         String path = "cuffID";
  173.         if(this.getConfig().contains(path)){
  174.            
  175.             try{
  176.                 cuffID = getConfig().getInt(path);
  177.             }catch(Exception e){
  178.                 cuffID = Material.STRING.getId();
  179.             }
  180.         }
  181.        
  182.         path = "cuffAmount";
  183.         if(this.getConfig().contains(path)){
  184.             try{
  185.                 cuffAmount = getConfig().getInt(path);
  186.             }catch(Exception e){
  187.                 cuffAmount = 7;
  188.             }
  189.         }
  190.        
  191.         path = "cuffTake";
  192.         if(this.getConfig().contains(path)){
  193.             try{
  194.                 cuffTake=this.getConfig().getBoolean(path);
  195.             }catch(Exception e){
  196.                 cuffTake=true;
  197.             }
  198.         }
  199.  
  200.         path = "nerfDamage";
  201.         if(this.getConfig().contains(path)){
  202.             try{
  203.                 nerfDamage=this.getConfig().getBoolean(path);
  204.             }catch(Exception e){
  205.                 nerfDamage=true;
  206.             }
  207.         }
  208.        
  209.         path = "burnCuffs";
  210.         if(this.getConfig().contains(path)){
  211.             try{
  212.                 burnCuffs=this.getConfig().getBoolean(path);
  213.             }catch(Exception e){
  214.                 burnCuffs=true;
  215.             }
  216.         }
  217.        
  218.         path = "canPickup";
  219.         if(this.getConfig().contains(path)){
  220.             try{
  221.                 canPickup=this.getConfig().getBoolean(path);
  222.             }catch(Exception e){
  223.                 canPickup=false;
  224.             }
  225.         }
  226.        
  227.         path = "canChangeInv";
  228.         if(this.getConfig().contains(path)){
  229.             try{
  230.                 canChangeInv=this.getConfig().getBoolean(path);
  231.             }catch(Exception e){
  232.                 canChangeInv=false;
  233.             }
  234.         }
  235.        
  236.         path = "reqOP";
  237.         if(this.getConfig().contains(path)){
  238.             try{
  239.                 reqOP=this.getConfig().getBoolean(path);
  240.             }catch(Exception e){
  241.                 reqOP=false;
  242.             }
  243.         }
  244.        
  245.         path = "keyID";
  246.         if(this.getConfig().contains(path)){
  247.             try{
  248.                 keyID=this.getConfig().getInt(path);
  249.             }catch(Exception e){
  250.                 keyID=Material.SHEARS.getId();
  251.             }
  252.         }
  253.        
  254.         path = "keyTake";
  255.         if(this.getConfig().contains(path)){
  256.             try{
  257.                 keyTake=this.getConfig().getBoolean(path);
  258.             }catch(Exception e){
  259.                 keyTake=false;
  260.             }
  261.         }
  262.        
  263.         path = "usePerms";
  264.         if(this.getConfig().contains(path)){
  265.             try{
  266.                 usePerms=this.getConfig().getBoolean(path);
  267.             }catch(Exception e){
  268.                 usePerms=false;
  269.             }
  270.         }
  271.        
  272.         this.saveConfig();
  273.     }
  274. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement