diff options
15 files changed, 114 insertions, 32 deletions
@@ -1,9 +1,11 @@ # TODO List +### Done! +* get the player death event working + ### For first release * figure out how to get the player.data file to add a user when one joins the server for the first time -* get the player death event working * figure out how to convert milliseconds to an actual date and time for the end user * figure out commands and how to use them * `about` diff --git a/out/production/Resurrection/net/brysonsteck/CheckForUpdate.class b/out/production/Resurrection/net/brysonsteck/CheckForUpdate.class Binary files differnew file mode 100644 index 0000000..721add5 --- /dev/null +++ b/out/production/Resurrection/net/brysonsteck/CheckForUpdate.class diff --git a/out/production/Resurrection/net/brysonsteck/PlayerListener.class b/out/production/Resurrection/net/brysonsteck/PlayerListener.class Binary files differdeleted file mode 100644 index fee49cd..0000000 --- a/out/production/Resurrection/net/brysonsteck/PlayerListener.class +++ /dev/null diff --git a/out/production/Resurrection/net/brysonsteck/Resurrection.class b/out/production/Resurrection/net/brysonsteck/Resurrection.class Binary files differdeleted file mode 100644 index aa75e79..0000000 --- a/out/production/Resurrection/net/brysonsteck/Resurrection.class +++ /dev/null diff --git a/out/production/Resurrection/net/brysonsteck/TImeCheck.class b/out/production/Resurrection/net/brysonsteck/TImeCheck.class Binary files differnew file mode 100644 index 0000000..242f107 --- /dev/null +++ b/out/production/Resurrection/net/brysonsteck/TImeCheck.class diff --git a/out/production/Resurrection/net/brysonsteck/plugin.yml b/out/production/Resurrection/net/brysonsteck/plugin.yml index 36632da..8ca3216 100644 --- a/out/production/Resurrection/net/brysonsteck/plugin.yml +++ b/out/production/Resurrection/net/brysonsteck/plugin.yml @@ -1,3 +1,9 @@ main: net.brysonsteck.Resurrection name: Resurrection -version: alpha 0.0.1
\ No newline at end of file +author: 'Bryson Steck' +version: '0.0.1 alpha' +commands: + about: + description: Displays information about Resurrection. + permission: op + usage: /about
\ No newline at end of file diff --git a/src/net/brysonsteck/PlayerListener.java b/src/net/brysonsteck/PlayerListener.java deleted file mode 100644 index a586d31..0000000 --- a/src/net/brysonsteck/PlayerListener.java +++ /dev/null @@ -1,19 +0,0 @@ -package net.brysonsteck; - -import org.bukkit.entity.Player; -import org.bukkit.event.EventHandler; -import org.bukkit.event.Listener; -import org.bukkit.event.entity.PlayerDeathEvent; -import org.bukkit.plugin.java.JavaPlugin; - -public class PlayerListener implements Listener { - @EventHandler - public void onDeath(PlayerDeathEvent e) { - System.out.println("Resurrection: A player has died!"); - Player p = e.getEntity(); - Long timeOfDeath = System.currentTimeMillis(); - Long resurrectionTime = timeOfDeath + 86400000; - - p.sendMessage("You have died at " + timeOfDeath + ". You will respawn at " + resurrectionTime); - } -} diff --git a/src/net/brysonsteck/Resurrection/CheckForUpdate.java b/src/net/brysonsteck/Resurrection/CheckForUpdate.java new file mode 100644 index 0000000..68cab70 --- /dev/null +++ b/src/net/brysonsteck/Resurrection/CheckForUpdate.java @@ -0,0 +1,4 @@ +package net.brysonsteck.Resurrection; + +public class CheckForUpdate { +} diff --git a/src/net/brysonsteck/PlayerData.java b/src/net/brysonsteck/Resurrection/PlayerData.java index 556c147..f63a359 100644 --- a/src/net/brysonsteck/PlayerData.java +++ b/src/net/brysonsteck/Resurrection/PlayerData.java @@ -1,4 +1,4 @@ -package net.brysonsteck; +package net.brysonsteck.Resurrection; import java.io.*; import java.util.Arrays; diff --git a/src/net/brysonsteck/Resurrection/PlayerListener.java b/src/net/brysonsteck/Resurrection/PlayerListener.java new file mode 100644 index 0000000..a12ec52 --- /dev/null +++ b/src/net/brysonsteck/Resurrection/PlayerListener.java @@ -0,0 +1,37 @@ +package net.brysonsteck.Resurrection; + +import org.bukkit.GameMode; +import org.bukkit.entity.Player; +import org.bukkit.event.EventHandler; +import org.bukkit.event.Listener; +import org.bukkit.event.entity.PlayerDeathEvent; +import org.bukkit.potion.PotionEffect; +import org.bukkit.potion.PotionEffectType; + +public class PlayerListener implements Listener { + + @EventHandler + public void onJoin() { + + } + + @EventHandler + public void onDeath(PlayerDeathEvent e) { + System.out.println("Resurrection: A player has died!"); + Player p = e.getEntity(); + p.setGameMode(GameMode.SPECTATOR); + p.addPotionEffect(new PotionEffect(PotionEffectType.SLOW,1000000000, 500)); + p.addPotionEffect(new PotionEffect(PotionEffectType.BLINDNESS, 1000000000, 500)); + Long timeOfDeath = System.currentTimeMillis(); + Long resurrectionTime = timeOfDeath + 86400000; + + TimeCheck death = new TimeCheck(timeOfDeath); + TimeCheck resurrect = new TimeCheck(timeOfDeath + 86400000); + + String deathFormatted = death.formatTime(); + String resurrectFormatted = resurrect.formatTime(); + + + p.sendMessage("You have died! You will be able to respawn in 24 hours."); + } +} diff --git a/src/net/brysonsteck/Resurrection.java b/src/net/brysonsteck/Resurrection/Resurrection.java index d0925cd..2547e6c 100644 --- a/src/net/brysonsteck/Resurrection.java +++ b/src/net/brysonsteck/Resurrection/Resurrection.java @@ -1,14 +1,11 @@ -package net.brysonsteck; +package net.brysonsteck.Resurrection; -import org.bukkit.event.player.PlayerRespawnEvent; +import net.brysonsteck.Resurrection.commands.CommandAbout; import org.bukkit.plugin.Plugin; import org.bukkit.plugin.java.JavaPlugin; -import java.io.*; -import java.nio.Buffer; - public class Resurrection extends JavaPlugin { -// public Plugin plugin = getPlugin(Resurrection.class); + public Plugin plugin = getPlugin(Resurrection.class); //spigot things @Override @@ -19,9 +16,14 @@ public class Resurrection extends JavaPlugin { @Override public void onEnable() { super.onEnable(); + + // register listener this.getServer().getPluginManager().registerEvents(new PlayerListener(), this); + + // register commands + this.getCommand("about").setExecutor(new CommandAbout()); + System.out.println("Resurrection: I'm alive!"); - PlayerListener playerListener = new PlayerListener(); } // end of spigot things diff --git a/src/net/brysonsteck/Resurrection/TImeCheck.java b/src/net/brysonsteck/Resurrection/TImeCheck.java new file mode 100644 index 0000000..a7ea06c --- /dev/null +++ b/src/net/brysonsteck/Resurrection/TImeCheck.java @@ -0,0 +1,20 @@ +package net.brysonsteck.Resurrection; + +import java.util.concurrent.TimeUnit; + +class TimeCheck { + long millis; + + public TimeCheck(long millis) { + this.millis = millis; + } + + public String formatTime() { + String formattedTime = String.format("%d hrs, %d min, %d sec", + TimeUnit.MILLISECONDS.toHours(millis), + TimeUnit.MILLISECONDS.toMinutes(millis), + TimeUnit.MILLISECONDS.toSeconds(millis) - + TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS.toMinutes(millis))); + return formattedTime; + } +} diff --git a/src/net/brysonsteck/Resurrection/commands/CommandAbout.java b/src/net/brysonsteck/Resurrection/commands/CommandAbout.java new file mode 100644 index 0000000..ac95f20 --- /dev/null +++ b/src/net/brysonsteck/Resurrection/commands/CommandAbout.java @@ -0,0 +1,20 @@ +package net.brysonsteck.Resurrection.commands; + +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 { + @Override + public boolean onCommand(CommandSender commandSender, Command command, String s, String[] strings) { + String aboutMessage = "This is the about message for Resurrection."; + if (commandSender instanceof Player) { + Player p = (Player) commandSender; + p.sendMessage(aboutMessage); + } else { + System.out.println(aboutMessage); + } + return true; + } +} diff --git a/src/net/brysonsteck/Resurrection/plugin.yml b/src/net/brysonsteck/Resurrection/plugin.yml new file mode 100644 index 0000000..a253795 --- /dev/null +++ b/src/net/brysonsteck/Resurrection/plugin.yml @@ -0,0 +1,13 @@ +main: net.brysonsteck.Resurrection.Resurrection +name: Resurrection +author: 'Bryson Steck' +version: '0.0.1 alpha' +commands: + about: + description: Displays information about Resurrection. + permission: op + usage: /about + + timecheck: + description: Displays the remaining time before the player (or specified player) is resurrected. + usage: /timecheck [PLAYER NAME]
\ No newline at end of file diff --git a/src/net/brysonsteck/plugin.yml b/src/net/brysonsteck/plugin.yml deleted file mode 100644 index 36632da..0000000 --- a/src/net/brysonsteck/plugin.yml +++ /dev/null @@ -1,3 +0,0 @@ -main: net.brysonsteck.Resurrection -name: Resurrection -version: alpha 0.0.1
\ No newline at end of file |