mirror of
https://github.com/architectury/architectury-plugin.git
synced 2026-03-28 04:07:01 -05:00
Support MappingsProviderImpl with getMixinService
Signed-off-by: shedaniel <daniel@shedaniel.me>
This commit is contained in:
@@ -2,6 +2,7 @@ package dev.architectury.plugin.loom
|
|||||||
|
|
||||||
import net.fabricmc.loom.LoomGradleExtension
|
import net.fabricmc.loom.LoomGradleExtension
|
||||||
import net.fabricmc.loom.configuration.ide.RunConfig
|
import net.fabricmc.loom.configuration.ide.RunConfig
|
||||||
|
import net.fabricmc.loom.configuration.providers.mappings.MappingsProviderImpl
|
||||||
import net.fabricmc.loom.task.RemapJarTask
|
import net.fabricmc.loom.task.RemapJarTask
|
||||||
import net.fabricmc.loom.task.service.MixinMappingsService
|
import net.fabricmc.loom.task.service.MixinMappingsService
|
||||||
import net.fabricmc.loom.util.service.SharedServiceManager
|
import net.fabricmc.loom.util.service.SharedServiceManager
|
||||||
@@ -21,9 +22,15 @@ class LoomInterface011(private val project: Project) : LoomInterface {
|
|||||||
get() = extractMixinMappings(getMixinService(SharedServiceManager.get(project)))
|
get() = extractMixinMappings(getMixinService(SharedServiceManager.get(project)))
|
||||||
|
|
||||||
private fun getMixinService(serviceManager: SharedServiceManager): MixinMappingsService {
|
private fun getMixinService(serviceManager: SharedServiceManager): MixinMappingsService {
|
||||||
return MixinMappingsService::class.java.getDeclaredMethod("getService", SharedServiceManager::class.java).also {
|
return try {
|
||||||
it.isAccessible = true
|
MixinMappingsService::class.java.getDeclaredMethod("getService", SharedServiceManager::class.java).also {
|
||||||
}.invoke(null, serviceManager) as MixinMappingsService
|
it.isAccessible = true
|
||||||
|
}.invoke(null, serviceManager) as MixinMappingsService
|
||||||
|
} catch (ignored: NoSuchMethodException) {
|
||||||
|
MixinMappingsService::class.java.getDeclaredMethod("getService", SharedServiceManager::class.java, MappingsProviderImpl::class.java).also {
|
||||||
|
it.isAccessible = true
|
||||||
|
}.invoke(null, serviceManager, extension.mappingsProvider) as MixinMappingsService
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun extractMixinMappings(service: MixinMappingsService): Collection<File> {
|
private fun extractMixinMappings(service: MixinMappingsService): Collection<File> {
|
||||||
|
|||||||
Reference in New Issue
Block a user