aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorBryson Steck <steck.bryson@gmail.com>2021-06-16 18:02:05 -0600
committerBryson Steck <steck.bryson@gmail.com>2021-06-16 18:02:05 -0600
commit98478964f2464170b228890602e8c30995013973 (patch)
tree8df6dbf20ceb80c8eb94869b4fe1b2c5d21fc216 /src
parentbf005f030be6658f2d2a7180b5c5ce32af5f68ae (diff)
downloadresurrection-98478964f2464170b228890602e8c30995013973.tar
resurrection-98478964f2464170b228890602e8c30995013973.tar.gz
resurrection-98478964f2464170b228890602e8c30995013973.tar.bz2
resurrect command should remove death
Diffstat (limited to 'src')
-rw-r--r--src/net/brysonsteck/Resurrection/Resurrection.java2
-rw-r--r--src/net/brysonsteck/Resurrection/commands/CommandResurrect.java25
-rw-r--r--src/net/brysonsteck/Resurrection/player/PlayerListener.java21
3 files changed, 41 insertions, 7 deletions
diff --git a/src/net/brysonsteck/Resurrection/Resurrection.java b/src/net/brysonsteck/Resurrection/Resurrection.java
index 68074b8..4692a7f 100644
--- a/src/net/brysonsteck/Resurrection/Resurrection.java
+++ b/src/net/brysonsteck/Resurrection/Resurrection.java
@@ -129,6 +129,8 @@ public class Resurrection extends JavaPlugin implements Listener {
// rawData = String.join(";", rawPlayers);
// playerData.saveData(rawData);
// System.out.println(rawData);
+// String[] array = ";bryzinga,false,0".split(";");
+// System.out.println(array.length);
}
diff --git a/src/net/brysonsteck/Resurrection/commands/CommandResurrect.java b/src/net/brysonsteck/Resurrection/commands/CommandResurrect.java
index 732221a..75c280d 100644
--- a/src/net/brysonsteck/Resurrection/commands/CommandResurrect.java
+++ b/src/net/brysonsteck/Resurrection/commands/CommandResurrect.java
@@ -1,5 +1,6 @@
package net.brysonsteck.Resurrection.commands;
+import net.brysonsteck.Resurrection.player.PlayerData;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.GameMode;
@@ -31,6 +32,7 @@ public class CommandResurrect implements CommandExecutor {
player.playSound(player.getLocation(), Sound.ENTITY_ENDER_DRAGON_GROWL, 1, 0);
}
Bukkit.broadcastMessage(ChatColor.YELLOW +""+ ChatColor.BOLD + strings[0] + " has been resurrected manually by an admin!");
+ removeDeath(resurrectPlayer);
return true;
} else {
p.sendMessage(ChatColor.RED + strings[0] + " is not dead! Failed to resurrect.");
@@ -56,6 +58,7 @@ public class CommandResurrect implements CommandExecutor {
player.playSound(player.getLocation(), Sound.ENTITY_ENDER_DRAGON_GROWL, 1, 0);
}
Bukkit.broadcastMessage(strings[0] + " has been resurrected manually by an admin!");
+ removeDeath(resurrectPlayer);
return true;
} else {
System.out.println(strings[0] + " is not dead! Failed to resurrect.");
@@ -68,4 +71,26 @@ public class CommandResurrect implements CommandExecutor {
}
}
}
+
+ public void removeDeath(Player p) {
+ PlayerData playerData = new PlayerData();
+ playerData.readData();
+ String rawData = playerData.getRawData();
+ String[] rawPlayers = rawData.split(";");
+ int index = 0;
+ for (String players : rawPlayers) {
+ if (players.startsWith(p.getDisplayName())) {
+ String[] playerSplit = players.split(",");
+ playerSplit[1] = "false";
+ playerSplit[2] = "0";
+
+ // save data
+ rawPlayers[index] = String.join(",", playerSplit);
+ rawData = String.join(";", rawPlayers);
+ playerData.saveData(rawData);
+ break;
+ }
+ index++;
+ }
+ }
}
diff --git a/src/net/brysonsteck/Resurrection/player/PlayerListener.java b/src/net/brysonsteck/Resurrection/player/PlayerListener.java
index 026cf03..d4abcaa 100644
--- a/src/net/brysonsteck/Resurrection/player/PlayerListener.java
+++ b/src/net/brysonsteck/Resurrection/player/PlayerListener.java
@@ -37,11 +37,11 @@ public class PlayerListener implements Listener {
boolean dead = Boolean.parseBoolean(playerSplit[1]);
resurrectTime = Long.parseLong(playerSplit[2]);
- if (p.getGameMode() == GameMode.SPECTATOR && !dead) {
+ if (!dead) {
for (PotionEffect effect : p.getActivePotionEffects())
p.removePotionEffect(effect.getType());
p.setGameMode(GameMode.SURVIVAL);
- } else if (p.getGameMode() == GameMode.SPECTATOR && dead) {
+ } else {
resumeDeath = true;
}
@@ -57,14 +57,21 @@ public class PlayerListener implements Listener {
playerData.saveData(rawData + ";" + p.getDisplayName() + ",false,0");
}
if (resumeDeath) {
- PotionEffect blindness = new PotionEffect(PotionEffectType.BLINDNESS, 999999999, 10, false);
- PotionEffect slowness = new PotionEffect(PotionEffectType.SLOW, 999999999, 10, false);
- blindness.apply(p);
- slowness.apply(p);
- // convert to seconds and to ticks
+ new BukkitRunnable() {
+ @Override
+ public void run() {
+ p.setGameMode(GameMode.SPECTATOR);
+ PotionEffect blindness = new PotionEffect(PotionEffectType.BLINDNESS, 999999999, 10, false);
+ PotionEffect slowness = new PotionEffect(PotionEffectType.SLOW, 999999999, 10, false);
+ blindness.apply(p);
+ slowness.apply(p);
+ // convert to seconds and to ticks
+ }
+ }.runTaskLater(JavaPlugin.getProvidingPlugin(Resurrection.class), 1);
resurrectTime = resurrectTime - System.currentTimeMillis();
resurrectTime = resurrectTime / 1000;
resurrectTime = resurrectTime * 20;
+
new BukkitRunnable() {
@Override
public void run() {