Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on Jul 11th, 2012  |  syntax: JavaScript  |  size: 3.07 KB  |  hits: 28  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. package com.nedcraft.dpasi314.namecolor;
  2.  
  3. import java.util.logging.Level;
  4. import java.util.logging.Logger;
  5.  
  6. import org.bukkit.ChatColor;
  7. import org.bukkit.command.Command;
  8. import org.bukkit.command.CommandExecutor;
  9. import org.bukkit.command.CommandSender;
  10. import org.bukkit.entity.Player;
  11.  
  12. import ru.tehkode.permissions.bukkit.PermissionsEx;
  13.  
  14.  
  15.  
  16. public class Namecolor implements CommandExecutor {
  17.  
  18.         private final Namecolor plugin;
  19.        
  20.         private ChatColor [] restricted = { ChatColor.RED,ChatColor.ITALIC,ChatColor.MAGIC,ChatColor.RESET,ChatColor.AQUA,ChatColor.STRIKETHROUGH,ChatColor.UNDERLINE };
  21.        
  22.         public Namecolor(Namecolor plugin) {
  23.                 this.plugin = plugin;
  24.                
  25.         }
  26.  
  27.         @Override
  28.        
  29.        
  30.         public boolean onCommand(CommandSender sender, Command command, String label,
  31.                         String[] args) {
  32.                 // TODO Auto-generated method stub
  33.                
  34.                 if (!(sender instanceof Player)) {
  35.                         MessageHandler.SendConsoleMessage(Level.WARNING, plugin, "This Command can only be used by a player!");
  36.                        
  37.                         return true;
  38.                        
  39.                 }
  40.                
  41.                 Player player = (Player)sender;
  42.                
  43.                 if (args.length!=1) {
  44.                         MessageHandler.SendErrorMessage(Level.WARNING, plugin, player, "Unknown command.");
  45.                        
  46.                         return false;
  47.                 }
  48.                
  49.                 if (!plugin.hasPermission(player, "nedcraft.namecolor")) {
  50.                         MessageHandler.SendErrorMessage(Level.WARNING, plugin, player, "You don't have permission to use this command.");
  51.                        
  52.                         return true;
  53.                        
  54.                 }
  55.                
  56.                
  57.                 ChatColor color;
  58.                 try {
  59.                         color = ChatColor.valueOf(args [0].toUpperCase());
  60.                 } catch(IllegalArgumentException e) {
  61.                         MessageHandler.SendErrorMessage(Level.WARNING, plugin, player, "That is NOT a color :(");
  62.                        
  63.                         sendApplicableColors(player);
  64.                         return true;
  65.                        
  66.                 }
  67.                
  68.                 if(color==null) {
  69.                         MessageHandler.SendErrorMessage(Level.WARNING, plugin, player, "That is NOT a color :(");
  70.                        
  71.                         sendApplicableColors(player);
  72.                         return true;
  73.                        
  74.                 }
  75.                
  76.                 for(ChatColor r:restricted) {
  77.                         if(color.equals(r)) {
  78.                                 MessageHandler.SendErrorMessage(Level.WARNING, plugin, player, "You're not allowed to use this color!");
  79.                                
  80.                                 sendApplicableColors(player);
  81.                                 return true;
  82.                         }
  83.                 }
  84.                
  85.                 PermissionsEx.getPermissionManager().getUser((Player)sender).setPrefix((String)color.toString(),null);
  86.                 MessageHandler.SendMessage(player,"Your namecolor is now: " + color + color.name());
  87.                 return true;
  88.                
  89.         }
  90.  
  91.         private boolean hasPermission(Player player, String string) {
  92.                 // TODO Auto-generated method stub
  93.                 return false;
  94.         }
  95.  
  96.         private void sendApplicableColors(Player player) {
  97.                 // TODO Auto-generated method stub
  98.                 String[] message = new String[2];
  99.                
  100.                 message[0] = "Applicable Name Colors: ";
  101.                 message[1] = "";
  102.                
  103.                 for(int i=0;i<ChatColor.values().length;i++) {
  104.                         boolean restrictedValue = false;
  105.                         for(int j=0;j<restricted.length;j++) {
  106.                                 if(ChatColor.values()[i].equals(restricted[j])) restrictedValue = true;
  107.                         }
  108.                         if(!restrictedValue) {
  109.                                 if(message[1].length()!=0) message[1] += ",";
  110.                                 message[1] += ChatColor.values()[i] + ChatColor.values()[i].name();
  111.                         }
  112.                 }
  113.                
  114.                 MessageHandler.SendMessage(player, message);
  115.                        
  116.                 }
  117.         }