From e45e17497ddcdc86115d5883b3cabe10d9678ec8 Mon Sep 17 00:00:00 2001 From: Aust1n46 Date: Mon, 19 Sep 2016 16:07:39 -0400 Subject: [PATCH] Readded Mail command and fixed GUI serialization. --- MineverseChat/config.yml | 5 - .../Aust1n46/chat/command/chat/Mail.java | 102 ++++++------------ .../chat/listeners/CommandListener.java | 2 +- 3 files changed, 32 insertions(+), 77 deletions(-) diff --git a/MineverseChat/config.yml b/MineverseChat/config.yml index 195a421..9914c1b 100644 --- a/MineverseChat/config.yml +++ b/MineverseChat/config.yml @@ -245,11 +245,6 @@ alias: permissions: None components: - 'Message: &aThis is our website: www.site.net' - mail: - arguments: 0 - permissions: None - components: - - 'Command: /email$' tell: arguments: 0 permissions: None diff --git a/MineverseChat/mineverse/Aust1n46/chat/command/chat/Mail.java b/MineverseChat/mineverse/Aust1n46/chat/command/chat/Mail.java index 1a953f2..a7dd55b 100644 --- a/MineverseChat/mineverse/Aust1n46/chat/command/chat/Mail.java +++ b/MineverseChat/mineverse/Aust1n46/chat/command/chat/Mail.java @@ -14,6 +14,7 @@ import mineverse.Aust1n46.chat.api.MineverseChatAPI; import mineverse.Aust1n46.chat.api.MineverseChatPlayer; import mineverse.Aust1n46.chat.channel.ChatChannelInfo; import mineverse.Aust1n46.chat.command.MineverseCommand; +import mineverse.Aust1n46.chat.utilities.Format; @SuppressWarnings("unused") public class Mail extends MineverseCommand { @@ -25,105 +26,64 @@ public class Mail extends MineverseCommand { this.plugin = MineverseChat.getInstance(); } - //@SuppressWarnings("deprecation") @Override public void execute(CommandSender sender, String command, String[] args) { - /*if(!(sender instanceof Player)) { + if (!(sender instanceof Player)) { plugin.getServer().getConsoleSender().sendMessage(ChatColor.RED + "This command must be run by a player."); return; } MineverseChatPlayer mcp = MineverseChatAPI.getMineverseChatPlayer((Player) sender); - if(mcp.getPlayer().hasPermission("venturechat.mail")) { + if (mcp.getPlayer().hasPermission("venturechat.mail")) { try { - switch(args[0]) { + switch (args[0]) { case "send": { try { - Player p = Bukkit.getPlayer(args[1]); - if(p == null) { - OfflinePlayer op = Bukkit.getOfflinePlayer(args[1]); - if(op.hasPlayedBefore()) { - if(plugin.mail.containsKey(op.getUniqueId().toString())) { - try { - String msg = args[2]; - for(int x = 3; x < args.length; x++) { - if(args[x].length() > 0) msg += " " + args[x]; - } - plugin.mail.get(op.getUniqueId().toString()).add(player.getName() + ": " + msg); - player.sendMessage(ChatColor.GOLD + "Sent mail: " + ChatColor.RED + cc.FormatStringAll(msg) + ChatColor.GOLD + " to: " + ChatColor.RED + op.getName()); - return; - } - catch(Exception e) { - player.sendMessage(ChatColor.RED + "Invalid arguments, /mail send [player] [message]"); - return; - } - } - try { - String msg = args[2]; - for(int x = 3; x < args.length; x++) { - if(args[x].length() > 0) msg += " " + args[x]; - } - ArrayList newlist = new ArrayList(); - newlist.add(player.getName() + ": " + msg); - player.sendMessage(ChatColor.GOLD + "Sent mail: " + ChatColor.RED + cc.FormatStringAll(msg) + ChatColor.GOLD + " to: " + ChatColor.RED + op.getName()); - plugin.mail.put(op.getUniqueId().toString(), newlist); - return; - } - catch(Exception e) { - player.sendMessage(ChatColor.RED + "Invalid arguments, /mail send [player] [message]"); - return; - } - } - if(args.length < 3) { - player.sendMessage(ChatColor.RED + "Invalid arguments, /mail send [player] [message]"); - return; - } - player.sendMessage(ChatColor.RED + "Player: " + op.getName() + " has never played before."); + MineverseChatPlayer tp = MineverseChatAPI.getMineverseChatPlayer(args[1]); + if (tp == null) { + mcp.getPlayer().sendMessage(ChatColor.RED + "Player: " + args[1] + " has never played before."); return; } - try { - String msg = args[2]; - for(int x = 3; x < args.length; x++) { - if(args[x].length() > 0) msg += " " + args[x]; - } - p.setMetadata("MineverseChat.mail", new FixedMetadataValue(plugin, plugin.getMetadataString(p, "MineverseChat.mail", plugin) + player.getName() + ": " + msg + "\n")); - player.sendMessage(ChatColor.GOLD + "Sent mail: " + ChatColor.RED + cc.FormatStringAll(msg) + ChatColor.GOLD + " to: " + ChatColor.RED + p.getName()); - p.sendMessage(ChatColor.RED + player.getName() + ChatColor.GOLD + " just sent you mail. /mail read"); - return; + String msg = args[2]; + for (int x = 3; x < args.length; x++) { + if (args[x].length() > 0) + msg += " " + args[x]; } - catch(Exception e) { - player.sendMessage(ChatColor.RED + "Invalid arguments: /mail send [player] [message]"); - return; + mcp.getPlayer().sendMessage(ChatColor.GOLD + "Sent mail: " + ChatColor.RED + Format.FormatStringAll(msg) + ChatColor.GOLD + " to: " + ChatColor.RED + tp.getName()); + tp.addMail(msg); + if(tp.isOnline()) { + tp.getPlayer().sendMessage(ChatColor.RED + mcp.getName() + ChatColor.GOLD + " has sent you mail. /mail read"); } + return; + } + catch (Exception e) { + mcp.getPlayer().sendMessage(ChatColor.RED + "Invalid arguments, /mail send [player] [message]"); + return; } - catch(Exception e) { - player.sendMessage(ChatColor.RED + "Invalid arguments: /mail send [player] [message]"); - } - return; } case "read": { - for(String s : plugin.getMetadataString(player, "MineverseChat.mail", plugin).split("\n")) { - if(s.length() > 0) { - player.sendMessage(ChatColor.GOLD + cc.FormatStringAll(s)); + for (String s : mcp.getMail()) { + if (s.length() > 0) { + mcp.getPlayer().sendMessage(ChatColor.GOLD + Format.FormatStringAll(s)); } } - player.sendMessage(ChatColor.GOLD + "To clear mail, type /mail clear"); + mcp.getPlayer().sendMessage(ChatColor.GOLD + "To clear mail, type /mail clear"); return; } case "clear": { - player.removeMetadata("MineverseChat.mail", plugin); - player.sendMessage(ChatColor.GOLD + "Cleared your mail."); + mcp.clearMail(); + mcp.getPlayer().sendMessage(ChatColor.GOLD + "Cleared your mail."); return; } default: { - player.sendMessage(ChatColor.RED + "Invalid arguments, /mail [send, read, sendall, clear]"); + mcp.getPlayer().sendMessage(ChatColor.RED + "Invalid arguments, /mail [send, read, sendall, clear]"); return; } } - } - catch(Exception e) { - player.sendMessage(ChatColor.RED + "Invalid arguments, /mail [send, read, sendall, clear]"); + } + catch (Exception e) { + mcp.getPlayer().sendMessage(ChatColor.RED + "Invalid arguments, /mail [send, read, sendall, clear]"); } return; - }*/ + } } } \ No newline at end of file diff --git a/MineverseChat/mineverse/Aust1n46/chat/listeners/CommandListener.java b/MineverseChat/mineverse/Aust1n46/chat/listeners/CommandListener.java index 5b6df8c..5f4c973 100644 --- a/MineverseChat/mineverse/Aust1n46/chat/listeners/CommandListener.java +++ b/MineverseChat/mineverse/Aust1n46/chat/listeners/CommandListener.java @@ -263,7 +263,7 @@ public class CommandListener implements CommandExecutor, Listener { @EventHandler(priority = EventPriority.LOW) public void InventoryClick(InventoryClickEvent e) { ItemStack item = e.getCurrentItem(); - if(item == null || !e.getInventory().getTitle().contains("VentureChat") && !e.getInventory().getTitle().contains("GUI")) { + if(item == null || !e.getInventory().getTitle().contains("VentureChat")) { return; } e.setCancelled(true);