feat: 在插件卸载时关闭 AudienceProvider

This commit is contained in:
2025-07-06 05:57:57 +08:00
parent 68747f76bb
commit ad216ef89b
6 changed files with 14 additions and 6 deletions

View File

@@ -24,9 +24,9 @@ repositories {
dependencies {
// 对于 Bukkit 插件
compileOnly("cn.hamster3.mc.plugin:core-bukkit:1.4.0")
compileOnly("cn.hamster3.mc.plugin:core-bukkit:1.4.1")
// 对于 BungeeCord 插件
compileOnly("cn.hamster3.mc.plugin:core-bungee:1.4.0")
compileOnly("cn.hamster3.mc.plugin:core-bungee:1.4.1")
}
```
@@ -52,13 +52,13 @@ dependencies {
<dependency>
<groupId>cn.hamster3.mc.plugin</groupId>
<artifactId>core-bukkit</artifactId>
<version>1.4.0</version>
<version>1.4.1</version>
</dependency>
<!--对于 BungeeCord 插件-->
<dependency>
<groupId>cn.hamster3.mc.plugin</groupId>
<artifactId>core-bungee</artifactId>
<version>1.4.0</version>
<version>1.4.1</version>
</dependency>
</dependencies>
</project>

View File

@@ -5,7 +5,7 @@ plugins {
}
group = "cn.hamster3.mc.plugin"
version = "1.4.0"
version = "1.4.1"
description = "叁只仓鼠的 Minecraft 插件开发通用工具包"
subprojects {

View File

@@ -130,6 +130,8 @@ public class HamsterCorePlugin extends JavaPlugin {
@Override
public void onDisable() {
long start = System.currentTimeMillis();
audienceProvider.close();
simpleLogger.info("已关闭 AudienceProvider.");
if (CoreAPI.getInstance().isEnableRedis()) {
CoreAPI.getInstance().getJedisPool().close();
CoreAPI.getInstance().getRedisClient().close();

View File

@@ -4,7 +4,8 @@ import cn.hamster3.mc.plugin.core.bukkit.HamsterCorePlugin;
import cn.hamster3.mc.plugin.core.bukkit.command.ParentCommand;
import cn.hamster3.mc.plugin.core.bukkit.constant.CoreMessage;
import cn.hamster3.mc.plugin.core.bukkit.util.CoreBukkitUtils;
import de.tr7zw.changeme.nbtapi.*;
import de.tr7zw.changeme.nbtapi.NBT;
import de.tr7zw.changeme.nbtapi.NBTType;
import de.tr7zw.changeme.nbtapi.iface.ReadWriteNBT;
import de.tr7zw.changeme.nbtapi.iface.ReadWriteNBTCompoundList;
import de.tr7zw.changeme.nbtapi.iface.ReadWriteNBTList;

View File

@@ -70,6 +70,8 @@ public class HamsterCorePlugin extends Plugin {
@Override
public void onDisable() {
long start = System.currentTimeMillis();
audienceProvider.close();
simpleLogger.info("已关闭 AudienceProvider.");
if (CoreAPI.getInstance().isEnableRedis()) {
CoreAPI.getInstance().getJedisPool().close();
CoreAPI.getInstance().getRedisClient().close();

View File

@@ -4,6 +4,7 @@ import cn.hamster3.mc.plugin.core.common.api.CoreAPI;
import cn.hamster3.mc.plugin.core.common.config.YamlConfig;
import cn.hamster3.mc.plugin.core.common.util.UpdateCheckUtils;
import cn.hamster3.mc.plugin.core.velocity.api.CoreVelocityAPI;
import cn.hamster3.mc.plugin.core.velocity.impl.AudienceProviderImpl;
import cn.hamster3.mc.plugin.core.velocity.util.VelocitySimpleLogger;
import com.google.inject.Inject;
import com.velocitypowered.api.event.PostOrder;
@@ -83,6 +84,8 @@ public class HamsterCorePlugin {
@Subscribe(order = PostOrder.LAST)
public void onProxyShutdown(ProxyShutdownEvent event) {
long start = System.currentTimeMillis();
AudienceProviderImpl.INSTANCE.close();
simpleLogger.info("已关闭 AudienceProvider.");
if (CoreAPI.getInstance().isEnableRedis()) {
CoreAPI.getInstance().getJedisPool().close();
CoreAPI.getInstance().getRedisClient().close();