From 5865e277d9b82be5f672f0b7e85980f13e3551fc Mon Sep 17 00:00:00 2001 From: minenash Date: Tue, 16 Jan 2018 19:00:56 -0500 Subject: [PATCH 1/2] Merged Seen and FirstSeen --- .../modules/firstseen/FirstSeen.java | 111 ------------------ src/com/redstoner/modules/seen/Seen.cmd | 26 ++++ src/com/redstoner/modules/seen/Seen.java | 62 +++++++++- 3 files changed, 87 insertions(+), 112 deletions(-) delete mode 100644 src/com/redstoner/modules/firstseen/FirstSeen.java diff --git a/src/com/redstoner/modules/firstseen/FirstSeen.java b/src/com/redstoner/modules/firstseen/FirstSeen.java deleted file mode 100644 index 5005e1a..0000000 --- a/src/com/redstoner/modules/firstseen/FirstSeen.java +++ /dev/null @@ -1,111 +0,0 @@ -package com.redstoner.modules.firstseen; - -import java.text.SimpleDateFormat; -import java.util.Date; - -import org.bukkit.Bukkit; -import org.bukkit.OfflinePlayer; -import org.bukkit.Statistic; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -import com.nemez.cmdmgr.Command; -import com.redstoner.annotations.Commands; -import com.redstoner.annotations.Version; -import com.redstoner.misc.CommandHolderType; -import com.redstoner.modules.Module; - -@Commands(CommandHolderType.String) -@Version(major = 4, minor = 0, revision = 0, compatible = 4) -public class FirstSeen implements Module -{ - @SuppressWarnings("deprecation") - @Command(hook = "firstseenP") - public void firstseen(CommandSender sender, String person) - { - OfflinePlayer oPlayer = Bukkit.getPlayer(person); - if (oPlayer == null) - oPlayer = Bukkit.getServer().getOfflinePlayer(person); - Long firstJoin = oPlayer.getFirstPlayed(); - SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm"); - String disDate = format.format(new Date(firstJoin)); - if (disDate.equals("1969-12-31 19:00")) - { - getLogger().message(sender, true, "&3" + oPlayer.getName() + "&c has never joined."); - } - else - { - getLogger().message(sender, "&3" + oPlayer.getName() + " &efirst joined&a " + disDate + "&e."); - } - } - - @Command(hook = "firstseen") - public void firstseen(CommandSender sender) - { - firstseen(sender, sender.getName()); - } - - @Command(hook = "playtimeDef") - public boolean playtime(CommandSender sender) - { - return playtime(sender, sender.getName()); - } - - @Command(hook = "playtime") - public boolean playtime(CommandSender sender, String name) - { - if (name == null) - name = sender.getName(); - Player player = Bukkit.getPlayer(name); - if (player == null) - { - getLogger().message(sender, true, - "That player couldn't be found! Hint: Currently, you can only check statistics of players that are online!"); - return true; - } - int ticks_lived = player.getStatistic(Statistic.PLAY_ONE_TICK); - int days = ticks_lived / 1728000; - int hours = (ticks_lived % 1728000) / 72000; - int minutes = (ticks_lived % 72000) / 1200; - getLogger().message(sender, - "The player &e" + name + " &7has been online for " - + (days == 0 && hours == 0 && minutes == 0 ? "less than a minute." - : ("a total of: &e" + (days != 0 ? (days + "d ") : "") - + ((hours != 0 || days != 0) ? (hours + "h ") : "") - + ((minutes != 0 || hours != 0 || days != 0) ? (minutes + "m") : "")))); - return true; - } - - // @noformat - @Override - public String getCommandString() - { - return "command firstseen {\n" - + " [empty] {\n" - + " run firstseen;\n" - + " type player;\n" - + " help Gives the date and time they first joined;\n" - + " perm utils.firstseen;\n" - + " }\n" - + " [string:person] {\n" - + " run firstseenP person;\n" - + " help Gives the date and time when a player first joined;\n" - + " perm utils.firstseen.other;\n" - + " }\n" - + "}\n" - + "command playtime {\n" - + " [empty] {\n" - + " type player;\n" - + " run playtimeDef;\n" - + " perm utils.playtime;\n" - + " help Displays your total playtime!;\n" - + " }\n" - + " [string:name] {\n" - + " run playtime name;\n" - + " perm utils.playtime.others;\n" - + " help Displays the playtime of another player. The player must be online!;\n" - + " }\n" - + "}"; - } - // @format -} diff --git a/src/com/redstoner/modules/seen/Seen.cmd b/src/com/redstoner/modules/seen/Seen.cmd index 03f9efb..711f625 100644 --- a/src/com/redstoner/modules/seen/Seen.cmd +++ b/src/com/redstoner/modules/seen/Seen.cmd @@ -10,4 +10,30 @@ command seen { perm utils.seen; run seen2 player ips; } +} +command firstseen { + [empty] { + run firstseen; + type player; + help Gives the date and time they first joined; + perm utils.firstseen; + } + [string:person] { + run firstseenP person; + help Gives the date and time when a player first joined; + perm utils.firstseen.other; + } +} +command playtime { + [empty] { + type player; + run playtimeDef; + perm utils.playtime; + help Displays your total playtime!; + } + [string:name] { + run playtime name; + perm utils.playtime.others; + help Displays the playtime of another player. The player must be online!; + } } \ No newline at end of file diff --git a/src/com/redstoner/modules/seen/Seen.java b/src/com/redstoner/modules/seen/Seen.java index a9b9576..665a737 100644 --- a/src/com/redstoner/modules/seen/Seen.java +++ b/src/com/redstoner/modules/seen/Seen.java @@ -1,12 +1,15 @@ package com.redstoner.modules.seen; import java.io.File; +import java.text.SimpleDateFormat; import java.util.ArrayList; +import java.util.Date; import java.util.HashMap; import java.util.UUID; import org.bukkit.Bukkit; import org.bukkit.OfflinePlayer; +import org.bukkit.Statistic; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; @@ -31,7 +34,7 @@ import com.redstoner.modules.datamanager.DataManager; @AutoRegisterListener @Commands(CommandHolderType.File) -@Version(major = 4, minor = 0, revision = 3, compatible = 4) +@Version(major = 4, minor = 0, revision = 4, compatible = 4) public class Seen implements Module, Listener { HashMap names = new HashMap<>(); @@ -201,4 +204,61 @@ public class Seen implements Module, Listener else return (JSONArray) json.get("ips"); } + + @SuppressWarnings("deprecation") + @Command(hook = "firstseenP") + public void firstseen(CommandSender sender, String person) + { + OfflinePlayer oPlayer = Bukkit.getPlayer(person); + if (oPlayer == null) + oPlayer = Bukkit.getServer().getOfflinePlayer(person); + Long firstJoin = oPlayer.getFirstPlayed(); + SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm"); + String disDate = format.format(new Date(firstJoin)); + if (disDate.equals("1969-12-31 19:00")) + { + getLogger().message(sender, true, "&3" + oPlayer.getName() + "&c has never joined."); + } + else + { + getLogger().message(sender, "&3" + oPlayer.getName() + " &efirst joined&a " + disDate + "&e."); + } + } + + @Command(hook = "firstseen") + public void firstseen(CommandSender sender) + { + firstseen(sender, sender.getName()); + } + + @Command(hook = "playtimeDef") + public boolean playtime(CommandSender sender) + { + return playtime(sender, sender.getName()); + } + + @Command(hook = "playtime") + public boolean playtime(CommandSender sender, String name) + { + if (name == null) + name = sender.getName(); + Player player = Bukkit.getPlayer(name); + if (player == null) + { + getLogger().message(sender, true, + "That player couldn't be found! Hint: Currently, you can only check statistics of players that are online!"); + return true; + } + int ticks_lived = player.getStatistic(Statistic.PLAY_ONE_TICK); + int days = ticks_lived / 1728000; + int hours = (ticks_lived % 1728000) / 72000; + int minutes = (ticks_lived % 72000) / 1200; + getLogger().message(sender, + "The player &e" + name + " &7has been online for " + + (days == 0 && hours == 0 && minutes == 0 ? "less than a minute." + : ("a total of: &e" + (days != 0 ? (days + "d ") : "") + + ((hours != 0 || days != 0) ? (hours + "h ") : "") + + ((minutes != 0 || hours != 0 || days != 0) ? (minutes + "m") : "")))); + return true; + } } From 753951d03a8f32439514e88bf038d2831c6a4e47 Mon Sep 17 00:00:00 2001 From: Minenash Date: Sat, 20 Jan 2018 15:08:19 -0500 Subject: [PATCH 2/2] Changed Wording --- src/com/redstoner/modules/seen/Seen.java | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/src/com/redstoner/modules/seen/Seen.java b/src/com/redstoner/modules/seen/Seen.java index 665a737..3a82dda 100644 --- a/src/com/redstoner/modules/seen/Seen.java +++ b/src/com/redstoner/modules/seen/Seen.java @@ -68,7 +68,7 @@ public class Seen implements Module, Listener } if (p == null || (!p.isOnline() && !p.hasPlayedBefore())) { - getLogger().message(sender, true, "That player has never joined the server!"); + getLogger().message(sender, true, "§e" + player + "§7 has never joined the server!"); return true; } boolean cansee = (sender instanceof Player ? p instanceof Player && ((Player) sender).canSee((Player) p) @@ -87,19 +87,19 @@ public class Seen implements Module, Listener timestamp = (long) DataManager.getOrDefault(p.getUniqueId().toString(), "lastquit", p.getLastPlayed()); } String time = DateUtil.formatDateDiff(timestamp); - message.add("The player &e" + p.getName() + " &7has been " + state + " &7since &e" + time + "&7."); + message.add("&e" + p.getName() + " &7has been " + state + " &7for &e" + time + "&7."); JSONArray _names; if (online) { if (DataManager.getState((Player) p, "afk")) { - message.add("This player is currently &eAFK&7:"); + message.add("They're currently &eAFK&7:"); String reason = (String) DataManager.getOrDefault(p.getUniqueId().toString(), "AFK", "afk_reason", ""); if (reason.length() >= 1) message.add(" &5- " + reason); } if (DataManager.getState((Player) p, "vanished")) - message.add("This player is currently &evanished&7!"); + message.add("They're currently &evanished&7!"); _names = names.get(p.getUniqueId()); } else @@ -107,7 +107,7 @@ public class Seen implements Module, Listener _names = loadNames(p.getUniqueId()); } if (_names != null && _names.size() > 1) - message.add("This player has also been known as: &e" + message.add("They've also been known as: &e" + _names.toJSONString().replaceAll("[\"\\[\\]]", "").replace(",", "&7, &e")); if (sender.hasPermission("utils.seen.ip")) { @@ -119,10 +119,10 @@ public class Seen implements Module, Listener else _ips = loadIPs(p.getUniqueId()); if (_ips != null && _ips.size() > 0) - message.add("This player has joined with the following IPs: &e" + message.add("They have joined with the following IPs: &e" + _ips.toJSONString().replaceAll("[\"\\[\\]]", "").replace(",", "&7, &e")); } - message.add("This players current IP is: &a" + message.add("Their current IP is: &a" + DataManager.getOrDefault(p.getUniqueId().toString(), "ip", "unknown")); } getLogger().message(sender, message.toArray(new String[] {})); @@ -215,7 +215,7 @@ public class Seen implements Module, Listener Long firstJoin = oPlayer.getFirstPlayed(); SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm"); String disDate = format.format(new Date(firstJoin)); - if (disDate.equals("1969-12-31 19:00")) + if (disDate.equals("1970-01-01 00:00")) { getLogger().message(sender, true, "&3" + oPlayer.getName() + "&c has never joined."); } @@ -246,9 +246,9 @@ public class Seen implements Module, Listener if (player == null) { getLogger().message(sender, true, - "That player couldn't be found! Hint: Currently, you can only check statistics of players that are online!"); + "§e" + name + "§7 couldn't be found! Hint: Currently, you can only check statistics of players that are online!"); return true; - } + } int ticks_lived = player.getStatistic(Statistic.PLAY_ONE_TICK); int days = ticks_lived / 1728000; int hours = (ticks_lived % 1728000) / 72000;