MinecraftManagerPlugin/src/main/java/xyz/etztech/minecraftmanager/listeners/SessionListener.java

57 lines
1.9 KiB
Java
Raw Normal View History

2018-09-12 15:55:10 +00:00
package xyz.etztech.minecraftmanager.listeners;
import com.google.gson.JsonArray;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
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.PlayerLoginEvent;
import org.bukkit.event.player.PlayerQuitEvent;
import xyz.etztech.minecraftmanager.MCMAPI;
import xyz.etztech.minecraftmanager.MCMUtil;
import xyz.etztech.minecraftmanager.MinecraftManager;
import xyz.etztech.minecraftmanager.MinecraftManagerThread;
import java.util.HashMap;
import java.util.Map;
public class SessionListener implements Listener {
private MinecraftManager plugin;
public SessionListener(MinecraftManager minecraftManager) {
this.plugin = minecraftManager;
}
@EventHandler
public void onLogin(PlayerLoginEvent event) {
Player player = event.getPlayer();
MCMAPI.postLogin(player.getName(), player.getUniqueId().toString(), event.getAddress().getHostAddress());
MCMUtil.log(MCMUtil.globalLog, player.getName() + " logged in.");
// Check for guests
if (player.hasPermission("minecraftmanager.guest")) {
Map<String, String> filters = new HashMap<>();
filters.put("username__iexact", player.getName());
JsonArray query = MCMAPI.queryModel("application", filters);
if (query.size() == 1) {
JsonElement element = query.get(0).getAsJsonObject().get("accepted");
boolean accepted = !element.isJsonNull() && element.getAsBoolean();
if (accepted) {
MinecraftManagerThread.action(player.getName(), true);
}
}
}
}
@EventHandler
public void onLogout(PlayerQuitEvent event) {
Player player = event.getPlayer();
MCMUtil.log(MCMUtil.globalLog, player.getName() + " logged out.");
}
}