From f6de218cfe113f61ef023afa6052b43697157e7a Mon Sep 17 00:00:00 2001 From: MiniDay <372403923@qq.com> Date: Wed, 31 May 2023 07:39:56 +0800 Subject: [PATCH] =?UTF-8?q?feat(hamster-core-bukkit):=20=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=20runtime=20=E6=8C=87=E4=BB=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../command/core/ParentCoreCommand.java | 1 + .../command/core/sub/RuntimeCommand.java | 50 +++++++++++++++++++ 2 files changed, 51 insertions(+) create mode 100644 hamster-core-bukkit/src/main/java/cn/hamster3/mc/plugin/core/bukkit/command/core/sub/RuntimeCommand.java diff --git a/hamster-core-bukkit/src/main/java/cn/hamster3/mc/plugin/core/bukkit/command/core/ParentCoreCommand.java b/hamster-core-bukkit/src/main/java/cn/hamster3/mc/plugin/core/bukkit/command/core/ParentCoreCommand.java index d62e03c..5dc7483 100644 --- a/hamster-core-bukkit/src/main/java/cn/hamster3/mc/plugin/core/bukkit/command/core/ParentCoreCommand.java +++ b/hamster-core-bukkit/src/main/java/cn/hamster3/mc/plugin/core/bukkit/command/core/ParentCoreCommand.java @@ -16,6 +16,7 @@ public class ParentCoreCommand extends ParentCommand { addChildCommand(YamlCommand.INSTANCE); addChildCommand(InfoModeCommand.INSTANCE); addChildCommand(ReloadCommand.INSTANCE); + addChildCommand(RuntimeCommand.INSTANCE); } @Override diff --git a/hamster-core-bukkit/src/main/java/cn/hamster3/mc/plugin/core/bukkit/command/core/sub/RuntimeCommand.java b/hamster-core-bukkit/src/main/java/cn/hamster3/mc/plugin/core/bukkit/command/core/sub/RuntimeCommand.java new file mode 100644 index 0000000..f509998 --- /dev/null +++ b/hamster-core-bukkit/src/main/java/cn/hamster3/mc/plugin/core/bukkit/command/core/sub/RuntimeCommand.java @@ -0,0 +1,50 @@ +package cn.hamster3.mc.plugin.core.bukkit.command.core.sub; + +import cn.hamster3.mc.plugin.core.bukkit.command.ChildCommand; +import org.bukkit.command.Command; +import org.bukkit.command.CommandSender; +import org.jetbrains.annotations.NotNull; + +import java.util.Collections; +import java.util.List; + +public class RuntimeCommand extends ChildCommand { + public static final RuntimeCommand INSTANCE = new RuntimeCommand(); + + private RuntimeCommand() { + } + + @Override + public @NotNull String getName() { + return "runtime"; + } + + @Override + public @NotNull String getUsage() { + return "runtime"; + } + + @Override + public boolean hasPermission(@NotNull CommandSender sender) { + return true; + } + + @Override + public @NotNull String getDescription() { + return "查看JVM信息"; + } + + @Override + public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, String[] args) { + Runtime runtime = Runtime.getRuntime(); + sender.sendMessage("空闲内存:" + runtime.freeMemory() / 1024.0); + sender.sendMessage("已用内存:" + runtime.totalMemory() / 1024.0); + sender.sendMessage("最大可用内存:" + runtime.maxMemory() / 1024.0); + return true; + } + + @Override + public List onTabComplete(@NotNull CommandSender sender, @NotNull Command command, @NotNull String alias, String[] args) { + return Collections.emptyList(); + } +}