mirror of
https://github.com/funkemunky/AntiVPN.git
synced 2026-06-03 02:12:20 +00:00
Adding antivpn alerts command and more to the command API
This commit is contained in:
@@ -2,6 +2,7 @@ package dev.brighten.antivpn.api;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.Setter;
|
||||
|
||||
import java.net.InetAddress;
|
||||
import java.util.UUID;
|
||||
@@ -12,6 +13,8 @@ public abstract class APIPlayer {
|
||||
private final UUID uuid;
|
||||
private final String name;
|
||||
private final InetAddress ip;
|
||||
@Setter
|
||||
private boolean alertsEnabled;
|
||||
|
||||
public abstract void sendMessage(String message);
|
||||
|
||||
|
||||
@@ -10,6 +10,10 @@ public interface VPNConfig {
|
||||
|
||||
String getKickString();
|
||||
|
||||
String alertMessage();
|
||||
|
||||
boolean alertToStaff();
|
||||
|
||||
boolean runCommands();
|
||||
|
||||
List<String> commands();
|
||||
|
||||
@@ -1,8 +1,15 @@
|
||||
package dev.brighten.antivpn.command;
|
||||
|
||||
import dev.brighten.antivpn.api.APIPlayer;
|
||||
import dev.brighten.antivpn.api.PlayerExecutor;
|
||||
|
||||
import java.util.Optional;
|
||||
|
||||
public interface CommandExecutor {
|
||||
|
||||
void sendMessage(String message);
|
||||
boolean hasPermission(String permission);
|
||||
Optional<APIPlayer> getPlayer();
|
||||
boolean isPlayer();
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,67 @@
|
||||
package dev.brighten.antivpn.command.impl;
|
||||
|
||||
import dev.brighten.antivpn.api.APIPlayer;
|
||||
import dev.brighten.antivpn.command.Command;
|
||||
import dev.brighten.antivpn.command.CommandExecutor;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
|
||||
public class AlertsCommand extends Command {
|
||||
@Override
|
||||
public String permission() {
|
||||
return "antivpn.command.alerts";
|
||||
}
|
||||
|
||||
@Override
|
||||
public String name() {
|
||||
return "alerts";
|
||||
}
|
||||
|
||||
@Override
|
||||
public String[] aliases() {
|
||||
return new String[] {"valerts", "vpnalerts"};
|
||||
}
|
||||
|
||||
@Override
|
||||
public String description() {
|
||||
return "toggle VPN use alerts";
|
||||
}
|
||||
|
||||
@Override
|
||||
public String usage() {
|
||||
return "";
|
||||
}
|
||||
|
||||
@Override
|
||||
public String parent() {
|
||||
return "antivpn";
|
||||
}
|
||||
|
||||
@Override
|
||||
public Command[] children() {
|
||||
return new Command[0];
|
||||
}
|
||||
|
||||
@Override
|
||||
public String execute(CommandExecutor executor, String[] args) {
|
||||
Optional<APIPlayer> pgetter = executor.getPlayer();
|
||||
if(!pgetter.isPresent()) return "&cYou must be a player to execute this command!";
|
||||
|
||||
APIPlayer player = pgetter.get();
|
||||
|
||||
if(player.isAlertsEnabled()) {
|
||||
player.setAlertsEnabled(false);
|
||||
return "&7You have set your AntiVPN alerts to: &coff";
|
||||
} else {
|
||||
player.setAlertsEnabled(true);
|
||||
return "&7You have set your AntiVPN alerts to: &aon";
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<String> tabComplete(CommandExecutor executor, String alias, String[] args) {
|
||||
return Collections.emptyList();
|
||||
}
|
||||
}
|
||||
@@ -41,7 +41,7 @@ public class AntiVPNCommand extends Command {
|
||||
|
||||
@Override
|
||||
public Command[] children() {
|
||||
return new Command[] {new LookupCommand(), new AllowlistCommand()};
|
||||
return new Command[] {new LookupCommand(), new AllowlistCommand(), new AlertsCommand()};
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
Reference in New Issue
Block a user