mirror of
https://github.com/funkemunky/AntiVPN.git
synced 2026-06-09 21:27:40 +00:00
Adding antivpn alerts command and more to the command API
This commit is contained in:
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user