Skip to content

Commit e62d1c4

Browse files
committed
fix: luckperms cannot load normally
1 parent 4ab905c commit e62d1c4

File tree

6 files changed

+72
-34
lines changed

6 files changed

+72
-34
lines changed

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

Lines changed: 5 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -177,6 +177,10 @@ interface AQQBot: ConfigProvider, CommandProvider, DataProvider, HookProvider, T
177177
}
178178
}
179179

180+
override fun loadDataDependencies() {
181+
dataProvider.loadDataDependencies()
182+
}
183+
180184
fun loadCommonDependencies() {
181185
libraryManager.addRepository("https://maven.aliyun.com/repository/public")
182186
libraryManager.addMavenCentral()
@@ -190,50 +194,19 @@ interface AQQBot: ConfigProvider, CommandProvider, DataProvider, HookProvider, T
190194
.build()
191195
libraryManager.loadLibrary(nashornLib)
192196
}
193-
val databaseLib = Library.builder()
194-
.groupId("com{}github{}alazeprt")
195-
.artifactId("taboolib-database")
196-
.version("1.0.4")
197-
.relocate("com{}google{}common", "top{}alazeprt{}aqqbot{}lib{}com{}google{}common")
198-
.build()
199-
val hikaricpLib = Library.builder()
200-
.groupId("com{}zaxxer")
201-
.artifactId("HikariCP")
202-
.version("4.0.3")
203-
.resolveTransitiveDependencies(true)
204-
.build()
205-
val guavaLib = Library.builder()
206-
.groupId("com{}google{}guava")
207-
.artifactId("guava")
208-
.version("21.0")
209-
.relocate("com{}google{}common", "top{}alazeprt{}aqqbot{}lib{}com{}google{}common")
210-
.resolveTransitiveDependencies(true)
211-
.build()
212-
val sqliteLib = Library.builder()
213-
.groupId("org{}xerial")
214-
.artifactId("sqlite-jdbc")
215-
.version("3.49.0.0")
216-
.resolveTransitiveDependencies(true)
217-
.build()
218197
val aconfigurationLib = Library.builder()
219198
.groupId("com{}github{}alazeprt")
220199
.artifactId("AConfiguration")
221200
.version("1.2")
222201
.build()
223-
val mysqlLib = Library.builder()
224-
.groupId("com{}mysql")
225-
.artifactId("mysql-connector-j")
226-
.version("8.3.0")
227-
.resolveTransitiveDependencies(true)
228-
.build()
229202
val aonebotLib = Library.builder()
230203
.groupId("com{}github{}alazeprt")
231204
.artifactId("AOneBot")
232205
.version("1.0.18-beta")
233206
.relocate("com{}google{}code{}gson", "top{}alazeprt{}aonebot{}lib{}com{}google")
234207
.resolveTransitiveDependencies(true)
235208
.build()
236-
libraryManager.loadLibraries(databaseLib, hikaricpLib, guavaLib, sqliteLib, aconfigurationLib, mysqlLib, aonebotLib)
209+
libraryManager.loadLibraries(aconfigurationLib, aonebotLib)
237210
}
238211

239212
fun loadDependencies()

common/src/main/kotlin/top/alazeprt/aqqbot/data/DataProvider.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@ import top.alazeprt.aqqbot.profile.AOfflinePlayer
55
interface DataProvider {
66
fun loadData(type: DataStorageType)
77

8+
fun loadDataDependencies()
9+
810
fun getStorageType(): DataStorageType
911

1012
fun saveData(type: DataStorageType)

common/src/main/kotlin/top/alazeprt/aqqbot/data/FileDataProvider.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@ class FileDataProvider(val plugin: AQQBot) : DataProvider {
1313
private lateinit var dataConfig: FileConfiguration
1414
val dataMap: MutableMap<String, MutableList<String>> = ConcurrentHashMap()
1515

16+
override fun loadDataDependencies() {}
17+
1618
override fun loadData(type: DataStorageType) {
1719
dataConfig = YamlConfiguration.loadConfiguration(file)
1820
dataConfig.getKeys(false).forEach {

common/src/main/kotlin/top/alazeprt/aqqbot/data/MySQLProvider.kt

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package top.alazeprt.aqqbot.data
22

3+
import com.alessiodp.libby.Library
34
import me.regadpole.config.DatabaseSource
45
import taboolib.module.database.*
56
import top.alazeprt.aconfiguration.file.YamlConfiguration
@@ -12,6 +13,35 @@ class MySQLProvider(plugin: AQQBot) : DatabaseDataProvider(plugin) {
1213
override lateinit var table: Table<*, *>
1314
override lateinit var dataSource: DataSource
1415

16+
override fun loadDataDependencies() {
17+
val databaseLib = Library.builder()
18+
.groupId("com{}github{}alazeprt")
19+
.artifactId("taboolib-database")
20+
.version("1.0.4")
21+
.relocate("com{}google{}common", "top{}alazeprt{}aqqbot{}lib{}com{}google{}common")
22+
.build()
23+
val hikaricpLib = Library.builder()
24+
.groupId("com{}zaxxer")
25+
.artifactId("HikariCP")
26+
.version("4.0.3")
27+
.resolveTransitiveDependencies(true)
28+
.build()
29+
val guavaLib = Library.builder()
30+
.groupId("com{}google{}guava")
31+
.artifactId("guava")
32+
.version("21.0")
33+
.relocate("com{}google{}common", "top{}alazeprt{}aqqbot{}lib{}com{}google{}common")
34+
.resolveTransitiveDependencies(true)
35+
.build()
36+
val mysqlLib = Library.builder()
37+
.groupId("com{}mysql")
38+
.artifactId("mysql-connector-j")
39+
.version("8.3.0")
40+
.resolveTransitiveDependencies(true)
41+
.build()
42+
plugin.libraryManager.loadLibraries(hikaricpLib, guavaLib, mysqlLib, databaseLib)
43+
}
44+
1545
override fun loadData(type: DataStorageType) {
1646
val config = plugin.generalConfig
1747
val host = HostSQL(config.getString("storage.mysql.host", null),

common/src/main/kotlin/top/alazeprt/aqqbot/data/SQLiteProvider.kt

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package top.alazeprt.aqqbot.data
22

3+
import com.alessiodp.libby.Library
34
import me.regadpole.config.DatabaseSource
45
import taboolib.module.database.*
56
import top.alazeprt.aconfiguration.file.YamlConfiguration
@@ -12,6 +13,35 @@ class SQLiteProvider(plugin: AQQBot) : DatabaseDataProvider(plugin) {
1213
override lateinit var table: Table<*, *>
1314
override lateinit var dataSource: DataSource
1415

16+
override fun loadDataDependencies() {
17+
val databaseLib = Library.builder()
18+
.groupId("com{}github{}alazeprt")
19+
.artifactId("taboolib-database")
20+
.version("1.0.4")
21+
.relocate("com{}google{}common", "top{}alazeprt{}aqqbot{}lib{}com{}google{}common")
22+
.build()
23+
val hikaricpLib = Library.builder()
24+
.groupId("com{}zaxxer")
25+
.artifactId("HikariCP")
26+
.version("4.0.3")
27+
.resolveTransitiveDependencies(true)
28+
.build()
29+
val guavaLib = Library.builder()
30+
.groupId("com{}google{}guava")
31+
.artifactId("guava")
32+
.version("21.0")
33+
.relocate("com{}google{}common", "top{}alazeprt{}aqqbot{}lib{}com{}google{}common")
34+
.resolveTransitiveDependencies(true)
35+
.build()
36+
val sqliteLib = Library.builder()
37+
.groupId("org{}xerial")
38+
.artifactId("sqlite-jdbc")
39+
.version("3.49.0.0")
40+
.resolveTransitiveDependencies(true)
41+
.build()
42+
plugin.libraryManager.loadLibraries(hikaricpLib, guavaLib, sqliteLib, databaseLib)
43+
}
44+
1545
override fun loadData(type: DataStorageType) {
1646
val host = HostSQLite(File(plugin.getDataFolder(), plugin.generalConfig.getString("storage.sqlite.file", null)))
1747
val dataSourceFile = File(plugin.getDataFolder(), "datasource.yml")

common/src/main/kotlin/top/alazeprt/aqqbot/hook/HookProvider.kt

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
package top.alazeprt.aqqbot.hook
22

3-
import net.luckperms.api.LuckPermsProvider
43
import top.alazeprt.aqqbot.AQQBot
54
import top.alazeprt.aqqbot.profile.APlayer
65
import top.alazeprt.aqqbot.util.LogLevel
@@ -41,6 +40,7 @@ interface HookProvider {
4140
fun loadFakeplayer(plugin: AQQBot) {
4241
try {
4342
Class.forName("io.github.hello09x.fakeplayer.core.Main")
43+
fakePlayer = true
4444
} catch (ignored: ClassNotFoundException) {
4545
return
4646
}
@@ -49,7 +49,8 @@ interface HookProvider {
4949

5050
fun loadLuckPerms(plugin: AQQBot) {
5151
try {
52-
LuckPermsProvider.get()
52+
Class.forName("net.luckperms.api.LuckPermsProvider")
53+
luckperms = true
5354
} catch (ignored: ClassNotFoundException) {
5455
return
5556
}

0 commit comments

Comments
 (0)