Added alerts state saving

This commit is contained in:
funkemunky
2021-09-09 14:49:38 -04:00
parent e37b4c3e6f
commit 2bf16ad6b7
3 changed files with 68 additions and 4 deletions
@@ -1,5 +1,6 @@
package dev.brighten.antivpn.api;
import dev.brighten.antivpn.AntiVPN;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
import lombok.Setter;
@@ -8,17 +9,34 @@ import java.net.InetAddress;
import java.util.UUID;
@Getter
@RequiredArgsConstructor
public abstract class APIPlayer {
private final UUID uuid;
private final String name;
private final InetAddress ip;
@Setter
private boolean alertsEnabled;
public APIPlayer(UUID uuid, String name, InetAddress ip) {
this.uuid = uuid;
this.name = name;
this.ip = ip;
AntiVPN.getInstance().getDatabase().alertsState(uuid, enabled -> {
if(enabled) {
alertsEnabled = enabled; //This can be within the if statement. It's not dirty, it lowers field writes.
sendMessage("");
}
});
}
public abstract void sendMessage(String message);
public abstract void kickPlayer(String reason);
public abstract boolean hasPermission(String permission);
public void setAlertsEnabled(boolean alertsEnabled) {
this.alertsEnabled = alertsEnabled;
//Updating into database so its synced across servers and saved on logout.
AntiVPN.getInstance().getDatabase().updateAlertsState(uuid, alertsEnabled);
}
}