-
Notifications
You must be signed in to change notification settings - Fork 20
Task
Noonmaru edited this page Oct 5, 2020
·
4 revisions
Psychics의 task는 지연 실행 혹은 주기 실행을 제공합니다.
Runnable 인터페이스를 구현하세요
class MyAbilityTask : Runnable {
override fun run() {
Bukkit.broadcastMessage("태스크 호출")
}
}
여기서는 태스크가 실행될 때 태스크 호출
이라는 메시지를 서버 전체에 보내겠습니다.
제작한 Task를 주기적으로 호출 할 수 있도록 등록하겠습니다.
class MyAbility : Ability<AbilityConcept>() {
override fun onEnable() {
psychic.runTaskTimer(MyAbilityTask(), 0L, 20L) // 1초마다 호출
}
}
1초마다 메시지가 출력되도록 등록했습니다.
다시 빌드하여 서버에 적용해봅시다.
psychic은 Event에서 제작한 파일로 사용하겠습니다.
메시지가 1초마다 출력되는 모습입니다.
등록한 Task를 더이상 호출되지 않도록 취소할 수 있습니다.
class MyAbility : Ability<AbilityConcept>() {
override fun onEnable() {
val task = psychic.runTaskLater(MyAbilityTask(), 100L)
task.cancel()
}
}
Task를 등록하는 함수는 TickTask
인스턴스를 반환합니다.
TickTask.cancel()
함수를 호출하면 태스크가 취소됩니다.
psychic 에 등록된 task 는 능력이 비활성화될 경우 자동으로 제거됩니다.