Skip to content

Commit d318577

Browse files
committed
Fix Folia task cancellation access
1 parent 42e2133 commit d318577

1 file changed

Lines changed: 10 additions & 4 deletions

File tree

src/main/kotlin/com/y54895/matrixlib/api/compat/CompatApi.kt

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -656,10 +656,16 @@ object FoliaUtil {
656656
private fun cancelScheduledTask(task: Any?) {
657657
val scheduledTask = task ?: return
658658
val cancelMethod = scheduledTaskCancelMethods.computeIfAbsent(scheduledTask.javaClass) { taskClass ->
659-
taskClass.methods.firstOrNull {
660-
it.name == "cancel" && it.parameterCount == 0
661-
}
659+
(taskClass.declaredMethods.asSequence() + taskClass.methods.asSequence())
660+
.firstOrNull {
661+
it.name == "cancel" && it.parameterCount == 0
662+
}
663+
?.apply {
664+
runCatching { trySetAccessible() }
665+
}
666+
}
667+
runCatching {
668+
cancelMethod?.invoke(scheduledTask)
662669
}
663-
cancelMethod?.invoke(scheduledTask)
664670
}
665671
}

0 commit comments

Comments
 (0)