This repository was archived by the owner on Oct 7, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 60
Test
Monun edited this page Jan 31, 2021
·
1 revision
Psychics의 Ability 발동 조건 테스트에 대해 다룹니다.
단위 테스트는 Unit test 페이지를 참고하세요.
Ability 발동 조건은 여러가지가 있습니다.
필요 레벨, 마나 소모량, 재사용 대기시간 등등
이를 능력 적용 전에 테스트하고 결과를 반환하여 메시지를 플레이어에게 전달할 수 있습니다.
능력 사용자가 웅크릴때 사용 가능하다면 능력 발동 메시지를 보내는 코드입니다.
class MyAbility : Ability<AbilityConcept>() {
override fun onEnable() {
psychic.registerEvents(EventListener())
}
inner class EventListener: Listener {
@EventHandler
fun onPlayerSneak(event: PlayerToggleSneakEvent) {
if (!event.isSneaking) return
val result = test()
if (result == TestResult.SUCCESS) {
event.player.sendMessage("능력 발동")
} else {
event.player.sendActionBar(result.getMessage(this@MyAbility))
}
}
}
}빌드하여 서버에 적용 후 myfirstpsychic.yml 파일의 abilities.myfirstability.common에 level-requirement: 10를 추가해보세요
myfirstpsychic.yml
display-name: myfirstpsychic health-bonus: 0.0 health-regen-per-tick: 0.0 mana: 0.0 mana-regen-per-tick: 0.0 mana-color: BLUE description: [] abilities: myfirstability: ability: .myability common: display-name: myability type: PASSIVE level-requirement: 10 interruptible: false supply-items: [] description: []
레벨 0일때

레벨 10일때

override로 재정의되지 않은test함수는 다음 조건을 테스트합니다.
- 활성 상태 (isEnabled)
- 필요 레벨
- 재사용 대기시간
- 마나