From 2bc8c99f5a0155e374d84a6f7e0f68761e99a14a Mon Sep 17 00:00:00 2001 From: Bryson Steck Date: Sun, 4 Jul 2021 00:15:56 -0600 Subject: [PATCH] added howlong command --- .../Resurrection_jar/Resurrection.jar | Bin 1344911 -> 1347919 bytes .../Resurrection/Resurrection.java | 24 ++-- .../Resurrection/commands/CommandAbout.java | 16 ++- .../Resurrection/commands/CommandHowLong.java | 105 ++++++++++++++++++ src/net/brysonsteck/Resurrection/plugin.yml | 4 +- .../Resurrection/startup/CheckForUpdate.java | 4 + 6 files changed, 139 insertions(+), 14 deletions(-) create mode 100644 src/net/brysonsteck/Resurrection/commands/CommandHowLong.java diff --git a/out/artifacts/Resurrection_jar/Resurrection.jar b/out/artifacts/Resurrection_jar/Resurrection.jar index 10875bd3d9b24b42c4439a09c35752bbbf8574c5..e5527d881bb7b6e706fde49018c0747d5246c43b 100644 GIT binary patch delta 37008 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 CsK4F- delta 33992 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 L_0{UTW~l!GlBgt? diff --git a/src/net/brysonsteck/Resurrection/Resurrection.java b/src/net/brysonsteck/Resurrection/Resurrection.java index 4692a7f..49a328b 100644 --- a/src/net/brysonsteck/Resurrection/Resurrection.java +++ b/src/net/brysonsteck/Resurrection/Resurrection.java @@ -1,8 +1,8 @@ package net.brysonsteck.Resurrection; import net.brysonsteck.Resurrection.commands.CommandAbout; +import net.brysonsteck.Resurrection.commands.CommandHowLong; import net.brysonsteck.Resurrection.commands.CommandResurrect; -import net.brysonsteck.Resurrection.player.PlayerData; import net.brysonsteck.Resurrection.player.PlayerListener; import net.brysonsteck.Resurrection.startup.CheckForUpdate; import org.bukkit.event.Listener; @@ -11,7 +11,6 @@ import org.bukkit.plugin.java.JavaPlugin; import java.io.File; import java.io.IOException; -import java.util.Hashtable; public class Resurrection extends JavaPlugin implements Listener { @@ -69,14 +68,16 @@ public class Resurrection extends JavaPlugin implements Listener { // check for updates System.out.println("[Resurrection] Checking for updates..."); CheckForUpdate check = new CheckForUpdate(); - String newestVersion = check.getVersion(); - String newestVersionURL = check.getVersionURL(); - if (pluginInfo.getVersion().equals(newestVersion)) { - System.out.println("[Resurrection] " + newestVersion + " is the latest version of Resurrection."); - } else { - System.out.println("[Resurrection] A new version of Resurrection is available! (current: " + pluginInfo.getVersion() + ", newest: " + newestVersion); - System.out.println("[Resurrection] You can download the latest release on GitHub here \\/"); - System.out.println("[Resurrection] " + newestVersionURL); + if (check.isSuccess()) { + String newestVersion = check.getVersion(); + String newestVersionURL = check.getVersionURL(); + if (pluginInfo.getVersion().equals(newestVersion)) { + System.out.println("[Resurrection] " + newestVersion + " is the latest version of Resurrection."); + } else { + System.out.println("[Resurrection] A new version of Resurrection is available! (current: " + pluginInfo.getVersion() + ", newest: " + newestVersion); + System.out.println("[Resurrection] You can download the latest release on GitHub here \\/"); + System.out.println("[Resurrection] " + newestVersionURL); + } } System.out.println("[Resurrection] ---------------------------------------------------------"); @@ -86,8 +87,9 @@ public class Resurrection extends JavaPlugin implements Listener { this.getServer().getPluginManager().registerEvents(new PlayerListener(), this); // register commands - this.getCommand("about").setExecutor(new CommandAbout()); + this.getCommand("about").setExecutor(new CommandAbout(pluginInfo.getVersion())); this.getCommand("resurrect").setExecutor(new CommandResurrect()); + this.getCommand("howlong").setExecutor(new CommandHowLong()); System.out.println("[Resurrection] ---------------------------------------------------------"); System.out.println("[Resurrection] Successfully Started!"); diff --git a/src/net/brysonsteck/Resurrection/commands/CommandAbout.java b/src/net/brysonsteck/Resurrection/commands/CommandAbout.java index ac95f20..40ea0a8 100644 --- a/src/net/brysonsteck/Resurrection/commands/CommandAbout.java +++ b/src/net/brysonsteck/Resurrection/commands/CommandAbout.java @@ -1,14 +1,28 @@ package net.brysonsteck.Resurrection.commands; +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 CommandAbout implements CommandExecutor { + String currentVersion; + boolean checked = false; + + public CommandAbout(String currentVersion) { + this.currentVersion = currentVersion; + } + @Override public boolean onCommand(CommandSender commandSender, Command command, String s, String[] strings) { - String aboutMessage = "This is the about message for Resurrection."; + String aboutMessage = ChatColor.GREEN + "" + ChatColor.BOLD + "Resurrection\n\n" + ChatColor.RESET + + "Resurrection is a Spigot Minecraft plugin that forces players to wait 24 hours before respawning.\n" + + "The current version of this plugin is " + currentVersion + ".\n\n" + + "This plugin is licensed under the GNU Affero General Public License v3.0. Read more here: " + + "For more information on this plugin or to download it for yourself, visit the GitHub repository at https://github.com/brysonsteck/resurrection" + + "\u00a9 2021 Bryson Steck."; + if (commandSender instanceof Player) { Player p = (Player) commandSender; p.sendMessage(aboutMessage); 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; + } +} diff --git a/src/net/brysonsteck/Resurrection/plugin.yml b/src/net/brysonsteck/Resurrection/plugin.yml index 08a62bf..9eca574 100644 --- a/src/net/brysonsteck/Resurrection/plugin.yml +++ b/src/net/brysonsteck/Resurrection/plugin.yml @@ -8,9 +8,9 @@ commands: permission: op usage: /about - timecheck: + howlong: description: Displays the remaining time before the player (or specified player) is resurrected. - usage: /timecheck [PLAYER NAME] + usage: /howlong [PLAYER_NAME] resurrect: description: Manually resurrects a player. diff --git a/src/net/brysonsteck/Resurrection/startup/CheckForUpdate.java b/src/net/brysonsteck/Resurrection/startup/CheckForUpdate.java index 2a46aa5..d926057 100644 --- a/src/net/brysonsteck/Resurrection/startup/CheckForUpdate.java +++ b/src/net/brysonsteck/Resurrection/startup/CheckForUpdate.java @@ -10,6 +10,7 @@ import java.net.URLConnection; public class CheckForUpdate { + boolean success; String version; String versionURL; @@ -23,6 +24,7 @@ public class CheckForUpdate { version = softwareObj.get("current-release").toString(); version = version.replace("\"", ""); versionURL = softwareObj.get("github-release").toString(); + success = true; } catch (IOException e) { System.out.println("[Resurrection] An error has occurred while attempting to check for updates."); e.printStackTrace(); @@ -47,6 +49,8 @@ public class CheckForUpdate { return response.toString(); } + public boolean isSuccess() { return success; } + public String getVersionURL() { return versionURL; }