package me.staartvin.statz.listeners; import me.staartvin.statz.Statz; import me.staartvin.statz.datamanager.player.PlayerStat; import me.staartvin.statz.datamanager.player.specification.PlayerStatSpecification; import me.staartvin.statz.datamanager.player.specification.TeleportsSpecification; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.EventPriority; import org.bukkit.event.Listener; import org.bukkit.event.player.PlayerTeleportEvent; public class TeleportsListener implements Listener { private final Statz plugin; public TeleportsListener(final Statz plugin) { this.plugin = plugin; } @EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true) public void onTeleport(final PlayerTeleportEvent event) { final PlayerStat stat = PlayerStat.TELEPORTS; // Get player final Player player = event.getPlayer(); // Do general check if (!plugin.doGeneralCheck(player, stat)) return; PlayerStatSpecification specification = new TeleportsSpecification(player.getUniqueId(), 1, player.getWorld().getName(), event.getTo().getWorld().getName(), event.getCause().toString()); // Update value to new stat. plugin.getDataManager().setPlayerInfo(player.getUniqueId(), stat, specification.constructQuery()); } }