Adding antivpn alerts command and more to the command API

This commit is contained in:
Dawson Hessler
2021-08-27 12:45:16 -04:00
parent 9786a93ca8
commit 729381a4e5
10 changed files with 160 additions and 10 deletions
@@ -1,9 +1,15 @@
package dev.brighten.antivpn.bukkit;
import dev.brighten.antivpn.AntiVPN;
import dev.brighten.antivpn.api.APIPlayer;
import dev.brighten.antivpn.api.PlayerExecutor;
import dev.brighten.antivpn.command.CommandExecutor;
import lombok.RequiredArgsConstructor;
import org.bukkit.ChatColor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import java.util.Optional;
@RequiredArgsConstructor
public class BukkitCommandExecutor implements CommandExecutor {
@@ -19,4 +25,16 @@ public class BukkitCommandExecutor implements CommandExecutor {
public boolean hasPermission(String permission) {
return sender.hasPermission(permission);
}
@Override
public Optional<APIPlayer> getPlayer() {
if(!isPlayer()) return Optional.empty();
return AntiVPN.getInstance().getPlayerExecutor().getPlayer(((Player)sender).getUniqueId());
}
@Override
public boolean isPlayer() {
return sender instanceof Player;
}
}
@@ -24,13 +24,18 @@ public class BukkitConfig implements VPNConfig {
"database.password", BukkitPlugin.pluginInstance),
defaultAuthDatabase = new ConfigDefault<>("admin",
"database.auth", BukkitPlugin.pluginInstance),
defaultIp = new ConfigDefault<>("localhost", "database.ip", BukkitPlugin.pluginInstance);
defaultIp = new ConfigDefault<>("localhost", "database.ip", BukkitPlugin.pluginInstance),
defaultAlertMsg = new ConfigDefault<>("&8[&6KauriVPN&8] &e%player% &7has joined on a VPN/proxy" +
" &8(&f%reason%&8) &7in location &8(&f%city%&7, &f%country%&8)", "alerts.message",
BukkitPlugin.pluginInstance);
private final ConfigDefault<Boolean> cacheResultsDefault = new ConfigDefault<>(true,
"cachedResults", BukkitPlugin.pluginInstance),
defaultDatabaseEnabled = new ConfigDefault<>(false, "database.enabled",
BukkitPlugin.pluginInstance), defaultCommandsEnable = new ConfigDefault<>(false,
"commands.enabled", BukkitPlugin.pluginInstance), defaultKickPlayers
= new ConfigDefault<>(true, "kickPlayers", BukkitPlugin.pluginInstance);
= new ConfigDefault<>(true, "kickPlayers", BukkitPlugin.pluginInstance),
defaultAlertToStaff = new ConfigDefault<>(true, "alerts.enabled",
BukkitPlugin.pluginInstance);
private final ConfigDefault<Integer>
defaultPort = new ConfigDefault<>(-1, "database.port", BukkitPlugin.pluginInstance);
private final ConfigDefault<List<String>> prefixWhitelistsDefault = new ConfigDefault<>(new ArrayList<>(),
@@ -38,10 +43,10 @@ public class BukkitConfig implements VPNConfig {
Collections.singletonList("kick %player% VPNs are not allowed on our server!"), "commands.execute",
BukkitPlugin.pluginInstance);
private String license, kickMessage, databaseType, databaseName, username, password, ip;
private String license, kickMessage, databaseType, databaseName, username, password, ip, alertMsg;
private List<String> prefixWhitelists, commands;
private int port;
private boolean cacheResults, databaseEnabled, commandsEnabled, kickPlayers;
private boolean cacheResults, databaseEnabled, commandsEnabled, kickPlayers, alertToStaff;
@Override
public String getLicense() {
@@ -58,6 +63,16 @@ public class BukkitConfig implements VPNConfig {
return kickMessage;
}
@Override
public String alertMessage() {
return alertMsg;
}
@Override
public boolean alertToStaff() {
return alertToStaff;
}
@Override
public boolean runCommands() {
return commandsEnabled;
@@ -140,5 +155,7 @@ public class BukkitConfig implements VPNConfig {
commandsEnabled = defaultCommandsEnable.get();
commands = defaultCommands.get();
kickPlayers = defaultKickPlayers.get();
alertToStaff = defaultAlertToStaff.get();
alertMsg = defaultAlertMsg.get();
}
}
@@ -69,7 +69,7 @@ public class BukkitListener extends VPNExecutor implements Listener {
command.replace("%player%", event.getName())));
}
}
System.out.println(player.getPlayer().getName()
Bukkit.getLogger().info(player.getPlayer().getName()
+ " joined on a VPN/Proxy (" + result.getMethod() + ")");
}
}.runTask(BukkitPlugin.pluginInstance);