Using the API - LielAmar/2FA GitHub Wiki

2FA Developer API

Using the Two Factor Authentication API is extremely easy and even new developers can do it!
All you need to do is to call the plugin's events, just as you would call any other Spigot event .


Spigot Examples

PlayerStateChangeEvent (Called whenever a player's authentication state changes)

public class PlayerStateChangeEventExample implements Listener {

    @EventHandler
    public void onStateChange(PlayerStateChangeEvent event) {
        if(event.getAuthState() == AuthHandler.AuthState.PENDING_LOGIN) {
            event.getPlayer().sendMessage(ChatColor.GREEN + "We are waiting for you to authenticate!");
        }
    }
}

PlayerFailedAuthenticationEvent (Called whenever a player fails to authenticate)

public class PlayerFailedAuthenticationEventExample implements Listener {

    @EventHandler
    public void onFail(PlayerFailedAuthenticationEvent event) {
        if(event.getFailedAttempts() >= 3) {
            event.getPlayer().kickPlayer(ChatColor.RED + "You failed the authentication too many times!");
        }
    }
}

Buneecord Examples

PlayerStateChangeEvent (Called whenever a player's authentication state changes)

public class BungeePlayerStateChangeEventExample implements Listener {

    @EventHandler
    public void onStateChange(PlayerStateChangeEvent event) {
        if(event.getAuthState() == AuthHandler.AuthState.AUTHENTICATED) {
            event.getPlayer().connect(ProxyServer.getInstance().getServerInfo("lobby"), ServerConnectEvent.Reason.PLUGIN);
        }
    }
}
⚠️ **GitHub.com Fallback** ⚠️