# Bansystem API ## Benutzung ## Vorraussetzungen - Eine Datenbank inkl. Ban Table(Struktur siehe Code) - Einen MariaDB Server MySQL ansich wird NICHT unterstützt. ### initialisierung des Basis API Codes ```java public void onEnable(){ Bansystem bansystem = new Bansystem(); bansystem.enableAPI("Benutzer","Passwort","Host","Datenbank"); ban = bansystem.getBan(); } ``` ### Spieler Bannen ```java public class BanPlayer{ Ban ban; public BanPlayer(Ban ban) { this.ban = ban; } public void test(String UUID,String Reason, String Punisher, Long Time){ ban.addPunishment(UUID(String),Reason(String) ,Punisher(String) ,Time(Long)); } } ``` ### der Spieler sollte aktuell optional vom server gekickt werden (bald wird über Netty ein Packet an den Discord Bot server gesendet welches dem ProxySystem sagt das es den Spieler kicken soll) ### Spieler entbannen ```java public class BanPlayer{ //Initialize Class Ban ban; public BanPlayer(Ban ban) { this.ban = ban; } public void test(String UUID){ // deletes the Punishment(s) from the following UUID ban.deletePunishment(args[0]); } } ``` ### Spieler auf Banzeit checken ```java public class PlayerJoin { Ban ban; public PlayerJoin(Ban ban) { this.ban = ban; } @EventHandler public void onPostLogin(PostLoginEvent event) { System.out.println("neuer Join erkannt"); UUID player = event.getPlayer().getUniqueId(); ProxiedPlayer proxiedPlayer = event.getPlayer(); System.out.println("Joinevent | Neuer Datenabruf"); //Spieler mittels Banzeit joinen lassen oder nicht, die != 0 muss so sein weil sonst ne OutOfBounds kommen wird if (ban.getBanTime(player.toString()) != 0) { if (ban.getBanTime(player.toString()) >= System.currentTimeMillis()) { proxiedPlayer.disconnect("du wurdest gebannt grund siehste im discord"); } } else { System.out.println("Spieler nit gebannt"); } } } ```