Advertisement
Guest User

iOP

a guest
May 20th, 2011
319
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5.54 KB | None | 0 0
  1. package com.scswc.shadrxninga.iop;
  2.  
  3. import java.io.File;
  4. import java.util.ArrayList;
  5. import java.util.List;
  6. import java.util.logging.Logger;
  7.  
  8. import javax.persistence.PersistenceException;
  9.  
  10.  
  11.  
  12. import org.bukkit.ChatColor;
  13. import org.bukkit.World;
  14. import org.bukkit.command.Command;
  15. import org.bukkit.command.CommandSender;
  16. import org.bukkit.entity.Player;
  17. import org.bukkit.event.Event;
  18. import org.bukkit.plugin.PluginManager;
  19. import org.bukkit.plugin.java.JavaPlugin;
  20. import org.bukkit.util.config.Configuration;
  21.  
  22.  
  23. public class iOP extends JavaPlugin{
  24.    
  25.     private final iOPPlayerListener playerListener = new iOPPlayerListener();
  26.     //Logging!!
  27.     public static final Logger log = Logger.getLogger("Minecraft");
  28.    
  29.     //OP Variables
  30.     static String opNameColor;
  31.     static String opMsgColor;
  32.     static String opPrefix;
  33.     //Player variables
  34.     static String playerNameColor;
  35.     static String playerMsgColor;
  36.     static String playerPrefix;
  37.     //Others
  38.     public static boolean Default;
  39.     public static boolean coloredList;
  40.    
  41.    
  42.    
  43.    
  44.    
  45.    
  46.     @Override
  47.     public void onDisable() {
  48.        
  49.         log.info("[iOP] v).4 Disabled");
  50.        
  51.        
  52.     }
  53.  
  54.     @Override
  55.     public void onEnable() {
  56.         reloadConfig();
  57.         PluginManager pm = getServer().getPluginManager();
  58.         setupDatabase();
  59.         pm.registerEvent(Event.Type.PLAYER_CHAT, playerListener, Event.Priority.Highest, this);
  60.         log.info("[iOP] v0.4 Enabled");
  61.        
  62.        
  63.        
  64.     }
  65.    
  66.    
  67.      public void reloadConfig(){
  68.          load().load();
  69.          //Load the OPs Name Colors and Prefixes
  70.          opNameColor = load().getString("OP-NameColor", "1");
  71.          opNameColor= opNameColor.replaceAll("&([0-9a-fA-F])","\u00A7$1");
  72.          opMsgColor = load().getString("OP-MsgColor", "1");
  73.          opMsgColor = opMsgColor.replaceAll("&([0-9a-fA-F])","\u00A7$1");
  74.          opPrefix = load().getString("OP-Prefix", "Admin");
  75.          opPrefix = opPrefix.replaceAll("&([0-9a-fA-F])", "\u00A7$1");
  76.         //Load the OPs Name Colors and Prefixes
  77.          playerNameColor = load().getString("Player-NameColor", "&f");
  78.          playerNameColor = playerNameColor.replaceAll("&([0-9a-fA-F])","\u00A7$1");
  79.          playerMsgColor = load().getString("Player-MsgColor", "&f");
  80.          playerMsgColor = playerMsgColor.replaceAll("&([0-9a-fA-F])","\u00A7$1");
  81.          playerPrefix = load().getString("Player-Prefix", "&f");
  82.          playerPrefix = playerPrefix.replaceAll("&([0-9a-fA-F])","\u00A7$1");
  83.          Default = load().getBoolean("Normal Chat", true);
  84.          coloredList = load().getBoolean("Colored Online List", true);
  85.          //save
  86.          load().save();
  87.      }
  88.        
  89.  
  90.      
  91.      private static final File myfile= new File("plugins/iOP/config.yml");
  92.      public static Configuration load() {
  93.              try {
  94.                  Configuration PluginPropConfig = new Configuration(myfile);
  95.                  PluginPropConfig.load();
  96.                  return PluginPropConfig;
  97.  
  98.              } catch (Exception e) {
  99.              }
  100.              return null;
  101.          }
  102.      public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args){
  103.          Player player = (Player)sender;
  104.             if(cmd.getName().equalsIgnoreCase("iop")){
  105.                 if(args[0].equals("reload")){
  106.                    
  107.                     reloadConfig();
  108.                     player.sendMessage(ChatColor.AQUA + "iOP Config Reloaded");
  109.                 }
  110.                 if(args[0].equalsIgnoreCase("prefix")){
  111.                     String p = args[1];
  112.                     String prefix = args[2];
  113.                     iOPDatabase pClass = getDatabase().find(iOPDatabase.class).where().ieq("playerName", p).findUnique();
  114.                     if(pClass == null){
  115.                     pClass = new iOPDatabase ();
  116.                     pClass.setPrefix(prefix);
  117.                     pClass.setPlayer(p);
  118.                     player.sendMessage("Prefix of" + p + "set to" + prefix);
  119.                 }else{
  120.                     pClass.setPrefix(prefix);
  121.                     pClass.setPlayer(p);
  122.                     player.sendMessage("Prefix of" + p + "set to" + prefix);
  123.                 }
  124.                      prefix = prefix.replaceAll("&([0-9a-fA-F])","\u00A7$1");
  125.                    
  126.                 }
  127.                
  128.             }
  129.             if(cmd.getName().equalsIgnoreCase("check")){
  130.                 Player p = (Player)sender;
  131.                
  132.                 String p2 = args[0];
  133.                 iOPDatabase pClass = getDatabase().find(iOPDatabase.class).where().ieq("playerName", p2).findUnique();
  134.                 String name = pClass.getPrefix();
  135.                 p.sendMessage("Prefix: " + name);
  136.                 return true;
  137.             }
  138.            
  139.        
  140.          if(coloredList == true){
  141.             if(cmd.getName().equalsIgnoreCase("list")){
  142.                 StringBuilder online = new StringBuilder();
  143.                 for (int i = 0; i < this.getServer().getWorlds().size(); i++) {
  144.                     World world = this.getServer().getWorlds().get(i);
  145.                     int max = 0;
  146.                     List<Player> wplayer = world.getPlayers();
  147.                     for (Player p :wplayer){
  148.                     max++;
  149.                     }
  150.                     online.append(ChatColor.GRAY + "Online (" + ChatColor.WHITE + max + ChatColor.GRAY + "):");
  151.                     for (Player p : wplayer) {
  152.                         if(p.isOp()){
  153.                         String color = opNameColor;
  154.                         online.append(" " + color + p.getDisplayName() + ChatColor.WHITE);
  155.                     }else{
  156.                         String color = playerNameColor;
  157.                         online.append(" " + color + p.getDisplayName() + ChatColor.WHITE);
  158.                     }
  159.                        
  160.                     }
  161.                         sender.sendMessage(online.toString());
  162.                
  163.                 }
  164.      
  165.                
  166.             }
  167.             return false;
  168.        
  169.      }else{
  170.          return false;
  171.      }
  172.          
  173. }
  174.      
  175.       private void setupDatabase() {
  176.             try {
  177.                 getDatabase().find(iOPDatabase.class).findRowCount();
  178.             } catch (PersistenceException ex) {
  179.                 System.out.println("Installing database for " + getDescription().getName() + " due to first time usage");
  180.                 installDDL();
  181.             }
  182.         }
  183.  
  184.         @Override
  185.         public List<Class<?>> getDatabaseClasses() {
  186.             List<Class<?>> list = new ArrayList<Class<?>>();
  187.             list.add(iOP.class);
  188.             return list;
  189.         }
  190.         {
  191. }
  192. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement