diff --git a/Assembly/dependency-reduced-pom.xml b/Assembly/dependency-reduced-pom.xml
index 187caa7..9df70cc 100644
--- a/Assembly/dependency-reduced-pom.xml
+++ b/Assembly/dependency-reduced-pom.xml
@@ -3,7 +3,7 @@
AntiVPN
dev.brighten.antivpn
- 1.8.1
+ 1.8.2
4.0.0
Assembly
diff --git a/Assembly/pom.xml b/Assembly/pom.xml
index e385fe3..b0d98ee 100644
--- a/Assembly/pom.xml
+++ b/Assembly/pom.xml
@@ -5,7 +5,7 @@
AntiVPN
dev.brighten.antivpn
- 1.8.1
+ 1.8.2
4.0.0
diff --git a/Bukkit/dependency-reduced-pom.xml b/Bukkit/dependency-reduced-pom.xml
index 9a52dbb..691d87f 100644
--- a/Bukkit/dependency-reduced-pom.xml
+++ b/Bukkit/dependency-reduced-pom.xml
@@ -3,7 +3,7 @@
AntiVPN
dev.brighten.antivpn
- 1.8.1
+ 1.8.2
4.0.0
Bukkit
@@ -56,7 +56,7 @@
dev.brighten.antivpn
Common
- 1.8.1
+ 1.8.2
provided
diff --git a/Bukkit/pom.xml b/Bukkit/pom.xml
index f437378..1a5a348 100644
--- a/Bukkit/pom.xml
+++ b/Bukkit/pom.xml
@@ -5,7 +5,7 @@
AntiVPN
dev.brighten.antivpn
- 1.8.1
+ 1.8.2
4.0.0
@@ -69,7 +69,7 @@
dev.brighten.antivpn
Common
- 1.8.1
+ 1.8.2
provided
diff --git a/Bukkit/src/main/java/dev/brighten/antivpn/bukkit/BukkitPlugin.java b/Bukkit/src/main/java/dev/brighten/antivpn/bukkit/BukkitPlugin.java
index fb80508..8a5c550 100644
--- a/Bukkit/src/main/java/dev/brighten/antivpn/bukkit/BukkitPlugin.java
+++ b/Bukkit/src/main/java/dev/brighten/antivpn/bukkit/BukkitPlugin.java
@@ -77,6 +77,8 @@ public class BukkitPlugin extends JavaPlugin {
(vpnString.getDefaultMessage(), "messages." + vpnString.getKey(), BukkitPlugin.pluginInstance)
.get());
AntiVPN.getInstance().getMessageHandler().reloadStrings();*/
+
+ reloadConfig();
}
@Override
diff --git a/Bukkit/src/main/java/dev/brighten/antivpn/bukkit/command/BukkitCommand.java b/Bukkit/src/main/java/dev/brighten/antivpn/bukkit/command/BukkitCommand.java
index 4eb4764..2e3ecd4 100644
--- a/Bukkit/src/main/java/dev/brighten/antivpn/bukkit/command/BukkitCommand.java
+++ b/Bukkit/src/main/java/dev/brighten/antivpn/bukkit/command/BukkitCommand.java
@@ -1,5 +1,6 @@
package dev.brighten.antivpn.bukkit.command;
+import dev.brighten.antivpn.AntiVPN;
import dev.brighten.antivpn.bukkit.BukkitCommandExecutor;
import dev.brighten.antivpn.command.Command;
import lombok.val;
@@ -41,7 +42,8 @@ public class BukkitCommand extends org.bukkit.command.Command {
public boolean execute(CommandSender sender, String s, String[] args) {
if(!sender.hasPermission("antivpn.command.*")
&& !sender.hasPermission(command.permission())) {
- sender.sendMessage(ChatColor.RED + "No permission.");
+ sender.sendMessage(ChatColor.translateAlternateColorCodes('&',
+ AntiVPN.getInstance().getMessageHandler().getString("no-permission").getMessage()));
return true;
}
@@ -53,7 +55,8 @@ public class BukkitCommand extends org.bukkit.command.Command {
.anyMatch(alias -> alias.equalsIgnoreCase(args[0]))) {
if(!sender.hasPermission("antivpn.command.*")
&& !sender.hasPermission(child.permission())) {
- sender.sendMessage(ChatColor.RED + "No permission.");
+ sender.sendMessage(ChatColor.translateAlternateColorCodes('&',
+ AntiVPN.getInstance().getMessageHandler().getString("no-permission").getMessage()));
return true;
}
diff --git a/Bungee/dependency-reduced-pom.xml b/Bungee/dependency-reduced-pom.xml
index 6e0518b..3da508d 100644
--- a/Bungee/dependency-reduced-pom.xml
+++ b/Bungee/dependency-reduced-pom.xml
@@ -3,7 +3,7 @@
AntiVPN
dev.brighten.antivpn
- 1.8.1
+ 1.8.2
4.0.0
Bungee
@@ -50,7 +50,7 @@
dev.brighten.antivpn
Common
- 1.8.1
+ 1.8.2
provided
diff --git a/Bungee/pom.xml b/Bungee/pom.xml
index d2e1a58..21fb7ed 100644
--- a/Bungee/pom.xml
+++ b/Bungee/pom.xml
@@ -5,7 +5,7 @@
AntiVPN
dev.brighten.antivpn
- 1.8.1
+ 1.8.2
4.0.0
@@ -63,7 +63,7 @@
dev.brighten.antivpn
Common
- 1.8.1
+ 1.8.2
provided
diff --git a/Bungee/src/main/java/dev/brighten/antivpn/bungee/BungeePlugin.java b/Bungee/src/main/java/dev/brighten/antivpn/bungee/BungeePlugin.java
index f772cf5..160aa20 100644
--- a/Bungee/src/main/java/dev/brighten/antivpn/bungee/BungeePlugin.java
+++ b/Bungee/src/main/java/dev/brighten/antivpn/bungee/BungeePlugin.java
@@ -3,6 +3,7 @@ package dev.brighten.antivpn.bungee;
import dev.brighten.antivpn.AntiVPN;
import dev.brighten.antivpn.bungee.command.BungeeCommand;
import dev.brighten.antivpn.command.Command;
+import dev.brighten.antivpn.command.impl.AntiVPNCommand;
import dev.brighten.antivpn.utils.ConfigDefault;
import net.md_5.bungee.BungeeCord;
import net.md_5.bungee.api.plugin.Plugin;
@@ -44,11 +45,6 @@ public class BungeePlugin extends Plugin {
for (Command command : AntiVPN.getInstance().getCommands()) {
BungeeCord.getInstance().getPluginManager().registerCommand(pluginInstance, new BungeeCommand(command));
}
-
- BungeeCord.getInstance().getLogger().info("Getting strings...");
- AntiVPN.getInstance().getMessageHandler().initStrings(vpnString -> new ConfigDefault<>
- (vpnString.getDefaultMessage(), "messages." + vpnString.getKey(), AntiVPN.getInstance())
- .get());
}
@Override
diff --git a/Bungee/src/main/java/dev/brighten/antivpn/bungee/command/BungeeCommand.java b/Bungee/src/main/java/dev/brighten/antivpn/bungee/command/BungeeCommand.java
index 775b6ac..201fa15 100644
--- a/Bungee/src/main/java/dev/brighten/antivpn/bungee/command/BungeeCommand.java
+++ b/Bungee/src/main/java/dev/brighten/antivpn/bungee/command/BungeeCommand.java
@@ -1,5 +1,6 @@
package dev.brighten.antivpn.bungee.command;
+import dev.brighten.antivpn.AntiVPN;
import lombok.val;
import net.md_5.bungee.api.ChatColor;
import net.md_5.bungee.api.CommandSender;
@@ -14,9 +15,6 @@ import java.util.stream.IntStream;
public class BungeeCommand extends Command implements TabExecutor {
- private static final BaseComponent[] noPermission = new ComponentBuilder("No permission").color(ChatColor.RED)
- .create();
-
private final dev.brighten.antivpn.command.Command command;
public BungeeCommand(dev.brighten.antivpn.command.Command command) {
super(command.name(), command.permission(), command.aliases());
@@ -28,7 +26,8 @@ public class BungeeCommand extends Command implements TabExecutor {
public void execute(CommandSender sender, String[] args) {
if(!sender.hasPermission("antivpn.command.*")
&& !sender.hasPermission(command.permission())) {
- sender.sendMessage(noPermission);
+ sender.sendMessage(TextComponent.fromLegacyText(ChatColor.translateAlternateColorCodes('&',
+ AntiVPN.getInstance().getMessageHandler().getString("no-permission").getMessage())));
return;
}
@@ -40,7 +39,8 @@ public class BungeeCommand extends Command implements TabExecutor {
.anyMatch(alias -> alias.equalsIgnoreCase(args[0]))) {
if(!sender.hasPermission("antivpn.command.*")
&& !sender.hasPermission(child.permission())) {
- sender.sendMessage(noPermission);
+ sender.sendMessage(TextComponent.fromLegacyText(ChatColor.translateAlternateColorCodes('&',
+ AntiVPN.getInstance().getMessageHandler().getString("no-permission").getMessage())));
return;
}
diff --git a/Common/pom.xml b/Common/pom.xml
index 6c18a3a..fb51510 100644
--- a/Common/pom.xml
+++ b/Common/pom.xml
@@ -5,7 +5,7 @@
AntiVPN
dev.brighten.antivpn
- 1.8.1
+ 1.8.2
4.0.0
diff --git a/Common/src/main/java/dev/brighten/antivpn/AntiVPN.java b/Common/src/main/java/dev/brighten/antivpn/AntiVPN.java
index 4fa5774..4fca9aa 100644
--- a/Common/src/main/java/dev/brighten/antivpn/AntiVPN.java
+++ b/Common/src/main/java/dev/brighten/antivpn/AntiVPN.java
@@ -115,6 +115,7 @@ public class AntiVPN {
AntiVPN.getInstance().getMessageHandler().initStrings(vpnString -> new ConfigDefault<>
(vpnString.getDefaultMessage(), "messages." + vpnString.getKey(), AntiVPN.getInstance())
.get());
+ AntiVPN.getInstance().getMessageHandler().reloadStrings();
}
public InputStream getResource(String filename) {
@@ -156,6 +157,16 @@ public class AntiVPN {
}
}
+ public void reloadConfig() {
+ try {
+
+ config = ConfigurationProvider.getProvider(YamlConfiguration.class)
+ .load(new File(pluginFolder.getPath() + File.separator + "config.yml"));
+ } catch (IOException e) {
+ throw new RuntimeException(e);
+ }
+ }
+
private void registerCommands() {
commands.add(new AntiVPNCommand());
}
diff --git a/Common/src/main/java/dev/brighten/antivpn/command/impl/AntiVPNCommand.java b/Common/src/main/java/dev/brighten/antivpn/command/impl/AntiVPNCommand.java
index e0d0dc8..48c0fda 100644
--- a/Common/src/main/java/dev/brighten/antivpn/command/impl/AntiVPNCommand.java
+++ b/Common/src/main/java/dev/brighten/antivpn/command/impl/AntiVPNCommand.java
@@ -45,7 +45,7 @@ public class AntiVPNCommand extends Command {
@Override
public Command[] children() {
return new Command[] {new LookupCommand(), new AllowlistCommand(), new AlertsCommand(),
- new ClearCacheCommand(), new PlanCommand()};
+ new ClearCacheCommand(), new PlanCommand(), new ReloadCommand()};
}
@Override
diff --git a/Common/src/main/java/dev/brighten/antivpn/command/impl/ReloadCommand.java b/Common/src/main/java/dev/brighten/antivpn/command/impl/ReloadCommand.java
new file mode 100644
index 0000000..ab5a463
--- /dev/null
+++ b/Common/src/main/java/dev/brighten/antivpn/command/impl/ReloadCommand.java
@@ -0,0 +1,68 @@
+package dev.brighten.antivpn.command.impl;
+
+import dev.brighten.antivpn.AntiVPN;
+import dev.brighten.antivpn.api.VPNExecutor;
+import dev.brighten.antivpn.command.Command;
+import dev.brighten.antivpn.command.CommandExecutor;
+import dev.brighten.antivpn.message.VpnString;
+
+import java.util.Collections;
+import java.util.List;
+
+public class ReloadCommand extends Command {
+ @Override
+ public String permission() {
+ return "antivpn.command.reload";
+ }
+
+ @Override
+ public String name() {
+ return "reload";
+ }
+
+ @Override
+ public String[] aliases() {
+ return new String[0];
+ }
+
+ @Override
+ public String description() {
+ return "Reload the plugin";
+ }
+
+ @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) {
+ // Loading changes from the config.yml
+ AntiVPN.getInstance().reloadConfig();
+
+ // Updating the cache of these values in VPNConfig
+ AntiVPN.getInstance().getVpnConfig().update();
+
+ AntiVPN.getInstance().getMessageHandler().reloadStrings();
+
+ // Clearing the local response cache
+ VPNExecutor.responseCache.clear();
+
+ return AntiVPN.getInstance().getMessageHandler().getString("command-reload-complete").getMessage();
+ }
+
+ @Override
+ public List tabComplete(CommandExecutor executor, String alias, String[] args) {
+ return Collections.emptyList();
+ }
+}
diff --git a/Common/src/main/java/dev/brighten/antivpn/message/MessageHandler.java b/Common/src/main/java/dev/brighten/antivpn/message/MessageHandler.java
index a7821fd..b3e2a87 100644
--- a/Common/src/main/java/dev/brighten/antivpn/message/MessageHandler.java
+++ b/Common/src/main/java/dev/brighten/antivpn/message/MessageHandler.java
@@ -1,5 +1,7 @@
package dev.brighten.antivpn.message;
+import dev.brighten.antivpn.AntiVPN;
+
import java.util.HashMap;
import java.util.Map;
import java.util.function.Function;
@@ -27,6 +29,8 @@ public class MessageHandler {
public void addString(VpnString string, Function getter) {
string.setConfigStringGetter(getter);
+ getter.apply(string);
+ System.out.println("Added string " + string.getKey());
messages.put(string.getKey(), string);
}
@@ -35,5 +39,8 @@ public class MessageHandler {
"&cYou must be a player to execute this command!"), getter);
addString(new VpnString("command-alerts-toggled",
"&7Your player proxy notifications have been set to: &e%state%"), getter);
+ addString(new VpnString("command-reload-complete",
+ "&aSuccessfully reloaded KauriVPN plugin!"), getter);
+ addString(new VpnString("no-permission", "&cNo permission."), getter);
}
}
diff --git a/Common/src/main/java/dev/brighten/antivpn/message/VpnString.java b/Common/src/main/java/dev/brighten/antivpn/message/VpnString.java
index e6a7e64..fa6e118 100644
--- a/Common/src/main/java/dev/brighten/antivpn/message/VpnString.java
+++ b/Common/src/main/java/dev/brighten/antivpn/message/VpnString.java
@@ -19,7 +19,6 @@ public class VpnString {
public VpnString(String key, String defaultMessage) {
this.key = key;
this.defaultMessage = defaultMessage;
- this.message = defaultMessage;
}
@SneakyThrows
@@ -30,7 +29,7 @@ public class VpnString {
}
public String getFormattedMessage(Var... replacements) {
- String formatted = message;
+ String formatted = configStringGetter.apply(this);
for (Var replacement : replacements) {
formatted = formatted
diff --git a/Common/src/main/resources/config.yml b/Common/src/main/resources/config.yml
index ab4945a..134acb4 100644
--- a/Common/src/main/resources/config.yml
+++ b/Common/src/main/resources/config.yml
@@ -61,8 +61,16 @@ countries:
commands: []
# The kick message that will be used if commands are configured to use the built-in kicking sytem.
# PlaceHolders: %country% (Country name), %player% (Player name), %code% (Country ISO Code)
- vanillaKickReason: "&cSorry, but our server does not allow connections from\n&f%country%"
+ vanillaKickReason: |-
+ &cSorry, but our server does not allow connections from
+ &f%country%
# This will disable any information being sent to https://bstats.org. We recommend you keep this enabled as it helps
# us understand our users and put effort where it is needed. All information sent goes under their privacy as seen
# here: https://bstats.org/privacy-policy
bstats: true
+# Here you can configure messages for KauriVPN.
+messages:
+ command-misc-playerRequired: '&cYou must be a player to execute this command!'
+ command-alerts-toggled: '&7Your player proxy notifications have been set to: &e%state%'
+ command-reload-complete: '&aSuccessfully reloaded KauriVPN plugin!'
+ no-permission: '&cNo permission.'
diff --git a/Velocity/pom.xml b/Velocity/pom.xml
index 7d65776..8ee15a2 100644
--- a/Velocity/pom.xml
+++ b/Velocity/pom.xml
@@ -5,7 +5,7 @@
AntiVPN
dev.brighten.antivpn
- 1.8.1
+ 1.8.2
4.0.0
@@ -33,7 +33,7 @@
dev.brighten.antivpn
Common
- 1.8.1
+ 1.8.2
provided
diff --git a/Velocity/src/main/java/dev/brighten/antivpn/velocity/command/VelocityCommand.java b/Velocity/src/main/java/dev/brighten/antivpn/velocity/command/VelocityCommand.java
index f58a71e..e00a288 100644
--- a/Velocity/src/main/java/dev/brighten/antivpn/velocity/command/VelocityCommand.java
+++ b/Velocity/src/main/java/dev/brighten/antivpn/velocity/command/VelocityCommand.java
@@ -2,6 +2,7 @@ package dev.brighten.antivpn.velocity.command;
import com.velocitypowered.api.command.CommandSource;
import com.velocitypowered.api.command.SimpleCommand;
+import dev.brighten.antivpn.AntiVPN;
import dev.brighten.antivpn.command.Command;
import lombok.val;
import net.kyori.adventure.text.Component;
@@ -26,8 +27,9 @@ public class VelocityCommand implements SimpleCommand {
CommandSource sender = invocation.source();
if(!invocation.source().hasPermission("antivpn.command.*")
&& !invocation.source().hasPermission(command.permission())) {
- invocation.source().sendMessage(Component.text("No permission").toBuilder()
- .color(TextColor.color(255,0,0)).build());
+ invocation.source().sendMessage(LegacyComponentSerializer.builder().character('&')
+ .build().deserialize(AntiVPN.getInstance().getMessageHandler()
+ .getString("no-permission").getMessage()));
return;
}
@@ -40,6 +42,9 @@ public class VelocityCommand implements SimpleCommand {
.anyMatch(alias -> alias.equalsIgnoreCase(args[0]))) {
if(!sender.hasPermission("antivpn.command.*")
&& !sender.hasPermission(child.permission())) {
+ invocation.source().sendMessage(LegacyComponentSerializer.builder().character('&')
+ .build().deserialize(AntiVPN.getInstance().getMessageHandler()
+ .getString("no-permission").getMessage()));
invocation.source().sendMessage(Component.text("No permission")
.toBuilder().color(TextColor.color(255,0,0)).build());
return;
diff --git a/pom.xml b/pom.xml
index e4fdb46..cf6b427 100644
--- a/pom.xml
+++ b/pom.xml
@@ -7,7 +7,7 @@
dev.brighten.antivpn
AntiVPN
pom
- 1.8.1
+ 1.8.2
Common