package tv.mineinthebox.essentials.events.ban;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerJoinEvent;
import org.bukkit.scheduler.BukkitRunnable;
import org.bukkit.scheduler.BukkitTask;
import tv.mineinthebox.essentials.xEssentials;
import tv.mineinthebox.essentials.interfaces.XPlayer;
public class PwnAgeProtectionEvent implements Listener {
private final xEssentials pl;
public PwnAgeProtectionEvent(xEssentials pl) {
this.pl = pl;
}
@EventHandler
public void playerJoinCheckSpamBot(PlayerJoinEvent e) {
Player p = e.getPlayer();
final XPlayer xp = pl.getManagers().getPlayerManager().getPlayer(p.getName());
if((System.currentTimeMillis()-xp.getLastLoginTime()) < 200) {
if(xp.hasPwnageLevel()) {
if(xp.getPwnageLevel() > 2) {
xp.setPermBanned(pl.getConfiguration().getBanConfig().getPwnAgeSpamBanMessage(), p.getName());
} else {
xp.setPwnageLevel(xp.getPwnageLevel()+1);
BukkitTask task = new BukkitRunnable() {
@Override
public void run() {
if(xp.getPwnageLevel() == 0) {
cancel();
} else {
xp.setPwnageLevel(xp.getPwnageLevel()-1);
}
}
}.runTaskTimer(pl, 100L, 3);
xp.setPwnageScheduler(task);
}
} else {
xp.setPwnageLevel(1);
BukkitTask task = new BukkitRunnable() {
@Override
public void run() {
if(xp.getPwnageLevel() == 0) {
cancel();
} else {
xp.setPwnageLevel(xp.getPwnageLevel()-1);
}
}
}.runTaskTimer(pl, 100L, 3);
xp.setPwnageScheduler(task);
}
}
}
}