31 lines
990 B
Java
31 lines
990 B
Java
package fi.flexplex.connect;
|
|
|
|
import com.destroystokyo.paper.profile.ProfileProperty;
|
|
|
|
import org.bukkit.event.EventHandler;
|
|
import org.bukkit.event.Listener;
|
|
import org.bukkit.event.player.AsyncPlayerPreLoginEvent;
|
|
|
|
public final class FlexConnectListener implements Listener {
|
|
|
|
private final FlexConnect flexConnect;
|
|
|
|
public FlexConnectListener(final FlexConnect flexConnect) {
|
|
this.flexConnect = flexConnect;
|
|
}
|
|
|
|
@EventHandler
|
|
public void onAsyncPlayerPreLogin(final AsyncPlayerPreLoginEvent event) {
|
|
// Authenticate players
|
|
for (final ProfileProperty property : event.getPlayerProfile().getProperties()) {
|
|
if (property.getName().equals("flexplex-token") && property.getValue().equals(flexConnect.getToken())) {
|
|
// Authentication success
|
|
return;
|
|
}
|
|
}
|
|
// Authentication failed
|
|
event.disallow(AsyncPlayerPreLoginEvent.Result.KICK_OTHER, "Access denied");
|
|
}
|
|
|
|
}
|