From 3d66e3fc4942412e6c8abf08e4705e5fbd9e15bd Mon Sep 17 00:00:00 2001 From: MiniDay <372403923@qq.com> Date: Mon, 15 May 2023 08:06:12 +0800 Subject: [PATCH] =?UTF-8?q?fix(bukkit):=20=E6=8F=92=E4=BB=B6=E5=8D=B8?= =?UTF-8?q?=E8=BD=BD=E6=97=B6=E5=85=B3=E9=97=AD=E6=89=80=E6=9C=89GUI?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mc/plugin/core/bukkit/HamsterCorePlugin.java | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/hamster-core-bukkit/src/main/java/cn/hamster3/mc/plugin/core/bukkit/HamsterCorePlugin.java b/hamster-core-bukkit/src/main/java/cn/hamster3/mc/plugin/core/bukkit/HamsterCorePlugin.java index 3f60339..9ffc731 100644 --- a/hamster-core-bukkit/src/main/java/cn/hamster3/mc/plugin/core/bukkit/HamsterCorePlugin.java +++ b/hamster-core-bukkit/src/main/java/cn/hamster3/mc/plugin/core/bukkit/HamsterCorePlugin.java @@ -8,6 +8,7 @@ import cn.hamster3.mc.plugin.core.bukkit.hook.PointAPI; import cn.hamster3.mc.plugin.core.bukkit.hook.VaultAPI; import cn.hamster3.mc.plugin.core.bukkit.listener.CallbackListener; import cn.hamster3.mc.plugin.core.bukkit.listener.DebugListener; +import cn.hamster3.mc.plugin.core.bukkit.page.handler.PageHandler; import cn.hamster3.mc.plugin.core.bukkit.page.listener.PageListener; import cn.hamster3.mc.plugin.core.bukkit.util.ItemStackAdapter; import cn.hamster3.mc.plugin.core.common.constant.CoreConstantObjects; @@ -16,6 +17,9 @@ import cn.hamster3.mc.plugin.core.common.misc.MessageTypeAdapter; import com.google.gson.GsonBuilder; import net.kyori.adventure.platform.bukkit.BukkitAudiences; import org.bukkit.Bukkit; +import org.bukkit.entity.Player; +import org.bukkit.inventory.Inventory; +import org.bukkit.inventory.InventoryView; import org.bukkit.inventory.ItemStack; import org.bukkit.plugin.java.JavaPlugin; @@ -83,6 +87,14 @@ public class HamsterCorePlugin extends JavaPlugin { logger.info("已暂停 WORKER_EXECUTOR."); CoreConstantObjects.SCHEDULED_EXECUTOR.shutdownNow(); logger.info("已暂停 SCHEDULED_EXECUTOR."); + for (Player player : Bukkit.getOnlinePlayers()) { + InventoryView view = player.getOpenInventory(); + Inventory inventory = view.getTopInventory(); + if (!(inventory.getHolder() instanceof PageHandler)) { + continue; + } + player.closeInventory(); + } long time = System.currentTimeMillis() - start; logger.info("仓鼠核心已关闭,总计耗时 " + time + " ms."); }