Merge branch 'master' of https://github.com/RedstonerServer/Modules
This commit is contained in:
@@ -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
|
|
||||||
}
|
|
||||||
@@ -11,3 +11,29 @@ command seen {
|
|||||||
run seen2 player ips;
|
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!;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,12 +1,15 @@
|
|||||||
package com.redstoner.modules.seen;
|
package com.redstoner.modules.seen;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
|
import java.text.SimpleDateFormat;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.Date;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.OfflinePlayer;
|
import org.bukkit.OfflinePlayer;
|
||||||
|
import org.bukkit.Statistic;
|
||||||
import org.bukkit.command.CommandSender;
|
import org.bukkit.command.CommandSender;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
import org.bukkit.event.EventHandler;
|
import org.bukkit.event.EventHandler;
|
||||||
@@ -31,7 +34,7 @@ import com.redstoner.modules.datamanager.DataManager;
|
|||||||
|
|
||||||
@AutoRegisterListener
|
@AutoRegisterListener
|
||||||
@Commands(CommandHolderType.File)
|
@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
|
public class Seen implements Module, Listener
|
||||||
{
|
{
|
||||||
HashMap<UUID, JSONArray> names = new HashMap<>();
|
HashMap<UUID, JSONArray> names = new HashMap<>();
|
||||||
@@ -65,7 +68,7 @@ public class Seen implements Module, Listener
|
|||||||
}
|
}
|
||||||
if (p == null || (!p.isOnline() && !p.hasPlayedBefore()))
|
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;
|
return true;
|
||||||
}
|
}
|
||||||
boolean cansee = (sender instanceof Player ? p instanceof Player && ((Player) sender).canSee((Player) p)
|
boolean cansee = (sender instanceof Player ? p instanceof Player && ((Player) sender).canSee((Player) p)
|
||||||
@@ -84,19 +87,19 @@ public class Seen implements Module, Listener
|
|||||||
timestamp = (long) DataManager.getOrDefault(p.getUniqueId().toString(), "lastquit", p.getLastPlayed());
|
timestamp = (long) DataManager.getOrDefault(p.getUniqueId().toString(), "lastquit", p.getLastPlayed());
|
||||||
}
|
}
|
||||||
String time = DateUtil.formatDateDiff(timestamp);
|
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;
|
JSONArray _names;
|
||||||
if (online)
|
if (online)
|
||||||
{
|
{
|
||||||
if (DataManager.getState((Player) p, "afk"))
|
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", "");
|
String reason = (String) DataManager.getOrDefault(p.getUniqueId().toString(), "AFK", "afk_reason", "");
|
||||||
if (reason.length() >= 1)
|
if (reason.length() >= 1)
|
||||||
message.add(" &5- " + reason);
|
message.add(" &5- " + reason);
|
||||||
}
|
}
|
||||||
if (DataManager.getState((Player) p, "vanished"))
|
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());
|
_names = names.get(p.getUniqueId());
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@@ -104,7 +107,7 @@ public class Seen implements Module, Listener
|
|||||||
_names = loadNames(p.getUniqueId());
|
_names = loadNames(p.getUniqueId());
|
||||||
}
|
}
|
||||||
if (_names != null && _names.size() > 1)
|
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"));
|
+ _names.toJSONString().replaceAll("[\"\\[\\]]", "").replace(",", "&7, &e"));
|
||||||
if (sender.hasPermission("utils.seen.ip"))
|
if (sender.hasPermission("utils.seen.ip"))
|
||||||
{
|
{
|
||||||
@@ -116,10 +119,10 @@ public class Seen implements Module, Listener
|
|||||||
else
|
else
|
||||||
_ips = loadIPs(p.getUniqueId());
|
_ips = loadIPs(p.getUniqueId());
|
||||||
if (_ips != null && _ips.size() > 0)
|
if (_ips != null && _ips.size() > 0)
|
||||||
message.add("This player has joined with the following IPs: &e"
|
message.add("They've joined with the following IPs: &e"
|
||||||
+ _ips.toJSONString().replaceAll("[\"\\[\\]]", "").replace(",", "&7, &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"));
|
+ DataManager.getOrDefault(p.getUniqueId().toString(), "ip", "unknown"));
|
||||||
}
|
}
|
||||||
getLogger().message(sender, message.toArray(new String[] {}));
|
getLogger().message(sender, message.toArray(new String[] {}));
|
||||||
@@ -201,4 +204,61 @@ public class Seen implements Module, Listener
|
|||||||
else
|
else
|
||||||
return (JSONArray) json.get("ips");
|
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("1970-01-01 00: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,
|
||||||
|
"§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;
|
||||||
|
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;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user