mirror of
https://github.com/funkemunky/AntiVPN.git
synced 2026-05-31 09:31:54 +00:00
Finished commands system on Bukkit - tested and working
This commit is contained in:
@@ -3,7 +3,7 @@
|
||||
<parent>
|
||||
<artifactId>AntiVPN</artifactId>
|
||||
<groupId>dev.brighten.antivpn</groupId>
|
||||
<version>1.0.1</version>
|
||||
<version>1.1</version>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<artifactId>Assembly</artifactId>
|
||||
|
||||
+1
-1
@@ -5,7 +5,7 @@
|
||||
<parent>
|
||||
<artifactId>AntiVPN</artifactId>
|
||||
<groupId>dev.brighten.antivpn</groupId>
|
||||
<version>1.0.1</version>
|
||||
<version>1.1</version>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
#Generated by Maven
|
||||
#Thu Jun 17 12:27:13 EDT 2021
|
||||
version=1.1
|
||||
groupId=dev.brighten.antivpn
|
||||
artifactId=Assembly
|
||||
@@ -3,7 +3,7 @@
|
||||
<parent>
|
||||
<artifactId>AntiVPN</artifactId>
|
||||
<groupId>dev.brighten.antivpn</groupId>
|
||||
<version>1.0.1</version>
|
||||
<version>1.1</version>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<artifactId>Bukkit</artifactId>
|
||||
|
||||
+2
-2
@@ -5,7 +5,7 @@
|
||||
<parent>
|
||||
<artifactId>AntiVPN</artifactId>
|
||||
<groupId>dev.brighten.antivpn</groupId>
|
||||
<version>1.0.1</version>
|
||||
<version>1.1</version>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
@@ -47,7 +47,7 @@
|
||||
<dependency>
|
||||
<groupId>dev.brighten.antivpn</groupId>
|
||||
<artifactId>Common</artifactId>
|
||||
<version>1.0.1</version>
|
||||
<version>1.1</version>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
@@ -3,15 +3,18 @@ package dev.brighten.antivpn.bukkit;
|
||||
import dev.brighten.antivpn.AntiVPN;
|
||||
import dev.brighten.antivpn.command.Command;
|
||||
import net.md_5.bungee.api.ChatColor;
|
||||
import net.md_5.bungee.api.chat.ComponentBuilder;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.command.CommandExecutor;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.command.SimpleCommandMap;
|
||||
import org.bukkit.plugin.SimplePluginManager;
|
||||
import org.bukkit.plugin.java.JavaPlugin;
|
||||
|
||||
import java.lang.reflect.Field;
|
||||
import java.util.Arrays;
|
||||
|
||||
public class BukkitPlugin extends JavaPlugin {
|
||||
|
||||
public static BukkitPlugin pluginInstance;
|
||||
private SimpleCommandMap commandMap;
|
||||
|
||||
public void onEnable() {
|
||||
pluginInstance = this;
|
||||
@@ -21,19 +24,34 @@ public class BukkitPlugin extends JavaPlugin {
|
||||
|
||||
AntiVPN.start(new BukkitConfig(), new BukkitListener(), new BukkitPlayerExecutor());
|
||||
|
||||
if (pluginInstance.getServer().getPluginManager() instanceof SimplePluginManager) {
|
||||
SimplePluginManager manager = (SimplePluginManager) pluginInstance.getServer().getPluginManager();
|
||||
try {
|
||||
Field field = SimplePluginManager.class.getDeclaredField("commandMap");
|
||||
field.setAccessible(true);
|
||||
commandMap = (SimpleCommandMap) field.get(manager);
|
||||
} catch (IllegalArgumentException | SecurityException | NoSuchFieldException | IllegalAccessException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
for (Command command : AntiVPN.getInstance().getCommands()) {
|
||||
getCommand(command.parent() + (command.parent().length() > 0 ? " " : "") + command.name())
|
||||
.setExecutor((sender, cmd, key, args) -> {
|
||||
commandMap.register("antivpn", new org.bukkit.command.Command(command.name(),
|
||||
command.description(), command.usage(), Arrays.asList(command.aliases())) {
|
||||
@Override
|
||||
public boolean execute(CommandSender sender, String s, String[] args) {
|
||||
if(!sender.hasPermission("antivpn.command.*")
|
||||
&& !sender.hasPermission(command.permission())) {
|
||||
sender.sendMessage(ChatColor.RED + "No permission.");
|
||||
return true;
|
||||
}
|
||||
|
||||
command.execute(new BukkitCommandExecutor(sender), args);
|
||||
sender.sendMessage(ChatColor.translateAlternateColorCodes('&',
|
||||
command.execute(new BukkitCommandExecutor(sender), args)));
|
||||
|
||||
return true;
|
||||
});
|
||||
return true;
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
name: AntiVPN
|
||||
main: dev.brighten.antivpn.bukkit.BukkitPlugin
|
||||
version: 1.1
|
||||
author: funkemunky
|
||||
api-version: 1.13
|
||||
@@ -3,7 +3,7 @@
|
||||
<parent>
|
||||
<artifactId>AntiVPN</artifactId>
|
||||
<groupId>dev.brighten.antivpn</groupId>
|
||||
<version>1.0.1</version>
|
||||
<version>1.1</version>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<artifactId>Bungee</artifactId>
|
||||
|
||||
+2
-2
@@ -5,7 +5,7 @@
|
||||
<parent>
|
||||
<artifactId>AntiVPN</artifactId>
|
||||
<groupId>dev.brighten.antivpn</groupId>
|
||||
<version>1.0.1</version>
|
||||
<version>1.1</version>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
@@ -41,7 +41,7 @@
|
||||
<dependency>
|
||||
<groupId>dev.brighten.antivpn</groupId>
|
||||
<artifactId>Common</artifactId>
|
||||
<version>1.0.1</version>
|
||||
<version>1.1</version>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
name: AntiVPN
|
||||
main: dev.brighten.antivpn.bungee.BungeePlugin
|
||||
description: A simple and fast antivpn plugin.
|
||||
version: 1.1
|
||||
author: funkemunky
|
||||
+1
-1
@@ -5,7 +5,7 @@
|
||||
<parent>
|
||||
<artifactId>AntiVPN</artifactId>
|
||||
<groupId>dev.brighten.antivpn</groupId>
|
||||
<version>1.0.1</version>
|
||||
<version>1.1</version>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
|
||||
@@ -4,6 +4,8 @@ import dev.brighten.antivpn.api.PlayerExecutor;
|
||||
import dev.brighten.antivpn.api.VPNConfig;
|
||||
import dev.brighten.antivpn.api.VPNExecutor;
|
||||
import dev.brighten.antivpn.command.Command;
|
||||
import dev.brighten.antivpn.command.impl.AntiVPNCommand;
|
||||
import dev.brighten.antivpn.command.impl.LookupCommand;
|
||||
import dev.brighten.antivpn.utils.VPNResponse;
|
||||
import dev.brighten.antivpn.utils.json.JSONException;
|
||||
import dev.brighten.antivpn.utils.json.JSONObject;
|
||||
@@ -39,7 +41,7 @@ public class AntiVPN {
|
||||
INSTANCE.config.update();
|
||||
|
||||
//Registering commands
|
||||
registerCommands();
|
||||
INSTANCE.registerCommands();
|
||||
}
|
||||
|
||||
public void stop() {
|
||||
@@ -61,7 +63,8 @@ public class AntiVPN {
|
||||
return VPNResponse.fromJson(result);
|
||||
}
|
||||
|
||||
private static void registerCommands() {
|
||||
|
||||
private void registerCommands() {
|
||||
commands.add(new AntiVPNCommand());
|
||||
commands.add(new LookupCommand());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,12 +4,6 @@ import dev.brighten.antivpn.AntiVPN;
|
||||
|
||||
public abstract class Command {
|
||||
|
||||
public Command() {
|
||||
for (Command child : children()) {
|
||||
AntiVPN.getInstance().getCommands().add(child);
|
||||
}
|
||||
}
|
||||
|
||||
public abstract String permission();
|
||||
|
||||
public abstract String name();
|
||||
@@ -21,8 +15,6 @@ public abstract class Command {
|
||||
public abstract String usage();
|
||||
|
||||
public abstract String parent();
|
||||
|
||||
public abstract Command[] children();
|
||||
|
||||
public abstract String execute(CommandExecutor executor, String[] args);
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package dev.brighten.antivpn.command.impl;
|
||||
|
||||
import dev.brighten.antivpn.AntiVPN;
|
||||
import dev.brighten.antivpn.command.Command;
|
||||
import dev.brighten.antivpn.command.CommandExecutor;
|
||||
import dev.brighten.antivpn.utils.StringUtil;
|
||||
@@ -38,11 +39,6 @@ public class AntiVPNCommand extends Command {
|
||||
return "";
|
||||
}
|
||||
|
||||
@Override
|
||||
public Command[] children() {
|
||||
return new Command[] {new LookupCommand()};
|
||||
}
|
||||
|
||||
@Override
|
||||
public String execute(CommandExecutor uuid, String[] args) {
|
||||
List<String> messages = new ArrayList<>();
|
||||
@@ -50,8 +46,7 @@ public class AntiVPNCommand extends Command {
|
||||
messages.add(StringUtil.line("&8"));
|
||||
messages.add("&6&lAntiVPN Help Page");
|
||||
messages.add("");
|
||||
messages.add(String.format("&8/&f%s &8- &7&o%s", "antivpn", description()));
|
||||
for (Command child : children()) {
|
||||
for (Command child : AntiVPN.getInstance().getCommands()) {
|
||||
messages.add(String.format("&8/&f%s &8- &7&o%s", "&7antivpn &f" + child.name() + " &7" + child.usage(),
|
||||
description()));
|
||||
}
|
||||
|
||||
@@ -39,11 +39,6 @@ public class LookupCommand extends Command {
|
||||
return "antivpn";
|
||||
}
|
||||
|
||||
@Override
|
||||
public Command[] children() {
|
||||
return new Command[0];
|
||||
}
|
||||
|
||||
@Override
|
||||
public String execute(CommandExecutor executor, String[] args) {
|
||||
if(args.length == 0) {
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
#Generated by Maven
|
||||
#Thu Jun 17 12:27:11 EDT 2021
|
||||
version=1.1
|
||||
groupId=dev.brighten.antivpn
|
||||
artifactId=Common
|
||||
+29
@@ -0,0 +1,29 @@
|
||||
dev/brighten/antivpn/utils/json/CookieList.class
|
||||
dev/brighten/antivpn/api/VPNExecutor.class
|
||||
dev/brighten/antivpn/utils/json/XML.class
|
||||
dev/brighten/antivpn/utils/json/JSONWriter.class
|
||||
dev/brighten/antivpn/utils/json/JSONML.class
|
||||
dev/brighten/antivpn/api/PlayerExecutor.class
|
||||
dev/brighten/antivpn/utils/json/JSONObject$1.class
|
||||
dev/brighten/antivpn/utils/json/JSONException.class
|
||||
dev/brighten/antivpn/command/Command.class
|
||||
dev/brighten/antivpn/utils/json/HTTP.class
|
||||
dev/brighten/antivpn/utils/VPNResponse.class
|
||||
dev/brighten/antivpn/utils/StringUtil.class
|
||||
dev/brighten/antivpn/utils/json/HTTPTokener.class
|
||||
dev/brighten/antivpn/utils/json/JSONArray.class
|
||||
dev/brighten/antivpn/utils/json/XMLTokener.class
|
||||
dev/brighten/antivpn/api/APIPlayer.class
|
||||
dev/brighten/antivpn/command/CommandExecutor.class
|
||||
dev/brighten/antivpn/utils/json/CDL.class
|
||||
dev/brighten/antivpn/api/VPNConfig.class
|
||||
dev/brighten/antivpn/utils/json/JSONStringer.class
|
||||
dev/brighten/antivpn/command/impl/LookupCommand.class
|
||||
dev/brighten/antivpn/utils/json/JsonReader.class
|
||||
dev/brighten/antivpn/utils/json/JSONObject$Null.class
|
||||
dev/brighten/antivpn/AntiVPN.class
|
||||
dev/brighten/antivpn/utils/json/JSONString.class
|
||||
dev/brighten/antivpn/utils/json/JSONObject.class
|
||||
dev/brighten/antivpn/utils/json/JSONTokener.class
|
||||
dev/brighten/antivpn/utils/json/Cookie.class
|
||||
dev/brighten/antivpn/command/impl/AntiVPNCommand.class
|
||||
+27
@@ -0,0 +1,27 @@
|
||||
/Users/dawson/Documents/GitHub/AntiVPN/Common/src/main/java/dev/brighten/antivpn/utils/json/JSONML.java
|
||||
/Users/dawson/Documents/GitHub/AntiVPN/Common/src/main/java/dev/brighten/antivpn/api/APIPlayer.java
|
||||
/Users/dawson/Documents/GitHub/AntiVPN/Common/src/main/java/dev/brighten/antivpn/command/impl/LookupCommand.java
|
||||
/Users/dawson/Documents/GitHub/AntiVPN/Common/src/main/java/dev/brighten/antivpn/command/Command.java
|
||||
/Users/dawson/Documents/GitHub/AntiVPN/Common/src/main/java/dev/brighten/antivpn/utils/json/JsonReader.java
|
||||
/Users/dawson/Documents/GitHub/AntiVPN/Common/src/main/java/dev/brighten/antivpn/utils/json/JSONObject.java
|
||||
/Users/dawson/Documents/GitHub/AntiVPN/Common/src/main/java/dev/brighten/antivpn/AntiVPN.java
|
||||
/Users/dawson/Documents/GitHub/AntiVPN/Common/src/main/java/dev/brighten/antivpn/utils/json/JSONArray.java
|
||||
/Users/dawson/Documents/GitHub/AntiVPN/Common/src/main/java/dev/brighten/antivpn/command/impl/AntiVPNCommand.java
|
||||
/Users/dawson/Documents/GitHub/AntiVPN/Common/src/main/java/dev/brighten/antivpn/utils/json/CDL.java
|
||||
/Users/dawson/Documents/GitHub/AntiVPN/Common/src/main/java/dev/brighten/antivpn/utils/json/JSONStringer.java
|
||||
/Users/dawson/Documents/GitHub/AntiVPN/Common/src/main/java/dev/brighten/antivpn/utils/json/JSONException.java
|
||||
/Users/dawson/Documents/GitHub/AntiVPN/Common/src/main/java/dev/brighten/antivpn/utils/StringUtil.java
|
||||
/Users/dawson/Documents/GitHub/AntiVPN/Common/src/main/java/dev/brighten/antivpn/api/VPNExecutor.java
|
||||
/Users/dawson/Documents/GitHub/AntiVPN/Common/src/main/java/dev/brighten/antivpn/utils/json/HTTPTokener.java
|
||||
/Users/dawson/Documents/GitHub/AntiVPN/Common/src/main/java/dev/brighten/antivpn/utils/json/HTTP.java
|
||||
/Users/dawson/Documents/GitHub/AntiVPN/Common/src/main/java/dev/brighten/antivpn/utils/json/XMLTokener.java
|
||||
/Users/dawson/Documents/GitHub/AntiVPN/Common/src/main/java/dev/brighten/antivpn/command/CommandExecutor.java
|
||||
/Users/dawson/Documents/GitHub/AntiVPN/Common/src/main/java/dev/brighten/antivpn/api/VPNConfig.java
|
||||
/Users/dawson/Documents/GitHub/AntiVPN/Common/src/main/java/dev/brighten/antivpn/utils/json/JSONString.java
|
||||
/Users/dawson/Documents/GitHub/AntiVPN/Common/src/main/java/dev/brighten/antivpn/utils/VPNResponse.java
|
||||
/Users/dawson/Documents/GitHub/AntiVPN/Common/src/main/java/dev/brighten/antivpn/utils/json/JSONWriter.java
|
||||
/Users/dawson/Documents/GitHub/AntiVPN/Common/src/main/java/dev/brighten/antivpn/utils/json/XML.java
|
||||
/Users/dawson/Documents/GitHub/AntiVPN/Common/src/main/java/dev/brighten/antivpn/utils/json/Cookie.java
|
||||
/Users/dawson/Documents/GitHub/AntiVPN/Common/src/main/java/dev/brighten/antivpn/utils/json/JSONTokener.java
|
||||
/Users/dawson/Documents/GitHub/AntiVPN/Common/src/main/java/dev/brighten/antivpn/api/PlayerExecutor.java
|
||||
/Users/dawson/Documents/GitHub/AntiVPN/Common/src/main/java/dev/brighten/antivpn/utils/json/CookieList.java
|
||||
Reference in New Issue
Block a user