summaryrefslogtreecommitdiffstats
path: root/Essentials/src/net/ess3/metrics/MetricsListener.java
blob: b83406e35291686360bed3ca73b19e9017369207 (plain)
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
package net.ess3.metrics;

import java.util.logging.Level;
import static net.ess3.I18n._;
import net.ess3.api.IEssentials;
import net.ess3.api.ISettings;
import net.ess3.api.IUser;
import net.ess3.permissions.Permissions;
import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerJoinEvent;


public class MetricsListener implements Listener
{
	private final IEssentials ess;
	private final MetricsStarter starter;

	public MetricsListener(final IEssentials parent, final MetricsStarter starter)
	{
		this.ess = parent;
		this.starter = starter;
	}

	@EventHandler(priority = EventPriority.MONITOR)
	public void onPlayerJoin(final PlayerJoinEvent event)
	{
		final IUser player = ess.getUserMap().getUser(event.getPlayer());

		ISettings settings = ess.getSettings();
		if (settings.getData().getGeneral().getMetricsEnabled() == null && (Permissions.ESSENTIALS.isAuthorized(
																			event.getPlayer()) || event.getPlayer().hasPermission("bukkit.broadcast.admin")))
		{
			player.sendMessage(_("metrics1"));
			player.sendMessage(_("metrics2"));
			ess.getLogger().log(Level.INFO, _("metrics3"));
			settings.getData().getGeneral().setMetricsEnabled(true);
			settings.queueSave();
			ess.getPlugin().scheduleAsyncDelayedTask(starter, 5 * 1200);
		}
	}
}