Browse Source

mcremove command is now fully functional for MySQL

nossr50 13 years ago
parent
commit
6cc22a3b63

+ 15 - 0
src/main/java/com/gmail/nossr50/Users.java

@@ -90,6 +90,21 @@ public class Users {
 	    	players.remove(player);
     	}
     }
+    
+    public static void removeUserByName(String playerName)
+    {
+        Player target = null;
+        for(Player player : players.keySet())
+        {
+            PlayerProfile PP = players.get(player);
+            if(PP.getPlayerName().equals(playerName))
+            {
+                target = player;
+            }
+        }
+        
+        players.remove(target);
+    }
 
     public static PlayerProfile getProfile(Player player){
     	if(players.get(player) != null)

+ 0 - 1
src/main/java/com/gmail/nossr50/commands/general/AddlevelsCommand.java

@@ -10,7 +10,6 @@ import com.gmail.nossr50.Users;
 import com.gmail.nossr50.m;
 import com.gmail.nossr50.mcMMO;
 import com.gmail.nossr50.mcPermissions;
-import com.gmail.nossr50.config.LoadProperties;
 import com.gmail.nossr50.datatypes.PlayerProfile;
 import com.gmail.nossr50.locale.mcLocale;
 import com.gmail.nossr50.skills.Skills;

+ 0 - 1
src/main/java/com/gmail/nossr50/commands/general/AddxpCommand.java

@@ -10,7 +10,6 @@ import com.gmail.nossr50.Users;
 import com.gmail.nossr50.m;
 import com.gmail.nossr50.mcMMO;
 import com.gmail.nossr50.mcPermissions;
-import com.gmail.nossr50.config.LoadProperties;
 import com.gmail.nossr50.locale.mcLocale;
 import com.gmail.nossr50.skills.Skills;
 

+ 0 - 1
src/main/java/com/gmail/nossr50/commands/general/McstatsCommand.java

@@ -10,7 +10,6 @@ import com.gmail.nossr50.Users;
 import com.gmail.nossr50.m;
 import com.gmail.nossr50.mcMMO;
 import com.gmail.nossr50.mcPermissions;
-import com.gmail.nossr50.config.LoadProperties;
 import com.gmail.nossr50.datatypes.PlayerProfile;
 import com.gmail.nossr50.datatypes.SkillType;
 import com.gmail.nossr50.locale.mcLocale;

+ 0 - 1
src/main/java/com/gmail/nossr50/commands/general/MmoeditCommand.java

@@ -10,7 +10,6 @@ import com.gmail.nossr50.Users;
 import com.gmail.nossr50.m;
 import com.gmail.nossr50.mcMMO;
 import com.gmail.nossr50.mcPermissions;
-import com.gmail.nossr50.config.LoadProperties;
 import com.gmail.nossr50.datatypes.PlayerProfile;
 import com.gmail.nossr50.locale.mcLocale;
 import com.gmail.nossr50.skills.Skills;

+ 0 - 1
src/main/java/com/gmail/nossr50/commands/general/WhoisCommand.java

@@ -10,7 +10,6 @@ import com.gmail.nossr50.Users;
 import com.gmail.nossr50.m;
 import com.gmail.nossr50.mcMMO;
 import com.gmail.nossr50.mcPermissions;
-import com.gmail.nossr50.config.LoadProperties;
 import com.gmail.nossr50.datatypes.PlayerProfile;
 import com.gmail.nossr50.datatypes.SkillType;
 import com.gmail.nossr50.locale.mcLocale;

+ 0 - 1
src/main/java/com/gmail/nossr50/commands/mc/McabilityCommand.java

@@ -8,7 +8,6 @@ import org.bukkit.entity.Player;
 
 import com.gmail.nossr50.Users;
 import com.gmail.nossr50.mcPermissions;
-import com.gmail.nossr50.config.LoadProperties;
 import com.gmail.nossr50.datatypes.PlayerProfile;
 import com.gmail.nossr50.locale.mcLocale;
 

+ 0 - 1
src/main/java/com/gmail/nossr50/commands/mc/MccCommand.java

@@ -7,7 +7,6 @@ import org.bukkit.command.CommandSender;
 import org.bukkit.entity.Player;
 
 import com.gmail.nossr50.mcPermissions;
-import com.gmail.nossr50.config.LoadProperties;
 import com.gmail.nossr50.locale.mcLocale;
 
 public class MccCommand implements CommandExecutor {

+ 0 - 1
src/main/java/com/gmail/nossr50/commands/mc/McgodCommand.java

@@ -8,7 +8,6 @@ import org.bukkit.entity.Player;
 
 import com.gmail.nossr50.Users;
 import com.gmail.nossr50.mcPermissions;
-import com.gmail.nossr50.config.LoadProperties;
 import com.gmail.nossr50.datatypes.PlayerProfile;
 import com.gmail.nossr50.locale.mcLocale;
 

+ 0 - 1
src/main/java/com/gmail/nossr50/commands/mc/McrefreshCommand.java

@@ -9,7 +9,6 @@ import org.bukkit.entity.Player;
 import com.gmail.nossr50.Users;
 import com.gmail.nossr50.mcMMO;
 import com.gmail.nossr50.mcPermissions;
-import com.gmail.nossr50.config.LoadProperties;
 import com.gmail.nossr50.datatypes.PlayerProfile;
 import com.gmail.nossr50.locale.mcLocale;
 

+ 50 - 5
src/main/java/com/gmail/nossr50/commands/mc/McremoveCommand.java

@@ -1,11 +1,14 @@
 package com.gmail.nossr50.commands.mc;
 
+import org.bukkit.Bukkit;
 import org.bukkit.ChatColor;
 import org.bukkit.command.Command;
 import org.bukkit.command.CommandExecutor;
 import org.bukkit.command.CommandSender;
 import org.bukkit.entity.Player;
 
+import com.gmail.nossr50.Users;
+import com.gmail.nossr50.mcMMO;
 import com.gmail.nossr50.mcPermissions;
 import com.gmail.nossr50.config.LoadProperties;
 import com.gmail.nossr50.locale.mcLocale;
@@ -23,15 +26,11 @@ public class McremoveCommand implements CommandExecutor {
             player.sendMessage(ChatColor.YELLOW + "[mcMMO] " + ChatColor.DARK_RED + mcLocale.getString("mcPlayerListener.NoPermission"));
             return true;
         }
-
-        if (!(sender instanceof Player)) {
-            sender.sendMessage("This command does not support console useage.");
-            return true;
-        }
         
         if(args.length == 0)
         {
             sender.sendMessage("Correct usage is /mcremove [Player Name]");
+            return true;
         }
         
         String playerName = args[0]; //Player that we are going to remove
@@ -39,12 +38,58 @@ public class McremoveCommand implements CommandExecutor {
         //If the server is using MySQL
         if(LoadProperties.useMySQL)
         {
+            int userId = mcMMO.database.GetInt("SELECT id FROM "+LoadProperties.MySQLtablePrefix+"users WHERE user = '" + playerName + "'");
+            
+            //Remove user from tables
+            mcMMO.database.Write("DELETE FROM "
+                    +LoadProperties.MySQLdbName+"."
+                    +LoadProperties.MySQLtablePrefix+"users WHERE "
+                    +LoadProperties.MySQLtablePrefix+"users.id="+userId);
+            
+            mcMMO.database.Write("DELETE FROM "
+                    +LoadProperties.MySQLdbName+"."
+                    +LoadProperties.MySQLtablePrefix+"cooldowns WHERE "
+                    +LoadProperties.MySQLtablePrefix+"cooldowns.user_id="+userId);
+            
+            mcMMO.database.Write("DELETE FROM "
+                    +LoadProperties.MySQLdbName+"."
+                    +LoadProperties.MySQLtablePrefix+"huds WHERE "
+                    +LoadProperties.MySQLtablePrefix+"huds.user_id="+userId);
             
+            mcMMO.database.Write("DELETE FROM "
+                    +LoadProperties.MySQLdbName+"."
+                    +LoadProperties.MySQLtablePrefix+"spawn WHERE "
+                    +LoadProperties.MySQLtablePrefix+"spawn.user_id="+userId);
             
+            mcMMO.database.Write("DELETE FROM "
+                    +LoadProperties.MySQLdbName+"."
+                    +LoadProperties.MySQLtablePrefix+"skills WHERE "
+                    +LoadProperties.MySQLtablePrefix+"skills.user_id="+userId);
+            
+            mcMMO.database.Write("DELETE FROM "
+            +LoadProperties.MySQLdbName+"."
+            +LoadProperties.MySQLtablePrefix+"experience WHERE "
+            +LoadProperties.MySQLtablePrefix+"experience.user_id="+userId);
+
+            System.out.println("User "+playerName+" removed from MySQL DB!");
         } else {
             
         }
         
+        if(Bukkit.getServer().getPlayer(playerName) != null)
+        {
+            Player targetPlayer = Bukkit.getServer().getPlayer(playerName);
+            if(targetPlayer.isOnline())
+            {
+                targetPlayer.kickPlayer("[mcMMO] Stats have been reset! Rejoin!");
+                Users.removeUserByName(playerName);
+            } else {
+                Users.removeUser(targetPlayer);
+            }
+        } else {
+            Users.removeUserByName(playerName);
+        }
+        
         return true;
     }
 }

+ 0 - 1
src/main/java/com/gmail/nossr50/commands/party/AcceptCommand.java

@@ -8,7 +8,6 @@ import org.bukkit.entity.Player;
 
 import com.gmail.nossr50.Users;
 import com.gmail.nossr50.mcPermissions;
-import com.gmail.nossr50.config.LoadProperties;
 import com.gmail.nossr50.datatypes.PlayerProfile;
 import com.gmail.nossr50.locale.mcLocale;
 import com.gmail.nossr50.party.Party;

+ 0 - 1
src/main/java/com/gmail/nossr50/commands/party/InviteCommand.java

@@ -9,7 +9,6 @@ import org.bukkit.entity.Player;
 import com.gmail.nossr50.Users;
 import com.gmail.nossr50.mcMMO;
 import com.gmail.nossr50.mcPermissions;
-import com.gmail.nossr50.config.LoadProperties;
 import com.gmail.nossr50.datatypes.PlayerProfile;
 import com.gmail.nossr50.locale.mcLocale;
 import com.gmail.nossr50.party.Party;

+ 0 - 1
src/main/java/com/gmail/nossr50/commands/party/PartyCommand.java

@@ -9,7 +9,6 @@ import org.bukkit.entity.Player;
 
 import com.gmail.nossr50.Users;
 import com.gmail.nossr50.mcPermissions;
-import com.gmail.nossr50.config.LoadProperties;
 import com.gmail.nossr50.datatypes.PlayerProfile;
 import com.gmail.nossr50.locale.mcLocale;
 import com.gmail.nossr50.party.Party;

+ 0 - 1
src/main/java/com/gmail/nossr50/commands/party/PtpCommand.java

@@ -9,7 +9,6 @@ import org.bukkit.entity.Player;
 import com.gmail.nossr50.Users;
 import com.gmail.nossr50.mcMMO;
 import com.gmail.nossr50.mcPermissions;
-import com.gmail.nossr50.config.LoadProperties;
 import com.gmail.nossr50.datatypes.PlayerProfile;
 import com.gmail.nossr50.locale.mcLocale;
 

+ 4 - 0
src/main/java/com/gmail/nossr50/datatypes/PlayerProfile.java

@@ -1210,4 +1210,8 @@ public class PlayerProfile
     		return null;
     	}
     }
+    public String getPlayerName()
+    {
+        return playerName;
+    }
 }