2
0
Эх сурвалжийг харах

These commands cannot work for online players, period.

GJ 12 жил өмнө
parent
commit
ea32cb9e12

+ 16 - 14
src/main/java/com/gmail/nossr50/commands/admin/McgodCommand.java

@@ -52,8 +52,6 @@ public class McgodCommand implements CommandExecutor {
 
             McMMOPlayer mcMMOPlayer = Users.getPlayer(args[0]);
 
-            // If the mcMMOPlayer doesn't exist, create a temporary profile and
-            // check if it's present in the database. If it's not, abort the process.
             if (mcMMOPlayer == null) {
                 profile = new PlayerProfile(args[0], false);
 
@@ -61,20 +59,24 @@ public class McgodCommand implements CommandExecutor {
                     sender.sendMessage(LocaleLoader.getString("Commands.DoesNotExist"));
                     return true;
                 }
+
+                sender.sendMessage(LocaleLoader.getString("Commands.Offline"));
+                return true;
+            }
+
+            profile = mcMMOPlayer.getProfile();
+            Player player = mcMMOPlayer.getPlayer();
+
+            if (!player.isOnline()) {
+                sender.sendMessage(LocaleLoader.getString("Commands.Offline"));
+                return true;
+            }
+
+            if (profile.getGodMode()) {
+                player.sendMessage(LocaleLoader.getString("Commands.GodMode.Disabled"));
             }
             else {
-                profile = mcMMOPlayer.getProfile();
-                Player player = mcMMOPlayer.getPlayer();
-
-                // Check if the player is online before we try to send them a message.
-                if (player.isOnline()) {
-                    if (profile.getGodMode()) {
-                        player.sendMessage(LocaleLoader.getString("Commands.GodMode.Disabled"));
-                    }
-                    else {
-                        player.sendMessage(LocaleLoader.getString("Commands.GodMode.Enabled"));
-                    }
-                }
+                player.sendMessage(LocaleLoader.getString("Commands.GodMode.Enabled"));
             }
 
             profile.toggleGodMode();

+ 22 - 16
src/main/java/com/gmail/nossr50/commands/admin/McrefreshCommand.java

@@ -28,8 +28,14 @@ public class McrefreshCommand implements CommandExecutor {
             }
 
             profile = Users.getPlayer(sender.getName()).getProfile();
+
+            profile.setRecentlyHurt(0);
+            profile.resetCooldowns();
+            profile.resetToolPrepMode();
+            profile.resetAbilityMode();
+
             sender.sendMessage(LocaleLoader.getString("Ability.Generic.Refresh"));
-            break;
+            return true;
 
         case 1:
             if (!Permissions.hasPermission(sender, "mcmmo.commands.mcrefresh.others")) {
@@ -39,7 +45,6 @@ public class McrefreshCommand implements CommandExecutor {
 
             McMMOPlayer mcMMOPlayer = Users.getPlayer(args[0]);
 
-            // If the mcMMOPlayer doesn't exist, create a temporary profile and check if it's present in the database. If it's not, abort the process.
             if (mcMMOPlayer == null) {
                 profile = new PlayerProfile(args[0], false);
 
@@ -47,28 +52,29 @@ public class McrefreshCommand implements CommandExecutor {
                     sender.sendMessage(LocaleLoader.getString("Commands.DoesNotExist"));
                     return true;
                 }
+
+                sender.sendMessage(LocaleLoader.getString("Commands.Offline"));
+                return true;
             }
-            else {
-                profile = mcMMOPlayer.getProfile();
-                Player player = mcMMOPlayer.getPlayer();
+            profile = mcMMOPlayer.getProfile();
+            Player player = mcMMOPlayer.getPlayer();
 
-                // Check if the player is online before we try to send them a message.
-                if (player.isOnline()) {
-                    player.sendMessage(LocaleLoader.getString("Ability.Generic.Refresh"));
-                }
+            if (!player.isOnline()) {
+                sender.sendMessage(LocaleLoader.getString("Commands.Offline"));
+                return true;
             }
 
+            profile.setRecentlyHurt(0);
+            profile.resetCooldowns();
+            profile.resetToolPrepMode();
+            profile.resetAbilityMode();
+
+            player.sendMessage(LocaleLoader.getString("Ability.Generic.Refresh"));
             sender.sendMessage(LocaleLoader.getString("Commands.mcrefresh.Success", args[0]));
-            break;
+            return true;
 
         default:
             return false;
         }
-
-        profile.setRecentlyHurt(0);
-        profile.resetCooldowns();
-        profile.resetToolPrepMode();
-        profile.resetAbilityMode();
-        return true;
     }
 }

+ 16 - 8
src/main/java/com/gmail/nossr50/commands/player/McabilityCommand.java

@@ -50,16 +50,24 @@ public class McabilityCommand implements CommandExecutor {
                     sender.sendMessage(LocaleLoader.getString("Commands.DoesNotExist"));
                     return true;
                 }
+
+                sender.sendMessage(LocaleLoader.getString("Commands.Offline"));
+                return true;
             }
-            else {
-                profile = mcMMOPlayer.getProfile();
 
-                if (profile.getAbilityUse()) {
-                    mcMMOPlayer.getPlayer().sendMessage(LocaleLoader.getString("Commands.Ability.Off"));
-                }
-                else {
-                    mcMMOPlayer.getPlayer().sendMessage(LocaleLoader.getString("Commands.Ability.On"));
-                }
+            Player player = mcMMOPlayer.getPlayer();
+            profile = mcMMOPlayer.getProfile();
+
+            if (!player.isOnline()) {
+                sender.sendMessage(LocaleLoader.getString("Commands.Offline"));
+                return true;
+            }
+
+            if (profile.getAbilityUse()) {
+                player.sendMessage(LocaleLoader.getString("Commands.Ability.Off"));
+            }
+            else {
+                player.sendMessage(LocaleLoader.getString("Commands.Ability.On"));
             }
 
             profile.toggleAbilityUse();

+ 1 - 0
src/main/resources/locale/locale_en_US.properties

@@ -437,6 +437,7 @@ Commands.mmoupdate.Start=[[GRAY]]Starting conversion...
 Commands.mmoupdate.Finish=[[GREEN]]Conversion finished!
 Commands.ModDescription=[[RED]]- Read brief mod description
 Commands.NoConsole=This command does not support console usage.
+Commands.Offline=[[RED]]This command does not work for offline players.
 Commands.Other=[[GREEN]]--OTHER COMMANDS--
 Commands.Party.Header=[[RED]]-----[][[GREEN]]PARTY[[RED]][]-----
 Commands.Party.Status=[[DARK_GRAY]]NAME: [[WHITE]]{0} {1}