so://phie

poppy

A feature-rich Minecraft plugin which enhances gaming experience
git clone git://soophie.de/poppy

blob: ea9ce5da6f6c8c199ee5255d718447483b6a448b (1469 bytes)[doc][blame][raw]

1package de.typable.minecrafthub.event;

2

3import java.util.Collection;

4

5import org.bukkit.Bukkit;

6import org.bukkit.entity.Player;

7import org.bukkit.event.EventHandler;

8import org.bukkit.event.Listener;

9import org.bukkit.event.player.PlayerJoinEvent;

10import org.bukkit.event.player.PlayerQuitEvent;

11import org.bukkit.plugin.Plugin;

12import org.bukkit.scheduler.BukkitTask;

13

14import de.typable.minecrafthub.constant.DefaultConstants;

15

16

17public class StandbyListener implements Listener, Runnable

18{

19 private Plugin plugin;

20 private BukkitTask task;

21 private boolean enabled;

22 private long delay;

23

24 public StandbyListener(Plugin plugin)

25 {

26 this.plugin = plugin;

27 this.delay = 10 * 60;

28 }

29

30 @EventHandler

31 private void onPlayerJoin(PlayerJoinEvent event)

32 {

33 if(enabled && task != null)

34 {

35 task.cancel();

36 task = null;

37 }

38 }

39

40 @EventHandler

41 private void onPlayerQuit(PlayerQuitEvent event)

42 {

43 if(enabled)

44 {

45 Collection<? extends Player> online = Bukkit.getOnlinePlayers();

46

47 if(online.size() == 1 && online.contains(event.getPlayer()))

48 {

49 task = Bukkit.getScheduler().runTaskLater(plugin, this, delay * DefaultConstants.TICK);

50 }

51 }

52 }

53

54 @Override

55 public void run()

56 {

57 Bukkit.getServer().shutdown();

58 }

59

60 public boolean isEnabled()

61 {

62 return enabled;

63 }

64

65 public void setEnabled(boolean enabled)

66 {

67 this.enabled = enabled;

68 }

69

70 public long getDelay()

71 {

72 return delay;

73 }

74

75 public void setDelay(long delay)

76 {

77 this.delay = delay;

78 }

79}