浏览代码

mcremove is smarter about dealing with MySQL now

nossr50 13 年之前
父节点
当前提交
d3dedca4a8
共有 2 个文件被更改,包括 7 次插入1 次删除
  1. 1 0
      Changelog.txt
  2. 6 1
      src/main/java/com/gmail/nossr50/commands/mc/McremoveCommand.java

+ 1 - 0
Changelog.txt

@@ -19,6 +19,7 @@ Version 1.3.06-dev
  = Fixed bug with Nether Wart not awarding XP
  = Fixed bug with fishing treasures when treasures list is empty
  = Fixed bug with only getting one level when there was enough XP for multiple levels.
+ ! Changed mcremove to check for users in the MySQL DB before sending queries to remove them
  ! Changed how the tree feller threshold worked for the better
  ! Changed mcremove to no longer kick players when they are removed from database
  ! Changed mcremove to work on offline users for FlatFile

+ 6 - 1
src/main/java/com/gmail/nossr50/commands/mc/McremoveCommand.java

@@ -44,8 +44,10 @@ 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 + "'");
+            int userId = 0;
+            userId = mcMMO.database.getInt("SELECT id FROM "+LoadProperties.MySQLtablePrefix+"users WHERE user = '" + playerName + "'");
             
+            if(userId > 0) {
             //Remove user from tables
             mcMMO.database.write("DELETE FROM "
                     +LoadProperties.MySQLdbName+"."
@@ -73,6 +75,9 @@ public class McremoveCommand implements CommandExecutor {
             +LoadProperties.MySQLtablePrefix+"experience.user_id="+userId);
 
             sender.sendMessage("User "+playerName+" removed from MySQL DB!"); //TODO: Needs more locale.
+            } else {
+                sender.sendMessage("Unabled to find player named "+playerName+" in the database!");
+            }
         } else {
             if(removeFlatFileUser(playerName)) {
                 sender.sendMessage(ChatColor.GREEN+"[mcMMO] It worked! User was removed.");