Skip to content

Commit 38cc78d

Browse files
committed
Refactor: new version published
1 parent 03983a9 commit 38cc78d

File tree

8 files changed

+154
-22
lines changed

8 files changed

+154
-22
lines changed

.github/workflows/gradle.yml

+5-2
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,11 @@
33
# certain platforms or Java versions, and provides a first line of defence
44
# against bad commits.
55

6-
name: AQQBot Gradle Build
7-
on: push
6+
name: AQQBot Gradle Build (Refactor Branch)
7+
on:
8+
push:
9+
branches:
10+
- refactor
811

912
jobs:
1013
build:

bukkit/build.gradle.kts

+26-2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
2+
13
plugins {
24
kotlin("jvm")
35
id("com.gradleup.shadow") version "8.3.0"
@@ -10,14 +12,16 @@ repositories {
1012
maven("https://jitpack.io")
1113
maven("https://hub.spigotmc.org/nexus/content/repositories/snapshots/")
1214
maven("https://oss.sonatype.org/content/repositories/snapshots")
15+
maven("https://s01.oss.sonatype.org/content/repositories/snapshots/")
1316
maven("https://repo.extendedclip.com/releases/")
1417
mavenCentral()
1518
}
1619

1720
dependencies {
1821
implementation(project(":common"))
19-
implementation("net.kyori:adventure-platform-bukkit:4.3.4")
20-
implementation("com.github.alazeprt:AConfiguration:1.2")
22+
compileOnly("net.kyori:adventure-platform-bukkit:4.3.4")
23+
compileOnly("com.github.alazeprt:AConfiguration:1.2")
24+
implementation("com.alessiodp.libby:libby-bukkit:2.0.0-SNAPSHOT")
2125
compileOnly("org.spigotmc:spigot-api:1.16.5-R0.1-SNAPSHOT")
2226
compileOnly("me.clip:placeholderapi:2.11.6")
2327
compileOnly("me.lucko:spark-api:0.1-SNAPSHOT")
@@ -29,4 +33,24 @@ tasks.jar {
2933

3034
tasks.shadowJar {
3135
archiveFileName.set("AQQBot-${archiveFileName.get()}")
36+
}
37+
38+
tasks.withType<JavaCompile> {
39+
options.encoding = "UTF-8"
40+
}
41+
42+
tasks.withType<KotlinCompile> {
43+
kotlinOptions {
44+
jvmTarget = "1.8"
45+
freeCompilerArgs = listOf("-Xjvm-default=all")
46+
}
47+
}
48+
49+
configure<JavaPluginConvention> {
50+
sourceCompatibility = JavaVersion.VERSION_1_8
51+
targetCompatibility = JavaVersion.VERSION_1_8
52+
}
53+
54+
tasks.shadowJar {
55+
relocate("net.kyori.adventure", "top.alazeprt.aqqbot.lib.adventure")
3256
}

bukkit/src/main/kotlin/top/alazeprt/aqqbot/AQQBotBukkit.kt

+76
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
package top.alazeprt.aqqbot
22

3+
import com.alessiodp.libby.BukkitLibraryManager
4+
import com.alessiodp.libby.Library
35
import me.lucko.spark.api.Spark
46
import net.kyori.adventure.platform.bukkit.BukkitAudiences
57
import org.bukkit.Bukkit
@@ -148,4 +150,78 @@ class AQQBotBukkit : JavaPlugin(), AQQBot {
148150
}
149151
}
150152
}
153+
154+
override fun loadDependencies() {
155+
val libraryManager = BukkitLibraryManager(this)
156+
val adventureBukkitLib = Library.builder()
157+
.groupId("net{}kyori")
158+
.artifactId("adventure-platform-bukkit")
159+
.version("4.3.4")
160+
.relocate("net{}kyori", "top{}alazeprt{}aqqbot{}lib")
161+
.resolveTransitiveDependencies(true)
162+
.build()
163+
val databaseLib = Library.builder()
164+
.groupId("com{}github{}alazeprt")
165+
.artifactId("taboolib-database")
166+
.version("1.0.4")
167+
.relocate("taboolib", "top{}alazeprt{}aqqbot{}lib{}taboolib")
168+
.relocate("com{}zaxxer", "top{}alazeprt{}aqqbot{}lib{}com{}zaxxer")
169+
.relocate("com{}google{}common", "top{}alazeprt{}aqqbot{}lib{}com{}google{}common")
170+
.relocate("org{}sqlite", "top{}alazeprt{}aqqbot{}lib{}org{}sqlite")
171+
.relocate("com{}mysql", "top{}alazeprt{}aqqbot{}lib{}com{}mysql")
172+
.build()
173+
val hikaricpLib = Library.builder()
174+
.groupId("com{}zaxxer")
175+
.artifactId("HikariCP")
176+
.version("4.0.3")
177+
.relocate("com{}zaxxer", "top{}alazeprt{}aqqbot{}lib{}com{}zaxxer")
178+
.resolveTransitiveDependencies(true)
179+
.build()
180+
val guavaLib = Library.builder()
181+
.groupId("com{}google{}guava")
182+
.artifactId("guava")
183+
.version("21.0")
184+
.relocate("com{}google{}common", "top{}alazeprt{}aqqbot{}lib{}com{}google{}common")
185+
.resolveTransitiveDependencies(true)
186+
.build()
187+
val sqliteLib = Library.builder()
188+
.groupId("org{}xerial")
189+
.artifactId("sqlite-jdbc")
190+
.version("3.49.0.0")
191+
.relocate("org{}sqlite", "top{}alazeprt{}aqqbot{}lib{}org{}sqlite")
192+
.resolveTransitiveDependencies(true)
193+
.build()
194+
val aconfigurationLib = Library.builder()
195+
.groupId("com{}github{}alazeprt")
196+
.artifactId("AConfiguration")
197+
.version("1.2")
198+
.relocate("com{}github{}alazeprt", "top{}alazeprt{}aqqbot{}lib{}aconfiguration")
199+
.build()
200+
val mysqlLib = Library.builder()
201+
.groupId("com{}mysql")
202+
.artifactId("mysql-connector-j")
203+
.version("8.3.0")
204+
.relocate("com{}mysql", "top{}alazeprt{}aqqbot{}lib{}com{}mysql")
205+
.resolveTransitiveDependencies(true)
206+
.build()
207+
val aonebotLib = Library.builder()
208+
.groupId("com{}github{}alazeprt")
209+
.artifactId("AOneBot")
210+
.version("1.0.10-beta.2")
211+
.relocate("org{}java_websocket", "top{}alazeprt{}aonebot{}lib{}java_websocket")
212+
.relocate("com{}google{}code{}gson", "top{}alazeprt{}aonebot{}lib{}com{}google")
213+
.resolveTransitiveDependencies(true)
214+
.build()
215+
libraryManager.addRepository("https://maven.aliyun.com/repository/public")
216+
libraryManager.addMavenCentral()
217+
libraryManager.addJitPack()
218+
libraryManager.loadLibrary(adventureBukkitLib)
219+
libraryManager.loadLibrary(guavaLib)
220+
libraryManager.loadLibrary(hikaricpLib)
221+
libraryManager.loadLibrary(sqliteLib)
222+
libraryManager.loadLibrary(mysqlLib)
223+
libraryManager.loadLibrary(aconfigurationLib)
224+
libraryManager.loadLibrary(databaseLib)
225+
libraryManager.loadLibrary(aonebotLib)
226+
}
151227
}

bukkit/src/main/resources/plugin.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
name: AQQBot
22
main: top.alazeprt.aqqbot.AQQBotBukkit
3-
version: 2.0-alpha.1
3+
version: 2.0-beta.3
44
api-version: 1.13
55
author: alazeprt
66
commands:

common/build.gradle.kts

+23-5
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
2+
13
plugins {
24
kotlin("jvm")
35
}
@@ -13,10 +15,26 @@ repositories {
1315
}
1416

1517
dependencies {
16-
implementation("com.github.alazeprt:AOneBot:1.0.10-beta.2")
17-
implementation("com.google.code.gson:gson:2.11.0")
18-
implementation("net.kyori:adventure-api:4.18.0")
19-
implementation("com.github.alazeprt:AConfiguration:1.2")
20-
implementation("com.github.alazeprt:taboolib-database:1.0.4")
18+
compileOnly("com.github.alazeprt:AOneBot:1.0.10-beta.2")
19+
compileOnly("com.google.code.gson:gson:2.11.0")
20+
compileOnly("net.kyori:adventure-api:4.18.0")
21+
compileOnly("com.github.alazeprt:AConfiguration:1.2")
22+
compileOnly("com.github.alazeprt:taboolib-database:1.0.4")
2123
compileOnly("me.lucko:spark-api:0.1-SNAPSHOT")
24+
}
25+
26+
tasks.withType<JavaCompile> {
27+
options.encoding = "UTF-8"
28+
}
29+
30+
tasks.withType<KotlinCompile> {
31+
kotlinOptions {
32+
jvmTarget = "1.8"
33+
freeCompilerArgs = listOf("-Xjvm-default=all")
34+
}
35+
}
36+
37+
configure<JavaPluginConvention> {
38+
sourceCompatibility = JavaVersion.VERSION_1_8
39+
targetCompatibility = JavaVersion.VERSION_1_8
2240
}

common/src/main/kotlin/top/alazeprt/aqqbot/AQQBot.kt

+3
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ interface AQQBot: ConfigProvider, CommandProvider, DataProvider, HookProvider, T
3333
override var botConfig: FileConfiguration
3434

3535
fun enable() {
36+
loadDependencies()
3637
loadConfig(this)
3738
loadData(DataStorageType.valueOf(generalConfig.getString("storage.type").uppercase()))
3839
loadDebug()
@@ -73,6 +74,8 @@ interface AQQBot: ConfigProvider, CommandProvider, DataProvider, HookProvider, T
7374
}
7475
}
7576

77+
fun loadDependencies()
78+
7679
fun disable() {
7780
if (generalConfig.getBoolean("notify.server_status.enable") && BotProvider.getBot() != null &&
7881
BotProvider.getBot()!!.isConnected) {

common/src/main/kotlin/top/alazeprt/aqqbot/handler/WhitelistAdminHandler.kt

+19-11
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,19 @@ class WhitelistAdminHandler(val plugin: AQQBot) {
5555
}
5656

5757
fun handle(message: String, event: GroupMessageEvent, memberList: GroupMemberList): Boolean {
58+
var bind = false
59+
var unbind = false
60+
config.getStringList("whitelist.admin.bind").forEach {
61+
if (message.lowercase().startsWith(it.lowercase())) {
62+
bind = true
63+
}
64+
}
65+
config.getStringList("whitelist.admin.unbind").forEach {
66+
if (message.lowercase().startsWith(it.lowercase())) {
67+
unbind = true
68+
}
69+
}
70+
if (!bind && !unbind) return false
5871
if (!plugin.generalConfig.getBoolean("whitelist.admin.enable")) {
5972
return false
6073
}
@@ -89,17 +102,12 @@ class WhitelistAdminHandler(val plugin: AQQBot) {
89102
if (!hasPermission) {
90103
return false
91104
}
92-
config.getStringList("whitelist.admin.bind").forEach {
93-
if (message.lowercase().startsWith(it.lowercase())) {
94-
bind(event.senderId.toString(), targetUserId.toString(), event.groupId, playerName)
95-
return true
96-
}
97-
}
98-
config.getStringList("whitelist.admin.unbind").forEach {
99-
if (message.lowercase().startsWith(it.lowercase())) {
100-
unbind(event.senderId.toString(), targetUserId.toString(), event.groupId, playerName)
101-
return true
102-
}
105+
if (bind) {
106+
bind(event.senderId.toString(), targetUserId.toString(), event.groupId, playerName)
107+
return true
108+
} else if (unbind) {
109+
unbind(event.senderId.toString(), targetUserId.toString(), event.groupId, playerName)
110+
return true
103111
}
104112
return false
105113
}

gradle.properties

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
group=top.alazeprt.aqqbot
2-
version=2.0-beta.2
2+
version=2.0-beta.3
33
kotlin.incremental=true
44
kotlin.incremental.java=true
55
kotlin.caching.enabled=true

0 commit comments

Comments
 (0)