From 34887d4a226219efd02cddd903e94a5261f05088 Mon Sep 17 00:00:00 2001 From: Alex Date: Fri, 18 Mar 2022 23:23:14 +0100 Subject: [PATCH] added command krakatao for testing --- .../java/net/krakatoaapi/KrakatoaAPI.java | 8 +++++ .../krakatoaapi/command/KrakataoCommand.java | 33 +++++++++++++++++++ src/main/resources/plugin.yml | 4 ++- 3 files changed, 44 insertions(+), 1 deletion(-) create mode 100644 src/main/java/net/krakatoaapi/command/KrakataoCommand.java diff --git a/src/main/java/net/krakatoaapi/KrakatoaAPI.java b/src/main/java/net/krakatoaapi/KrakatoaAPI.java index 2f044c0..a778701 100644 --- a/src/main/java/net/krakatoaapi/KrakatoaAPI.java +++ b/src/main/java/net/krakatoaapi/KrakatoaAPI.java @@ -12,8 +12,10 @@ import earth.krakatao.protocol.KraSocketClientProtocolStatus; import java.io.IOException; import java.net.URISyntaxException; import java.util.List; +import java.util.Objects; import java.util.UUID; import lombok.Getter; +import net.krakatoaapi.command.KrakataoCommand; import net.krakatoaapi.config.ConfigHandler; import net.krakatoaapi.listener.PlayerJoinListener; import net.krakatoaapi.listener.PlayerQuitListener; @@ -76,6 +78,7 @@ public class KrakatoaAPI extends JavaPlugin { this.mongoManager.connect(this.configHandler.getMongodbDatabase()); loadListeners(); + loadCommands(); // call to proxy that the server is only for the auto restart system Bukkit.getScheduler().runTaskLaterAsynchronously(this, () -> { @@ -106,4 +109,9 @@ public class KrakatoaAPI extends JavaPlugin { pluginManager.registerEvents(listener, this); }); } + + public void loadCommands() { + Objects.requireNonNull(getCommand("krakatoa")).setExecutor(new KrakataoCommand()); + } + } diff --git a/src/main/java/net/krakatoaapi/command/KrakataoCommand.java b/src/main/java/net/krakatoaapi/command/KrakataoCommand.java new file mode 100644 index 0000000..518542c --- /dev/null +++ b/src/main/java/net/krakatoaapi/command/KrakataoCommand.java @@ -0,0 +1,33 @@ +package net.krakatoaapi.command; + +import net.krakatoaapi.KrakatoaAPI; +import org.bukkit.command.Command; +import org.bukkit.command.CommandExecutor; +import org.bukkit.command.CommandSender; +import org.bukkit.entity.Player; +import org.jetbrains.annotations.NotNull; + +public class KrakataoCommand implements CommandExecutor { + + @Override + public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, + @NotNull String label, @NotNull String[] args) { + + if (!(sender instanceof Player)) { + return false; + } + + Player player = ((Player) sender).getPlayer(); + + if (player != null) { + player.sendMessage("§a" + + KrakatoaAPI.getInstance().getKraSocketClientProtocol().getSendQueueMessages().size() + + " §7messages in §asend queue"); + player.sendMessage("§a" + + KrakatoaAPI.getInstance().getKraSocketClientProtocol().getReceivedQueueMessages().size() + + " §7messages in §areceived queue"); + } + + return true; + } +} diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml index ea94025..1131dfa 100644 --- a/src/main/resources/plugin.yml +++ b/src/main/resources/plugin.yml @@ -2,4 +2,6 @@ name: KrakatoaAPI version: 1.0 author: AlexanderRoese main: net.krakatoaapi.KrakatoaAPI -api-version: '1.17' \ No newline at end of file +api-version: '1.17' +commands: + krakatoa: \ No newline at end of file