Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package me.captain.DispNameChanger;
- import java.util.ArrayList;
- import java.util.List;
- import java.util.logging.Logger;
- import javax.persistence.PersistenceException;
- import org.bukkit.ChatColor;
- import org.bukkit.command.Command;
- import org.bukkit.command.CommandSender;
- import org.bukkit.entity.Player;
- import org.bukkit.plugin.PluginManager;
- import org.bukkit.plugin.java.JavaPlugin;
- import com.nijiko.permissions.PermissionHandler;
- import com.nijikokun.bukkit.Permissions.Permissions;
- import org.bukkit.plugin.Plugin;
- public class DispNameChanger extends JavaPlugin {
- private boolean UsePermissions;
- public static PermissionHandler Permissions;
- private void setupPermissions() {
- Plugin test = this.getServer().getPluginManager().getPlugin("Permissions");
- if (this.Permissions == null) {
- if (test != null) {
- UsePermissions = true;
- this.Permissions = ((Permissions) test).getHandler();
- System.out.println("[DispNameChanger] Permissions system detected!");
- } else {
- log.info("Permission system not detected, defaulting to OP");
- UsePermissions = false;
- }
- }
- }
- private void setupDatabase() {
- try {
- getDatabase().find(DNCPersistence.class).findRowCount();
- } catch (PersistenceException ex) {
- System.out.println("Installing database for " + getDescription().getName() + " due to first time usage");
- installDDL();
- }
- }
- @Override
- public List<Class<?>> getDatabaseClasses() {
- List<Class<?>> list = new ArrayList<Class<?>>();
- list.add(DNCPersistence.class);
- return list;
- }
- public boolean canUseCheckName(Player p) {
- if (UsePermissions) {
- return this.Permissions.has(p, "dispname.check");
- }
- return p.isOp();
- }
- public boolean canUseChangeName(Player p) {
- if (UsePermissions) {
- return this.Permissions.has(p, "dispname.change");
- }
- return p.isOp();
- }
- private static final Logger log = Logger.getLogger("Minecraft");
- public void onEnable() {
- PluginManager pm = getServer().getPluginManager();
- setupPermissions();
- setupDatabase();
- log.info("[DispNameChanger] DispNameChanger has been enabled!");
- }
- public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args){
- Player player = (Player) sender;
- if(commandLabel.equalsIgnoreCase("rename")){
- if (canUseChangeName((Player) sender)) {
- if(args.length==0)
- {
- String rn = player.getName();
- player.setDisplayName(rn);
- player.sendMessage(ChatColor.GREEN + "Your name is now " + rn);
- return true;
- }
- String p = args[0];
- String n = args[1];
- if(args[1] == null) {
- Player changee = this.getServer().getPlayer(p);
- changee.setDisplayName(p);
- }
- Player changee = this.getServer().getPlayer(p);
- if(changee == null) {
- sender.sendMessage(ChatColor.RED + "That user doesn't exist, or isn't online.");
- } else {
- Player changer = (Player) sender;
- changee.setDisplayName(n.replaceAll("(&([a-f0-9]))", "\u00A7$2"));
- changee.sendMessage(ChatColor.GREEN + "Your name is now " + n);
- changer.sendMessage(ChatColor.GREEN + p + "'s name is now " + n);
- DNCPersistence pClass = getDatabase().find(DNCPersistence.class).where().ieq("PlayerName", p).findUnique();
- if (pClass== null) {
- pClass = new DNCPersistence ();
- }
- pClass.setPlayerName(p);
- pClass.setDisplayName(n);
- this.getDatabase().save(pClass);
- }
- } else {
- Player s = (Player) sender;
- s.sendMessage(ChatColor.RED + "You don't have permisson to change names");
- }
- return true;
- }
- if(commandLabel.equalsIgnoreCase("checkname")){
- if (canUseCheckName((Player) sender)) {
- String p = args[0];
- Player changee = this.getServer().getPlayer(p);
- String name = changee.getName();
- Player changer = (Player) sender;
- changer.sendMessage(ChatColor.RED + p + "is really: " + name);
- } else {
- Player s = (Player) sender;
- s.sendMessage(ChatColor.RED + "You don't have permisson to change names");
- }
- return true;
- }
- return false;
- }
- public void onDisable() {
- log.info("[DispNameChanger] DispNameChanger has been disabled!");
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement