Forráskód Böngészése

Fixed bug with '/party chat (on|off)' and '/partychat (on|off)' not
working

GJ 12 éve
szülő
commit
d0171809ec

+ 1 - 0
Changelog.txt

@@ -11,6 +11,7 @@ Version 1.4.03-dev
  + Added option to advanced.yml to determine the # of enchant levels used when buffing Super Breaker & Giga Drill Breaker
  + Added option to advanced.yml to determine the # of enchant levels used when buffing Super Breaker & Giga Drill Breaker
  + Improved stats display for child skills
  + Improved stats display for child skills
  + Added cooldown between using Chimaera Wings
  + Added cooldown between using Chimaera Wings
+ = Fixed bug with '/party chat (on|off)' and '/partychat (on|off)' not working
  = Fixed bug with Repair not decreasing enchanting levels properly
  = Fixed bug with Repair not decreasing enchanting levels properly
  = Fixed bug with Smelting not properly tracking furnaces
  = Fixed bug with Smelting not properly tracking furnaces
  = Fixed bug with Blast Mining not dropping blocks correctly
  = Fixed bug with Blast Mining not dropping blocks correctly

+ 22 - 6
src/main/java/com/gmail/nossr50/commands/chat/ChatCommand.java

@@ -7,6 +7,8 @@ import org.bukkit.entity.Player;
 
 
 import com.gmail.nossr50.chat.ChatMode;
 import com.gmail.nossr50.chat.ChatMode;
 import com.gmail.nossr50.datatypes.player.McMMOPlayer;
 import com.gmail.nossr50.datatypes.player.McMMOPlayer;
+import com.gmail.nossr50.locale.LocaleLoader;
+import com.gmail.nossr50.util.commands.CommandUtils;
 import com.gmail.nossr50.util.player.UserManager;
 import com.gmail.nossr50.util.player.UserManager;
 
 
 public abstract class ChatCommand implements CommandExecutor {
 public abstract class ChatCommand implements CommandExecutor {
@@ -21,8 +23,8 @@ public abstract class ChatCommand implements CommandExecutor {
     public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
     public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
         switch (args.length) {
         switch (args.length) {
             case 0:
             case 0:
-                if (!(sender instanceof Player)) {
-                    return false;
+                if (CommandUtils.noConsoleUsage(sender)) {
+                    return true;
                 }
                 }
 
 
                 mcMMOPlayer = UserManager.getPlayer((Player) sender);
                 mcMMOPlayer = UserManager.getPlayer((Player) sender);
@@ -38,19 +40,23 @@ public abstract class ChatCommand implements CommandExecutor {
 
 
             case 1:
             case 1:
                 if (args[0].equalsIgnoreCase("on")) {
                 if (args[0].equalsIgnoreCase("on")) {
-                    if (!(sender instanceof Player)) {
-                        return false;
+                    if (CommandUtils.noConsoleUsage(sender)) {
+                        return true;
                     }
                     }
 
 
+                    mcMMOPlayer = UserManager.getPlayer((Player) sender);
+
                     enableChatMode(sender);
                     enableChatMode(sender);
                     return true;
                     return true;
                 }
                 }
 
 
                 if (args[0].equalsIgnoreCase("off")) {
                 if (args[0].equalsIgnoreCase("off")) {
-                    if (!(sender instanceof Player)) {
-                        return false;
+                    if (CommandUtils.noConsoleUsage(sender)) {
+                        return true;
                     }
                     }
 
 
+                    mcMMOPlayer = UserManager.getPlayer((Player) sender);
+
                     disableChatMode(sender);
                     disableChatMode(sender);
                     return true;
                     return true;
                 }
                 }
@@ -78,11 +84,21 @@ public abstract class ChatCommand implements CommandExecutor {
     protected abstract void handleChatSending(CommandSender sender, String[] args);
     protected abstract void handleChatSending(CommandSender sender, String[] args);
 
 
     private void enableChatMode(CommandSender sender) {
     private void enableChatMode(CommandSender sender) {
+        if (chatMode == ChatMode.PARTY && mcMMOPlayer.getParty() == null) {
+            sender.sendMessage(LocaleLoader.getString("Commands.Party.None"));
+            return;
+        }
+
         chatMode.enable(mcMMOPlayer);
         chatMode.enable(mcMMOPlayer);
         sender.sendMessage(chatMode.getEnabledMessage());
         sender.sendMessage(chatMode.getEnabledMessage());
     }
     }
 
 
     private void disableChatMode(CommandSender sender) {
     private void disableChatMode(CommandSender sender) {
+        if (chatMode == ChatMode.PARTY && mcMMOPlayer.getParty() == null) {
+            sender.sendMessage(LocaleLoader.getString("Commands.Party.None"));
+            return;
+        }
+
         chatMode.disable(mcMMOPlayer);
         chatMode.disable(mcMMOPlayer);
         sender.sendMessage(chatMode.getDisabledMessage());
         sender.sendMessage(chatMode.getDisabledMessage());
     }
     }