go back to old datapack manager

This commit is contained in:
alexcrea 2026-08-16 08:44:58 +02:00
parent 6c4991f852
commit ca89b0d095
Signed by: alexcrea
GPG key ID: E59DF23EE2A2266C

View file

@ -1,20 +1,40 @@
@file:Suppress("DEPRECATION", "removal")
package xyz.alexcrea.cuanvil.dependency.datapack package xyz.alexcrea.cuanvil.dependency.datapack
import io.papermc.paper.datapack.Datapack import io.papermc.paper.datapack.Datapack
import org.bukkit.Bukkit import org.bukkit.Bukkit
import org.bukkit.packs.DataPack
import java.util.* import java.util.*
object DataPackTester { object DataPackTester {
val legacyNames: List<String>
get() = Bukkit.getDataPackManager().dataPacks
.stream().filter { obj -> obj.isEnabled }
.map { pack -> pack.key.key }
.toList()
val enabledPacks: List<String> val enabledPacks: List<String>
get() { get() {
return try { try {
Bukkit.getDatapackManager().enabledPacks // will throw error if do not exist
Bukkit::class.java.getDeclaredMethod("getDatapackManager")
return Bukkit.getDatapackManager().enabledPacks
.stream().map { obj: Datapack -> obj.name } .stream().map { obj: Datapack -> obj.name }
.toList() .toList()
} catch (_: Exception){ } catch(_: NoSuchMethodException) {
try {
DataPack::class.java.getDeclaredMethod("getKey")
} catch(e: NoSuchMethodException) {
System.err.println("Could not find compatible datapack manager")
System.err.println("If you are using a datapack that should be compatible with CustomAnvil. It will not get detected...")
return emptyList()
}
return legacyNames
} catch(_: Exception) {
// Assume cause UnimplementedOperationException on mock server // Assume cause UnimplementedOperationException on mock server
Collections.emptyList() return Collections.emptyList()
} }
} }
} }