From aac72489948b5950d32b85054e0f320aa58c8955 Mon Sep 17 00:00:00 2001
From: MiniDay <372403923@qq.com>
Date: Tue, 19 Mar 2024 16:19:00 +0800
Subject: [PATCH 1/5] =?UTF-8?q?docs:=20=E4=BF=AE=E6=94=B9=E7=89=88?=
=?UTF-8?q?=E6=9C=AC=E6=9B=B4=E6=96=B0=E4=BF=A1=E6=81=AF?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
ball-bukkit/src/main/resources/plugin.yml | 9 ++++++++-
ball-bukkit/src/main/resources/update.yml | 6 ------
ball-bungee/src/main/resources/bungee.yml | 10 +++++++++-
ball-bungee/src/main/resources/update.yml | 6 ------
ball-velocity/src/main/resources/update.yml | 5 ++---
5 files changed, 19 insertions(+), 17 deletions(-)
delete mode 100644 ball-bukkit/src/main/resources/update.yml
delete mode 100644 ball-bungee/src/main/resources/update.yml
diff --git a/ball-bukkit/src/main/resources/plugin.yml b/ball-bukkit/src/main/resources/plugin.yml
index 4cf3fc7..13005df 100644
--- a/ball-bukkit/src/main/resources/plugin.yml
+++ b/ball-bukkit/src/main/resources/plugin.yml
@@ -4,8 +4,15 @@ version: ${version}
api-version: 1.13
author: MiniDay
+description: ${description}
website: https://git.airgame.net/MiniDay/hamster-ball
-description: 仓鼠球:一个基于 Redis 的 Minecraft 服务端通用消息中间件(原HamsterService)
+
+UPDATE_CHECKER:
+ VERSION: ${version}
+ CHECK_TYPE: GITEA_RELEASES
+ GIT_BASE_URL: https://git.airgame.net
+ GIT_REPO: MiniDay/hamster-ball
+ DOWNLOAD_URL: https://jenkins.airgame.net/job/opensource/job/hamster-ball/
load: STARTUP
diff --git a/ball-bukkit/src/main/resources/update.yml b/ball-bukkit/src/main/resources/update.yml
deleted file mode 100644
index 2ccf96c..0000000
--- a/ball-bukkit/src/main/resources/update.yml
+++ /dev/null
@@ -1,6 +0,0 @@
-version: ${version}
-CHECK_TYPE: GITEA_RELEASES
-GIT_BASE_URL: https://git.airgame.net
-GIT_REPO: MiniDay/hamster-ball
-GIT_TOKEN: a44a69a4d1b8601bf6091403247759cd28764d5e
-DOWNLOAD_URL: https://jenkins.airgame.net/job/opensource/job/hamster-ball/
diff --git a/ball-bungee/src/main/resources/bungee.yml b/ball-bungee/src/main/resources/bungee.yml
index c618590..666607f 100644
--- a/ball-bungee/src/main/resources/bungee.yml
+++ b/ball-bungee/src/main/resources/bungee.yml
@@ -3,7 +3,15 @@ main: cn.hamster3.mc.plugin.ball.bungee.HamsterBallPlugin
version: ${version}
author: MiniDay
-description: 仓鼠球:一个基于 Redis 的 Minecraft 服务端通用消息中间件(原HamsterService)
+description: ${description}
+website: https://git.airgame.net/MiniDay/hamster-ball
+
+UPDATE_CHECKER:
+ VERSION: ${version}
+ CHECK_TYPE: GITEA_RELEASES
+ GIT_BASE_URL: https://git.airgame.net
+ GIT_REPO: MiniDay/hamster-ball
+ DOWNLOAD_URL: https://jenkins.airgame.net/job/opensource/job/hamster-ball/
depend:
- HamsterCore
diff --git a/ball-bungee/src/main/resources/update.yml b/ball-bungee/src/main/resources/update.yml
deleted file mode 100644
index 2ccf96c..0000000
--- a/ball-bungee/src/main/resources/update.yml
+++ /dev/null
@@ -1,6 +0,0 @@
-version: ${version}
-CHECK_TYPE: GITEA_RELEASES
-GIT_BASE_URL: https://git.airgame.net
-GIT_REPO: MiniDay/hamster-ball
-GIT_TOKEN: a44a69a4d1b8601bf6091403247759cd28764d5e
-DOWNLOAD_URL: https://jenkins.airgame.net/job/opensource/job/hamster-ball/
diff --git a/ball-velocity/src/main/resources/update.yml b/ball-velocity/src/main/resources/update.yml
index 2ccf96c..43bba43 100644
--- a/ball-velocity/src/main/resources/update.yml
+++ b/ball-velocity/src/main/resources/update.yml
@@ -1,6 +1,5 @@
-version: ${version}
+VERSION: ${version}
CHECK_TYPE: GITEA_RELEASES
GIT_BASE_URL: https://git.airgame.net
GIT_REPO: MiniDay/hamster-ball
-GIT_TOKEN: a44a69a4d1b8601bf6091403247759cd28764d5e
-DOWNLOAD_URL: https://jenkins.airgame.net/job/opensource/job/hamster-ball/
+DOWNLOAD_URL: https://jenkins.airgame.net/job/opensource/job/hamster-ball/
\ No newline at end of file
From aa0e94c7b75e322fc2d9ac5fb6f4d53bf1c44782 Mon Sep 17 00:00:00 2001
From: MiniDay <372403923@qq.com>
Date: Tue, 19 Mar 2024 16:22:36 +0800
Subject: [PATCH 2/5] =?UTF-8?q?docs:=20=E4=BF=AE=E6=94=B9=E6=8F=8F?=
=?UTF-8?q?=E8=BF=B0?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
README.md | 2 +-
ball-velocity/src/main/resources/update.yml | 2 +-
build.gradle.kts | 2 ++
3 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/README.md b/README.md
index 0353fc8..4576df8 100644
--- a/README.md
+++ b/README.md
@@ -1,6 +1,6 @@
# [HamsterBall](https://git.airgame.net/MiniDay/hamster-ball)
-仓鼠球:一个基于 Redis 的 Minecraft 服务端通用消息中间件(原HamsterService)
+基于 Redis 的 Minecraft 服务端通用消息中间件
该插件依赖于 [仓鼠核心](https://git.airgame.net/MiniDay/hamster-core)
diff --git a/ball-velocity/src/main/resources/update.yml b/ball-velocity/src/main/resources/update.yml
index 43bba43..2808414 100644
--- a/ball-velocity/src/main/resources/update.yml
+++ b/ball-velocity/src/main/resources/update.yml
@@ -2,4 +2,4 @@ VERSION: ${version}
CHECK_TYPE: GITEA_RELEASES
GIT_BASE_URL: https://git.airgame.net
GIT_REPO: MiniDay/hamster-ball
-DOWNLOAD_URL: https://jenkins.airgame.net/job/opensource/job/hamster-ball/
\ No newline at end of file
+DOWNLOAD_URL: https://jenkins.airgame.net/job/opensource/job/hamster-ball/
diff --git a/build.gradle.kts b/build.gradle.kts
index 6046052..228b402 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -6,6 +6,7 @@ plugins {
group = "cn.hamster3.mc.plugin"
version = "1.6.2"
+description = "基于 Redis 的 Minecraft 服务端通用消息中间件"
subprojects {
apply {
@@ -16,6 +17,7 @@ subprojects {
group = rootProject.group
version = rootProject.version
+ description = rootProject.description
repositories {
maven("https://maven.airgame.net/maven-public/")
From 4e29246441c49929ac4118ea628da163873c0294 Mon Sep 17 00:00:00 2001
From: MiniDay <372403923@qq.com>
Date: Thu, 21 Mar 2024 23:30:04 +0800
Subject: [PATCH 3/5] =?UTF-8?q?build:=20=E4=BC=98=E5=8C=96=E6=9E=84?=
=?UTF-8?q?=E5=BB=BA=E8=84=9A=E6=9C=AC?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
build.gradle.kts | 5 -----
1 file changed, 5 deletions(-)
diff --git a/build.gradle.kts b/build.gradle.kts
index 228b402..8076a52 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -45,11 +45,6 @@ subprojects {
from(rootProject.file("LICENSE"))
duplicatesStrategy = DuplicatesStrategy.EXCLUDE
}
- processResources {
- filesMatching("update.yml") {
- expand(rootProject.properties)
- }
- }
build {
dependsOn(shadowJar)
}
From 84721e31eefa899d8be52b857ec14e24c9bed8f4 Mon Sep 17 00:00:00 2001
From: MiniDay <372403923@qq.com>
Date: Tue, 26 Mar 2024 17:25:49 +0800
Subject: [PATCH 4/5] =?UTF-8?q?fix(ball-common):=20=E4=BF=AE=E5=A4=8D?=
=?UTF-8?q?=E5=BD=93=E4=BA=8B=E4=BB=B6=E5=A4=84=E7=90=86=E5=A4=B1=E8=B4=A5?=
=?UTF-8?q?=E6=97=B6=E7=9B=B4=E6=8E=A5=E4=BC=9A=E9=98=BB=E5=A1=9E=E5=90=8E?=
=?UTF-8?q?=E7=BB=ADredis=E6=B6=88=E6=81=AF=E7=9A=84bug?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
README.md | 8 ++++----
.../mc/plugin/ball/common/listener/BallRedisListener.java | 6 +++++-
build.gradle.kts | 2 +-
3 files changed, 10 insertions(+), 6 deletions(-)
diff --git a/README.md b/README.md
index 4576df8..55ece4c 100644
--- a/README.md
+++ b/README.md
@@ -49,9 +49,9 @@ repositories {
dependencies {
// 对于 Bukkit 插件
- compileOnly("cn.hamster3.mc.plugin:ball-bukkit:1.6.2")
+ compileOnly("cn.hamster3.mc.plugin:ball-bukkit:1.6.3-SNAPSHOT")
// 对于 BungeeCord 插件
- compileOnly("cn.hamster3.mc.plugin:ball-bungee:1.6.2")
+ compileOnly("cn.hamster3.mc.plugin:ball-bungee:1.6.3-SNAPSHOT")
}
```
@@ -77,13 +77,13 @@ dependencies {
* 会自动加上 config 中设置的频道前缀 * - * @param channel 频道名称 + * @param channels 频道名称 */ - public void subscribe(@NotNull String... channel) { - for (int i = 0; i < channel.length; i++) { - channel[i] = ballConfig.getChannelPrefix() + channel[i]; + public void subscribe(@NotNull String... channels) { + for (int i = 0; i < channels.length; i++) { + channels[i] = ballConfig.getChannelPrefix() + channels[i]; } - CoreAPI.getInstance().getExecutorService().submit( - () -> redisSub.subscribe(BallRedisListener.INSTANCE, channel) - ); + subscribeRaw(channels); } /** * 忽略频道前缀配置,订阅 redis 消息频道 * - * @param channel 频道名称 + * @param channels 频道名称 */ - public void subscribeRaw(@NotNull String... channel) { - CoreAPI.getInstance().getExecutorService().submit( - () -> redisSub.subscribe(BallRedisListener.INSTANCE, channel) - ); + public void subscribeRaw(@NotNull String... channels) { + CoreAPI.getInstance().getExecutorService().submit(() -> { + try { + redisSub.subscribe(BallRedisListener.INSTANCE, channels); + } catch (Exception | Error e) { + e.printStackTrace(); + } + }); } /** diff --git a/ball-common/src/main/java/cn/hamster3/mc/plugin/ball/common/listener/BallRedisListener.java b/ball-common/src/main/java/cn/hamster3/mc/plugin/ball/common/listener/BallRedisListener.java index 8a51458..2b5faca 100644 --- a/ball-common/src/main/java/cn/hamster3/mc/plugin/ball/common/listener/BallRedisListener.java +++ b/ball-common/src/main/java/cn/hamster3/mc/plugin/ball/common/listener/BallRedisListener.java @@ -15,23 +15,26 @@ public class BallRedisListener extends JedisPubSub { @Override public void onMessage(String channel, String message) { - if (channel.startsWith(BallAPI.getInstance().getBallConfig().getChannelPrefix())) { - channel = channel.substring(BallAPI.getInstance().getBallConfig().getChannelPrefix().length()); - } - BallMessage ballMessage = CoreAPI.getInstance().getGson().fromJson(message, BallMessage.class); - BallAPI ballAPI = BallAPI.getInstance(); - EventBus eventBus = ballAPI.getEventBus(); - if (ballMessage.getReceiverType() != null && ballMessage.getReceiverType() != ballAPI.getLocalServerInfo().getType()) { - return; - } - if (ballMessage.getReceiverID() != null && !ballAPI.isLocalServer(ballMessage.getReceiverID())) { - return; - } - try { - eventBus.post(new MessageReceivedEvent(channel, ballMessage)); - } catch (Exception | Error e) { - e.printStackTrace(); - } + CoreAPI.getInstance().getExecutorService().submit(() -> { + try { + String finalChannel = channel; + if (finalChannel.startsWith(BallAPI.getInstance().getBallConfig().getChannelPrefix())) { + finalChannel = finalChannel.substring(BallAPI.getInstance().getBallConfig().getChannelPrefix().length()); + } + BallMessage ballMessage = CoreAPI.getInstance().getGson().fromJson(message, BallMessage.class); + BallAPI ballAPI = BallAPI.getInstance(); + EventBus eventBus = ballAPI.getEventBus(); + if (ballMessage.getReceiverType() != null && ballMessage.getReceiverType() != ballAPI.getLocalServerInfo().getType()) { + return; + } + if (ballMessage.getReceiverID() != null && !ballAPI.isLocalServer(ballMessage.getReceiverID())) { + return; + } + eventBus.post(new MessageReceivedEvent(finalChannel, ballMessage)); + } catch (Exception | Error e) { + e.printStackTrace(); + } + }); } @Override