Test - noonmaru/psychics GitHub Wiki

κ°œμš”

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μΌλ•Œ

images/Test_1.png


레벨 10μΌλ•Œ

images/Test_2.png

TIP

override 둜 μž¬μ •μ˜λ˜μ§€ μ•Šμ€ test ν•¨μˆ˜λŠ” λ‹€μŒ 쑰건을 ν…ŒμŠ€νŠΈν•©λ‹ˆλ‹€.

  • ν™œμ„± μƒνƒœ (isEnabled)
  • ν•„μš” 레벨
  • μž¬μ‚¬μš© λŒ€κΈ°μ‹œκ°„
  • λ§ˆλ‚˜