aboutsummaryrefslogtreecommitdiff
path: root/src/net/brysonsteck/Resurrection/commands/CommandHowLong.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/net/brysonsteck/Resurrection/commands/CommandHowLong.java')
-rw-r--r--src/net/brysonsteck/Resurrection/commands/CommandHowLong.java105
1 files changed, 105 insertions, 0 deletions
diff --git a/src/net/brysonsteck/Resurrection/commands/CommandHowLong.java b/src/net/brysonsteck/Resurrection/commands/CommandHowLong.java
new file mode 100644
index 0000000..72daf30
--- /dev/null
+++ b/src/net/brysonsteck/Resurrection/commands/CommandHowLong.java
@@ -0,0 +1,105 @@
+package net.brysonsteck.Resurrection.commands;
+
+import net.brysonsteck.Resurrection.player.PlayerData;
+import net.brysonsteck.Resurrection.player.TimeCheck;
+import org.bukkit.Bukkit;
+import org.bukkit.ChatColor;
+import org.bukkit.command.Command;
+import org.bukkit.command.CommandExecutor;
+import org.bukkit.command.CommandSender;
+import org.bukkit.entity.Player;
+
+public class CommandHowLong implements CommandExecutor {
+
+ @Override
+ public boolean onCommand(CommandSender commandSender, Command command, String s, String[] strings) {
+ if (commandSender instanceof Player) {
+ boolean self = false;
+ boolean valid = false;
+
+ if (strings.length == 0) {
+ self = true;
+ valid = true;
+ } else if (strings.length == 1) {
+ valid = true;
+ }
+
+ if (valid) {
+ Player p;
+ if (self) {
+ p = (Player) commandSender;
+ } else {
+ p = Bukkit.getPlayer(strings[0]);
+ if (p == null) {
+ commandSender.sendMessage(ChatColor.RED + "ERROR: Player does not exist or is offline!");
+ return false;
+ }
+ }
+ PlayerData playerData = new PlayerData();
+ playerData.readData();
+ String rawData = playerData.getRawData();
+ String[] rawPlayers = rawData.split(";");
+ for (String players : rawPlayers) {
+ if (players.startsWith(p.getDisplayName())) {
+ String[] playerSplit = players.split(",");
+ if (Boolean.parseBoolean(playerSplit[1])) {
+ long currentTime = System.currentTimeMillis();
+ long resurrectionTime = Long.parseLong(playerSplit[2]);
+
+ TimeCheck timeCheck = new TimeCheck(resurrectionTime - currentTime);
+ if (self) {
+ commandSender.sendMessage("You will respawn in " + timeCheck.formatTime());
+ } else {
+ commandSender.sendMessage(p.getDisplayName() + " will respawn in " + timeCheck.formatTime());
+ }
+ return true;
+ }
+ }
+ }
+ commandSender.sendMessage("ERROR: An error has occurred while trying to get time information. This is a bug in the program and not your fault.");
+ return false;
+ }
+ } else {
+ boolean valid = false;
+
+ if (strings.length == 0) {
+ System.out.println("[Resurrection] ERROR: The /howlong command requires the name of a player when ran through the console.");
+ return false;
+ } else if (strings.length == 1) {
+ valid = true;
+ }
+
+ if (valid) {
+
+ Player p = Bukkit.getPlayer(strings[0]);
+ if (p == null) {
+ commandSender.sendMessage(ChatColor.RED + "ERROR: Player does not exist or is offline!");
+ return false;
+ }
+
+ PlayerData playerData = new PlayerData();
+ playerData.readData();
+ String rawData = playerData.getRawData();
+ String[] rawPlayers = rawData.split(";");
+ for (String players : rawPlayers) {
+ if (players.startsWith(p.getDisplayName())) {
+ String[] playerSplit = players.split(",");
+ if (Boolean.parseBoolean(playerSplit[1])) {
+ long currentTime = System.currentTimeMillis();
+ long resurrectionTime = Long.parseLong(playerSplit[2]);
+
+ TimeCheck timeCheck = new TimeCheck(resurrectionTime - currentTime);
+
+ commandSender.sendMessage(p.getDisplayName() + " will respawn in " + timeCheck.formatTime());
+
+ return true;
+ }
+ }
+ }
+ commandSender.sendMessage("ERROR: An error has occurred while trying to get time information. This is a bug in the program and not your fault.");
+ return false;
+ }
+ }
+ return false;
+ }
+}