aboutsummaryrefslogtreecommitdiff
path: root/src/net/brysonsteck/Resurrection
diff options
context:
space:
mode:
Diffstat (limited to 'src/net/brysonsteck/Resurrection')
-rw-r--r--src/net/brysonsteck/Resurrection/Resurrection.java5
-rw-r--r--src/net/brysonsteck/Resurrection/commands/CommandResurrect.java64
2 files changed, 68 insertions, 1 deletions
diff --git a/src/net/brysonsteck/Resurrection/Resurrection.java b/src/net/brysonsteck/Resurrection/Resurrection.java
index 0b90c1b..bfd8363 100644
--- a/src/net/brysonsteck/Resurrection/Resurrection.java
+++ b/src/net/brysonsteck/Resurrection/Resurrection.java
@@ -1,6 +1,8 @@
package net.brysonsteck.Resurrection;
import net.brysonsteck.Resurrection.commands.CommandAbout;
+import net.brysonsteck.Resurrection.commands.CommandResurrect;
+import org.bukkit.command.CommandExecutor;
import org.bukkit.plugin.Plugin;
import org.bukkit.plugin.java.JavaPlugin;
@@ -22,8 +24,9 @@ public class Resurrection extends JavaPlugin {
// register commands
this.getCommand("about").setExecutor(new CommandAbout());
+ this.getCommand("resurrect").setExecutor(new CommandResurrect());
- System.out.println("Resurrection: I'm alive!");
+ System.out.println("[Resurrection] I'm alive!");
}
// end of spigot things
diff --git a/src/net/brysonsteck/Resurrection/commands/CommandResurrect.java b/src/net/brysonsteck/Resurrection/commands/CommandResurrect.java
new file mode 100644
index 0000000..eb24e7d
--- /dev/null
+++ b/src/net/brysonsteck/Resurrection/commands/CommandResurrect.java
@@ -0,0 +1,64 @@
+package net.brysonsteck.Resurrection.commands;
+
+import org.bukkit.Bukkit;
+import org.bukkit.ChatColor;
+import org.bukkit.GameMode;
+import org.bukkit.command.Command;
+import org.bukkit.command.CommandExecutor;
+import org.bukkit.command.CommandSender;
+import org.bukkit.entity.Player;
+import org.bukkit.potion.PotionEffect;
+
+public class CommandResurrect implements CommandExecutor {
+ @Override
+ public boolean onCommand(CommandSender commandSender, Command command, String s, String[] strings) {
+ boolean valid = (strings.length != 1);
+
+ if (commandSender instanceof Player) {
+ Player p = (Player) commandSender;
+ if (valid) {
+ Player resurrectPlayer = Bukkit.getPlayer(strings[0]);
+ if (resurrectPlayer == null) {
+ p.sendMessage("That player does not exist! Failed to resurrect.");
+ return false;
+ }
+ if (resurrectPlayer.getGameMode() == GameMode.SPECTATOR) {
+ for (PotionEffect effect : resurrectPlayer.getActivePotionEffects())
+ resurrectPlayer.removePotionEffect(effect.getType());
+ resurrectPlayer.setGameMode(GameMode.SURVIVAL);
+ Bukkit.broadcastMessage(strings[0] + " has been resurrected manually by an admin!");
+ return true;
+ } else {
+ p.sendMessage(strings[0] + " is not dead! Failed to resurrect.");
+ return false;
+ }
+ } else {
+ System.out.println("Too few arguments!");
+ System.out.println("Usage: /resurrect PLAYER");
+ return false;
+ }
+ } else {
+ if (valid) {
+ Player resurrectPlayer = Bukkit.getPlayer(strings[0]);
+ if (resurrectPlayer == null) {
+ System.out.println("That player does not exist! Failed to resurrect.");
+ return false;
+ }
+ if (resurrectPlayer.getGameMode() == GameMode.SPECTATOR) {
+ for (PotionEffect effect : resurrectPlayer.getActivePotionEffects())
+ resurrectPlayer.removePotionEffect(effect.getType());
+ resurrectPlayer.setGameMode(GameMode.SURVIVAL);
+ Bukkit.broadcastMessage(strings[0] + " has been resurrected manually by an admin!");
+ return true;
+ } else {
+ System.out.println(strings[0] + " is not dead! Failed to resurrect.");
+ return false;
+ }
+ } else {
+ System.out.println("Too few arguments!");
+ System.out.println("Usage: /resurrect PLAYER");
+ return false;
+ }
+ }
+ }
+}