-
Notifications
You must be signed in to change notification settings - Fork 1
/
JoinLeaveListener.java
46 lines (41 loc) · 1.09 KB
/
JoinLeaveListener.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
package edu.whimc.positiontracker;
import org.bukkit.Bukkit;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerJoinEvent;
import org.bukkit.event.player.PlayerQuitEvent;
/**
* Handles toggling of data collection based on number of current online players.
*/
public class JoinLeaveListener implements Listener {
/** The instance of the plugin. */
private Tracker plugin;
/**
* Constructs a JoinLeaveListener.
*
* @param plugin
*/
public JoinLeaveListener(Tracker plugin) {
this.plugin = plugin;
}
/**
* Starts data collection if it's not running already.
*
* @param event the event called when a player joins the server.
*/
@EventHandler
public void onJoin(PlayerJoinEvent event) {
if (plugin.isRunning()) return;
plugin.startRunner();
}
/**
* Stops data collection when there are no players online.
*
* @param event the event called when a player joins the server.
*/
@EventHandler
public void onLeave(PlayerQuitEvent event) {
if (Bukkit.getOnlinePlayers().size() != 0) return;
plugin.stopRunner();
}
}