mirror of
https://github.com/funkemunky/AntiVPN.git
synced 2026-06-12 06:30:39 +00:00
Implementing prefix exemptions
This commit is contained in:
@@ -3,6 +3,9 @@ package dev.brighten.antivpn.bukkit;
|
||||
import dev.brighten.antivpn.api.VPNConfig;
|
||||
import dev.brighten.antivpn.bukkit.util.ConfigDefault;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class BukkitConfig implements VPNConfig {
|
||||
private final ConfigDefault<String> licenseDefault = new ConfigDefault<>("",
|
||||
"license", BukkitPlugin.pluginInstance), kickStringDefault =
|
||||
@@ -10,8 +13,11 @@ public class BukkitConfig implements VPNConfig {
|
||||
"kickMessage", BukkitPlugin.pluginInstance);
|
||||
private final ConfigDefault<Boolean> cacheResultsDefault = new ConfigDefault<>(true,
|
||||
"cachedResults", BukkitPlugin.pluginInstance);
|
||||
private final ConfigDefault<List<String>> prefixWhitelistsDefault = new ConfigDefault<>(new ArrayList<>(),
|
||||
"prefixWhitelists", BukkitPlugin.pluginInstance);
|
||||
|
||||
private String license, kickMessage;
|
||||
private List<String> prefixWhitelists;
|
||||
private boolean cacheResults;
|
||||
|
||||
@Override
|
||||
@@ -29,9 +35,15 @@ public class BukkitConfig implements VPNConfig {
|
||||
return kickMessage;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<String> getPrefixWhitelists() {
|
||||
return prefixWhitelists;
|
||||
}
|
||||
|
||||
public void update() {
|
||||
license = licenseDefault.get();
|
||||
kickMessage = kickStringDefault.get();
|
||||
cacheResults = cacheResultsDefault.get();
|
||||
prefixWhitelists = prefixWhitelistsDefault.get();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -51,7 +51,10 @@ public class BukkitListener extends VPNExecutor implements Listener {
|
||||
Optional.ofNullable(Bukkit.getPlayer(event.getUniqueId())).ifPresent(player -> {
|
||||
new BukkitRunnable() {
|
||||
public void run() {
|
||||
if(!player.hasPermission("antivpn.bypass"))
|
||||
if(!player.hasPermission("antivpn.bypass") //Has bypass permission
|
||||
//Or has a name that starts with a certain prefix. This is for Bedrock exempting.
|
||||
|| AntiVPN.getInstance().getConfig().getPrefixWhitelists().stream()
|
||||
.anyMatch(prefix -> player.getName().startsWith(prefix)))
|
||||
player.kickPlayer(ChatColor.translateAlternateColorCodes('&',
|
||||
AntiVPN.getInstance().getConfig().getKickString()));
|
||||
System.out.println(player.getPlayer().getName()
|
||||
|
||||
Reference in New Issue
Block a user