Advertisement
captainawesome7

DispNameChanger

Apr 29th, 2011
189
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.25 KB | None | 0 0
  1. package me.captain.DispNameChanger;
  2.    
  3. import java.util.ArrayList;
  4. import java.util.List;
  5. import java.util.logging.Logger;
  6.  
  7. import javax.persistence.PersistenceException;
  8.  
  9. import org.bukkit.ChatColor;
  10. import org.bukkit.command.Command;
  11. import org.bukkit.command.CommandSender;
  12. import org.bukkit.entity.Player;
  13. import org.bukkit.plugin.PluginManager;
  14. import org.bukkit.plugin.java.JavaPlugin;
  15. import com.nijiko.permissions.PermissionHandler;
  16. import com.nijikokun.bukkit.Permissions.Permissions;
  17. import org.bukkit.plugin.Plugin;
  18.  
  19.  
  20.  
  21. public class DispNameChanger extends JavaPlugin {
  22.    
  23.     private boolean UsePermissions;
  24.     public static PermissionHandler Permissions;
  25.     private void setupPermissions() {
  26.         Plugin test = this.getServer().getPluginManager().getPlugin("Permissions");
  27.         if (this.Permissions == null) {
  28.             if (test != null) {
  29.                 UsePermissions = true;
  30.                 this.Permissions = ((Permissions) test).getHandler();
  31.                 System.out.println("[DispNameChanger] Permissions system detected!");
  32.             } else {
  33.                 log.info("Permission system not detected, defaulting to OP");
  34.                 UsePermissions = false;
  35.             }
  36.         }
  37.     }
  38.    
  39.      private void setupDatabase() {
  40.             try {
  41.                 getDatabase().find(DNCPersistence.class).findRowCount();
  42.             } catch (PersistenceException ex) {
  43.                 System.out.println("Installing database for " + getDescription().getName() + " due to first time usage");
  44.                 installDDL();
  45.             }
  46.         }
  47.         @Override
  48.         public List<Class<?>> getDatabaseClasses() {
  49.             List<Class<?>> list = new ArrayList<Class<?>>();
  50.             list.add(DNCPersistence.class);
  51.             return list;
  52.         }
  53.    
  54.    
  55.     public boolean canUseCheckName(Player p) {
  56.         if (UsePermissions) {
  57.             return this.Permissions.has(p, "dispname.check");
  58.         }
  59.         return p.isOp();
  60.     }
  61.     public boolean canUseChangeName(Player p) {
  62.         if (UsePermissions) {
  63.             return this.Permissions.has(p, "dispname.change");
  64.         }
  65.         return p.isOp();
  66.     }
  67.  
  68.     private static final Logger log = Logger.getLogger("Minecraft");
  69.  
  70.     public void onEnable() {
  71.        
  72.         PluginManager pm = getServer().getPluginManager();
  73.         setupPermissions();
  74.         setupDatabase();
  75.         log.info("[DispNameChanger] DispNameChanger has been enabled!");
  76.     }
  77.  
  78.     public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args){
  79.         Player player = (Player) sender;
  80.         if(commandLabel.equalsIgnoreCase("rename")){
  81.             if (canUseChangeName((Player) sender)) {
  82.                 if(args.length==0)
  83.                 {
  84.                     String rn = player.getName();
  85.                     player.setDisplayName(rn);
  86.                     player.sendMessage(ChatColor.GREEN + "Your name is now " + rn);
  87.                     return true;
  88.                 }
  89.                 String p = args[0];
  90.                 String n = args[1];
  91.                 if(args[1] == null) {
  92.                     Player changee = this.getServer().getPlayer(p);
  93.                     changee.setDisplayName(p);
  94.                 }
  95.                 Player changee = this.getServer().getPlayer(p);
  96.                 if(changee == null) {
  97.                     sender.sendMessage(ChatColor.RED + "That user doesn't exist, or isn't online.");
  98.                         } else {
  99.                 Player changer = (Player) sender;
  100.                 changee.setDisplayName(n.replaceAll("(&([a-f0-9]))", "\u00A7$2"));
  101.                 changee.sendMessage(ChatColor.GREEN + "Your name is now " + n);
  102.                 changer.sendMessage(ChatColor.GREEN + p + "'s name is now " + n);
  103.                 DNCPersistence pClass = getDatabase().find(DNCPersistence.class).where().ieq("PlayerName", p).findUnique();
  104.                 if (pClass== null) {
  105.                     pClass = new DNCPersistence ();
  106.                 }
  107.                 pClass.setPlayerName(p);
  108.                 pClass.setDisplayName(n);
  109.                 this.getDatabase().save(pClass);
  110.                         }
  111.                 } else {
  112.                     Player s = (Player) sender;
  113.                     s.sendMessage(ChatColor.RED + "You don't have permisson to change names");
  114.                 }
  115.                 return true;
  116.         }
  117.         if(commandLabel.equalsIgnoreCase("checkname")){
  118.             if (canUseCheckName((Player) sender)) {
  119.                 String p = args[0];
  120.                 Player changee = this.getServer().getPlayer(p);
  121.                 String name = changee.getName();
  122.                 Player changer = (Player) sender;
  123.                 changer.sendMessage(ChatColor.RED + p + "is really: " + name);
  124.                 } else {
  125.                     Player s = (Player) sender;
  126.                     s.sendMessage(ChatColor.RED + "You don't have permisson to change names");
  127.                 }
  128.                 return true;
  129.         }
  130.             return false;
  131.     }
  132.  
  133.     public void onDisable() {
  134.         log.info("[DispNameChanger] DispNameChanger has been disabled!");
  135.     }
  136.    
  137. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement